diff options
-rw-r--r-- | .SRCINFO | 85 | ||||
-rw-r--r-- | PKGBUILD | 166 | ||||
-rw-r--r-- | zynaddsubfx-libzest_location.patch | 13 | ||||
-rw-r--r-- | zynaddsubfx-mruby-zest-build-libzest_location.patch | 13 | ||||
-rw-r--r-- | zynaddsubfx-mruby-zest-build-system_wide_location.patch | 46 |
5 files changed, 265 insertions, 58 deletions
@@ -1,41 +1,96 @@ -# Generated by mksrcinfo v8 -# Mon May 15 23:02:59 UTC 2017 pkgbase = zynaddsubfx-git pkgdesc = A powerful realtime, multi-timbral software synthesizer. - pkgver = 3.0.1.r33.g1b465614 + pkgver = 3.0.6.r59.g255d8442 pkgrel = 1 url = http://zynaddsubfx.sourceforge.net arch = i686 arch = x86_64 - license = GPL + license = GPL2 makedepends = git + makedepends = alsa-lib + makedepends = asciidoc + makedepends = asciidoctor makedepends = cmake + makedepends = cxxtest + makedepends = doxygen makedepends = dssi - makedepends = gendesk + makedepends = fltk makedepends = ladspa - makedepends = setconf + makedepends = libxpm + makedepends = ntk + makedepends = ruby-rake depends = fftw - depends = fltk - depends = lash + depends = hicolor-icon-theme + depends = jack + depends = libglvnd depends = liblo - depends = portaudio + depends = libuv depends = mxml - depends = ntk-git + depends = portaudio + depends = sndio + depends = ttf-roboto optdepends = dssi: dssi plugin + optdepends = lv2-host: for using the LV2 plug-in + optdepends = vst-host: for using the VST plug-in provides = zynaddsubfx conflicts = zynaddsubfx noextract = unsortedzynaddsubfxParameters_20140402.zip options = !emptydirs - source = zynaddsubfx-git::git://git.code.sf.net/p/zynaddsubfx/code/ - source = DPF::git+https://github.com/DISTRHO/DPF.git - source = instruments::git://git.code.sf.net/p/zynaddsubfx/instruments - source = rtosc::git+https://github.com/fundamental/rtosc.git + source = zynaddsubfx::git+https://github.com/zynaddsubfx/zynaddsubfx + source = instruments::git+https://github.com/zynaddsubfx/instruments + source = DPF::git+https://github.com/DISTRHO/DPF + source = pugl::git+https://github.com/DISTRHO/pugl + source = rtosc::git+https://github.com/fundamental/rtosc + source = nanovg::git+https://github.com/memononen/nanovg + source = mruby-zest-build::git+https://github.com/mruby-zest/mruby-zest-build + source = mruby::git+https://github.com/mruby/mruby + source = mruby-sleep::git+https://github.com/matsumoto-r/mruby-sleep + source = mruby-dir-glob::git+https://github.com/gromnitsky/mruby-dir-glob + source = mruby-regexp-pcre::git+https://github.com/iij/mruby-regexp-pcre + source = mruby-set::git+https://github.com/yui-knk/mruby-set + source = mruby-io::git+https://github.com/iij/mruby-io + source = mruby-glew::git+https://github.com/IceDragon200/mruby-glew + source = mruby-glfw3::git+https://github.com/IceDragon200/mruby-glfw3 + source = mruby-nanovg::git+https://github.com/mruby-zest/mruby-nanovg + source = mruby-qml-spawn::git+https://github.com/mruby-zest/mruby-qml-spawn + source = mruby-qml-parse::git+https://github.com/mruby-zest/mruby-qml-parse + source = mruby-complex::git+https://github.com/pbosetti/mruby-complex + source = mruby-dir::git+https://github.com/iij/mruby-dir + source = mruby-errno::git+https://github.com/iij/mruby-errno + source = mruby-file-stat::git+https://github.com/ksss/mruby-file-stat + source = mruby-process::git+https://github.com/iij/mruby-process + source = mruby-zest_rtosc::git+https://github.com/fundamental/rtosc source = http://zynaddsubfx.sourceforge.net/doc/instruments/unsortedzynaddsubfxParameters_20140402.zip + source = zynaddsubfx-libzest_location.patch + source = zynaddsubfx-mruby-zest-build-libzest_location.patch + source = zynaddsubfx-mruby-zest-build-system_wide_location.patch + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP sha512sums = SKIP sha512sums = SKIP sha512sums = SKIP sha512sums = SKIP sha512sums = 13e7ed9746d0ce7959afa067211175cd007fdeb77500756dd5b0a57e6230e425934a7fe267a5197b539c3305c497745beb2fef2f5e79e4c8662a9c57cf2345f0 + sha512sums = 695f5776b07e4ace611f358ea1007e0023f1ba6dcf4ebb85974b461490850c51bb85903abafc07b23236051ab161cc0e538a127a11efd0b1dfd129dc99f37d77 + sha512sums = d7ef0b4e8068d1d09d34c913d7b70342eaaa2eb8dae619d223e3e03ac667cf76c6e5615b60efabaf7eae594e3a5d6f40bc0cf10b8e939da1aa349bc27dff4ea8 + sha512sums = 2a6b57df3a9ffac669341d37739b281ce32696f82d82ee17220fdc9e426729d40f91cf50e1b58b7be1cc9bc5651d99794ae5e1bbd32f25c14aaf489989e10aab pkgname = zynaddsubfx-git - @@ -2,52 +2,123 @@ # Contributor: speps <speps at aur dot archlinux dot org> pkgname=zynaddsubfx-git -pkgver=3.0.1.r33.g1b465614 +pkgver=3.0.6.r59.g255d8442 pkgrel=1 pkgdesc="A powerful realtime, multi-timbral software synthesizer." arch=('i686' 'x86_64') url="http://zynaddsubfx.sourceforge.net" -license=('GPL') -depends=('fftw' 'fltk' 'lash' 'liblo' 'portaudio' 'mxml' 'ntk-git') -makedepends=('git' 'cmake' 'dssi' 'gendesk' 'ladspa' 'setconf') -optdepends=('dssi: dssi plugin') +license=('GPL2') +depends=('fftw' 'hicolor-icon-theme' 'jack' 'libglvnd' 'liblo' 'libuv' 'mxml' 'portaudio' 'sndio' 'ttf-roboto') +makedepends=('git' 'alsa-lib' 'asciidoc' 'asciidoctor' 'cmake' 'cxxtest' 'doxygen' 'dssi' 'fltk' 'ladspa' 'libxpm' 'ntk' 'ruby-rake') +optdepends=('dssi: dssi plugin' + 'lv2-host: for using the LV2 plug-in' + 'vst-host: for using the VST plug-in') provides=("${pkgname%-*}") conflicts=("${pkgname%-*}") options=('!emptydirs') -source=("${pkgname}::git://git.code.sf.net/p/zynaddsubfx/code/" - "DPF::git+https://github.com/DISTRHO/DPF.git" - "instruments::git://git.code.sf.net/p/zynaddsubfx/instruments" - "rtosc::git+https://github.com/fundamental/rtosc.git" - "http://zynaddsubfx.sourceforge.net/doc/instruments/unsortedzynaddsubfxParameters_20140402.zip") -noextract=("${source[4]##*/}") +source=("${pkgname%-*}::git+https://github.com/zynaddsubfx/zynaddsubfx" + "instruments::git+https://github.com/zynaddsubfx/instruments" + "DPF::git+https://github.com/DISTRHO/DPF" + "pugl::git+https://github.com/DISTRHO/pugl" + "rtosc::git+https://github.com/fundamental/rtosc" + "nanovg::git+https://github.com/memononen/nanovg" + "mruby-zest-build::git+https://github.com/mruby-zest/mruby-zest-build" + "mruby::git+https://github.com/mruby/mruby" + "mruby-sleep::git+https://github.com/matsumoto-r/mruby-sleep" + "mruby-dir-glob::git+https://github.com/gromnitsky/mruby-dir-glob" + "mruby-regexp-pcre::git+https://github.com/iij/mruby-regexp-pcre" + "mruby-set::git+https://github.com/yui-knk/mruby-set" + "mruby-io::git+https://github.com/iij/mruby-io" + "mruby-glew::git+https://github.com/IceDragon200/mruby-glew" + "mruby-glfw3::git+https://github.com/IceDragon200/mruby-glfw3" + "mruby-nanovg::git+https://github.com/mruby-zest/mruby-nanovg" + "mruby-qml-spawn::git+https://github.com/mruby-zest/mruby-qml-spawn" + "mruby-qml-parse::git+https://github.com/mruby-zest/mruby-qml-parse" + "mruby-complex::git+https://github.com/pbosetti/mruby-complex" + "mruby-dir::git+https://github.com/iij/mruby-dir" + "mruby-errno::git+https://github.com/iij/mruby-errno" + "mruby-file-stat::git+https://github.com/ksss/mruby-file-stat" + "mruby-process::git+https://github.com/iij/mruby-process" + "mruby-zest_rtosc::git+https://github.com/fundamental/rtosc" + "http://zynaddsubfx.sourceforge.net/doc/instruments/unsortedzynaddsubfxParameters_20140402.zip" + "${pkgname%-*}-libzest_location.patch" + "${pkgname%-*}-mruby-zest-build-libzest_location.patch" + "${pkgname%-*}-mruby-zest-build-system_wide_location.patch") +noextract=("${source[24]##*/}") sha512sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' - '13e7ed9746d0ce7959afa067211175cd007fdeb77500756dd5b0a57e6230e425934a7fe267a5197b539c3305c497745beb2fef2f5e79e4c8662a9c57cf2345f0') -_branch=master + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + '13e7ed9746d0ce7959afa067211175cd007fdeb77500756dd5b0a57e6230e425934a7fe267a5197b539c3305c497745beb2fef2f5e79e4c8662a9c57cf2345f0' + '695f5776b07e4ace611f358ea1007e0023f1ba6dcf4ebb85974b461490850c51bb85903abafc07b23236051ab161cc0e538a127a11efd0b1dfd129dc99f37d77' + 'd7ef0b4e8068d1d09d34c913d7b70342eaaa2eb8dae619d223e3e03ac667cf76c6e5615b60efabaf7eae594e3a5d6f40bc0cf10b8e939da1aa349bc27dff4ea8' + '2a6b57df3a9ffac669341d37739b281ce32696f82d82ee17220fdc9e426729d40f91cf50e1b58b7be1cc9bc5651d99794ae5e1bbd32f25c14aaf489989e10aab') prepare() { - [ -f zynaddsubfx.desktop ] && rm zynaddsubfx.desktop - gendesk $startdir/PKGBUILD - # Match camel case of included .desktop files - setconf "${pkgname%-*}.desktop" Name "ZynAddSubFX" - - cd "${pkgname}" + cd $srcdir/${pkgname%-*} [ -d build ] || mkdir build - git checkout ${_branch} + git submodule update --init --recursive --no-fetch + git config submodule.DPF.url "$srcdir/DPF" + git config submodule.dgl/src/pugl-upstream.url "$srcdir/pugl" + git config submodule.instruments.url "$srcdir/instruments" + git config submodule.rtosc.url "$srcdir/rtosc" + git -c protocol.file.allow=always submodule update --recursive + + cd $srcdir/mruby-zest-build git submodule init - git config submodule.DPF.url "${srcdir}/DPF" - git config submodule.instruments.url "${srcdir}/instruments" - git config submodule.rtosc.url "${srcdir}/rtosc" - git submodule update DPF instruments rtosc + git submodule deinit deps/libuv + git config submodule.deps/nanovg.url "$srcdir/nanovg" + git config submodule.deps/rtosc.url "$srcdir/mruby-zest_rtosc" + git config submodule.mruby.url "$srcdir/mruby" + git config submodule.deps/mruby-sleep.url "$srcdir/mruby-sleep" + git config submodule.deps/mruby-dir-glob.url "$srcdir/mruby-dir-glob" + git config submodule.deps/mruby-regexp-pcre.url "$srcdir/mruby-regexp-pcre" + git config submodule.deps/mruby-set.url "$srcdir/mruby-set" + git config submodule.deps/mruby-io.url "$srcdir/mruby-io" + git config submodule.deps/mruby-glew.url "$srcdir/mruby-glew" + git config submodule.deps/mruby-glfw3.url "$srcdir/mruby-glfw3" + git config submodule.deps/mruby-nanovg.url "$srcdir/mruby-nanovg" + git config submodule.deps/mruby-qml-spawn.url "$srcdir/mruby-qml-spawn" + git config submodule.deps/mruby-qml-parse.url "$srcdir/mruby-qml-parse" + git config submodule.deps/mruby-complex.url "$srcdir/mruby-complex" + git config submodule.deps/mruby-dir.url "$srcdir/mruby-dir" + git config submodule.deps/mruby-errno.url "$srcdir/mruby-errno" + git config submodule.deps/mruby-file-stat.url "$srcdir/mruby-file-stat" + git config submodule.deps/mruby-process.url "$srcdir/mruby-process" + git -c protocol.file.allow=always submodule update - # Prevent use of /usr/lib64 - sed -i 's:lib64:lib:' src/CMakeLists.txt + # load libzest.so from custom system location in /usr/lib/zynaddsubfx/ + patch -Np1 -d $srcdir/${pkgname%-*} -i ../${pkgname%-*}-libzest_location.patch + # load libzest.so from custom system location in /usr/lib/zynaddsubfx/ + patch -Np1 -i ../${pkgname%-*}-mruby-zest-build-libzest_location.patch + # load qml data from custom system location in /usr/share/zynaddsubfx/qml/ + # load JSON schema from custom system location in /usr/share/zynaddsubfx/schema/ + # load fonts from custom system location in /usr/share/fonts/TTF/ + patch -Np1 -i ../${pkgname%-*}-mruby-zest-build-system_wide_location.patch } pkgver() { - cd "${srcdir}/${pkgname}" + cd ${pkgname%-*} ( set -o pipefail git describe --long --tags 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' || printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" @@ -55,38 +126,47 @@ pkgver() { } build() { - # Does not build with --as-needed - LDFLAGS=${LDFLAGS//,--as-needed} - - cd "${pkgname}/build" + cd ${pkgname%-*}/build cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DGuiModule=ntk + -DGuiModule=zest make + make -C "$srcdir/mruby-zest-build" + make man -C "$srcdir/${pkgname%-*}/doc" # External programs - cd "../ExternalPrograms/Spliter" && make - cd "../Controller" && make + make -C "$srcdir/${pkgname%-*}/ExternalPrograms/Spliter" + make -C "$srcdir/${pkgname%-*}/ExternalPrograms/Controller" +} + +check() { + make -k test ARGS='-VVd' -C "${pkgname%-*}/build" } package() { - cd "${pkgname}/build" - make DESTDIR="${pkgdir}/" install + cd ${pkgname%-*}/build + make DESTDIR="$pkgdir" install + install -vDm 644 ../${pkgname%-*}.svg -t "$pkgdir/usr/share/icons/hicolor/scalable/apps/" + install -vDm 644 ../doc/${pkgname%-*}.1 -t "$pkgdir/usr/share/man/man1/" # External programs and documentation. install -Dm755 "../ExternalPrograms/Spliter/spliter" \ - "${pkgdir}/usr/bin/spliter" + "$pkgdir/usr/bin/spliter" install -Dm644 "../ExternalPrograms/Spliter/readme.txt" \ - "${pkgdir}/usr/share/doc/${pkgname%-*}/SPLITER.txt" + "$pkgdir/usr/share/doc/${pkgname%-*}/SPLITER.txt" install -Dm755 "../ExternalPrograms/Controller/controller" \ - "${pkgdir}/usr/bin/controller" + "$pkgdir/usr/bin/controller" + + cd $srcdir/mruby-zest-build + install -vDm 755 zest "$pkgdir/usr/bin/zyn-fusion" + install -vDm 755 libzest.so -t "$pkgdir/usr/lib/${pkgname%-*}/" + install -vDm 644 src/mruby-zest/{example,qml}/*.qml -t "$pkgdir/usr/share/${pkgname%-*}/qml/" + install -vDm 644 src/osc-bridge/schema/test.json -t "$pkgdir/usr/share/${pkgname%-*}/schema/" + install -vDm 644 completions/zyn-fusion -t "$pkgdir/usr/share/bash-completion/completions/" # Additional parameters install -d "${pkgdir}/usr/share/${pkgname%-*}/parameters" bsdtar --strip-components 1 --uid 0 --gid 0 -zxf \ - ${srcdir}/${source[4]##*/} -C \ + ${srcdir}/${source[24]##*/} -C \ "${pkgdir}/usr/share/${pkgname%-*}/parameters" - - # Desktop file sans predefied I/O - install -Dm644 "${srcdir}/${pkgname%-*}.desktop" "${pkgdir}/usr/share/applications/${pkgname%-*}.desktop" } diff --git a/zynaddsubfx-libzest_location.patch b/zynaddsubfx-libzest_location.patch new file mode 100644 index 000000000000..ce14e6735e6c --- /dev/null +++ b/zynaddsubfx-libzest_location.patch @@ -0,0 +1,13 @@ +diff --git i/src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp w/src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp +index 0829e889..010e1fac 100644 +--- i/src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp ++++ w/src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp +@@ -68,7 +68,7 @@ public: + #else + handle = dlopen("./libzest.so", RTLD_LAZY); + if(!handle) +- handle = dlopen("/opt/zyn-fusion/libzest.so", RTLD_LAZY); ++ handle = dlopen("/usr/lib/zynaddsubfx/libzest.so", RTLD_LAZY); + if(!handle) + handle = dlopen("libzest.so", RTLD_LAZY); + #endif diff --git a/zynaddsubfx-mruby-zest-build-libzest_location.patch b/zynaddsubfx-mruby-zest-build-libzest_location.patch new file mode 100644 index 000000000000..26dad9247788 --- /dev/null +++ b/zynaddsubfx-mruby-zest-build-libzest_location.patch @@ -0,0 +1,13 @@ +diff --git i/test-libversion.c w/test-libversion.c +index 808c01f..a122585 100644 +--- i/test-libversion.c ++++ w/test-libversion.c +@@ -660,7 +660,7 @@ int main(int argc, char **argv) + if(!handle) + handle = dlopen("libzest.so", RTLD_LAZY); + if(!handle) +- handle = dlopen("/opt/zyn-fusion/libzest.so", RTLD_LAZY); ++ handle = dlopen("/usr/lib/zynaddsubfx/libzest.so", RTLD_LAZY); + #endif + if(!handle) { + printf("[ERROR] Cannot Open libzest.so\n"); diff --git a/zynaddsubfx-mruby-zest-build-system_wide_location.patch b/zynaddsubfx-mruby-zest-build-system_wide_location.patch new file mode 100644 index 000000000000..101ea3bd77c4 --- /dev/null +++ b/zynaddsubfx-mruby-zest-build-system_wide_location.patch @@ -0,0 +1,46 @@ +diff --git i/src/mruby-widget-lib/mrblib/script.rb w/src/mruby-widget-lib/mrblib/script.rb +index 2d3e7fc..4dbd3c7 100644 +--- i/src/mruby-widget-lib/mrblib/script.rb ++++ w/src/mruby-widget-lib/mrblib/script.rb +@@ -160,13 +160,13 @@ class ZRunner + search = @search_path + search ||= "" + font_error = false +- sans = [search + "font/Roboto-Regular.ttf", "deps/nanovg/example/Roboto-Regular.ttf"] ++ sans = ["/usr/share/fonts/TTF/Roboto-Regular.ttf", search + "font/Roboto-Regular.ttf", "deps/nanovg/example/Roboto-Regular.ttf"] + if(@vg.create_font('sans', sans[0]) == -1 && @vg.create_font('sans', sans[1]) == -1) + GL::debug "[ERROR] could not find sans font" + font_error = true + end + +- bold = [search + "font/Roboto-Bold.ttf", "deps/nanovg/example/Roboto-Bold.ttf"] ++ bold = ["/usr/share/fonts/TTF/Roboto-Bold.ttf", search + "font/Roboto-Bold.ttf", "deps/nanovg/example/Roboto-Bold.ttf"] + if(@vg.create_font('bold', bold[0]) == -1 && @vg.create_font('bold', bold[1]) == -1) + GL::debug "[ERROR] could not find bold font" + font_error = true +diff --git i/src/mruby-widget-lib/src/api.c w/src/mruby-widget-lib/src/api.c +index 6949413..1118717 100644 +--- i/src/mruby-widget-lib/src/api.c ++++ w/src/mruby-widget-lib/src/api.c +@@ -110,7 +110,7 @@ zest_open(char *address) + if(strstr(path, "libzest")) + strstr(path, "libzest")[0] = 0; + char path2[256]; +- snprintf(path2, sizeof(path2), "%s%s", path, "./qml/MainWindow.qml"); ++ snprintf(path2, sizeof(path2), "%s%s", path, "../../share/zynaddsubfx/qml/MainWindow.qml"); + FILE *f = fopen(path2, "r"); + if(f) { + printf("[INFO:Zyn] Found Assets at %s\n", path); +diff --git i/src/osc-bridge/src/bridge.c w/src/osc-bridge/src/bridge.c +index f87c849..6405bbb 100644 +--- i/src/osc-bridge/src/bridge.c ++++ w/src/osc-bridge/src/bridge.c +@@ -431,7 +431,7 @@ schema_t br_get_schema(bridge_t *br, uri_t uri) + schema_t sch; + + //printf("[debug] loading json file\n"); +- FILE *f = fopen("schema/test.json", "r"); ++ FILE *f = fopen("/usr/share/zynaddsubfx/schema/test.json", "r"); + if(!f && br->search_path) { + char tmp[256]; + snprintf(tmp, sizeof(tmp), "%s%s", br->search_path, "schema/test.json"); |