Last active
May 12, 2018 02:24
-
-
Save AcouBass/34498d20fb53f6fe2ba6b7251e64ecd6 to your computer and use it in GitHub Desktop.
Tuxguitar 1.5.1 nixpkg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ stdenv, fetchurl, swt, libXtst, jdk, fluidsynth, makeWrapper, alsaLib, jre, makeDesktopItem }: | |
with stdenv.lib; | |
let metadata = assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; | |
if stdenv.system == "i686-linux" then | |
{ arch = "x86"; sha256 = "1qmb51k0538pn7gv4nsvhfv33xik4l4af0qmpllkzrikmj8wvzlb"; } | |
else | |
{ arch = "x86_64"; sha256 = "19d8srzki57yywin5nipibq7kkwf65k3ngk6kzqa57ska22rqhfj"; }; | |
in stdenv.mkDerivation rec { | |
version = "1.5.1"; | |
name = "tuxguitar-${version}"; | |
src = fetchurl { | |
url = "https://downloads.sourceforge.net/tuxguitar/tuxguitar-1.5.1-linux-x86_64.tar.gz"; | |
sha256 = metadata.sha256; | |
}; | |
buildInputs = [ makeWrapper swt libXtst alsaLib jdk fluidsynth jre ]; | |
desktopItem = makeDesktopItem rec { | |
name = "Tuxguitar"; | |
exec = "tuxguitar"; | |
icon = "icon.png"; | |
comment = "A multitrack guitar tablature editor"; | |
desktopName = "tuxguitar"; | |
genericName = "tuxguitar"; | |
categories = "AudioVideo;Audio;"; | |
}; | |
installPhase = | |
'' | |
mkdir -p $out/bin | |
cp -r lib share dist $out/ | |
#cp tuxguitar.sh $out/bin/tuxguitar | |
#cp tuxguitar.jar $out/lib | |
ln -s $out/share $out/bin/share | |
cat > $out/bin/tuxguitar << EOF | |
#!${stdenv.shell} | |
##SCRIPT DIR | |
DIR_NAME=/run/current-system/sw/bin | |
##JAVA | |
JAVA=${jre}/bin/java | |
##LIBRARY_PATH | |
LD_LIBRARY_PATH=${makeLibraryPath [ fluidsynth jre jdk swt alsaLib libXtst ]} | |
LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$out/lib | |
##CLASSPATH | |
CLASSPATH=\$CLASSPATH:$out/lib/tuxguitar.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/tuxguitar-ui-toolkit.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/tuxguitar-ui-toolkit-swt.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/tuxguitar-lib.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/tuxguitar-editor-utils.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/tuxguitar-gm-utils.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/tuxguitar-awt-graphics.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/swt.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/gervill.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/itext-pdf.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/itext-xmlworker.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/commons-compress.jar | |
CLASSPATH=\$CLASSPATH:$out/lib/icedtea-sound.jar | |
CLASSPATH=\$CLASSPATH:$out/share/ | |
CLASSPATH=\$CLASSPATH:$out/dist/ | |
##MAINCLASS | |
MAINCLASS=org.herac.tuxguitar.app.TGMainSingleton | |
##JVM ARGUMENTS | |
VM_ARGS="-Xmx512m" | |
##EXPORT VARS | |
export CLASSPATH | |
export LD_LIBRARY_PATH | |
export MOZILLA_FIVE_HOME | |
##LAUNCH | |
\$JAVA \$VM_ARGS -cp :\$CLASSPATH -Dtuxguitar.home.path="\$DIR_NAME" -Dtuxguitar.share.path="$out/share/" -Djava.library.path="\$LD_LIBRARY_PATH" \$MAINCLASS "\$1" "\$2" | |
EOF | |
chmod +x $out/bin/tuxguitar | |
mkdir -p $out/share/applications | |
cp ${desktopItem}/share/applications/* $out/share/applications/ | |
substituteInPlace $out/share/applications/Tuxguitar.desktop \ | |
--replace "icon.png" "$out/share/skins/Lavender/icon.png" | |
''; | |
meta = with stdenv.lib; { | |
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/; | |
license = licenses.lgpl2; | |
maintainers = [ maintainers.ardumont ]; | |
platforms = platforms.linux; | |
}; | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment