feat(tuxguitar): add source-built package
This commit is contained in:
@@ -58,6 +58,7 @@ in
|
|||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
orca-slicer
|
orca-slicer
|
||||||
|
reichard.tuxguitar
|
||||||
];
|
];
|
||||||
|
|
||||||
dconf = {
|
dconf = {
|
||||||
|
|||||||
114
packages/tuxguitar/default.nix
Normal file
114
packages/tuxguitar/default.nix
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, maven
|
||||||
|
, fetchFromGitHub
|
||||||
|
, jdk17
|
||||||
|
, jre
|
||||||
|
, swt
|
||||||
|
, makeWrapper
|
||||||
|
, wrapGAppsHook3
|
||||||
|
, pkg-config
|
||||||
|
, alsa-lib
|
||||||
|
, jack2
|
||||||
|
, fluidsynth
|
||||||
|
, libpulseaudio
|
||||||
|
, lilv
|
||||||
|
, suil
|
||||||
|
, qt5
|
||||||
|
, which
|
||||||
|
}:
|
||||||
|
|
||||||
|
maven.buildMavenPackage rec {
|
||||||
|
pname = "tuxguitar";
|
||||||
|
version = "2.0.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "helge17";
|
||||||
|
repo = "tuxguitar";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-USdYj8ebosXkiZpDqyN5J+g1kjyWm225iQlx/szXmLA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
mvnHash = "sha256-XTODH8SG7iwhACJT4AbIokORUe00r6theV18TEXbrIs=";
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
mvnJdk = jdk17;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
makeWrapper
|
||||||
|
pkg-config
|
||||||
|
wrapGAppsHook3
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
alsa-lib
|
||||||
|
fluidsynth
|
||||||
|
jack2
|
||||||
|
lilv
|
||||||
|
qt5.qtbase
|
||||||
|
suil
|
||||||
|
];
|
||||||
|
|
||||||
|
mvnFetchExtraArgs = {
|
||||||
|
inherit buildInputs;
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace desktop/build-scripts/native-modules/tuxguitar-synth-lv2-linux/pom.xml \
|
||||||
|
--replace-fail /usr/include/lilv-0/lilv ${lib.getDev lilv}/include/lilv-0/lilv \
|
||||||
|
--replace-fail /usr/include/suil-0/suil ${lib.getDev suil}/include/suil-0/suil
|
||||||
|
|
||||||
|
if [[ "$name" == maven-deps-* ]]; then
|
||||||
|
mvn install:install-file \
|
||||||
|
-Dfile=${swt}/jars/swt.jar \
|
||||||
|
-DgroupId=org.eclipse.swt \
|
||||||
|
-DartifactId=org.eclipse.swt.gtk.linux \
|
||||||
|
-Dpackaging=jar \
|
||||||
|
-Dversion=4.36 \
|
||||||
|
-Dmaven.repo.local=$out/.m2
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
mvnParameters = "-f desktop/build-scripts/tuxguitar-linux-swt/pom.xml verify -P native-modules";
|
||||||
|
|
||||||
|
dontWrapGApps = true;
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp -r desktop/build-scripts/tuxguitar-linux-swt/target/tuxguitar-*-linux-swt/{dist,lib,share,tuxguitar.sh} $out/
|
||||||
|
ln -sf ${swt}/jars/swt.jar $out/lib/swt.jar
|
||||||
|
ln -s ../tuxguitar.sh $out/bin/tuxguitar
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
wrapProgram $out/tuxguitar.sh \
|
||||||
|
"''${gappsWrapperArgs[@]}" \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ jre which ]} \
|
||||||
|
--prefix LD_LIBRARY_PATH : "$out/lib:${lib.makeLibraryPath [
|
||||||
|
swt
|
||||||
|
alsa-lib
|
||||||
|
fluidsynth
|
||||||
|
jack2
|
||||||
|
libpulseaudio
|
||||||
|
lilv
|
||||||
|
qt5.qtbase
|
||||||
|
suil
|
||||||
|
]}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Multitrack guitar tablature editor";
|
||||||
|
homepage = "https://github.com/helge17/tuxguitar";
|
||||||
|
license = lib.licenses.lgpl2;
|
||||||
|
maintainers = with lib.maintainers; [ evanreichard ];
|
||||||
|
mainProgram = "tuxguitar";
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user