about summary refs log tree commit diff
path: root/pkgs/development/libraries/libfreeaptx
diff options
context:
space:
mode:
authorMario Rodas <marsam@users.noreply.github.com>2022-05-19 04:20:00 +0000
committerMario Rodas <marsam@users.noreply.github.com>2022-05-19 04:20:00 +0000
commit152765ca8b05c79c6a87683b1b6ce8589d82dd9e (patch)
tree827c753b74b431971583404d4773fe4deb585cc7 /pkgs/development/libraries/libfreeaptx
parentd635ee99e38f683e6a6fa8da44847eb7e914acbd (diff)
libfreeaptx: fix build on darwin
Diffstat (limited to 'pkgs/development/libraries/libfreeaptx')
-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 ];
   };
 }