From b30833b21045397b3c8c10414181d47839810607 Mon Sep 17 00:00:00 2001 From: Tobias Happ Date: Sun, 5 Dec 2021 16:23:08 +0100 Subject: [PATCH] Remove deprecated workaround for make --- CHANGELOG.md | 4 ++ modules/module-list.nix | 3 +- modules/workaround-make.nix | 78 ------------------------------------- 3 files changed, 5 insertions(+), 80 deletions(-) delete mode 100644 modules/workaround-make.nix diff --git a/CHANGELOG.md b/CHANGELOG.md index eab4ce6..456e0ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ * The `nix.package` can be used to set the system-wide nix package. +## Removed Options + +* The `system.workaround.make-posix-spawn.enable` has been removed. + ## Release 21.05 ### New Options diff --git a/modules/module-list.nix b/modules/module-list.nix index f35eec1..ef31d86 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -1,4 +1,4 @@ -# Copyright (c) 2019-2020, see AUTHORS. Licensed under MIT License, see LICENSE. +# Copyright (c) 2019-2021, see AUTHORS. Licensed under MIT License, see LICENSE. { pkgs, isFlake }: @@ -17,6 +17,5 @@ ./time.nix ./user.nix ./version.nix - ./workaround-make.nix (pkgs.path + "/nixos/modules/misc/assertions.nix") ] ++ pkgs.lib.optionals (!isFlake) [ ./nixpkgs.nix ] diff --git a/modules/workaround-make.nix b/modules/workaround-make.nix deleted file mode 100644 index 8e70d45..0000000 --- a/modules/workaround-make.nix +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright (c) 2019-2021, see AUTHORS. Licensed under MIT License, see LICENSE. - -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.system.workaround.make-posix-spawn; - - gnumake-no-posix-spawn = pkgs.gnumake.overrideAttrs (old: { - configureFlags = old.configureFlags ++ [ "--disable-posix-spawn" ]; - - buildPhase = "${pkgs.gnumake42}/bin/make"; - installPhase = '' - mkdir -p $out - ${pkgs.gnumake42}/bin/make install - ''; - - # make a copy to facilitate repairs when it gets broken - # because of being bind-mounted onto the normal make - postFixup = '' - cp $out/bin/make $out/bin/overlaying-make - touch $out/SEE_system.workaround.make-posix-spawn.enable - ''; - }); -in -{ - - ###### interface - - options = { - - system.workaround.make-posix-spawn.enable = mkOption { - type = types.bool; - default = false; - description = '' - On some devices, GNU make 4.3 fails with 'Function not implemented', - and the workaround is to compile it with '--disable-posix-spawn'. - This option will shadow the original make in a really dirty way, - by overlaying broken gnumake with a fixed version on proot level. - Please only enable this for a limited time: - get stuck with a broken build; stop attempting to build something; - enable the option; nix-on-droid switch, relogin, build, - disable the option; nix-on-droid switch, relogin. - - If you leave it on, Nix-store validation will fail, - repairs will break the working make, - updates will do bad things. You have been warned. - - If you find yourself needing that hack, please report details at - https://github.com/t184256/nix-on-droid/issues/91 - and consider building remotely as an alternative for such devices: - https://github.com/t184256/nix-on-droid/wiki/Remote-building - ''; - }; - - }; - - ###### implementation - - config = { - warnings = lib.optionals cfg.enable [ - ("system.workaround.make-posix-spawn.enable " + - "should no longer be needed on 21.05 " + - "and will be removed in 21.11 unless somebody objects") - ]; - - build.extraProotOptions = - lib.optionals cfg.enable [ - "-b" - ( - "${config.build.installationDir}/" - + "${gnumake-no-posix-spawn}/bin/overlaying-make" - + ":${pkgs.gnumake}/bin/make" - ) - ]; - }; -}