diff options
author | Moritz Angermann <moritz.angermann@gmail.com> | 2021-03-07 08:04:00 +0800 |
---|---|---|
committer | Moritz Angermann <moritz.angermann@gmail.com> | 2021-05-07 09:19:48 +0800 |
commit | ccea61173679b8e26b09fd2d3d1f35cfb078df6c (patch) | |
tree | 607871b7a7749364f733979fbc2e4094cd355b15 | |
parent | 49839322e9569d8449581e75d5613a7818201b96 (diff) | |
download | haskell-ccea61173679b8e26b09fd2d3d1f35cfb078df6c.tar.gz |
[ci/nix-shell] uniquify NIX_LDFLAGS{_FOR_TARGET}
(cherry picked from commit 07b1af0362beaaf221cbee7b17bbe0a5606fd87d)
-rw-r--r-- | .gitlab/shell.nix | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/.gitlab/shell.nix b/.gitlab/shell.nix index eb79921fce..5e32847735 100644 --- a/.gitlab/shell.nix +++ b/.gitlab/shell.nix @@ -14,7 +14,17 @@ # the real fix is to teach terminfo to use libcurses on macOS. CONFIGURE_ARGS = "--with-intree-gmp --with-curses-libraries=${pkgs.ncurses.out}/lib"; - buildInputs = (with pkgs; [ + # magic speedup pony :facepalm: + # + # nix has the ugly habbit of duplicating ld flags more than necessary. This + # somewhat consolidates this. + shellHook = '' + export NIX_LDFLAGS=$(for a in $NIX_LDFLAGS; do echo $a; done |sort|uniq|xargs) + export NIX_LDFLAGS_FOR_TARGET=$(for a in $NIX_LDFLAGS_FOR_TARGET; do echo $a; done |sort|uniq|xargs) + export NIX_LDFLAGS_FOR_TARGET=$(comm -3 <(for l in $NIX_LDFLAGS_FOR_TARGET; do echo $l; done) <(for l in $NIX_LDFLAGS; do echo $l; done)) + ''; + + nativeBuildInputs = (with pkgs; [ haskell.compiler.${compiler} haskell.packages.${compiler}.cabal-install haskell.packages.${compiler}.alex |