community/x42-plugins to 20230315-1

This commit is contained in:
Kevin Mihelich 2023-03-17 14:13:33 +00:00
parent dd89847499
commit 8026e93afa

View file

@ -4,43 +4,77 @@
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - export OPTIMIZATIONS to override Makefiles without x86isms
pkgname=x42-plugins
pkgver=20221119
pkgbase=x42-plugins
pkgname=(x42-plugins x42-plugins-lv2 x42-plugins-standalone)
pkgver=20230315
pkgrel=1
pkgdesc="Collection of LV2 plugins"
pkgdesc="Professional audio processing units available as LV2-plugin and JACK-application"
arch=(x86_64)
url="https://github.com/x42/x42-plugins"
url="https://x42-plugins.com/x42/"
license=(GPL2 GPL3)
groups=(lv2-plugins pro-audio)
depends=(cairo ftgl gcc-libs glibc hicolor-icon-theme libglvnd libx11 lv2-host)
makedepends=(fftw gendesk glib2 help2man jack liblo libltc libsamplerate
libsndfile lv2 pango ttf-dejavu zita-convolver)
checkdepends=(kxstudio-lv2-extensions lv2lint)
optdepends=(
'jack: for standalone applications'
'liblo: for standalone applications'
makedepends=(
cairo
fftw
ftgl
gendesk
glib2
glu
help2man
jack
liblo
libltc
libsamplerate
libsndfile
lv2
pango
ttf-dejavu
zita-convolver
)
checkdepends=(
kxstudio-lv2-extensions
lv2lint
)
options=(debug)
source=(
http://gareus.org/misc/$pkgname/$pkgname-$pkgver.tar.xz
https://gareus.org/misc/$pkgname/$pkgname-$pkgver.tar.xz
$pkgname.png::https://x42-plugins.com/x42/static/img/x42.png
$pkgname.directory
$pkgname.menu
)
sha512sums=('45d40da23326a6aa977e82a6f7b9fb4655395e3ee5b52065656ae84535f2fc3a54cde218637fbaec59ec44618f66d58c1c1cc7f08a7abf6dcc1939f0b5262daa'
sha512sums=('e767c4c3e1983a6ddc9138bf493e2593062c7e6f09617ffb4804c97b6c3060ea04a1244c9533d45bcdfb51fe212b6198484eba6939d1720713214490961d0c97'
'956fdd8e04c846d06a5267d1748916744418e0ddfce0ac2e9dd3a1c1376aea61499177af80709d9fe78f8c0c2ddcbf9f9e5b2e413adc9a7eca9b648a87ad4860'
'fef75b22b2c1fed8586af4dfd01ea291a7c1506e80ce384f05f13dc04c4b7e3e934003c20d89ae94f36ad1021b7ad75097da836ca30ee965b4107b559305b496'
'411015b0feb8a289272cb821afa7e2a284d3e9d994a446baa73b3a6ce0f0ebd1e94c4cb3392a0afb1d741ce6d8b2d14c9bd124a0684b830275b4ba8e14680aa3')
b2sums=('0317bb3eeebc94e221ca29f714f6119565e7a2198e696207baf2a972a7bf96726dd3a5fcaec436f9ca547fb167cca5fcfd8f72fa5012b356036f19846d003d4e'
b2sums=('8ded52d81fb3ffe3b955dd5c5be6b310bdbab87dfea421f8e289c8cb1c490d59e7c68da874c6ca41634825e0422dbb3e705483cc823d0958aaa7e530f45a3a9a'
'35a8cfcdf7f8c57ba655049a6d75b3bf9d253c25702a3f191d3f6cab215887f7de5025d025993861ae88c1b4daae132e9cc1ddf083e5b822f1b53a683c0fcaa3'
'fb6557cd2e8b83dae1cb38503f2a72093085ddcc0a4ba2e5e0375f7063b83b3fb4180091ce10524cd336eeb33cffed45ada93055b960c9189f83d664216b33ee'
'9c695f58099fcbfdce3e693e491d851ff7894a650ea12e079894176ef054b5f592785467c286bd8feaa340fdcdfb53d930b3a44ea890112e3fc1a4d172beb243')
_names=(darc dpl fat1 fil4 matrixmixer8x8 meter mixtri phaserotate scope spectr stepseq tuna)
_names=(
darc
dpl
fat1
fil4
matrixmixer8x8
meter
mixtri
phaserotate
scope
spectr
stepseq
tuna
)
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
prepare() {
cd $pkgname-$pkgver
declare -A comments=(
["darc"]="A general purpose audio signal compressor"
["dpl"]="Look-ahead digital peak limiter intended but not limited to the final step of mastering or mixing"
@ -129,6 +163,8 @@ prepare() {
esac
done
sed -e '/Categories/d' -i *.desktop
cd $pkgname-$pkgver
# moving images to correct location so installation is not such a hassle later on
mv -v fat1.lv2/img/x42{_,-}fat1.png
mv -v fil4.lv2/img/x42{_,-}fil4.png
@ -138,7 +174,7 @@ prepare() {
}
build() {
cd $pkgname-$pkgver
cd $pkgbase-$pkgver
# replace ttf-freefont with ttf-liberation
export FONTFILE=/usr/share/fonts/TTF/DejaVuSans-Bold.ttf
export OPTIMIZATIONS="-ffast-math -fomit-frame-pointer -O3 -fno-finite-math-only"
@ -147,102 +183,233 @@ build() {
check() {
local _name _version _convolver _controlfilter _default _meter _midifilter _onsettrigger _sisco _tuna
local _controlfilters=(exp invert linearscale lowpass nlog)
local _convolvers=(Mono MonoToStereo Stereo)
local _defaults=(mono stereo)
local _meters=(VUmono VUstereo BBCmono BBCstereo BBCM6 EBUmono EBUstereo
DINmono DINstereo NORmono NORstereo COR EBUr128 goniometer spectr30mono
spectr30stereo dBTPmono dBTPstereo K12mono K12stereo K14mono K14stereo
K20mono K20stereo phasewheel stereoscope dr14mono dr14stereo TPnRMSmono
TPnRMSstereo SigDistHist bitmeter surround8 surround5 surround4 surround3)
local _midifilters=(cctonote channelfilter channelmap chokefilter
enforcescale eventblocker keyrange keysplit mapcc mapkeychannel mapkeyscale
midichord mididelay mididup midistrum miditranspose monolegato
noactivesensing nodup notetocc notetoggle ntapdelay onechannelfilter passthru
quantize randvelocity scalecc sostenuto velocitygamma velocityrange
velocityscale)
local _onsettriggers=(bassdrum_mono bassdrum_stereo)
local _siscos=(Mono Stereo 3chan 4chan)
local _tunas=(one two)
local _zconvolvers=(Mono CfgMono Stereo CfgStereo MonoToStereo
CfgMonoToStereo)
local _controlfilters=(
exp
invert
linearscale
lowpass
nlog
)
local _convolvers=(
Mono
MonoToStereo
Stereo
)
local _defaults=(
mono
stereo
)
local _meters=(
VUmono
VUstereo
BBCmono
BBCstereo
BBCM6
EBUmono
EBUstereo
DINmono
DINstereo
NORmono
NORstereo
COR
EBUr128
goniometer
spectr30mono
spectr30stereo
dBTPmono
dBTPstereo
K12mono
K12stereo
K14mono
K14stereo
K20mono
K20stereo
phasewheel
stereoscope
dr14mono
dr14stereo
TPnRMSmono
TPnRMSstereo
SigDistHist
bitmeter
surround8
surround5
surround4
surround3
)
local _midifilters=(
cctonote
channelfilter
channelmap
chokefilter
enforcescale
eventblocker
keyrange
keysplit
mapcc
mapkeychannel
mapkeyscale
midichord
mididelay
mididup
midistrum
miditranspose
monolegato
noactivesensing
nodup
notetocc
notetoggle
ntapdelay
onechannelfilter
passthru
quantize
randvelocity
scalecc
sostenuto
velocitygamma
velocityrange
velocityscale
)
local _onsettriggers=(
bassdrum_mono
bassdrum_stereo
)
local _siscos=(
Mono
Stereo
3chan
4chan
)
local _tunas=(
one
two
)
local _zconvolvers=(
Mono
CfgMono
Stereo
CfgStereo
MonoToStereo
CfgMonoToStereo
)
local _url="http://gareus.org/oss/lv2/"
cd $pkgname-$pkgver
cd $pkgbase-$pkgver
while IFS=" " read -r _name _version; do
echo "lv2lint test for $_name $_version"
case "$_name" in
controlfilter.lv2 )
for _controlfilter in "${_controlfilters[@]}"; do
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#$_controlfilter"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#$_controlfilter"
done
;;
convoLV2 )
for _convolver in "${_convolvers[@]}"; do
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/$_name#$_convolver"
lv2lint -Mpack -I "$_name/build" "${_url}$_name#$_convolver"
done
;;
darc.lv2|dpl.lv2|fil4.lv2 )
for _default in "${_defaults[@]}"; do
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#$_default"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#$_default"
done
;;
matrixmixer.lv2 )
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#i8o8"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#i8o8"
;;
meters.lv2 )
for _meter in "${_meters[@]}"; do
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#$_meter"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#$_meter"
done
;;
midifilter.lv2 )
for _midifilter in "${_midifilters[@]}"; do
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#$_midifilter"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#$_midifilter"
done
;;
mixtri.lv2 )
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#lv2"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#lv2"
;;
onsettrigger.lv2 )
for _onsettrigger in "${_onsettriggers[@]}"; do
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#$_onsettrigger"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#$_onsettrigger"
done
;;
sisco.lv2 )
for _sisco in "${_siscos[@]}"; do
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#$_sisco"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#$_sisco"
done
;;
spectra.lv2 )
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#Mono"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#Mono"
;;
stepseq.lv2 )
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#s8n8"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#s8n8"
;;
tuna.lv2 )
for _tuna in "${_tunas[@]}"; do
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#$_tuna"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}#$_tuna"
done
;;
zconvo.lv2 )
for _zconvolver in "${_zconvolvers[@]}"; do
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/zeroconvolv#$_zconvolver"
lv2lint -Mpack -I "$_name/build" "${_url}zeroconvolv#$_zconvolver"
done
;;
robtk )
echo "Toolkit. Skipping..."
;;
* )
lv2lint -Mpack -I "$_name/build" "http://gareus.org/oss/lv2/${_name//.lv2/}"
lv2lint -Mpack -I "$_name/build" "${_url}${_name//.lv2/}"
;;
esac
done < plugin.versions
}
package() {
depends+=(libfftw3f.so libgobject-2.0.so libltc.so libpango-1.0.so
libpangocairo-1.0.so libsamplerate.so libsndfile.so libzita-convolver.so)
package_x42-plugins() {
depends=(
"x42-plugins-lv2=$pkgver"
"x42-plugins-standalone=$pkgver"
)
make install DESTDIR="$pkgdir/" PREFIX=/usr -C $pkgbase-$pkgver
(
cd "$pkgdir"
_pick $pkgbase-lv2 usr/lib/lv2
_pick $pkgbase-standalone usr/bin
_pick $pkgbase-standalone usr/share
)
}
package_x42-plugins-lv2() {
pkgdesc+=" - LV2 plugins"
depends=(
cairo
ftgl
fftw libfftw3f.so
gcc-libs
glib2 libgobject-2.0.so
glibc
libglvnd
libltc libltc.so
libsamplerate libsamplerate.so
libsndfile libsndfile.so
libx11
lv2-host
pango libpango-1.0.so libpangocairo-1.0.so
zita-convolver libzita-convolver.so
)
groups=(
lv2-plugins
pro-audio
)
mv -v $pkgname/* "$pkgdir"
}
package_x42-plugins-standalone() {
declare -A _dirs=(
["darc"]="darc.lv2"
["dpl"]="dpl.lv2"
@ -257,19 +424,40 @@ package() {
["stepseq"]="stepseq.lv2"
["tuna"]="tuna.lv2"
)
cd $pkgname-$pkgver
make install DESTDIR="$pkgdir/" PREFIX=/usr
pkgdesc+=" - JACK standalones"
depends=(
cairo
fftw libfftw3f.so
gcc-libs
glib2 libgobject-2.0.so
glibc
hicolor-icon-theme
jack libjack.so
libglvnd
liblo liblo.so
libltc libltc.so
libx11
pango libpango-1.0.so libpangocairo-1.0.so
)
groups=(
pro-audio
)
mv -v $pkgname/* "$pkgdir"
# xdg desktop integration
install -vDm 644 ./*.desktop -t "$pkgdir/usr/share/applications/"
cd $pkgbase-$pkgver
# icons
for name in "${_names[@]}"; do
install -vDm 644 "${_dirs[$name]}/img/x42-$name.png" -t "$pkgdir/usr/share/icons/hicolor/256x256/apps/"
done
install -vDm 644 ../$pkgname.png -t "$pkgdir/usr/share/icons/hicolor/256x256/apps/"
install -vDm 644 ../$pkgbase.png -t "$pkgdir/usr/share/icons/hicolor/256x256/apps/"
# menu integration
install -vDm 644 ../$pkgname.menu -t "$pkgdir/etc/xdg/menus/applications-merged/"
install -vDm 644 ../$pkgname.directory -t "$pkgdir/usr/share/desktop-directories/"
install -vDm 644 plugin.news -t "$pkgdir/usr/share/doc/$pkgname"
install -vDm 644 ../$pkgbase.menu -t "$pkgdir/etc/xdg/menus/applications-merged/"
install -vDm 644 ../$pkgbase.directory -t "$pkgdir/usr/share/desktop-directories/"
}
# vim:set ts=2 sw=2 et: