PKGBUILDs/community/csound/PKGBUILD

123 lines
5.8 KiB
Bash
Raw Normal View History

2019-12-25 19:53:31 +00:00
# Maintainer: David Runge <dvzrv@archlinux.org>
2018-02-13 00:46:38 +00:00
# Contributor: Ainola
# Contributor: speps
# Contributor: Bernardo Barros
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - disable NEON
2018-05-18 14:06:09 +00:00
# - disable java interface
2018-02-13 00:46:38 +00:00
# - skip aarch64 - incompatible with beta luajit
buildarch=22
pkgbase=csound
pkgname=('csound' 'csound-doc')
2020-08-14 14:54:00 +00:00
pkgver=6.15.0
pkgrel=1
2018-02-13 00:46:38 +00:00
pkgdesc="A programming language for sound rendering and signal processing."
arch=('x86_64')
2019-02-18 15:14:12 +00:00
url="https://csound.com"
2020-08-08 18:01:42 +00:00
license=('LGPL2.1')
2018-11-07 13:42:32 +00:00
# libpd needs to be packaged: https://github.com/libpd/libpd/releases
2019-07-13 21:51:34 +00:00
# gmm > 5.1 breaks linear-algebra opcode: https://github.com/csound/csound/issues/920
2019-12-25 19:53:31 +00:00
makedepends=('alsa-lib' 'boost' 'cmake' 'doxygen' 'dssi' 'eigen' 'faust' 'fltk'
2020-01-30 01:06:22 +00:00
'fluidsynth' 'hdf5' 'jack' 'java-environment' 'ladspa' 'libmusicxml'
2020-08-14 14:54:00 +00:00
'libsamplerate' 'libsndfile' 'libwebsockets' 'abletonlink' 'llvm' 'lua'
'openssl' 'portaudio' 'portmidi' 'portsmf' 'stk' 'swig' 'wiiuse')
2019-12-25 19:53:31 +00:00
checkdepends=('cunit')
2018-11-07 13:42:32 +00:00
source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/${pkgbase}/${pkgbase}/archive/${pkgver}.tar.gz"
"${pkgbase}.sh"
2018-02-13 00:46:38 +00:00
"https://github.com/${pkgbase}/${pkgbase}/releases/download/${pkgver}/Csound${pkgver}_manual_html.zip"
2019-07-13 21:51:34 +00:00
"https://github.com/${pkgbase}/${pkgbase}/releases/download/${pkgver}/Csound${pkgver}_manual_pdf.zip")
2020-08-14 14:54:00 +00:00
sha512sums=('3462a544357b9ef7d8f2e6c7aed5f0659524fab08669950436da856c9854f81f658f1bd50061e7e6bfd28663a578ef2e0ea75ac4f0f9c72d476dddd82aa26185'
2018-10-18 23:16:45 +00:00
'53a8ae1e61db2a3a492930ef0f0881b613ae47108c5e8de0a6e2aa28bcf7a5c93c7fea8b7fc2bbae29ab92e1e68bf94ba406be1255ad8ab5725ea9078c1fd6dc'
2020-08-14 14:54:00 +00:00
'cf7df42f3b6d869a5e9f531c64a50287f9385927b26c48ff3c334b2ed95d17334be85a3ef671008504d1a365b1412e2715dcff61a41e3c83b60621df25d67946'
'0eca00951708d7064d789bdd0d98534e815ecc275e09b3020cce89d6f6b1009c0347e7d5fd400ed321bd7e05c89d79644f64c18f47b46013bb6b49c88e42fca0')
b2sums=('9513ae484606bacd82971bad80a8a4e9e42fa7ff9af33a7850052b2c3941b5260817efe8c502310da815802dd75681fbf239782783566bb402333917c91dbd1b'
2020-08-08 18:01:42 +00:00
'8a556685d0f9ee55c4de521b3d76fc729936e98e991e8ea860d64b29a1b09d142ab0a51548b2dddadb41ecb796e84ba1f8ed114494b4c67d7d6d8ab3475b2ede'
2020-08-14 14:54:00 +00:00
'b15b3381f13c7877130dfec60803ba1cdd12e5d2d92e5ea02c4d0dd5c1c70cc2bbec5f76634b385a0ffd20e7397d6c33bbe374128f01345999f34e2e2a0b7dd1'
'898da87eb8b10a75f3f6256eeade7aa180ff5e6dd93de8d2bf462d01d1d1cf5f4c5d7c4ed73402aa019674d597ff3fd1b7ac436059d9df39e0d77a15365d529e')
2018-02-13 00:46:38 +00:00
prepare() {
2019-12-25 19:53:31 +00:00
# fix file permissions in html manual
find html/ -type f -exec chmod -c 644 {} \;
2018-02-13 00:46:38 +00:00
}
build() {
2019-06-18 23:16:36 +00:00
local _java_major=$(java --version 2>/dev/null |grep 'openjdk'| cut -d ' ' -f2| cut -d '.' -f1)
2019-12-25 19:53:31 +00:00
cd "${pkgbase}-${pkgver}"
2019-08-05 18:23:31 +00:00
# without CMAKE_BUILD_TYPE=Release, csound is build as beta: https://bugs.archlinux.org/task/63348
# it's not allowed to redistribute the scansyn opcodes: https://github.com/csound/csound/issues/1148
2019-12-25 19:53:31 +00:00
# the python plugin is not python3 compatible: https://github.com/csound/csound/issues/631
2018-11-07 13:42:32 +00:00
cmake -DCMAKE_INSTALL_PREFIX=/usr \
2020-08-08 18:01:42 +00:00
-DCMAKE_BUILD_TYPE='None' \
2019-08-05 18:23:31 +00:00
-DBUILD_SCANSYN_OPCODES=OFF \
2018-11-07 13:42:32 +00:00
-DCMAKE_CXX_FLAGS="-Wno-error -Wno-missing-field-initializers -DPFFFT_SIMD_DISABLE" \
-DCMAKE_C_FLAGS="-Wno-error -Wno-missing-field-initializers -DPFFFT_SIMD_DISABLE" \
-DBUILD_JAVA_INTERFACE=0 \
2019-12-25 19:53:31 +00:00
-DJAVA_AWT_LIBRARY="/usr/lib/jvm/java-${_java_major}-openjdk/jre/lib/libawt.so" \
-DJAVA_JVM_LIBRARY="/usr/lib/jvm/java-${_java_major}-openjdk/jre/lib" \
2019-07-13 21:51:34 +00:00
-DLUA_LIBRARY=/usr/lib/liblua.so \
2018-11-07 13:42:32 +00:00
-DBUILD_STATIC_LIBRARY=ON \
2019-07-13 21:51:34 +00:00
-DBUILD_ABLETON_LINK_OPCODES=ON \
-DABLETON_LINK_HOME=/usr/include/ableton \
2020-08-08 18:01:42 +00:00
-W no-dev \
2019-12-25 19:53:31 +00:00
-B build \
-S .
make VERBOSE=1 -C build
2018-02-13 00:46:38 +00:00
}
2018-11-07 13:42:32 +00:00
check() {
2019-12-25 19:53:31 +00:00
cd "${pkgbase}-${pkgver}"
make test -C build
2018-11-07 13:42:32 +00:00
}
2018-02-13 00:46:38 +00:00
package_csound() {
2018-06-03 16:31:54 +00:00
groups=('pro-audio')
2020-01-30 01:06:22 +00:00
depends=('gcc-libs' 'glibc' 'libcurl.so' 'libsamplerate.so' 'libsndfile.so')
2019-12-25 19:53:31 +00:00
optdepends=('alsa-lib: for librtalsa plugin'
'csound-doc: for the canonical Csound Reference Manual'
'csoundqt: for frontend/ editor with integrated help'
'fltk: for libvirtual and libwidgets plugins'
'hdf5: for hdf5ops plugin'
2019-07-13 21:51:34 +00:00
'java-runtime: java integration'
2020-08-08 18:01:42 +00:00
'faust: for libfaustcsound plugin'
'fluidsynth: for libfluidOpcodes plugin'
'jack: for libjacko, librtjack and libjackTransport plugins'
'liblo: for libosc plugin'
'ncurses: for libfaustcsound plugin'
2019-12-25 19:53:31 +00:00
'libpng: for libimage plugin'
2020-08-08 18:01:42 +00:00
'portmidi: for libpmidi plugin'
'portaudio: for librtpa plugin'
2019-12-25 19:53:31 +00:00
'libpulse: for librtpulse plugin'
2020-08-08 18:01:42 +00:00
'stk: for libstkops plugin'
2019-12-25 19:53:31 +00:00
'libwebsockets: for libwebsocketIO plugin'
2020-08-08 18:01:42 +00:00
'wiiuse: for libwiimote plugin'
2019-12-25 19:53:31 +00:00
'libx11: for libwidgets plugin'
'lua: for LUA integration'
'openssl: for libfaustcsound plugin'
2019-07-13 21:51:34 +00:00
'vim-csound: vim integration'
2019-12-25 19:53:31 +00:00
'zlib: for libfaustcsound plugin')
provides=('libcsound64.so' 'libcsnd6.so')
cd "${pkgname}-${pkgver}"
2020-08-08 18:01:42 +00:00
make VERBOSE=1 DESTDIR="${pkgdir}/" install -C build
2018-02-13 00:46:38 +00:00
# export vars in profile.d
2018-05-18 14:06:09 +00:00
install -vDm 755 "${srcdir}/${pkgname}.sh" -t "${pkgdir}/etc/profile.d/"
2018-07-28 23:14:48 +00:00
# rename extract executable due to name conflict with libextractor
# https://github.com/csound/csound/issues/985
mv -v "${pkgdir}/usr/bin/extract" "${pkgdir}/usr/bin/${pkgname}-extract"
2019-06-18 23:16:36 +00:00
# moving csnd6.jar to /usr/share/java
#install -vdm 755 "${pkgdir}/usr/share/java/"
#mv -v "${pkgdir}/usr/lib/"*.jar "${pkgdir}/usr/share/java/"
2018-02-13 00:46:38 +00:00
}
package_csound-doc() {
2020-08-08 18:01:42 +00:00
license=('LGPL2.1' 'GPL')
2019-12-25 19:53:31 +00:00
install -vDm 644 "${srcdir}/Csound${pkgver}_manual.pdf" \
2018-05-18 14:06:09 +00:00
"${pkgdir}/usr/share/doc/${pkgname}/${pkgbase}-manual.pdf"
install -dv "${pkgdir}/usr/share/doc/${pkgname}/html"
2019-12-25 19:53:31 +00:00
cp -av "${srcdir}/html/"* "${pkgdir}/usr/share/doc/${pkgname}/html"
2018-02-13 00:46:38 +00:00
}
# vim:set ts=2 sw=2 et: