# Maintainer: David Runge <dvzrv@archlinux.org>
# Contributor: Ray Rashif <schiv@archlinux.org>
# Contributor: SpepS <dreamspepser at yahoo dot it>
pkgname=ardour
pkgver=8.11
pkgrel=1
pkgdesc="Professional-grade digital audio workstation"
arch=(x86_64)
url="https://ardour.org/"
license=(
CC0-1.0
GPL-2.0-or-later
GPL-3.0-or-later
MIT
)
groups=(pro-audio)
depends=(
cairo
gcc-libs
glibc
hicolor-icon-theme
libsigc++
libx11
libxext
sh
taglib
)
makedepends=(
aubio
boost
cairomm
cppunit
curl
dbus
doxygen
fftw
flac
fluidsynth
fontconfig
freetype2
git
glib2
glibmm
graphviz
hidapi
itstool
jack
libarchive
liblo
liblrdf
libltc
libogg
libpng
libpulse
libsamplerate
libsndfile
libusb
libwebsockets
libxml2
lilv
lv2
pango
pangomm
readline
rubberband
serd
sord
sratom
unzip
vamp-plugin-sdk
waf
)
optdepends=(
'harvid: for video timeline and MP3 export'
'new-session-manager: for session management'
'xjadeo: for video monitoring'
)
provides=(
ladspa-host
lv2-host
vamp-host
vst-host
vst3-host
)
source=(
$pkgname::git+https://github.com/$pkgname/$pkgname.git#tag=$pkgver
$pkgname-midi-$pkgver.zip::http://stuff.ardour.org/loops/ArdourBundledMedia.zip
$pkgname-7.0-re-vendor_qm-dsp.patch
)
noextract=($pkgname-midi-$pkgver.zip)
sha512sums=('6437c080222c2970805cd16fd30f42bf4674f98fdcd4037ad99390b139ccf059bbe27ecc622d80992e34096351e58a5d47dc415805aaa48e170ead2305e21627'
'94b681f989e834f5de25ce87da9c174b11d90617063f8c96147d7eb470391b35f6d54b85de16da8d963cacb01b50d1c1fab0fddd18eb3b086fe17124ecfa4f65'
'a3da14925bc25d8a57ba3e137c4b2b04010054667ac4ae2aec116ce6c157b03c9dd76bf4d73c313022282362d19b91683f062d6ab2ee0c73a576d3fa6272bd1d')
b2sums=('d300a2b86a0fff8da07df174da0b42febbb93861957a7d8c7befdcf41cc0d6d2bcc950b0fb761179cfac089cb62d56936ac3df2aba2404978108e3fb76869562'
'e31be6b51a217e2f7f799aa1d6e8c3cd024d80ab2d8d4371496a2b8bf0215749979217b565909841a346d6b3128fbfd674d2fae64b9fe741a5b418cd184c23be'
'73845adce9a48938cd7aef5fbc65f492e470de316620d278365d247c80caef44531e850fbd3d2f5de65a8562e67aabfd982c938439bd3670726a27bc003be017')
pkgver() {
cd $pkgname
git describe --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
# using vendored version of qm-dsp because qm-dsp >= 1.8.0 is not compatible
patch -Np1 -d $pkgname -i ../$pkgname-7.0-re-vendor_qm-dsp.patch
cd $pkgname
# unsetting gtk2 rc (FS#54389)
sed -e '8iexport GTK2_RC_FILES=/dev/null' -i gtk2_ardour/ardour.sh.in
# Fixes to use system waf:
# making sure, that subdirectories can be picked up with local includes
touch __init__.py
# making ancient 'misc.py' include available to system installed waf
sed -e "s/('misc')/('misc', tooldir='tools')/" \
-i {gtk2_ardour,headless,luasession,session_utils,libs/fst}/wscript
# make custom 'autowaf' include compatible with system installed waf
find . -type f \
-iname "*wscript*" \
-exec sed -e 's/from waflib.extras import autowaf/from tools import autowaf/g' \
-e 's/import waflib.extras.autowaf/from tools import autowaf/g' \
-i {} \;
}
build() {
local waf_configure_options=(
--prefix=/usr
--configdir=/etc
--cxx17
--freedesktop
--no-phone-home
--optimize
--ptformat
--use-external-libs
--with-backends="alsa,dummy,jack,pulseaudio"
)
cd $pkgname
export LINKFLAGS="$LDFLAGS"
./waf configure "${waf_configure_options[@]}"
./waf build -v
}
package() {
depends+=(
alsa-lib libasound.so
aubio libaubio.so
cairomm libcairomm-1.0.so
curl libcurl.so
dbus libdbus-1.so
fftw libfftw3f.so libfftw3f_threads.so
fluidsynth libfluidsynth.so
fontconfig libfontconfig.so
glib2 libglib-2.0.so libgobject-2.0.so
glibmm libglibmm-2.4.so
jack libjack.so
libarchive libarchive.so
liblo liblo.so
libpulse libpulse.so
liblrdf liblrdf.so
libltc libltc.so
libpng libpng16.so
libsamplerate libsamplerate.so
libsndfile libsndfile.so
libusb libusb-1.0.so
libwebsockets libwebsockets.so
libxml2 libxml2.so
lilv liblilv-0.so
pango libpango-1.0.so libpangocairo-1.0.so libpangoft2-1.0.so
pangomm libpangomm-1.4.so
readline libreadline.so
rubberband librubberband.so
vamp-plugin-sdk libvamp-hostsdk.so libvamp-sdk.so
)
(
cd $pkgname
./waf i18n --destdir="$pkgdir"
./waf install --destdir="$pkgdir"
install -vDm 644 $pkgname.1 -t "$pkgdir/usr/share/man/man1/"
mv "$pkgdir"/usr/share/{appdata,metainfo}
)
# installation of MIDI files is a bit of a horrorshow, as upstream is not flexible about tarball naming, etc.
install -vdm 755 "$pkgdir/usr/share/$pkgname${pkgver/.*/}/media/"
unzip $pkgname-midi-$pkgver.zip -d "$pkgdir/usr/share/$pkgname${pkgver/.*/}/media/"
install -vdm 755 "$pkgdir/usr/share/licenses/$pkgname/"
ln -s "/usr/share/$pkgname${pkgver/.*/}/media/MIDI Beats/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.beats"
ln -s "/usr/share/$pkgname${pkgver/.*/}/media/MIDI Chords/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.chords"
ln -s "/usr/share/$pkgname${pkgver/.*/}/media/MIDI Progressions/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.progressions"
}
# vim:set ts=2 sw=2 et: