summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-06-08 11:13:46 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-06-08 11:16:33 +0200
commit043a8478c35e5bf1ba53448aa7652b333f8e8ee6 (patch)
tree52c6157b6a728535df9573a50bceab650fb0c326
parent317f4ea72df6f4ec07ef9967a8d286f0ba3de04b (diff)
downloadnixpkgs-043a8478c35e5bf1ba53448aa7652b333f8e8ee6.tar
nixpkgs-043a8478c35e5bf1ba53448aa7652b333f8e8ee6.tar.gz
nixpkgs-043a8478c35e5bf1ba53448aa7652b333f8e8ee6.tar.bz2
nixpkgs-043a8478c35e5bf1ba53448aa7652b333f8e8ee6.tar.lz
nixpkgs-043a8478c35e5bf1ba53448aa7652b333f8e8ee6.tar.xz
nixpkgs-043a8478c35e5bf1ba53448aa7652b333f8e8ee6.tar.zst
nixpkgs-043a8478c35e5bf1ba53448aa7652b333f8e8ee6.zip
SDL: propagate libcap and fixup native inputs
Close #8205.
All inputs except pkgconfig shouldn't be native but rather disabled on
cygwin, I suppose.
-rw-r--r--pkgs/development/libraries/SDL/default.nix21
-rw-r--r--pkgs/development/libraries/SDL2/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix10
3 files changed, 18 insertions, 15 deletions
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index 3e00b21ad43..a62fc837dd0 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -14,6 +14,9 @@ assert x11Support -> (x11 != null && libXrandr != null);
 assert alsaSupport -> alsaLib != null;
 assert pulseaudioSupport -> libpulseaudio != null;
 
+let
+  inherit (stdenv.lib) optional optionals;
+in
 stdenv.mkDerivation rec {
   version = "1.2.15";
   name    = "SDL-${version}";
@@ -23,19 +26,19 @@ stdenv.mkDerivation rec {
     sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
+
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
-  propagatedNativeBuildInputs =
-    stdenv.lib.optionals x11Support [ x11 libXrandr ] ++
-    stdenv.lib.optional alsaSupport alsaLib ++
-    stdenv.lib.optional pulseaudioSupport libpulseaudio;
+  propagatedBuildInputs =
+    optionals x11Support [ x11 libXrandr ] ++
+    optional alsaSupport alsaLib ++
+    optional stdenv.isLinux libcap ++
+    optional openglSupport mesa ++
+    optional pulseaudioSupport libpulseaudio;
 
   buildInputs = let
     notMingw = !(stdenv ? cross) || stdenv.cross.libc != "msvcrt";
-  in stdenv.lib.optional stdenv.isLinux libcap
-    ++ (stdenv.lib.optional notMingw audiofile);
-
-  nativeBuildInputs = [ pkgconfig ] ++
-    stdenv.lib.optional openglSupport [ mesa ];
+  in optional notMingw audiofile;
 
   # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
   # we must arrange to add it to its RPATH; however, `patchelf' seems
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index bfd5ff65563..f5bd144a717 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional pulseaudioSupport libpulseaudio;
 
   buildInputs = [ pkgconfig audiofile ] ++
-    stdenv.lib.optional openglSupport [ mesa ] ++
+    stdenv.lib.optional openglSupport mesa ++
     stdenv.lib.optional alsaSupport alsaLib;
 
   # https://bugzilla.libsdl.org/show_bug.cgi?id=1431
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5be85900fec..a95784353b4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7841,9 +7841,9 @@ let
 
   SDL = callPackage ../development/libraries/SDL {
     openglSupport = mesaSupported;
-    alsaSupport = (!stdenv.isDarwin);
-    x11Support = true;
-    pulseaudioSupport = (!stdenv.isDarwin);
+    alsaSupport = stdenv.isLinux;
+    x11Support = !stdenv.isCygwin;
+    pulseaudioSupport = stdenv.isLinux;
   };
 
   SDL_gfx = callPackage ../development/libraries/SDL_gfx { };
@@ -7862,8 +7862,8 @@ let
 
   SDL2 = callPackage ../development/libraries/SDL2 {
     openglSupport = mesaSupported;
-    alsaSupport = (!stdenv.isDarwin);
-    x11Support = (!stdenv.isDarwin);
+    alsaSupport = stdenv.isLinux;
+    x11Support = !stdenv.isCygwin;
     pulseaudioSupport = false; # better go through ALSA
   };