PKGBUILDs/community/x42-plugins/PKGBUILD

274 lines
11 KiB
Bash
Raw Normal View History

2019-12-15 19:23:20 +00:00
# Maintainer: David Runge <dvzrv@archlinux.org>
2018-02-07 03:29:04 +00:00
# Contributor: Lieven Moors <lievenmoors@gmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - export OPTIMIZATIONS to override Makefiles without x86isms
pkgname=x42-plugins
2021-04-08 16:42:14 +00:00
pkgver=20210408
2021-01-14 23:26:18 +00:00
pkgrel=1
2018-02-07 03:29:04 +00:00
pkgdesc="Collection of LV2 plugins"
arch=('x86_64')
url="https://github.com/x42/x42-plugins"
2019-07-14 21:19:00 +00:00
license=('GPL2' 'GPL3')
2018-06-06 12:51:57 +00:00
groups=('lv2-plugins' 'pro-audio')
2020-04-12 00:32:00 +00:00
depends=('cairo' 'ftgl' 'gcc-libs' 'glibc' 'hicolor-icon-theme' 'libglvnd'
2021-04-07 14:08:26 +00:00
'libx11' 'lv2-host')
2020-04-12 00:32:00 +00:00
makedepends=('fftw' 'gendesk' 'glib2' 'help2man' 'jack' 'liblo' 'libltc'
'libsamplerate' 'libsndfile' 'lv2' 'pango' 'ttf-dejavu' 'zita-convolver')
2020-08-08 18:04:00 +00:00
checkdepends=('kxstudio-lv2-extensions' 'lv2lint')
2020-04-12 00:32:00 +00:00
optdepends=('jack: for standalone applications'
'liblo: for standalone applications')
2019-09-22 23:04:21 +00:00
source=("http://gareus.org/misc/${pkgname}/${pkgname}-${pkgver}.tar.xz"
2019-12-15 19:23:20 +00:00
"${pkgname}.png::https://x42-plugins.com/x42/static/img/x42.png"
2019-09-22 23:04:21 +00:00
"${pkgname}.directory"
"${pkgname}.menu")
2021-04-08 16:42:14 +00:00
sha512sums=('511da33e79d70d33782526381994187d6481310bc7827bbdbb48db04ebb55c368b7fc5691b3c1f57b3b0eafd334d03d2a822da5877eb27c7aa4244462b197f6f'
2019-09-22 23:04:21 +00:00
'956fdd8e04c846d06a5267d1748916744418e0ddfce0ac2e9dd3a1c1376aea61499177af80709d9fe78f8c0c2ddcbf9f9e5b2e413adc9a7eca9b648a87ad4860'
2020-04-12 00:32:00 +00:00
'fef75b22b2c1fed8586af4dfd01ea291a7c1506e80ce384f05f13dc04c4b7e3e934003c20d89ae94f36ad1021b7ad75097da836ca30ee965b4107b559305b496'
'411015b0feb8a289272cb821afa7e2a284d3e9d994a446baa73b3a6ce0f0ebd1e94c4cb3392a0afb1d741ce6d8b2d14c9bd124a0684b830275b4ba8e14680aa3')
2021-04-08 16:42:14 +00:00
b2sums=('45c1b92f07ee6aaa444da89fdedb28d90b50a1f1b2a62ec0cc8cae13b9e19b971fe7b0e5c2f8e4493c9199c504cc0547371b322bce19bb2572b7b2c955b289d8'
2020-07-15 00:36:49 +00:00
'35a8cfcdf7f8c57ba655049a6d75b3bf9d253c25702a3f191d3f6cab215887f7de5025d025993861ae88c1b4daae132e9cc1ddf083e5b822f1b53a683c0fcaa3'
'fb6557cd2e8b83dae1cb38503f2a72093085ddcc0a4ba2e5e0375f7063b83b3fb4180091ce10524cd336eeb33cffed45ada93055b960c9189f83d664216b33ee'
'9c695f58099fcbfdce3e693e491d851ff7894a650ea12e079894176ef054b5f592785467c286bd8feaa340fdcdfb53d930b3a44ea890112e3fc1a4d172beb243')
2019-09-22 23:04:21 +00:00
_names=('darc' 'dpl' 'fat1' 'fil4' 'matrixmixer8x8' 'meter' 'mixtri' 'scope' 'spectr' 'stepseq' 'tuna')
2018-07-24 00:25:27 +00:00
prepare() {
2019-01-07 01:27:08 +00:00
cd "${pkgname}-${pkgver}"
declare -A comments=(
2019-05-08 00:04:18 +00:00
["darc"]="A general purpose audio signal compressor"
2019-09-22 23:04:21 +00:00
["dpl"]="Look-ahead digital peak limiter intended but not limited to the final step of mastering or mixing"
2018-09-01 22:57:53 +00:00
["fat1"]="Auto-tuner based on Fons Adriaensen's zita-at1"
["fil4"]="4 band parametric equalizer with additional low+high shelf filters, Low and High-pass"
2019-09-22 23:04:21 +00:00
["matrixmixer8x8"]="Matrix Mixer 8x8"
2018-09-01 22:57:53 +00:00
["mixtri"]="Matrix mixer and trigger processor"
["scope"]="Simple audio oscilloscope with variable time scale, triggering, cursors and numeric readout"
2019-02-22 13:27:28 +00:00
["spectr"]="Spectrum Analyzer"
2018-09-01 22:57:53 +00:00
["stepseq"]="Simple step sequencer for moddevices.com"
)
2019-01-07 01:27:08 +00:00
declare -A generic=(
2019-05-08 00:04:18 +00:00
["darc"]="Dynamic Audio Range Compressor"
2019-09-22 23:04:21 +00:00
["dpl"]="Peak Limiter"
2019-01-07 01:27:08 +00:00
["fat1"]="Auto Tune"
["fil4"]="Parametric Equalizer"
2019-09-22 23:04:21 +00:00
["matrixmixer8x8"]="Matrix Mixer"
2019-01-07 01:27:08 +00:00
["mixtri"]="Mixer'n'Trigger"
["scope"]="Oscilloscope"
2019-02-22 13:27:28 +00:00
["spectr"]="Spectrum Analyzer"
2019-01-07 01:27:08 +00:00
["stepseq"]="Step Sequencer"
)
2019-04-14 23:29:54 +00:00
declare -A meter_types=(
[0]='EBU R128 Meter'
[1]='K20/RMS Meter (Stereo)'
[2]='K14/RMS Meter (Stereo)'
[3]='K12/RMS Meter (Stereo)'
[4]='BBC Meter (Stereo)'
[5]='BBC M-6'
[6]='DIN Meter (Stereo)'
[7]='EBU Meter (Stereo)'
[8]='Nordic Meter (Stereo)'
[9]='VU Meter (Stereo)'
[10]='True-Peak and RMS Meter (Stereo)'
[11]='DR-14 - Crest Factor Loudness Range Meter'
[12]='Stereo Phase-Correlation Meter'
[13]='Goniometer'
[14]='Phase/Frequency Wheel'
[15]='1/3 Octave Spectrum Analyzer'
[16]='Stereo/Frequency Scope'
[17]='Signal Distribution Histogram'
[18]='Bit Meter'
[19]='Surround Level 8'
)
declare -A tuna_types=(
[0]='Instrument Tuner'
[1]='Instrument Tuner (Spectrum)'
)
2018-09-01 22:57:53 +00:00
# XDG desktop files
2019-09-22 23:04:21 +00:00
for name in "${_names[@]}"; do
case "$name" in
meter)
for type in {0..19}; do
gendesk -n \
2020-04-12 00:32:00 +00:00
--pkgname "com.x42_plugins.x42_meter_${type}" \
2019-09-22 23:04:21 +00:00
--name "x42-meter ${meter_types[$type]}" \
--pkgdesc "${meter_types[$type]}" \
--exec "x42-meter $type" \
--icon "x42-meter" \
2020-04-12 00:32:00 +00:00
--genericname "Audio Meter"
2019-09-22 23:04:21 +00:00
done
;;
tuna)
for type in {0,1}; do
gendesk -n \
2020-04-12 00:32:00 +00:00
--pkgname "com.x42_plugins.x42_${name}_${type}" \
2019-09-22 23:04:21 +00:00
--name "x42-${name} ${tuna_types[$type]}" \
--pkgdesc "${tuna_types[$type]}" \
--exec "x42-${name} $type" \
--icon "x42-${name}" \
2020-04-12 00:32:00 +00:00
--genericname "Music Instrument Tuner"
2019-09-22 23:04:21 +00:00
done
;;
*)
gendesk -n \
2020-04-12 00:32:00 +00:00
--pkgname "com.x42_plugins.x42_${name}" \
2019-09-22 23:04:21 +00:00
--name "x42-${name}" \
--pkgdesc "${comments[$name]}" \
2020-07-24 17:38:14 +00:00
--exec "x42-${name}" \
--icon "x42-${name}" \
2020-04-12 00:32:00 +00:00
--genericname "${generic[$name]}"
2019-09-22 23:04:21 +00:00
;;
esac
2019-04-14 23:29:54 +00:00
done
2019-09-22 23:04:21 +00:00
# moving images to correct location so installation is not such a hassle later on
mv -v fat1.lv2/img/x42{_,-}fat1.png
mv -v mixtri.lv2/img/x42{_,-}mixtri.png
mv -v meters.lv2/img/x42-meter{s,}.png
mv -v matrixmixer.lv2/img/x42-matrixmixer{,8x8}.png
2018-07-24 00:25:27 +00:00
}
2018-02-07 03:29:04 +00:00
build() {
cd "${pkgname}-${pkgver}"
2019-01-07 01:27:08 +00:00
# replace ttf-freefont with ttf-liberation
export FONTFILE=/usr/share/fonts/TTF/DejaVuSans-Bold.ttf
2018-02-07 03:29:04 +00:00
export OPTIMIZATIONS="-ffast-math -fomit-frame-pointer -O3 -fno-finite-math-only"
2018-07-27 13:48:13 +00:00
make
2018-02-07 03:29:04 +00:00
}
2020-07-15 00:36:49 +00:00
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')
2021-04-07 14:08:26 +00:00
local _zconvolvers=('Mono' 'CfgMono' 'Stereo' 'CfgStereo' 'MonoToStereo'
'CfgMonoToStereo')
2020-07-15 00:36:49 +00:00
cd "${pkgname}-${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}"
done
;;
convoLV2 )
for _convolver in "${_convolvers[@]}"; do
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_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}"
done
;;
matrixmixer.lv2 )
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#i8o8"
;;
meters.lv2 )
for _meter in "${_meters[@]}"; do
2020-08-08 18:04:00 +00:00
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#${_meter}"
2020-07-15 00:36:49 +00:00
done
;;
midifilter.lv2 )
for _midifilter in "${_midifilters[@]}"; do
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#${_midifilter}"
done
;;
mixtri.lv2 )
2020-08-08 18:04:00 +00:00
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#lv2"
2020-07-15 00:36:49 +00:00
;;
onsettrigger.lv2 )
for _onsettrigger in "${_onsettriggers[@]}"; do
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#${_onsettrigger}"
done
;;
sisco.lv2 )
for _sisco in "${_siscos[@]}"; do
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#${_sisco}"
done
;;
spectra.lv2 )
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#Mono"
;;
stepseq.lv2 )
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#s8n8"
;;
tuna.lv2 )
for _tuna in "${_tunas[@]}"; do
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}#${_tuna}"
done
;;
2021-04-07 14:08:26 +00:00
zconvo.lv2 )
for _zconvolver in "${_zconvolvers[@]}"; do
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/zeroconvolv#${_zconvolver}"
done
;;
2020-07-15 00:36:49 +00:00
robtk )
echo "Toolkit. Skipping..."
;;
* )
lv2lint -Mpack -I "${_name}/build" "http://gareus.org/oss/lv2/${_name//.lv2/}"
;;
esac
done < plugin.versions
}
2018-02-07 03:29:04 +00:00
package() {
2020-04-12 00:32:00 +00:00
depends+=('libfftw3f.so' 'libgobject-2.0.so' 'libltc.so' 'libpango-1.0.so'
'libpangocairo-1.0.so' 'libsamplerate.so' 'libsndfile.so'
'libzita-convolver.so')
2019-09-22 23:04:21 +00:00
declare -A _dirs=(
["darc"]="darc.lv2"
["dpl"]="dpl.lv2"
["fat1"]="fat1.lv2"
["fil4"]="fil4.lv2"
["matrixmixer8x8"]="matrixmixer.lv2"
["meter"]="meters.lv2"
["mixtri"]="mixtri.lv2"
["scope"]="sisco.lv2"
["spectr"]="spectra.lv2"
["stepseq"]="stepseq.lv2"
["tuna"]="tuna.lv2"
)
2018-02-07 03:29:04 +00:00
cd "${pkgname}-${pkgver}"
make install DESTDIR="$pkgdir/" PREFIX=/usr
2019-09-22 23:04:21 +00:00
# xdg desktop integration
install -vDm 644 ./*.desktop -t "${pkgdir}/usr/share/applications/"
# icons
for name in "${_names[@]}"; do
if [[ "$name" != 'fil4' ]]; then
install -vDm 644 "${_dirs[$name]}/img/x42-${name}.png" \
-t "${pkgdir}/usr/share/icons/hicolor/256x256/apps/"
fi
done
install -vDm 644 "../${pkgname}.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/"
2019-12-15 19:23:20 +00:00
install -vDm 644 plugin.news \
-t "${pkgdir}/usr/share/doc/${pkgname}"
2018-02-07 03:29:04 +00:00
}
# vim:set ts=2 sw=2 et: