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-03-07 22:19:24 +0800
commit07b1af0362beaaf221cbee7b17bbe0a5606fd87d (patch)
tree07e703da44e3109e15ae0f7899bf92ef4ed13b05
parent820b0766984d42c06c977a6c32da75c429106f7f (diff)
downloadhaskell-wip/angerman/8.10.5-whack-a-mole.tar.gz
[ci/nix-shell] uniquify NIX_LDFLAGS{_FOR_TARGET}wip/angerman/8.10.5-whack-a-mole
-rw-r--r--.gitlab/shell.nix12
1 files changed, 11 insertions, 1 deletions
diff --git a/.gitlab/shell.nix b/.gitlab/shell.nix
index 785d16300f..3fcc2f928b 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