Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDL2 fixes and a lot less excluded Stackage exclutables #65

Merged
merged 2 commits into from
Nov 3, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion nixpkgs.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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) {}
130 changes: 101 additions & 29 deletions survey/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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; });

Expand All @@ -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; };

Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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";
Expand Down Expand Up @@ -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 `<odbcss.h>` 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;
Expand Down