summary refs log tree commit diff
path: root/pkgs/games/zandronum/fmod.nix
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2018-03-05 17:32:10 +0300
committerNikolay Amiantov <ab@fmap.me>2018-03-11 00:02:46 +0300
commitf7c2288cfc36d35df1e6769a3a6c8b0cd1bb6c89 (patch)
tree9285a00b29bfcd4e758da14a9a0a6417e4d4451c /pkgs/games/zandronum/fmod.nix
parent94f0ef6628b6069c2b4e15da7f2b53a4b9870d97 (diff)
downloadnixlib-f7c2288cfc36d35df1e6769a3a6c8b0cd1bb6c89.tar
nixlib-f7c2288cfc36d35df1e6769a3a6c8b0cd1bb6c89.tar.gz
nixlib-f7c2288cfc36d35df1e6769a3a6c8b0cd1bb6c89.tar.bz2
nixlib-f7c2288cfc36d35df1e6769a3a6c8b0cd1bb6c89.tar.lz
nixlib-f7c2288cfc36d35df1e6769a3a6c8b0cd1bb6c89.tar.xz
nixlib-f7c2288cfc36d35df1e6769a3a6c8b0cd1bb6c89.tar.zst
nixlib-f7c2288cfc36d35df1e6769a3a6c8b0cd1bb6c89.zip
zandronum: sound improvements
* Update fmod version to one with PulseAudio support;
* Dynamically link FluidSynth instead of using LD_LIBRARY_PATH;
* Use system libgme.

Fixes sound on some machines.
Diffstat (limited to 'pkgs/games/zandronum/fmod.nix')
-rw-r--r--pkgs/games/zandronum/fmod.nix49
1 files changed, 16 insertions, 33 deletions
diff --git a/pkgs/games/zandronum/fmod.nix b/pkgs/games/zandronum/fmod.nix
index b45ec24ca6bd..7f76101d8ce1 100644
--- a/pkgs/games/zandronum/fmod.nix
+++ b/pkgs/games/zandronum/fmod.nix
@@ -1,52 +1,35 @@
-{ stdenv, fetchurl }:
+{ stdenv, lib, fetchurl, alsaLib, libpulseaudio }:
 
-assert (stdenv.system == "x86_64-linux") || (stdenv.system == "i686-linux");
 let
   bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64";
+  libPath = lib.makeLibraryPath [ stdenv.cc.cc alsaLib libpulseaudio ];
 
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.cc.libc stdenv.cc.cc ] + ":${stdenv.cc.cc.lib}/lib64";
-  patchLib = x: "patchelf --set-rpath ${libPath} ${x}";
-
-  src =
-    (if (bits == "64") then
-      fetchurl {
-        url = "http://zandronum.com/essentials/fmod/fmodapi42416linux64.tar.gz";
-        sha256 = "0hkwlzchzzgd7fanqznbv5bs53z2qy8iiv9l2y77l4sg1jwmlm6y";
-      }
-    else
-      fetchurl {
-        url = "http://zandronum.com/essentials/fmod/fmodapi42416linux.tar.gz";
-        sha256 = "13diw3ax2slkr99mwyjyc62b8awc30k0z08cvkpk2p3i1j6f85m5";
-      }
-    );
 in
 stdenv.mkDerivation rec {
-  inherit src;
+  name = "fmod-${version}";
+  version = "4.44.64";
 
-  name    = "fmod-${version}";
-  version = "4.24.16";
+  src = fetchurl {
+    url = "https://zdoom.org/files/fmod/fmodapi44464linux.tar.gz";
+    sha256 = "047hk92xapwwqj281f4zwl0ih821rrliya70gfj82sdfjh9lz8i1";
+  };
 
   dontStrip = true;
   dontPatchELF = true;
   dontBuild = true;
 
-  makeFlags = [ "DESTLIBDIR=$(out)/lib" "DESTHDRDIR=$(out)/include" ];
-
-  preInstall = ''
-    mkdir -p $out/lib
-  '';
-
-  postInstall = ''
-    mv $out/lib/libfmodex${bits}-${version}.so $out/lib/libfmodex.so
-    mv $out/lib/libfmodexp${bits}-${version}.so $out/lib/libfmodexp.so
+  installPhase = ''
+    install -Dm755 api/lib/libfmodex${bits}-${version}.so $out/lib/libfmodex-${version}.so
+    ln -s libfmodex-${version}.so $out/lib/libfmodex.so
+    patchelf --set-rpath ${libPath} $out/lib/libfmodex.so
+    cp -r api/inc $out/include
   '';
 
   meta = with stdenv.lib; {
     description = "Programming library and toolkit for the creation and playback of interactive audio";
-    homepage    = "http://www.fmod.org/";
+    homepage    = http://www.fmod.org/;
     license     = licenses.unfreeRedistributable;
-    platforms   = platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.lassulus ];
+    platforms   = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ maintainers.lassulus ];
   };
 }