tmedia-sound/tuxguitar: Add 1.5.1. - parlay - yet another gentoo overlay (HTM) git clone https://git.parazyd.org/parlay (DIR) Log (DIR) Files (DIR) Refs (DIR) README --- (DIR) commit 20e8cd5e796725f3623fa3fef49b174e9e10312c (DIR) parent 78d334a1b46ccc12a214768463a7e67dfc568a95 (HTM) Author: parazyd <parazyd@dyne.org> Date: Mon, 4 Jan 2021 17:04:08 +0100 media-sound/tuxguitar: Add 1.5.1. Diffstat: A media-sound/tuxguitar/Manifest | 1 + A media-sound/tuxguitar/files/tuxgui… | 75 +++++++++++++++++++++++++++++++ A media-sound/tuxguitar/tuxguitar-1.… | 143 +++++++++++++++++++++++++++++++ 3 files changed, 219 insertions(+), 0 deletions(-) --- (DIR) diff --git a/media-sound/tuxguitar/Manifest b/media-sound/tuxguitar/Manifest t@@ -0,0 +1 @@ +DIST tuxguitar-1.5.1-src.tar.gz 87638216 BLAKE2B 85a31d636c8df163de85e1eefdb4dd16a896813e21099749eadc4b824c0c540a1b20f464442ae1c6965258945092ab97e499451a547a88c37610ef31a205e2c2 SHA512 38d273e4839af78510ff3ab6f67702273d549bc2cc744699c7a5f5aa1c8a5d5be9e3448cb890fd319dd12dec36523c5edc042dfc9ceaacfc137db0f047ee9d35 (DIR) diff --git a/media-sound/tuxguitar/files/tuxguitar-1.5.1.patch b/media-sound/tuxguitar/files/tuxguitar-1.5.1.patch t@@ -0,0 +1,75 @@ +--- a/TuxGuitar-gpx/build.xml 2018-06-15 00:08:16.846582120 +0300 ++++ b/TuxGuitar-gpx/build.xml 2018-06-15 00:42:29.823353256 +0300 +@@ -10,11 +10,13 @@ + <property name="build.share.path" value="share${file.separator}" /> + <property name="build.path" value="build${file.separator}" /> + <property name="build.jar" value="tuxguitar-gpx.jar" /> ++ <property name="lib.commons_compress" value="/usr/share/commons-compress"></property> + + <path id="class.path"> + <pathelement location="${path.tuxguitar-lib}"/> + <pathelement location="${path.tuxguitar-gm-utils}"/> + <pathelement location="${path.tuxguitar}"/> ++ <fileset dir="${lib.commons_compress}" includes="**/*.jar"/> + </path > + + <target name="init" depends="clean"> +--- a/TuxGuitar-gtp-ui/build.xml 2018-06-17 18:27:50.009821143 +0300 ++++ b/TuxGuitar-gtp-ui/build.xml 2018-06-17 18:28:06.731886968 +0300 +@@ -9,7 +9,7 @@ + <property name="build.src.path" value="src${file.separator}" /> + <property name="build.share.path" value="share${file.separator}" /> + <property name="build.path" value="build${file.separator}" /> +- <property name="build.jar" value="tuxguitar-gtp.jar" /> ++ <property name="build.jar" value="tuxguitar-gtp-ui.jar" /> + + <path id="class.path"> + <pathelement location="${path.tuxguitar-lib}"/> +--- a/TuxGuitar-image/build.xml 2018-06-16 16:38:40.372607993 +0300 ++++ b/TuxGuitar-image/build.xml 2018-06-16 16:40:01.296913057 +0300 +@@ -18,6 +18,7 @@ + <pathelement location="${path.tuxguitar-ui-toolkit}"/> + <pathelement location="${path.tuxguitar-ui-toolkit-swt}"/> + <pathelement location="${path.swt}"/> ++ <fileset dir="../" includes="**/*.jar"/> + </path> + + <target name="init" depends="clean"> +--- a/TuxGuitar-jsa/build.xml 2018-06-17 18:22:22.370532155 +0300 ++++ b/TuxGuitar-jsa/build.xml 2018-06-17 18:21:48.876400461 +0300 +@@ -16,6 +16,7 @@ + <pathelement location="${path.tuxguitar-gm-utils}"/> + <pathelement location="${path.tuxguitar}"/> + <pathelement location="${path.tuxguitar-ui-toolkit}"/> ++ <fileset dir="../" includes="**/*.jar"/> + </path > + + <target name="init" depends="clean"> +--- a/TuxGuitar-ui-toolkit-swt/build.xml 2018-06-15 20:28:24.832778356 +0300 ++++ b/TuxGuitar-ui-toolkit-swt/build.xml 2018-06-15 20:29:08.295947053 +0300 +@@ -15,6 +15,7 @@ + <pathelement location="${path.tuxguitar-ui-toolkit}"/> + <pathelement location="${path.tuxguitar-ui-toolkit-swt}"/> + <pathelement location="${path.swt}"/> ++ <pathelement location="../TuxGuitar-lib/tuxguitar-lib.jar"></pathelement> + </path> + + <target name="init" depends="clean"> +--- a/TuxGuitar-ui-toolkit/build.xml 2018-06-14 13:15:19.157119252 +0300 ++++ b/TuxGuitar-ui-toolkit/build.xml 2018-06-14 13:15:52.863509043 +0300 +@@ -19,6 +19,14 @@ + <echo>| B U I L D I N G L I B R A R Y |</echo> + <echo>+-------------------------------------------------+</echo> + ++ <javac srcdir="${build.src.path}" destdir="${build.path}"> ++ <classpath> ++ <fileset dir="../"> ++ <include name="**/*.jar"/> ++ </fileset> ++ </classpath> ++ </javac> ++ + <javac srcdir="${build.src.path}" destdir="${build.path}" debug="false" > + <include name="**/*.java"/> + </javac> + (DIR) diff --git a/media-sound/tuxguitar/tuxguitar-1.5.1.ebuild b/media-sound/tuxguitar/tuxguitar-1.5.1.ebuild t@@ -0,0 +1,143 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +JAVA_PKG_IUSE="source" + +inherit eutils java-pkg-2 java-ant-2 toolchain-funcs flag-o-matic gnome2-utils + +MY_P="${P}-src" +DESCRIPTION="TuxGuitar is a multitrack guitar tablature editor and player written in Java-SWT" +HOMEPAGE="http://tuxguitar.herac.com.ar/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="alsa fluidsynth jack lilypond oss pdf timidity tray" + +KEYWORDS="~amd64 ~x86" + +CDEPEND="dev-java/swt:3.7[cairo] + dev-java/commons-compress + alsa? ( media-libs/alsa-lib ) + pdf? ( dev-java/itext:5 ) + fluidsynth? ( media-sound/fluidsynth ) + lilypond? ( media-sound/lilypond )" + +RDEPEND=">=virtual/jre-1.5 + timidity? ( media-sound/timidity++[alsa?,oss?] ) + ${CDEPEND}" + +DEPEND=">=virtual/jdk-1.5 + ${CDEPEND}" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/${P}.patch" +) + +LIBRARY_LIST=() +PLUGIN_LIST=() + +src_prepare() { + default_src_prepare + java-pkg-2_src_prepare + java-ant-2_src_configure + + sed -e "s|../TuxGuitar/lib/swt.jar|$(java-pkg_getjar swt-3.7 swt.jar)|" \ + -i TuxGuitar*/build.properties || die "sed TuxGuitar*/build.properties failed" + + if use pdf; then + sed -e "s|../TuxGuitar/lib/itext.jar|$(java-pkg_getjar itext-5 itext.jar)|" \ + -i TuxGuitar-pdf/build.properties || die "sed TuxGuitar-pdf/build.properties failed" + fi + + LIBRARY_LIST=( + TuxGuitar-lib + TuxGuitar-editor-utils + TuxGuitar-gm-utils + TuxGuitar-ui-toolkit + TuxGuitar-ui-toolkit-swt + TuxGuitar + ) + + PLUGIN_LIST=( $(usev alsa) ascii browser-ftp community compat + converter $(usev fluidsynth) gm-settings gpx gtp gtp-ui image + $(usev jack) $(usex jack jack-ui "") jsa $(usev lilypond) midi + musicxml $(usev oss) $(usev pdf) ptb svg tef $(usev tray) tuner + ) +} + +src_compile() { + local build_order=( ${LIBRARY_LIST[@]} ${PLUGIN_LIST[@]/#/TuxGuitar-} ) + local directory + + append-flags -fPIC $(java-pkg_get-jni-cflags) + + for directory in ${build_order[@]}; do + cd "${S}"/${directory} || die "cd ${directory} failed" + + #java-ant_rewrite-classpath + eant + + if [[ -d jni ]]; then + CC=$(tc-getCC) emake -C jni + fi + done +} + +src_install() { + local tuxguitar_inst_path="/usr/share/${PN}" + local library + local plugin + + for library in ${LIBRARY_LIST[@]}; do + cd "${S}"/${library} || die "cd ${library} failed" + java-pkg_dojar ${library,,}.jar + use source && java-pkg_dosrc src/org + done + + java-pkg_dolauncher ${PN} \ + --main org.herac.tuxguitar.app.TGMainSingleton \ + --java_args "-Xmx512m -Dtuxguitar.share.path=${tuxguitar_inst_path}/share" + + # Images and Files + insinto ${tuxguitar_inst_path} + doins -r share + + java-pkg_sointo ${tuxguitar_inst_path}/lib + insinto ${tuxguitar_inst_path}/share/plugins + for plugin in ${PLUGIN_LIST[@]/#/TuxGuitar-}; do + cd "${S}"/${plugin} || die "cd ${plugin} failed" + doins ${plugin,,}.jar + + #TuxGuitar has its own classloader. No need to register the plugins. + if [[ -d jni ]]; then + java-pkg_doso jni/lib${plugin,,}-jni.so + fi + done + + insinto ${tuxguitar_inst_path}/share + doins -r "${S}"/TuxGuitar-resources/resources/soundfont + doman "${S}/misc/${PN}.1" + insinto /usr/share/mime/packages + doins "${S}/misc/${PN}.xml" + doicon "${S}/misc/${PN}.xpm" + domenu "${S}/misc/${PN}.desktop" +} + +pkg_postinst() { + xdg_mimeinfo_database_update + gnome2_icon_cache_update + + if use fluidsynth; then + ewarn "Fluidsynth plugin blocks behavior of JSA plugin." + ewarn "Enable only one of them in \"Tools > Plugins\"" + fi +} + +pkg_postrm() { + xdg_mimeinfo_database_update + gnome2_icon_cache_update +}