summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2021-03-07 08:04:00 +0800
committerMoritz Angermann <moritz.angermann@gmail.com>2021-04-20 15:52:29 +0800
commita89a6150579075ff4d1f5f2c38567d1b754bd09a (patch)
treeb5236f553a4d3e44928601b41b5539dd44a0d73c
parent5765a91d68c453d87f0cdcf3d1f42ea532738a8c (diff)
downloadhaskell-a89a6150579075ff4d1f5f2c38567d1b754bd09a.tar.gz
[ci/nix-shell] uniquify NIX_LDFLAGS{_FOR_TARGET}
(cherry picked from commit 07b1af0362beaaf221cbee7b17bbe0a5606fd87d)
-rw-r--r--.gitlab/shell.nix12
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