diff options
author | Nikolay Amiantov <ab@fmap.me> | 2016-08-22 06:24:00 +0300 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2016-08-22 06:30:00 +0300 |
commit | b47327ebd535468f71bbf6a46366e0bd9357b599 (patch) | |
tree | 987e9ce4217b3a72404729c539a6e5f13420a5e2 /pkgs/development/libraries/SDL | |
parent | 3e2458a08537e1cd6a5dbcd2ad0cd7fe83be5d34 (diff) |
SDL: cleanup and add patch to discover extensions
Diffstat (limited to 'pkgs/development/libraries/SDL')
-rw-r--r-- | pkgs/development/libraries/SDL/default.nix | 28 | ||||
-rw-r--r-- | pkgs/development/libraries/SDL/find-headers.patch | 16 | ||||
-rw-r--r-- | pkgs/development/libraries/SDL/setup-hook.sh | 11 |
3 files changed, 40 insertions, 15 deletions
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index 6c3920ff8aa86..ca0bbd6a01cfc 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, fetchpatch, pkgconfig, audiofile, libcap -, openglSupport ? false, mesa ? null -, alsaSupport ? true, alsaLib ? null -, x11Support ? true, xlibsWrapper ? null, libXrandr ? null -, pulseaudioSupport ? true, libpulseaudio ? null +, openglSupport ? false, mesa_noglu +, alsaSupport ? true, alsaLib +, x11Support ? true, libXext, libICE, libXrandr +, pulseaudioSupport ? true, libpulseaudio , OpenGL, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa }: @@ -10,17 +10,12 @@ # PulseAudio. assert (stdenv.isLinux && !(stdenv ? cross)) -> alsaSupport || pulseaudioSupport; -assert openglSupport -> (mesa != null && x11Support); -assert x11Support -> (xlibsWrapper != 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}"; + version = "1.2.15"; src = fetchurl { url = "http://www.libsdl.org/release/${name}.tar.gz"; @@ -34,10 +29,10 @@ stdenv.mkDerivation rec { # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated. propagatedBuildInputs = - optionals x11Support [ xlibsWrapper libXrandr ] ++ + optionals x11Support [ libXext libICE libXrandr ] ++ optional alsaSupport alsaLib ++ optional stdenv.isLinux libcap ++ - optional openglSupport mesa ++ + optional openglSupport mesa_noglu ++ optional pulseaudioSupport libpulseaudio ++ optional stdenv.isDarwin Cocoa; @@ -57,9 +52,9 @@ stdenv.mkDerivation rec { "--enable-rpath" "--disable-pulseaudio-shared" "--disable-osmesa-shared" - ] ++ stdenv.lib.optionals (stdenv ? cross) ([ + ] ++ optionals (stdenv ? cross) ([ "--without-x" - ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"); + ] ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"); patches = [ # Fix window resizing issues, e.g. for xmonad @@ -95,15 +90,18 @@ stdenv.mkDerivation rec { url = "http://hg.libsdl.org/SDL/raw-rev/bbfb41c13a87"; sha256 = "1336g7waaf1c8yhkz11xbs500h8bmvabh4h437ax8l1xdwcppfxv"; }) + ./find-headers.patch ]; postFixup = ''moveToOutput share/aclocal "$dev" ''; + setupHook = ./setup-hook.sh; + passthru = { inherit openglSupport; }; meta = with stdenv.lib; { description = "A cross-platform multimedia library"; - homepage = http://www.libsdl.org/; + homepage = "http://www.libsdl.org/"; maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; license = licenses.lgpl21; diff --git a/pkgs/development/libraries/SDL/find-headers.patch b/pkgs/development/libraries/SDL/find-headers.patch new file mode 100644 index 0000000000000..5f75ae9e8301b --- /dev/null +++ b/pkgs/development/libraries/SDL/find-headers.patch @@ -0,0 +1,16 @@ +diff -ru3 SDL-1.2.15/sdl-config.in SDL-1.2.15-new/sdl-config.in +--- SDL-1.2.15/sdl-config.in 2012-01-19 10:30:06.000000000 +0400 ++++ SDL-1.2.15-new/sdl-config.in 2016-08-22 05:32:52.716397920 +0300 +@@ -42,7 +42,11 @@ + echo @SDL_VERSION@ + ;; + --cflags) +- echo -I@includedir@/SDL @SDL_CFLAGS@ ++ SDL_CFLAGS="" ++ for i in @includedir@/SDL $SDL_PATH; do ++ SDL_CFLAGS="$SDL_CFLAGS -I$i" ++ done ++ echo $SDL_CFLAGS @SDL_CFLAGS@ + ;; + @ENABLE_SHARED_TRUE@ --libs) + @ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ diff --git a/pkgs/development/libraries/SDL/setup-hook.sh b/pkgs/development/libraries/SDL/setup-hook.sh new file mode 100644 index 0000000000000..3696e743a07a1 --- /dev/null +++ b/pkgs/development/libraries/SDL/setup-hook.sh @@ -0,0 +1,11 @@ +addSDLPath () { + if [ -e "$1/include/SDL" ]; then + export SDL_PATH="$SDL_PATH $1/include/SDL" + fi +} + +if test -n "$crossConfig"; then + crossEnvHooks+=(addSDLPath) +else + envHooks+=(addSDLPath) +fi |