diff options
author | Carles Pagès <page@cubata.homelinux.net> | 2013-07-02 23:06:05 +0200 |
---|---|---|
committer | Carles Pagès <page@cubata.homelinux.net> | 2013-08-27 22:55:41 +0200 |
commit | e87589b2ef32165be9da9ec2a8c0f4baf5d76f3e (patch) | |
tree | 9ea30d662e573ce881100d051891d812124338e8 /pkgs/development/libraries/SDL2/default.nix | |
parent | bf4bcd900d4b343345f59dfac3d6bf444fb89a37 (diff) | |
download | nixpkgs-e87589b2ef32165be9da9ec2a8c0f4baf5d76f3e.tar nixpkgs-e87589b2ef32165be9da9ec2a8c0f4baf5d76f3e.tar.gz nixpkgs-e87589b2ef32165be9da9ec2a8c0f4baf5d76f3e.tar.bz2 nixpkgs-e87589b2ef32165be9da9ec2a8c0f4baf5d76f3e.tar.lz nixpkgs-e87589b2ef32165be9da9ec2a8c0f4baf5d76f3e.tar.xz nixpkgs-e87589b2ef32165be9da9ec2a8c0f4baf5d76f3e.tar.zst nixpkgs-e87589b2ef32165be9da9ec2a8c0f4baf5d76f3e.zip |
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/default.nix')
-rw-r--r-- | pkgs/development/libraries/SDL2/default.nix | 56 |
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 00000000000..13f3aef7d26 --- /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/; + }; +} |