summaryrefslogtreecommitdiffstats
path: root/pkgs/development/libraries/SDL2
diff options
context:
space:
mode:
authorCarles Pagès <page@cubata.homelinux.net>2013-07-02 23:06:05 +0200
committerCarles Pagès <page@cubata.homelinux.net>2013-08-27 22:55:41 +0200
commite87589b2ef32165be9da9ec2a8c0f4baf5d76f3e (patch)
tree9ea30d662e573ce881100d051891d812124338e8 /pkgs/development/libraries/SDL2
parentbf4bcd900d4b343345f59dfac3d6bf444fb89a37 (diff)
SDL2: add release candidate
The tarball is not marked as such, but current 2.0.0 version is still a release candidate for SDL2.
Diffstat (limited to 'pkgs/development/libraries/SDL2')
-rw-r--r--pkgs/development/libraries/SDL2/default.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
new file mode 100644
index 000000000000..13f3aef7d262
--- /dev/null
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, pkgconfig, audiofile
+, openglSupport ? false, mesa ? null
+, alsaSupport ? true, alsaLib ? null
+, x11Support ? true, x11 ? null, libXrandr ? null
+, pulseaudioSupport ? true, pulseaudio ? null
+}:
+
+# OSS is no longer supported, for it's much crappier than ALSA and
+# PulseAudio.
+assert alsaSupport || pulseaudioSupport;
+
+assert openglSupport -> (mesa != null && x11Support);
+assert x11Support -> (x11 != null && libXrandr != null);
+assert alsaSupport -> alsaLib != null;
+assert pulseaudioSupport -> pulseaudio != null;
+
+let
+ configureFlagsFun = attrs: ''
+ --disable-oss --disable-video-x11-xme
+ --disable-x11-shared --disable-alsa-shared --enable-rpath --disable-pulseaudio-shared
+ --disable-osmesa-shared --enable-static
+ ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""}
+ '';
+in
+stdenv.mkDerivation rec {
+ name = "SDL2-2.0.0";
+
+ src = fetchurl {
+ url = "http://www.libsdl.org/tmp/release/${name}.tar.gz";
+ sha256 = "0l2sgpbcacpkv4d9qyhn6k1knc4clrammncvij401hl9mzwrsb6q";
+ };
+
+ # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
+ propagatedBuildInputs = stdenv.lib.optionals x11Support [ x11 libXrandr ] ++
+ stdenv.lib.optional pulseaudioSupport pulseaudio;
+
+ buildInputs = [ pkgconfig audiofile ] ++
+ stdenv.lib.optional openglSupport [ mesa ] ++
+ stdenv.lib.optional alsaSupport alsaLib;
+
+ # 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 = {
+ configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
+ };
+
+ passthru = {inherit openglSupport;};
+
+ meta = {
+ description = "A cross-platform multimedia library";
+ homepage = http://www.libsdl.org/;
+ };
+}