nixpkgs/pkgs/applications/editors/music/tuxguitar/default.nix

46 lines
1.6 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchurl, swt, jdk, makeWrapper, alsaLib, jack2, fluidsynth, libpulseaudio }:
2015-03-07 16:48:54 +00:00
let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux";
if stdenv.hostPlatform.system == "i686-linux" then
2019-10-27 12:03:55 +00:00
{ arch = "x86"; sha256 = "27675c358db237df74d20e8676000c25a87b9de0bb0a6d1c325e8d6db807d296"; }
2015-03-11 17:34:26 +00:00
else
2019-10-27 12:03:55 +00:00
{ arch = "x86_64"; sha256 = "298555a249adb3ad72f3aef72a124e30bfa01cd069c7b5d152a738140e7903a2"; };
2015-03-07 16:48:54 +00:00
in stdenv.mkDerivation rec {
2019-10-27 12:03:55 +00:00
version = "1.5.2";
pname = "tuxguitar";
2015-03-07 16:48:54 +00:00
src = fetchurl {
url = "mirror://sourceforge/tuxguitar/${pname}-${version}-linux-${metadata.arch}.tar.gz";
2015-03-07 16:48:54 +00:00
sha256 = metadata.sha256;
};
nativeBuildInputs = [ makeWrapper ];
2015-03-07 16:48:54 +00:00
installPhase = ''
mkdir -p $out/bin
2019-10-27 12:03:55 +00:00
cp -r dist lib share $out/
cp tuxguitar.sh $out/bin/tuxguitar
2015-03-07 16:48:54 +00:00
2019-10-27 12:03:55 +00:00
ln -s $out/dist $out/bin/dist
ln -s $out/lib $out/bin/lib
ln -s $out/share $out/bin/share
wrapProgram $out/bin/tuxguitar \
2015-03-07 16:48:54 +00:00
--set JAVA "${jdk}/bin/java" \
2021-01-15 13:21:58 +00:00
--prefix LD_LIBRARY_PATH : "$out/lib/:${lib.makeLibraryPath [ swt alsaLib jack2 fluidsynth libpulseaudio ]}" \
--prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar"
2015-03-07 16:48:54 +00:00
'';
meta = with lib; {
2015-03-07 16:48:54 +00:00
description = "A multitrack guitar tablature editor";
longDescription = ''
TuxGuitar is a multitrack guitar tablature editor and player written
in Java-SWT. It can open GuitarPro, PowerTab and TablEdit files.
'';
homepage = "http://www.tuxguitar.com.ar/";
2015-03-07 16:48:54 +00:00
license = licenses.lgpl2;
maintainers = [ maintainers.ardumont ];
platforms = platforms.linux;
};
}