about summary refs log tree commit diff
path: root/pkgs/applications/audio/soundtracker
diff options
context:
space:
mode:
authorOPNA2608 <christoph.neidahl@gmail.com>2021-06-20 14:02:42 +0200
committerFrancesco Gazzetta <fgaz@fgaz.me>2021-06-20 16:52:51 +0200
commitade48138df8b77c1d76f4b5f016be5ebee06565e (patch)
treeb0a0a90c7ceb35ebc51b776b792c31e43bcdd4be /pkgs/applications/audio/soundtracker
parent7cc5590b9236a62ba53b92e36a06f1c61b4ef682 (diff)
soundtracker: Fix on Darwin
Diffstat (limited to 'pkgs/applications/audio/soundtracker')
-rw-r--r--pkgs/applications/audio/soundtracker/default.nix28
1 files changed, 24 insertions, 4 deletions
diff --git a/pkgs/applications/audio/soundtracker/default.nix b/pkgs/applications/audio/soundtracker/default.nix
index 25e784b2735b9..251725ea6b29c 100644
--- a/pkgs/applications/audio/soundtracker/default.nix
+++ b/pkgs/applications/audio/soundtracker/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv
 , fetchurl
 , pkg-config
-, autoconf
+, autoreconfHook
 , gtk2
 , alsa-lib
 , SDL
@@ -23,10 +23,32 @@ stdenv.mkDerivation rec {
     sha256 = "0nh0dwz8nldc040q6n06vlazhss8ms42r2dffhjcrqj3hbrvfx82";
   };
 
+  postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    # Darwin binutils don't support D option for ar
+    # ALSA macros are missing on Darwin, causing error
+    substituteInPlace configure.ac \
+      --replace ARFLAGS=crD ARFLAGS=cru \
+      --replace AM_PATH_ALSA '#AM_PATH_ALSA'
+    # Avoid X11-specific workaround code on more than just Windows
+    substituteInPlace app/keys.c \
+      --replace '!defined(_WIN32)' '!defined(_WIN32) && !defined(__APPLE__)'
+    # "The application with bundle ID (null) is running setugid(), which is not allowed."
+    sed -i -e '/seteuid/d' -e '/setegid/d' app/main.c
+  '';
+
+  configureFlags = [
+    "--with-graphics-backend=gdk"
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    "--disable-alsa"
+  ];
+
+  enableParallelBuilding = true;
+
   nativeBuildInputs = [
     pkg-config
-    autoconf
+    autoreconfHook
   ];
+
   buildInputs = [
     gtk2
     SDL
@@ -49,7 +71,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ fgaz ];
     platforms = platforms.all;
-    # gdk/gdkx.h not found
-    broken = stdenv.isDarwin;
   };
 }