fmod: supports darwin

This commit is contained in:
Matthew Bauer 2018-05-10 23:54:38 -05:00
parent a0ab41ca96
commit b45552c35a

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, alsaLib, libpulseaudio }: { stdenv, lib, fetchurl, alsaLib, libpulseaudio, undmg }:
let let
bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64"; bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64";
@ -8,20 +8,30 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "fmod-${version}"; name = "fmod-${version}";
version = "4.44.64"; version = "4.44.64";
shortVersion = builtins.replaceStrings [ "." ] [ "" ] version;
src = fetchurl { src = fetchurl (if stdenv.isLinux then {
url = "https://zdoom.org/files/fmod/fmodapi44464linux.tar.gz"; url = "https://zdoom.org/files/fmod/fmodapi${shortVersion}linux.tar.gz";
sha256 = "047hk92xapwwqj281f4zwl0ih821rrliya70gfj82sdfjh9lz8i1"; sha256 = "047hk92xapwwqj281f4zwl0ih821rrliya70gfj82sdfjh9lz8i1";
}; } else {
url = "https://zdoom.org/files/fmod/fmodapi${shortVersion}mac-installer.dmg";
sha256 = "1m1y4cpcwpkl8x31d3s68xzp107f343ma09w2437i2adn5y7m8ii";
});
nativeBuildInputs = [ undmg ];
dontStrip = true; dontStrip = true;
dontPatchELF = true; dontPatchELF = true;
dontBuild = true; dontBuild = true;
installPhase = '' installPhase = lib.optionalString stdenv.isLinux ''
install -Dm755 api/lib/libfmodex${bits}-${version}.so $out/lib/libfmodex-${version}.so install -Dm755 api/lib/libfmodex${bits}-${version}.so $out/lib/libfmodex-${version}.so
ln -s libfmodex-${version}.so $out/lib/libfmodex.so ln -s libfmodex-${version}.so $out/lib/libfmodex.so
patchelf --set-rpath ${libPath} $out/lib/libfmodex.so patchelf --set-rpath ${libPath} $out/lib/libfmodex.so
'' + lib.optionalString stdenv.isDarwin ''
install -D api/lib/libfmodex.dylib $out/lib/libfmodex.dylib
install -D api/lib/libfmodexL.dylib $out/lib/libfmodexL.dylib
'' + ''
cp -r api/inc $out/include cp -r api/inc $out/include
''; '';
@ -29,7 +39,7 @@ stdenv.mkDerivation rec {
description = "Programming library and toolkit for the creation and playback of interactive audio"; 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; license = licenses.unfreeRedistributable;
platforms = [ "x86_64-linux" "i686-linux" ]; platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
maintainers = [ maintainers.lassulus ]; maintainers = [ maintainers.lassulus ];
}; };
} }