summary refs log tree commit diff
path: root/pkgs/applications/audio/bambootracker/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/audio/bambootracker/default.nix')
-rw-r--r--pkgs/applications/audio/bambootracker/default.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/applications/audio/bambootracker/default.nix b/pkgs/applications/audio/bambootracker/default.nix
new file mode 100644
index 00000000000..c74c0ca4eff
--- /dev/null
+++ b/pkgs/applications/audio/bambootracker/default.nix
@@ -0,0 +1,72 @@
+{ mkDerivation
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, installShellFiles
+, qmake
+, qtbase
+, qtmultimedia
+, qttools
+, alsaSupport ? stdenv.hostPlatform.isLinux
+, alsaLib
+, pulseSupport ? stdenv.hostPlatform.isLinux
+, libpulseaudio
+, jackSupport ? stdenv.hostPlatform.isUnix
+, libjack2
+}:
+let
+
+  inherit (stdenv.lib) optional optionals;
+
+in
+mkDerivation rec {
+  pname = "bambootracker";
+  version = "0.4.3";
+
+  src = fetchFromGitHub {
+    owner = "rerrahkr";
+    repo = "BambooTracker";
+    rev = "v${version}";
+    sha256 = "0gq40qmsdavsyl2d6a71rwp4mjlwvp1c8bry32srn4hliwfnvqa6";
+  };
+
+  # Fix macOS build until new release
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/rerrahkr/BambooTracker/commit/45346ed99559d44c2e32a5c6138a0835b212e875.patch";
+      sha256 = "1xkiqira1kpcqkacycy0y7qm1brhf89amliv42byijl4palmykh2";
+    })
+  ];
+
+  preConfigure = "cd BambooTracker";
+
+  nativeBuildInputs = [ qmake qttools installShellFiles ];
+
+  buildInputs = [ qtbase qtmultimedia ]
+    ++ optional alsaSupport alsaLib
+    ++ optional pulseSupport libpulseaudio
+    ++ optional jackSupport libjack2;
+
+  qmakeFlags = [ "CONFIG+=release" "CONFIG-=debug" ]
+    ++ optional pulseSupport "CONFIG+=use_pulse"
+    ++ optionals jackSupport [ "CONFIG+=use_jack" "CONFIG+=jack_has_rename" ];
+
+  postInstall = ''
+    install -Dm644 ../BambooTracker.desktop $out/share/applications/BambooTracker.desktop
+    installManPage ../BambooTracker*.1
+
+    cp -r ../{demos,licenses,skins,LICENSE} $out/share/BambooTracker/
+
+    for size in 16x16 256x256; do
+      install -Dm644 res/icon/icon_$size.png $out/share/icons/hicolor/$size/apps/BambooTracker.png
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tracker for YM2608 (OPNA) which was used in NEC PC-8801/9801 series computers";
+    homepage = "https://github.com/rerrahkr/BambooTracker";
+    license = licenses.gpl2Only;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
+  };
+}