diff --git a/nixpkgs b/nixpkgs index 5e6603f..11aa987 160000 --- a/nixpkgs +++ b/nixpkgs @@ -1 +1 @@ -Subproject commit 5e6603fbba334804beaad21c9859a7a4347c1242 +Subproject commit 11aa987ea5b5a593c9ca7a38b391804959f905e5 diff --git a/nixpkgs.nix b/nixpkgs.nix index fa641d6..cfafb35 100644 --- a/nixpkgs.nix +++ b/nixpkgs.nix @@ -13,4 +13,4 @@ if builtins.getEnv "STATIC_HASKELL_NIX_CI_NIXPKGS_UNSTABLE_BUILD" == "1" if builtins.pathExists ./nixpkgs/pkgs then import ./nixpkgs {} # Pinned nixpkgs version; should be kept up-to-date with our submodule. - else import (fetchTarball https://github.com/nh2/nixpkgs/archive/5e6603fbba334804beaad21c9859a7a4347c1242.tar.gz) {} + else import (fetchTarball https://github.com/nh2/nixpkgs/archive/11aa987ea5b5a593c9ca7a38b391804959f905e5.tar.gz) {} diff --git a/survey/default.nix b/survey/default.nix index 15354e6..7349f87 100644 --- a/survey/default.nix +++ b/survey/default.nix @@ -618,6 +618,8 @@ let libpng = previous.libpng.overrideAttrs (old: { dontDisableStatic = true; }); libpng_apng = previous.libpng_apng.overrideAttrs (old: { dontDisableStatic = true; }); libpng12 = previous.libpng12.overrideAttrs (old: { dontDisableStatic = true; }); + libtiff = previous.libtiff.overrideAttrs (old: { dontDisableStatic = true; }); + libwebp = previous.libwebp.overrideAttrs (old: { dontDisableStatic = true; }); expat = previous.expat.overrideAttrs (old: { dontDisableStatic = true; }); @@ -639,13 +641,25 @@ let libxcb = previous.xorg.libxcb.overrideAttrs (old: { dontDisableStatic = true; }); libX11 = previous.xorg.libX11.overrideAttrs (old: { dontDisableStatic = true; }); + libXau = previous.xorg.libXau.overrideAttrs (old: { dontDisableStatic = true; }); + libXcursor = previous.xorg.libXcursor.overrideAttrs (old: { dontDisableStatic = true; }); + libXdmcp = previous.xorg.libXdmcp.overrideAttrs (old: { dontDisableStatic = true; }); libXext = previous.xorg.libXext.overrideAttrs (old: { dontDisableStatic = true; }); + libXfixes = previous.xorg.libXfixes.overrideAttrs (old: { dontDisableStatic = true; }); + libXi = previous.xorg.libXi.overrideAttrs (old: { dontDisableStatic = true; }); libXinerama = previous.xorg.libXinerama.overrideAttrs (old: { dontDisableStatic = true; }); libXrandr = previous.xorg.libXrandr.overrideAttrs (old: { dontDisableStatic = true; }); libXrender = previous.xorg.libXrender.overrideAttrs (old: { dontDisableStatic = true; }); libXScrnSaver = previous.xorg.libXScrnSaver.overrideAttrs (old: { dontDisableStatic = true; }); - libXau = previous.xorg.libXau.overrideAttrs (old: { dontDisableStatic = true; }); - libXdmcp = previous.xorg.libXdmcp.overrideAttrs (old: { dontDisableStatic = true; }); + libXxf86vm = previous.xorg.libXxf86vm.overrideAttrs (old: { dontDisableStatic = true; }); + + SDL2 = previous.SDL2.overrideAttrs (old: { dontDisableStatic = true; }); + SDL2_gfx = previous.SDL2_gfx.overrideAttrs (old: { dontDisableStatic = true; }); + SDL2_image = previous.SDL2_image.overrideAttrs (old: { dontDisableStatic = true; }); + SDL2_mixer = previous.SDL2_mixer.overrideAttrs (old: { dontDisableStatic = true; }); + + libjpeg = previous.libjpeg.override (old: { enableStatic = true; }); + libjpeg_turbo = previous.libjpeg_turbo.override (old: { enableStatic = true; }); openblas = previous.openblas.override { enableStatic = true; }; @@ -791,6 +805,13 @@ let enableLibraryProfiling = false; enableExecutableProfiling = false; + # Skip tests on -O0 because some tests are extremely slow on -O0. + # This prevents us from finding upstream correctness issues that + # appear only with -O0, + # such as https://github.com/bos/double-conversion/issues/26 + # but that's OK for now as we want -O0 mainly for faster feedback. + # doCheck = !disableOptimization; + # If `disableOptimization` is on for fast iteration, pass `-O0` to GHC. # We use `buildFlags` instead of `configureFlags` so that it's # also in effect for packages which specify e.g. @@ -938,6 +959,11 @@ let # focuslist-doctests: focuslist-doctests: unable to load package `ghc-prim-0.5.3' focuslist = dontCheck super.focuslist; + # Fails in doctests with: + # doctests: /nix/store/nda51m9gymbx9qvzmjpfd4393jqq0gdm-ghc-8.6.5/lib/ghc-8.6.5/ghc-prim-0.5.3/HSghc-prim-0.5.3.o: unknown symbol `exp' + # doctests: doctests: unable to load package `ghc-prim-0.5.3' + yesod-paginator = dontCheck super.yesod-paginator; + # Disabling test suite because it takes extremely long (> 30 minutes): # https://github.com/mrkkrp/zip/issues/55 zip = dontCheck super.zip; @@ -1038,6 +1064,63 @@ let [ final.nettle final.bzip2 ] "--libs nettle bz2"; + sdl2-gfx = + addStaticLinkerFlagsWithPkgconfig + super.sdl2-gfx + (with final; [ + nettle + SDL2 + SDL2_gfx + + libX11 + libXext + libXcursor + libXdmcp + libXinerama + libXi + libXrandr + libXxf86vm + libXScrnSaver + libXrender + libXfixes + libXau + libxcb + xorg.libpthreadstubs + ]) + "--libs nettle sdl2 SDL2_gfx xcursor"; + + sdl2-image = + addStaticLinkerFlagsWithPkgconfig + super.sdl2-image + (with final; [ + nettle + SDL2 + SDL2_image + + libX11 + libXext + libXcursor + libXdmcp + libXinerama + libXi + libXrandr + libXxf86vm + libXScrnSaver + libXrender + libXfixes + libXau + libxcb + xorg.libpthreadstubs + + libjpeg + libpng + libtiff + zlib_both + lzma + libwebp + ]) + "--libs nettle sdl2 SDL2_image xcursor libpng libjpeg libtiff-4 libwebp"; + # Added for #14 tttool = callCabal2nix "tttool" (final.fetchFromGitHub { owner = "entropia"; @@ -1223,37 +1306,26 @@ in builtins.removeAttrs allStackageExecutables [ # List of executables that don't work for reasons not yet investigated. # When changing this file, we should always check if this list grows or shrinks. - "Agda" - "Allure" - "ALUT" - "clash-ghc" - "csg" - "cuda" # transitively depends on `systemd`, which doesn't build with musl - "debug" - "diagrams-builder" - "ersatz" - "gloss-examples" # needs opengl - "gtk3" # problem compiling `glib` dependency with `Distribution.Simple.UserHooks.UserHooks` type mismatch across Cabal versions; should go away once we no longer have to patch Cabal + "Agda" # anonymous function at build-support/fetchurl/boot.nix:5:1 called with unexpected argument 'meta', at build-support/fetchpatch/default.nix:14:1 + "Allure" # marked as broken + "csg" # marked as broken + "cuda" # needs `allowUnfree = true`; enabling it gives `unsupported platform for the pure Linux stdenv` + "debug" # marked as broken + "diagrams-builder" # marked as broken + "ersatz" # marked as broken + "gloss-examples" # needs opengl: `cannot find -lGLU` `-lGL` + "gtk3" # problem compiling `glib` dependency: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a PIE object "H" # `zgemm_: symbol not found` when compiling Main; not clear how that can be provided "hamilton" # openmp linker error via openblas - "hquantlib" - "ihaskell" - "jack" # transitively depends on `systemd`, which doesn't build with musl - "LambdaHack" + "hquantlib" # marked as broken + "ihaskell" # marked as broken + "LambdaHack" # marked as broken "language-puppet" # dependency `hruby` does not build - "learn-physics" - "leveldb-haskell" - "odbc" # undeclared `` dependency - "OpenAL" # transitively depends on `systemd`, which doesn't build with musl + "learn-physics" # needs opengl: `cannot find -lGLU` `-lGL` + "odbc" # marked as broken "qchas" # openmp linker error via openblas - "rhine-gloss" # needs opengl - "sdl2" # transitively depends on `systemd`, which doesn't build with musl - "sdl2-gfx" # see `sdl2` - "sdl2-image" # see `sdl2` - "sdl2-mixer" # see `sdl2` - "sdl2-ttf" # see `sdl2` - "soxlib" # transitively depends on `systemd`, which doesn't build with musl - "yesod-paginator" # some `curl` build failure; seems to be in *fetching* the source .tar.gz in `fetchurl`, and gss is enabled there even though we tried to disable it + "rhine-gloss" # needs opengl: `cannot find -lGLU` `-lGL` + "soxlib" # dependency `sox` fails with: `formats.c:425:4: error: #error FIX NEEDED HERE` ]; inherit normalPkgs;