Skip to content

Commit 7699f2f

Browse files
committed
survey: Fix SDL based exex. Requires nixpkgs update.
This was made possible by making systemd dependencies optional in recent nixpkgs `master`, initiated by #50 (comment) with some follow-ups by me at NixCon.
1 parent 2097a7b commit 7699f2f

File tree

3 files changed

+82
-9
lines changed

3 files changed

+82
-9
lines changed

nixpkgs.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ if builtins.getEnv "STATIC_HASKELL_NIX_CI_NIXPKGS_UNSTABLE_BUILD" == "1"
1313
if builtins.pathExists ./nixpkgs/pkgs
1414
then import ./nixpkgs {}
1515
# Pinned nixpkgs version; should be kept up-to-date with our submodule.
16-
else import (fetchTarball https://github.com/nh2/nixpkgs/archive/5e6603fbba334804beaad21c9859a7a4347c1242.tar.gz) {}
16+
else import (fetchTarball https://github.com/nh2/nixpkgs/archive/11aa987ea5b5a593c9ca7a38b391804959f905e5.tar.gz) {}

survey/default.nix

Lines changed: 80 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -618,6 +618,8 @@ let
618618
libpng = previous.libpng.overrideAttrs (old: { dontDisableStatic = true; });
619619
libpng_apng = previous.libpng_apng.overrideAttrs (old: { dontDisableStatic = true; });
620620
libpng12 = previous.libpng12.overrideAttrs (old: { dontDisableStatic = true; });
621+
libtiff = previous.libtiff.overrideAttrs (old: { dontDisableStatic = true; });
622+
libwebp = previous.libwebp.overrideAttrs (old: { dontDisableStatic = true; });
621623

622624
expat = previous.expat.overrideAttrs (old: { dontDisableStatic = true; });
623625

@@ -639,13 +641,25 @@ let
639641

640642
libxcb = previous.xorg.libxcb.overrideAttrs (old: { dontDisableStatic = true; });
641643
libX11 = previous.xorg.libX11.overrideAttrs (old: { dontDisableStatic = true; });
644+
libXau = previous.xorg.libXau.overrideAttrs (old: { dontDisableStatic = true; });
645+
libXcursor = previous.xorg.libXcursor.overrideAttrs (old: { dontDisableStatic = true; });
646+
libXdmcp = previous.xorg.libXdmcp.overrideAttrs (old: { dontDisableStatic = true; });
642647
libXext = previous.xorg.libXext.overrideAttrs (old: { dontDisableStatic = true; });
648+
libXfixes = previous.xorg.libXfixes.overrideAttrs (old: { dontDisableStatic = true; });
649+
libXi = previous.xorg.libXi.overrideAttrs (old: { dontDisableStatic = true; });
643650
libXinerama = previous.xorg.libXinerama.overrideAttrs (old: { dontDisableStatic = true; });
644651
libXrandr = previous.xorg.libXrandr.overrideAttrs (old: { dontDisableStatic = true; });
645652
libXrender = previous.xorg.libXrender.overrideAttrs (old: { dontDisableStatic = true; });
646653
libXScrnSaver = previous.xorg.libXScrnSaver.overrideAttrs (old: { dontDisableStatic = true; });
647-
libXau = previous.xorg.libXau.overrideAttrs (old: { dontDisableStatic = true; });
648-
libXdmcp = previous.xorg.libXdmcp.overrideAttrs (old: { dontDisableStatic = true; });
654+
libXxf86vm = previous.xorg.libXxf86vm.overrideAttrs (old: { dontDisableStatic = true; });
655+
656+
SDL2 = previous.SDL2.overrideAttrs (old: { dontDisableStatic = true; });
657+
SDL2_gfx = previous.SDL2_gfx.overrideAttrs (old: { dontDisableStatic = true; });
658+
SDL2_image = previous.SDL2_image.overrideAttrs (old: { dontDisableStatic = true; });
659+
SDL2_mixer = previous.SDL2_mixer.overrideAttrs (old: { dontDisableStatic = true; });
660+
661+
libjpeg = previous.libjpeg.override (old: { enableStatic = true; });
662+
libjpeg_turbo = previous.libjpeg_turbo.override (old: { enableStatic = true; });
649663

650664
openblas = previous.openblas.override { enableStatic = true; };
651665

@@ -791,6 +805,13 @@ let
791805
enableLibraryProfiling = false;
792806
enableExecutableProfiling = false;
793807

808+
# Skip tests on -O0 because some tests are extremely slow on -O0.
809+
# This prevents us from finding upstream correctness issues that
810+
# appear only with -O0,
811+
# such as https://github.com/bos/double-conversion/issues/26
812+
# but that's OK for now as we want -O0 mainly for faster feedback.
813+
# doCheck = !disableOptimization;
814+
794815
# If `disableOptimization` is on for fast iteration, pass `-O0` to GHC.
795816
# We use `buildFlags` instead of `configureFlags` so that it's
796817
# also in effect for packages which specify e.g.
@@ -1038,6 +1059,63 @@ let
10381059
[ final.nettle final.bzip2 ]
10391060
"--libs nettle bz2";
10401061

1062+
sdl2-gfx =
1063+
addStaticLinkerFlagsWithPkgconfig
1064+
super.sdl2-gfx
1065+
(with final; [
1066+
nettle
1067+
SDL2
1068+
SDL2_gfx
1069+
1070+
libX11
1071+
libXext
1072+
libXcursor
1073+
libXdmcp
1074+
libXinerama
1075+
libXi
1076+
libXrandr
1077+
libXxf86vm
1078+
libXScrnSaver
1079+
libXrender
1080+
libXfixes
1081+
libXau
1082+
libxcb
1083+
xorg.libpthreadstubs
1084+
])
1085+
"--libs nettle sdl2 SDL2_gfx xcursor";
1086+
1087+
sdl2-image =
1088+
addStaticLinkerFlagsWithPkgconfig
1089+
super.sdl2-image
1090+
(with final; [
1091+
nettle
1092+
SDL2
1093+
SDL2_image
1094+
1095+
libX11
1096+
libXext
1097+
libXcursor
1098+
libXdmcp
1099+
libXinerama
1100+
libXi
1101+
libXrandr
1102+
libXxf86vm
1103+
libXScrnSaver
1104+
libXrender
1105+
libXfixes
1106+
libXau
1107+
libxcb
1108+
xorg.libpthreadstubs
1109+
1110+
libjpeg
1111+
libpng
1112+
libtiff
1113+
zlib_both
1114+
lzma
1115+
libwebp
1116+
])
1117+
"--libs nettle sdl2 SDL2_image xcursor libpng libjpeg libtiff-4 libwebp";
1118+
10411119
# Added for #14
10421120
tttool = callCabal2nix "tttool" (final.fetchFromGitHub {
10431121
owner = "entropia";
@@ -1247,11 +1325,6 @@ in
12471325
"OpenAL" # transitively depends on `systemd`, which doesn't build with musl
12481326
"qchas" # openmp linker error via openblas
12491327
"rhine-gloss" # needs opengl
1250-
"sdl2" # transitively depends on `systemd`, which doesn't build with musl
1251-
"sdl2-gfx" # see `sdl2`
1252-
"sdl2-image" # see `sdl2`
1253-
"sdl2-mixer" # see `sdl2`
1254-
"sdl2-ttf" # see `sdl2`
12551328
"soxlib" # transitively depends on `systemd`, which doesn't build with musl
12561329
"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
12571330
];

0 commit comments

Comments
 (0)