gtk/tuxguitar/PKGBUILD

136 lines
5.3 KiB
Bash
Raw Normal View History

2013-05-04 02:53:21 +08:00
pkgname=tuxguitar
pkgver=1.2
pkgrel=1
_jdk=java-7-openjdk
pkgdesc="multitrack guitar tablature editor and player"
arch=('x86_64')
#url="http://www.herac.com.ar/contenidos/tuxguitar.html"
url="http://sourceforge.net/projects/tuxguitar"
license=('LGPL')
depends=('java-runtime' 'swt' 'alsa-lib')
makedepends=('unzip' 'zip' 'apache-ant' 'jack' 'fluidsynth')
install=tuxguitar.install
source=(tuxguitar-src-$pkgver.tar.gz::http://sourceforge.net/projects/tuxguitar/files/TuxGuitar/TuxGuitar-$pkgver/tuxguitar-src-$pkgver.tar.gz/download
http://chakra.sourceforge.net/sources/tuxguitar/TuxGuitar-Oxygen.tar.gz
tuxguitar.desktop \
tuxguitar.xml)
md5sums=('f41ed20e77c6c3d8968991a29c71b912'
'7b2a6ffbf4fc6bcf4ed8e7453dd1bb52'
'63f9ca355a7f24f6c4d652179770afb4'
'59ce4eb8dcc0d0dde81e6cf2820aa9b0')
build() {
cd $srcdir/tuxguitar-src-$pkgver
export CLASSPATH=/extra/usr/share/java/swt.jar:$CLASSPATH
(cd TuxGuitar/ && ant)
(cd TuxGuitar-alsa/ && ant)
(cd TuxGuitar-fluidsynth/ && ant)
(cd TuxGuitar-jack/ && ant)
(cd TuxGuitar-oss/ && ant)
(cd TuxGuitar-compat/ && ant)
(cd TuxGuitar-gtp/ && ant)
(cd TuxGuitar-ptb/ && ant)
(cd TuxGuitar-tef/ && ant)
(cd TuxGuitar-midi/ && ant)
(cd TuxGuitar-lilypond/ && ant)
(cd TuxGuitar-musicxml/ && ant)
(cd TuxGuitar-ascii/ && ant)
(cd TuxGuitar-converter/ && ant)
(cd TuxGuitar-tray/ && ant)
(cd TuxGuitar-community/ && ant)
(cd TuxGuitar-gervill/ && ant)
(cd TuxGuitar-jsa/ && ant)
# alsa
pushd TuxGuitar-alsa/jni
gcc -I/usr/lib/jvm/${_jdk}/include -I/usr/lib/jvm/${_jdk}/include/linux -fPIC \
-c -o org_herac_tuxguitar_player_impl_midiport_alsa_MidiSystem.o \
org_herac_tuxguitar_player_impl_midiport_alsa_MidiSystem.c
gcc -shared -o libtuxguitar-alsa-jni.so org_herac_tuxguitar_player_impl_midiport_alsa_MidiSystem.o -L/usr/lib -lasound
popd
# oss
pushd TuxGuitar-oss/jni
gcc -I/usr/lib/jvm/${_jdk}/include -I/usr/lib/jvm/${_jdk}/include/linux -fPIC \
-c -o org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem.o \
org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem.c
gcc -shared -o libtuxguitar-oss-jni.so org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem.o -L/usr/lib
popd
# jack
pushd TuxGuitar-jack/jni
gcc -I/usr/lib/jvm/${_jdk}/include -I/usr/lib/jvm/${_jdk}/include/linux -fPIC \
-c -o org_herac_tuxguitar_jack_JackClient.o \
org_herac_tuxguitar_jack_JackClient.c
gcc -shared -o libtuxguitar-jack-jni.so org_herac_tuxguitar_jack_JackClient.o -L/usr/lib -ljack
popd
# fluidsynth
pushd TuxGuitar-fluidsynth/jni
gcc -I/usr/lib/jvm/${_jdk}/include -I/usr/lib/jvm/${_jdk}/include/linux -fPIC \
-c -o org_herac_tuxguitar_player_impl_midiport_fluidsynth_MidiSynth.o \
org_herac_tuxguitar_player_impl_midiport_fluidsynth_MidiSynth.c
gcc -shared -o libtuxguitar-fluidsynth-jni.so org_herac_tuxguitar_player_impl_midiport_fluidsynth_MidiSynth.o -L/usr/lib -lfluidsynth
popd
}
package() {
cd $srcdir/tuxguitar-src-$pkgver
mkdir -p $pkgdir/extra/usr/share/tuxguitar
mkdir -p $pkgdir/extra/usr/bin
cp -r TuxGuitar/share $pkgdir/extra/usr/share/tuxguitar/
find -name \*.jar -exec sh -c 'cp {} '$pkgdir'/extra/usr/share/tuxguitar/share/plugins/`basename {}`' \;
mv $pkgdir/extra/usr/share/tuxguitar/share/plugins/tuxguitar.jar $pkgdir/extra/usr/share/tuxguitar/
cp TuxGuitar/tuxguitar $pkgdir/extra/usr/share/tuxguitar/
# alsa
pushd TuxGuitar-alsa/jni
install -D -m0755 libtuxguitar-alsa-jni.so $pkgdir/extra/usr/lib/tuxguitar/libtuxguitar-alsa-jni.so
mkdir -p $pkgdir/extra/usr/share/tuxguitar/lib
ln -s /usr/lib/tuxguitar/libtuxguitar-alsa-jni.so $pkgdir/extra/usr/share/tuxguitar/lib/libtuxguitar-alsa-jni.so
popd
# oss
pushd TuxGuitar-oss/jni
install -D -m0755 libtuxguitar-oss-jni.so $pkgdir/extra/usr/lib/tuxguitar/libtuxguitar-oss-jni.so
mkdir -p $pkgdir/exthttp://paste.chakra-project.org/4544/ra/usr/share/tuxguitar/lib
ln -s /usr/lib/tuxguitar/libtuxguitar-oss-jni.so $pkgdir/extra/usr/share/tuxguitar/lib/libtuxguitar-oss-jni.so
popd
# jack
pushd TuxGuitar-jack/jni
install -D -m0755 libtuxguitar-jack-jni.so $pkgdir/extra/usr/lib/tuxguitar/libtuxguitar-jack-jni.so
mkdir -p $pkgdir/extra/usr/share/tuxguitar/lib
ln -s /usr/lib/tuxguitar/libtuxguitar-jack-jni.so $pkgdir/extra/usr/share/tuxguitar/lib/libtuxguitar-jack-jni.so
popd
# fluidsynth
pushd TuxGuitar-fluidsynth/jni
install -D -m0755 libtuxguitar-fluidsynth-jni.so $pkgdir/extra/usr/lib/tuxguitar/libtuxguitar-fluidsynth-jni.so
mkdir -p $pkgdir/extra/usr/share/tuxguitar/lib
ln -s /usr/lib/tuxguitar/libtuxguitar-fluidsynth-jni.so $pkgdir/extra/usr/share/tuxguitar/lib/libtuxguitar-fluidsynth-jni.so
popd
unset CLASSPATH
cd $pkgdir/extra/usr/bin
cat >tuxguitar << EOF
#!/bin/sh
export CLASSPATH=/extra/usr/share/java/swt.jar:\$CLASSPATH
export LD_LIBRARY_PATH=/extra/usr/lib:/extra/usr/lib/tuxguitar:\$LD_LIBRARY_PATH
cd /extra/usr/share/$pkgname
exec /extra/usr/share/$pkgname/tuxguitar "\$1" "\$2" "\$3" "\$4" "\$5" "\$6" "\$7" "\$8" "\$9"
EOF
chmod 755 tuxguitar
install -D -m0644 $srcdir/tuxguitar.xml $pkgdir/extra/usr/share/mime/packages/tuxguitar.xml
install -D -m0644 $srcdir/tuxguitar.desktop $pkgdir/extra/usr/share/applications/tuxguitar.desktop
# Oxygen theme
cp -rf $srcdir/TuxGuitar-Oxygen $pkgdir/extra/usr/share/tuxguitar/share/skins/
}