about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/libfreeaptx/default.nix15
1 files changed, 14 insertions, 1 deletions
diff --git a/pkgs/development/libraries/libfreeaptx/default.nix b/pkgs/development/libraries/libfreeaptx/default.nix
index 9e30973f199eb..648b6fac0dfc2 100644
--- a/pkgs/development/libraries/libfreeaptx/default.nix
+++ b/pkgs/development/libraries/libfreeaptx/default.nix
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-eEUhOrKqb2hHWanY+knpY9FBEnjkkFTB+x6BZgMBpbo=";
   };
 
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile \
+      --replace '-soname' '-install_name' \
+      --replace 'lib$(NAME).so' 'lib$(NAME).dylib'
+  '';
+
   makeFlags = [
     "PREFIX=${placeholder "out"}"
     # disable static builds
@@ -21,11 +27,18 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    install_name_tool -change libfreeaptx.dylib.0 $out/lib/libfreeaptx.dylib.0 $out/bin/freeaptxdec
+    install_name_tool -change libfreeaptx.dylib.0 $out/lib/libfreeaptx.dylib.0 $out/bin/freeaptxenc
+    install_name_tool -id $out/lib/libfreeaptx.dylib $out/lib/libfreeaptx.dylib
+    install_name_tool -id $out/lib/libfreeaptx.dylib.0 $out/lib/libfreeaptx.dylib.0
+  '';
+
   meta = with lib; {
     description = "Free Implementation of Audio Processing Technology codec (aptX)";
     license = licenses.lgpl21Plus;
     homepage = "https://github.com/iamthehorker/libfreeaptx";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ kranzes ];
   };
 }