aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
committerMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
commitc4625b175f8200f643fd6e11010932ea44c78433 (patch)
treebce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix
parent49f735974dd103039ddc4cb576bb76555164a9e7 (diff)
parentd661aa56a8843e991261510c1bb28fdc2f6975ae (diff)
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7 git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix
new file mode 100644
index 000000000000..91d709687949
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix
@@ -0,0 +1,72 @@
+{ stdenv
+, fetchFromGitHub
+, SDL
+, jack2
+, Foundation
+}:
+
+stdenv.mkDerivation rec {
+ pname = "littlegptracker";
+ version = "unstable-2019-04-14";
+
+ src = fetchFromGitHub {
+ owner = "Mdashdotdashn";
+ repo = "littlegptracker";
+ rev = "0ed729b46739e3df5e111c6fa4d548fde2d3b891";
+ sha256 = "1pc6lg2qp6xh7ahs5d5pb63ms4h2dz7ryp3c7mci4g37gbwbsj5b";
+ };
+
+ buildInputs = [
+ SDL
+ ]
+ ++ stdenv.lib.optional stdenv.isDarwin Foundation
+ ++ stdenv.lib.optional stdenv.isLinux jack2;
+
+ patches = [
+ # Remove outdated (pre-64bit) checks that would fail on modern platforms
+ # (see description in patch file)
+ ./0001-Remove-coherency-checks.patch
+ # Set starting directory to cwd, default is in /nix/store and causes a crash
+ # (see description in patch file)
+ ./0002-Set-the-initial-directory-to-the-current-directory.patch
+ ];
+
+ preBuild = "cd projects";
+
+ makeFlags = [ "CXX=${stdenv.cc.targetPrefix}c++" ]
+ ++ stdenv.lib.optionals stdenv.isLinux [ "PLATFORM=DEB" ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [ "PLATFORM=OSX" ];
+
+ NIX_CFLAGS_COMPILE = [ "-fpermissive" ] ++
+ stdenv.lib.optional stdenv.hostPlatform.isAarch64 "-Wno-error=narrowing";
+
+ NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin "-framework Foundation";
+
+ installPhase = let extension = if stdenv.isDarwin then "app" else "deb-exe";
+ in "install -Dm555 lgpt.${extension} $out/bin/lgpt";
+
+ meta = with stdenv.lib; {
+ description = "A music tracker similar to lsdj optimised to run on portable game consoles";
+ longDescription = ''
+ LittleGPTracker (a.k.a 'The piggy', 'lgpt') is a music tracker optimised
+ to run on portable game consoles. It is currently running on Game Park's
+ GP2x & Caanoo, PSP, Dingoo, Windows, Mac OSX (intel/ppc) & Linux (Debian).
+
+ It implements the user interface of littlesounddj, a very famous tracker
+ for the Gameboy platform that has been tried and tested by many users over
+ the years, leading to a little complex but yet extremely efficent way of
+ working.
+
+ Piggy currently supports 8 monophonic 16Bit/44.1Khz stereo sample playback
+ channels. Additionally, the program can drive MIDI instruments (with the
+ gp32 and gp2x a custom MIDI interface is required).
+ '';
+ homepage = "http://www.littlegptracker.com/";
+ downloadPage = "http://www.littlegptracker.com/download.php";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ fgaz ];
+ platforms = platforms.all;
+ # https://github.com/NixOS/nixpkgs/pull/91766#issuecomment-688751821
+ broken = stdenv.isDarwin;
+ };
+}