From b584941ab9b5df164adc4584c3ab21da681a01db Mon Sep 17 00:00:00 2001 From: nschoe Date: Fri, 17 Apr 2020 14:50:08 +0100 Subject: [PATCH] st: copy config file in 'prePatch' instead of 'preBuild' The patch phase runs after the build phase. Which means than when using an override to override both 'conf' and 'patches' to provide a custom config file and apply some patches, it doesn't work: - first the patches applied (optionally changing config.def.h) - then preBuild is run which overrides config.def.h with the user supplied one (effectively cancelling previously applied patches) By copying the config file in the prePatch phase instead, changes are kept and applied in order. --- pkgs/applications/misc/st/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix index bc70aad8da92..33924bdb7be5 100644 --- a/pkgs/applications/misc/st/default.nix +++ b/pkgs/applications/misc/st/default.nix @@ -13,8 +13,9 @@ stdenv.mkDerivation rec { inherit patches; - configFile = optionalString (conf!=null) (writeText "config.def.h" conf); - preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; + prePatch = optionalString (conf != null) '' + cp ${writeText "config.def.h" conf} config.def.h + ''; nativeBuildInputs = [ pkgconfig ncurses ]; buildInputs = [ libX11 libXft ] ++ extraLibs;