diff options
Diffstat (limited to 'pkgs/applications/audio/ft2-clone')
-rw-r--r-- | pkgs/applications/audio/ft2-clone/default.nix | 46 |
1 files changed, 39 insertions, 7 deletions
diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix index 1db5644fc32..5155a91e725 100644 --- a/pkgs/applications/audio/ft2-clone/default.nix +++ b/pkgs/applications/audio/ft2-clone/default.nix @@ -1,30 +1,62 @@ -{ stdenv +{ lib, stdenv , fetchFromGitHub , cmake -, alsaLib +, nixosTests +, alsa-lib , SDL2 +, libiconv +, CoreAudio +, CoreMIDI +, CoreServices +, Cocoa }: stdenv.mkDerivation rec { pname = "ft2-clone"; - version = "1.28"; + version = "1.47"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${version}"; - sha256 = "1hbcl89cpx9bsafxrjyfx6vrbs4h3lnzmqm12smcvdg8ksfgzj0d"; + sha256 = "sha256-KLHJROOtRPtGHBYEMByY7LG6FY4vES6WndCiz7okan8="; }; + # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh) + postPatch = 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; + buildInputs = [ SDL2 ] + ++ lib.optional stdenv.isLinux alsa-lib + ++ lib.optionals stdenv.isDarwin [ + libiconv + CoreAudio + CoreMIDI + CoreServices + Cocoa + ]; + + NIX_LDFLAGS = lib.optionalString stdenv.isDarwin [ + "-framework CoreAudio" + "-framework CoreMIDI" + "-framework CoreServices" + "-framework Cocoa" + ]; + + passthru.tests = { + ft2-clone-starts = nixosTests.ft2-clone; + }; - meta = with stdenv.lib; { + meta = with lib; { description = "A highly accurate clone of the classic Fasttracker II software for MS-DOS"; homepage = "https://16-bits.org/ft2.php"; license = licenses.bsd3; maintainers = with maintainers; [ fgaz ]; - platforms = platforms.all; + # From HOW-TO-COMPILE.txt: + # > This code is NOT big-endian compatible + platforms = platforms.littleEndian; }; } |