summary refs log tree commit diff
path: root/pkgs/development/libraries/SDL2
diff options
context:
space:
mode:
authorJan Malakhovski <oxij@oxij.org>2018-03-05 17:30:34 +0000
committerJan Malakhovski <oxij@oxij.org>2018-03-06 15:42:26 +0000
commit6166027ca88eab5372508f0fd3f3b6bc51e91a19 (patch)
treea98783d27c8ad28df1cbb9fda6097d60cede5467 /pkgs/development/libraries/SDL2
parentd3c3364bfa797766875e17ca71dd8a5a8312f73a (diff)
downloadnixpkgs-6166027ca88eab5372508f0fd3f3b6bc51e91a19.tar
nixpkgs-6166027ca88eab5372508f0fd3f3b6bc51e91a19.tar.gz
nixpkgs-6166027ca88eab5372508f0fd3f3b6bc51e91a19.tar.bz2
nixpkgs-6166027ca88eab5372508f0fd3f3b6bc51e91a19.tar.lz
nixpkgs-6166027ca88eab5372508f0fd3f3b6bc51e91a19.tar.xz
nixpkgs-6166027ca88eab5372508f0fd3f3b6bc51e91a19.tar.zst
nixpkgs-6166027ca88eab5372508f0fd3f3b6bc51e91a19.zip
SDL, SDL2: cleanup and cross-pollinate with useful changes to either expression
Diffstat (limited to 'pkgs/development/libraries/SDL2')
-rw-r--r--pkgs/development/libraries/SDL2/default.nix48
1 files changed, 27 insertions, 21 deletions
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index f87e1d5067d..04e187a8256 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -11,19 +11,27 @@
 , libiconv
 }:
 
-# OSS is no longer supported, for it's much crappier than ALSA and
-# PulseAudio.
-assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
+# NOTE: When editing this expression see if the same change applies to
+# SDL expression too
+
+with lib;
 
-assert openglSupport -> (stdenv.isDarwin || libGL != null && x11Support);
+assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
+assert openglSupport -> (stdenv.isDarwin || x11Support && libGL != null);
 
 let
+
+  # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
+  # we must arrange to add it to its RPATH; however, `patchelf' seems
+  # to fail at doing this, hence `--disable-pulseaudio-shared'.
   configureFlagsFun = attrs: [
       "--disable-oss" "--disable-x11-shared" "--disable-wayland-shared"
       "--disable-pulseaudio-shared" "--disable-alsa-shared"
-    ] ++ lib.optional alsaSupport "--with-alsa-prefix=${attrs.alsaLib.out}/lib"
-      ++ lib.optional (!x11Support) "--without-x";
+    ] ++ optional alsaSupport "--with-alsa-prefix=${attrs.alsaLib.out}/lib"
+      ++ optional (!x11Support) "--without-x";
+
 in
+
 stdenv.mkDerivation rec {
   name = "SDL2-${version}";
   version = "2.0.7";
@@ -34,24 +42,25 @@ stdenv.mkDerivation rec {
   };
 
   outputs = [ "out" "dev" ];
+  outputBin = "dev"; # sdl-config
 
   patches = [ ./find-headers.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
 
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
-  propagatedBuildInputs = lib.optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ] ++
-    lib.optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] ++
-    lib.optional pulseaudioSupport libpulseaudio
-    ++ [ libiconv ];
-
-  buildInputs = [ audiofile ] ++
-    lib.optional openglSupport libGL ++
-    lib.optional alsaSupport alsaLib ++
-    lib.optional dbusSupport dbus ++
-    lib.optional udevSupport udev ++
-    lib.optional ibusSupport ibus ++
-    lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
+  propagatedBuildInputs = [ libiconv ]
+    ++ optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ]
+    ++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ]
+    ++ optional  pulseaudioSupport libpulseaudio;
+
+  buildInputs = [ audiofile ]
+    ++ optional openglSupport libGL
+    ++ optional alsaSupport alsaLib
+    ++ optional dbusSupport dbus
+    ++ optional udevSupport udev
+    ++ optional ibusSupport ibus
+    ++ optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
 
   # https://bugzilla.libsdl.org/show_bug.cgi?id=1431
   dontDisableStatic = true;
@@ -60,9 +69,6 @@ stdenv.mkDerivation rec {
   #   pointer-constraints-unstable-v1-client-protocol.h: No such file or directory
   enableParallelBuilding = false;
 
-  # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
-  # we must arrange to add it to its RPATH; however, `patchelf' seems
-  # to fail at doing this, hence `--disable-pulseaudio-shared'.
   configureFlags = configureFlagsFun { inherit alsaLib; };
 
   crossAttrs = {