diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix index 7045d6811d3..68b3871f29f 100644 --- a/pkgs/applications/audio/ft2-clone/default.nix +++ b/pkgs/applications/audio/ft2-clone/default.nix @@ -5,23 +5,45 @@ , alsaLib , SDL2 , libiconv +, CoreAudio +, CoreMIDI +, CoreServices +, Cocoa }: stdenv.mkDerivation rec { pname = "ft2-clone"; - version = "1.41_fix"; + version = "1.42"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${version}"; - sha256 = "0c7jli79ckachl5n2rbhc4yzml8nc36pl9yzxcwgaz544q8pzmaa"; + sha256 = "0w3c1rgm8qlqi50gavrcjz40xb0nkis4i9mvpwmvzmdv9nipxry9"; }; + # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh) + postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + sed -i -e 's@__LINUX_ALSA__@__MACOSX_CORE__@' -e 's@asound@@' CMakeLists.txt + ''; + nativeBuildInputs = [ cmake ]; buildInputs = [ SDL2 ] ++ stdenv.lib.optional stdenv.isLinux alsaLib - ++ stdenv.lib.optional stdenv.isDarwin libiconv; + ++ stdenv.lib.optionals stdenv.isDarwin [ + libiconv + CoreAudio + CoreMIDI + CoreServices + Cocoa + ]; + + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin [ + "-framework CoreAudio" + "-framework CoreMIDI" + "-framework CoreServices" + "-framework Cocoa" + ]; passthru.tests = { ft2-clone-starts = nixosTests.ft2-clone; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fbdfcec618b..ee981f6ee0e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21612,7 +21612,9 @@ in autoreconfHook = buildPackages.autoreconfHook269; }; - ft2-clone = callPackage ../applications/audio/ft2-clone { }; + ft2-clone = callPackage ../applications/audio/ft2-clone { + inherit (darwin.apple_sdk.frameworks) CoreAudio CoreMIDI CoreServices Cocoa; + }; fvwm = callPackage ../applications/window-managers/fvwm { };