Skip to content

Commit

Permalink
st: copy config file in 'prePatch' instead of 'preBuild'
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
nschoe authored and Mic92 committed Apr 17, 2020
1 parent 52c0618 commit b584941
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions pkgs/applications/misc/st/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit b584941

Please sign in to comment.