From ade48138df8b77c1d76f4b5f016be5ebee06565e Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 20 Jun 2021 14:02:42 +0200 Subject: [PATCH] soundtracker: Fix on Darwin --- .../audio/soundtracker/default.nix | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/audio/soundtracker/default.nix b/pkgs/applications/audio/soundtracker/default.nix index 25e784b2735..251725ea6b2 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; }; }