commit:     c318dc516a2b39839d4c2b026111e87652f5f4f9
Author:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 19 22:34:13 2023 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Tue Dec 19 22:35:33 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c318dc51

media-sound/zynaddsubfx: build new UI instead of unmaintained one

Closes: https://bugs.gentoo.org/920178
Closes: https://github.com/gentoo/gentoo/pull/34315
Signed-off-by: Jason A. Donenfeld <zx2c4 <AT> gentoo.org>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 media-sound/zynaddsubfx/Manifest                   |   1 +
 .../files/zyn-fusion-ui-3.0.6-cflags_ldflags.patch |  19 +++
 .../zyn-fusion-ui-3.0.6-libzest_location.patch     |  11 ++
 .../files/zyn-fusion-ui-3.0.6-makefile_find.patch  |  69 ++++++++++
 .../zyn-fusion-ui-3.0.6-system_wide_location.patch |  40 ++++++
 .../zynaddsubfx/files/zynaddsubfx-3.0.6-docs.patch |   2 -
 .../files/zynaddsubfx-3.0.6-libzest_location.patch |  11 ++
 .../files/zynaddsubfx-3.0.6-stdint.patch           | 149 ++++++++++++++++-----
 .../zynaddsubfx/zynaddsubfx-3.0.6-r2.ebuild        | 113 ++++++++++++++++
 9 files changed, 376 insertions(+), 39 deletions(-)

diff --git a/media-sound/zynaddsubfx/Manifest b/media-sound/zynaddsubfx/Manifest
index 899fdbeb6639..748fcac41684 100644
--- a/media-sound/zynaddsubfx/Manifest
+++ b/media-sound/zynaddsubfx/Manifest
@@ -1 +1,2 @@
+DIST zyn-fusion-ui-src-3.0.6.tar.bz2 5266884 BLAKE2B 
d9715c319bfd313792f550e12a47939dec665eda6ef395f8bb7a175b11f0922a4037428f99dc95fe749c40074ce8976fa9d257b6bc1e8f1feb63ca943c3bdd76
 SHA512 
7f195cf6a193376160441863d725383640bc75ad0c21b8ef7786da67a42fe014be103e3c3d9c29c83ffc3d78b9e11a4031a6b3922d457a336d184228c16077cd
 DIST zynaddsubfx-3.0.6.tar.bz2 10001014 BLAKE2B 
4adbeffb9bc0bd77bf81a6734f5c26fc676426e644e27cebb8e54e8d74d869c0e1b468782cd1a64aacef8f9b788d434a8d30a194944650eea03c4fd146ee7bf7
 SHA512 
86311f00d97e20c7eb22a46c99736c56765ed9737e728ef380a324e4a92c731086ed74f5d7bfeae104b690ab1ee1b40bfb8f240bc4c46f8afd47308ec48cbcea

diff --git 
a/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-cflags_ldflags.patch 
b/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-cflags_ldflags.patch
new file mode 100644
index 000000000000..005b1733e5e2
--- /dev/null
+++ b/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-cflags_ldflags.patch
@@ -0,0 +1,19 @@
+--- i/Makefile
++++ w/Makefile
+@@ -16,10 +16,14 @@ linux:
+       $(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -v 
mrbc | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \
+               ./deps/libnanovg.a \
+               src/osc-bridge/libosc-bridge.a \
+-              `pkg-config --libs libuv` -lm -lX11 -lGL -lpthread
++              $(CFLAGS) \
++              `pkg-config --libs libuv` -lm -lX11 -lGL -lpthread \
++              $(LDFLAGS)
+       $(CC) test-libversion.c deps/pugl/pugl/pugl_x11.c \
++              $(CFLAGS) \
+                 -DPUGL_HAVE_GL \
+-                -ldl -o zest -lX11 -lGL -lpthread -I deps/pugl -std=gnu99 
-Wno-trigraphs
++                -ldl -o zest -lX11 -lGL -lpthread -I deps/pugl -std=gnu99 
-Wno-trigraphs \
++                      $(LDFLAGS)
+ 
+ osx: deps/libuv.a
+       ruby ./rebuild-fcache.rb

diff --git 
a/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-libzest_location.patch 
b/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-libzest_location.patch
new file mode 100644
index 000000000000..a24921196fe6
--- /dev/null
+++ b/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-libzest_location.patch
@@ -0,0 +1,11 @@
+--- 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/lib64/zynaddsubfx/libzest.so", RTLD_LAZY);
+ #endif
+     if(!handle) {
+         printf("[ERROR] Cannot Open libzest.so\n");

diff --git 
a/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-makefile_find.patch 
b/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-makefile_find.patch
new file mode 100644
index 000000000000..77cc47913f57
--- /dev/null
+++ b/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-makefile_find.patch
@@ -0,0 +1,69 @@
+From c1f5fcbad97c20b14a35e894477081d69519f6b0 Mon Sep 17 00:00:00 2001
+From: David Runge <[email protected]>
+Date: Sat, 21 May 2022 13:19:48 +0200
+Subject: [PATCH] Use find internals instead of piping into grep
+
+Makefile:
+Use GNU find internals (e.g. `-iname`, `-exec` and conditionals) instead
+of piping into multiple instances of grep.
+Simplify line counting by using wc from find.
+--- a/Makefile
++++ b/Makefile
+@@ -13,7 +13,7 @@ linux:
+ # force rebuilding all code that depends on hotloading.
+       touch src/mruby-widget-lib/src/api.c  
+       cd mruby             && $(HOTLOADING) MRUBY_CONFIG=../build_config.rb 
rake
+-      $(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -v 
mrbc | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \
++      $(CC) -shared -o libzest.so `find mruby/build/host -type f \( -not 
-iwholename "*mrbc*" -a -not -iwholename "*bin*" -a -iname "*.o" \)` \
+               ./deps/libnanovg.a \
+               src/osc-bridge/libosc-bridge.a \
+               `pkg-config --libs libuv` -lm -lX11 -lGL -lpthread
+@@ -30,7 +30,7 @@ osx: deps/libuv.a
+       cd deps/pugl         && python2 ./waf
+       cd src/osc-bridge    && CFLAGS="-I ../../deps/libuv/include " make lib
+       cd mruby             && MRUBY_CONFIG=../build_config.rb rake
+-      $(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -v 
mrbc | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \
++      $(CC) -shared -o libzest.so `find mruby/build/host -type f \( -not 
-iwholename "*mrbc*" -a -not -iwholename "*bin*" -a -iname "*.o" \)` 
./deps/libnanovg.a \
+               ./deps/libnanovg.a \
+               src/osc-bridge/libosc-bridge.a \
+               ./deps/libuv/.libs/libuv.a  -lm -framework OpenGL -lpthread
+@@ -41,7 +41,7 @@ windows: buildpuglwin deps/libuv-win.a
+       $(AR) rc deps/libnanovg.a deps/nanovg/src/*.o
+       cd src/osc-bridge    && CFLAGS="-mstackrealign -I 
../../deps/libuv/include " make lib
+       cd mruby             && WINDOWS=1 MRUBY_CONFIG=../build_config.rb rake
+-      $(CC) -mstackrealign -shared -o libzest.dll -static-libgcc `find 
mruby/build/w64 -type f | grep -e "\.o$$" | grep -v bin` \
++      $(CC) -mstackrealign -shared -o libzest.dll -static-libgcc `find 
mruby/build/w64 -type f \( -not -iwholename "*mrbc*" -a -not -iwholename 
"*bin*" -a -iname "*.o" \)` \
+         ./deps/libnanovg.a \
+         src/osc-bridge/libosc-bridge.a \
+         ./deps/libuv-win.a \
+@@ -98,21 +98,21 @@ stats:
+       @echo 'mruby-qml-parse  commits: ' `cd src/mruby-qml-parse && git log 
--oneline | wc -l`
+       @echo 'mruby-qml-spawn  commits: ' `cd src/mruby-qml-spawn && git log 
--oneline | wc -l`
+       @echo 'osc-bridge       commits: ' `cd src/osc-bridge      && git log 
--oneline | wc -l`
+-      @echo 'number of qml    files:' `find src/ -type f | grep -e qml$$ | wc 
-l`
+-      @echo 'number of ruby   files:' `find src/ -type f | grep -e rb$$ | wc 
-l`
+-      @echo 'number of c      files:' `find src/ -type f | grep -e c$$ | wc 
-l`
+-      @echo 'number of header files:' `find src/ -type f | grep -e h$$ | wc 
-l`
++      @echo 'number of qml    files:' `find src/ -type f -iname "*.qml" | wc 
-l`
++      @echo 'number of ruby   files:' `find src/ -type f -iname "*.rb" | wc 
-l`
++      @echo 'number of c      files:' `find src/ -type f -iname "*.c" | wc -l`
++      @echo 'number of header files:' `find src/ -type f -iname "*.h" | wc -l`
+       @echo 'lines of OSC schema:' `wc -l src/osc-bridge/schema/test.json`
+       @echo 'lines of qml:'
+-      @wc -l `find src/ -type f | grep qml$$` | tail -n 1
++      @`find src/ -type f -iname "*.qml" -exec wc -l {} +` | tail -n 1
+       @echo 'lines of ruby:'
+-      @wc -l `find src/ -type f | grep -e rb$$ | grep -v fcache` | tail -n 1
++      @`find src/ -type f \( -iname "*.rb" -a -not -iwholename "*fcache*" \) 
-exec wc -l {} +` | tail -n 1
+       @echo 'lines of c source:'
+-      @wc -l `find src/ -type f | grep -e c$$` | tail -n 1
++      @`find src/ -type f -iname "*.c" -exec wc -l {} +` | tail -n 1
+       @echo 'lines of c header:'
+-      @wc -l `find src/ -type f | grep -e h$$` | tail -n 1
++      @`find src/ -type f -iname "*.h" -exec wc -l {} +` | tail -n 1
+       @echo 'total lines of code:'
+-      @wc -l `find src/ -type f | grep -Ee "(qml|rb|c|h)$$" | grep -v fcache` 
| tail -n 1
++      @`find src/ -type f \( -iname "*.qml" -o -iname "*.rb" -o -iname "*.c" 
-o -iname "*.h" -a -not -iwholename "*fcache*" \) -exec wc -l {} +` | tail -n 1
+ 
+ 
+ verbose: ## Compile mruby with --trace

diff --git 
a/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-system_wide_location.patch 
b/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-system_wide_location.patch
new file mode 100644
index 000000000000..3001e08754dc
--- /dev/null
+++ 
b/media-sound/zynaddsubfx/files/zyn-fusion-ui-3.0.6-system_wide_location.patch
@@ -0,0 +1,40 @@
+--- 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/roboto/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/roboto/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
+--- 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);
+--- 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");

diff --git a/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-docs.patch 
b/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-docs.patch
index e10b92d096eb..0db30ed2395c 100644
--- a/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-docs.patch
+++ b/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-docs.patch
@@ -1,5 +1,3 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5c70857..20e20d2 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -35,9 +35,6 @@ include(CTestConfig.cmake)

diff --git 
a/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-libzest_location.patch 
b/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-libzest_location.patch
new file mode 100644
index 000000000000..79e9e30083e5
--- /dev/null
+++ b/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-libzest_location.patch
@@ -0,0 +1,11 @@
+--- 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/lib64/zynaddsubfx/libzest.so", RTLD_LAZY);
+         if(!handle)
+             handle = dlopen("libzest.so", RTLD_LAZY);
+ #endif

diff --git a/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-stdint.patch 
b/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-stdint.patch
index 4590183ab0f9..3c1bd7937810 100644
--- a/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-stdint.patch
+++ b/media-sound/zynaddsubfx/files/zynaddsubfx-3.0.6-stdint.patch
@@ -1,46 +1,121 @@
-Upstream Commit: 
https://github.com/zynaddsubfx/zynaddsubfx/commit/f384d92486d6b515cb628d0f52008a9e03341d8c
-Upstream Commit: 
https://github.com/zynaddsubfx/zynaddsubfx/commit/70905c96fe7b9ffde19bc4bc05b0dc53a1ed1707
-
-From f384d92486d6b515cb628d0f52008a9e03341d8c Mon Sep 17 00:00:00 2001
-From: fundamental <[email protected]>
-Date: Wed, 19 Apr 2023 21:52:01 -0400
-Subject: [PATCH] Bank: Add stdint.h header include
-
-As uint8_t is used, this header should be included.
----
- src/Misc/Bank.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/Misc/Bank.h b/src/Misc/Bank.h
-index 5120441a5..3f324dd84 100644
---- a/src/Misc/Bank.h
-+++ b/src/Misc/Bank.h
-@@ -18,6 +18,7 @@
+--- zynaddsubfx-3.0.6/src/Params/ADnoteParameters.h
++++ zynaddsubfx-3.0.6.mod/src/Params/ADnoteParameters.h
+@@ -16,6 +16,7 @@
+ 
+ #include "../globals.h"
+ #include "PresetsArray.h"
++#include <cstdint>
+ 
+ namespace zyn {
+ 
+--- zynaddsubfx-3.0.6/src/Params/Controller.h
++++ zynaddsubfx-3.0.6.mod/src/Params/Controller.h
+@@ -17,6 +17,7 @@
+ 
+ #include <stdint.h>
+ #include "../globals.h"
++#include <cstdint>
+ 
+ namespace zyn {
+ 
+--- zynaddsubfx-3.0.6/src/Params/EnvelopeParams.h
++++ zynaddsubfx-3.0.6.mod/src/Params/EnvelopeParams.h
+@@ -17,6 +17,7 @@
+ #include "../globals.h"
+ #include "../Misc/XMLwrapper.h"
+ #include "Presets.h"
++#include <cstdint>
+ 
+ namespace zyn {
+ 
+--- zynaddsubfx-3.0.6/src/Params/FilterParams.h
++++ zynaddsubfx-3.0.6.mod/src/Params/FilterParams.h
+@@ -17,6 +17,7 @@
+ #include "../globals.h"
+ #include "../Misc/XMLwrapper.h"
+ #include "PresetsArray.h"
++#include <cstdint>
+ 
+ namespace zyn {
+ 
+--- zynaddsubfx-3.0.6/src/Params/LFOParams.h
++++ zynaddsubfx-3.0.6.mod/src/Params/LFOParams.h
+@@ -17,6 +17,7 @@
+ #include <Misc/Time.h>
+ #include <rtosc/ports.h>
+ #include "Presets.h"
++#include <cstdint>
+ 
+ #define LFO_SINE      0
+ #define LFO_TRIANGLE  1
+--- zynaddsubfx-3.0.6/src/Params/PADnoteParameters.h
++++ zynaddsubfx-3.0.6.mod/src/Params/PADnoteParameters.h
+@@ -19,7 +19,7 @@
+ #include "Presets.h"
+ #include <string>
+ #include <functional>
+-
++#include <cstdint>
+ namespace zyn {
+ 
+ /**
+--- zynaddsubfx-3.0.6/src/Params/SUBnoteParameters.h
++++ zynaddsubfx-3.0.6.mod/src/Params/SUBnoteParameters.h
+@@ -17,6 +17,7 @@
+ #include <stdint.h>
+ #include "../globals.h"
+ #include "Presets.h"
++#include <cstdint>
+ 
+ namespace zyn {
+ 
+--- zynaddsubfx-3.0.6.old/src/Misc/Bank.cpp
++++ zynaddsubfx-3.0.6/src/Misc/Bank.cpp
+@@ -17,6 +17,7 @@
+ #include <cstring>
+ #include <cstdio>
+ #include <cstdlib>
++#include <cstdint>
+ #include <dirent.h>
+ #include <sys/stat.h>
+ #include <algorithm>
+--- zynaddsubfx-3.0.6.old/src/Misc/Bank.h
++++ zynaddsubfx-3.0.6/src/Misc/Bank.h
+@@ -16,6 +16,7 @@
+ 
+ #include <string>
  #include <vector>
++#include <cstdint>
  #include "../globals.h"
  #include "Config.h"
-+#include <stdint.h>
- 
- //entries in a bank
- #define BANK_SIZE 160
-
-From 70905c96fe7b9ffde19bc4bc05b0dc53a1ed1707 Mon Sep 17 00:00:00 2001
-From: fundamental <[email protected]>
-Date: Sat, 22 Apr 2023 10:21:09 -0400
-Subject: [PATCH] MidiIn: Add stdint.h header include
-
----
- src/Nio/MidiIn.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/Nio/MidiIn.h b/src/Nio/MidiIn.h
-index ce0bcfec3..c6b30c61d 100644
---- a/src/Nio/MidiIn.h
-+++ b/src/Nio/MidiIn.h
+ 
+--- zynaddsubfx-3.0.6.old/src/Nio/InMgr.cpp
++++ zynaddsubfx-3.0.6/src/Nio/InMgr.cpp
+@@ -17,6 +17,7 @@
+ #include "../Misc/MiddleWare.h"
+ #include <rtosc/thread-link.h>
+ #include <iostream>
++#include <cstdint>
+ using namespace std;
+ 
+ extern zyn::MiddleWare *middleware;
+--- zynaddsubfx-3.0.6.old/src/Nio/MidiIn.cpp
++++ zynaddsubfx-3.0.6/src/Nio/MidiIn.cpp
+@@ -15,6 +15,7 @@
+ #include "../globals.h"
+ #include "InMgr.h"
+ #include <string.h>
++#include <cstdint>
+ 
+ namespace zyn {
+ 
+--- zynaddsubfx-3.0.6.old/src/Nio/MidiIn.h
++++ zynaddsubfx-3.0.6/src/Nio/MidiIn.h
 @@ -17,6 +17,7 @@
  #define MIDI_IN_H
  
  #include "Engine.h"
-+#include <stdint.h>//uint8_t
++#include <cstdint>
  
  namespace zyn {
+ 

diff --git a/media-sound/zynaddsubfx/zynaddsubfx-3.0.6-r2.ebuild 
b/media-sound/zynaddsubfx/zynaddsubfx-3.0.6-r2.ebuild
new file mode 100644
index 000000000000..7303db4ad930
--- /dev/null
+++ b/media-sound/zynaddsubfx/zynaddsubfx-3.0.6-r2.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Software synthesizer capable of making a countless number of 
instruments"
+HOMEPAGE="https://zynaddsubfx.sourceforge.net/";
+
+SRC_URI="
+       mirror://sourceforge/zynaddsubfx/${P}.tar.bz2
+       mirror://sourceforge/zynaddsubfx/zyn-fusion-ui-src-${PV}.tar.bz2
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+alsa doc dssi jack lash portaudio"
+REQUIRED_USE="|| ( alsa jack portaudio )"
+
+DEPEND="
+       dev-libs/mxml
+       media-libs/liblo
+       sci-libs/fftw:3.0
+       sys-libs/zlib
+       alsa? ( media-libs/alsa-lib )
+       doc? ( dev-texlive/texlive-fontutils )
+       dssi? ( media-libs/dssi )
+       jack? ( virtual/jack )
+       lash? ( media-sound/lash )
+       portaudio? ( media-libs/portaudio )
+"
+RDEPEND="
+       ${DEPEND}
+       media-fonts/roboto
+"
+BDEPEND="
+       dev-lang/ruby:*
+       virtual/pkgconfig
+       doc? ( app-doc/doxygen )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-docs.patch
+       "${FILESDIR}"/${P}-stdint.patch
+       "${FILESDIR}"/${P}-libzest_location.patch
+)
+ZYN_FUSION_UI_PATCHES=(
+       "${FILESDIR}"/zyn-fusion-ui-${PV}-cflags_ldflags.patch
+       "${FILESDIR}"/zyn-fusion-ui-${PV}-libzest_location.patch
+       "${FILESDIR}"/zyn-fusion-ui-${PV}-makefile_find.patch
+       "${FILESDIR}"/zyn-fusion-ui-${PV}-system_wide_location.patch
+)
+
+DOCS=( AUTHORS.txt NEWS.txt README.adoc )
+
+src_prepare() {
+       cmake_src_prepare
+
+       if ! use dssi; then
+               sed -i -e '/pkg_search_module.*DSSI/s/^/#DONT/' 
src/CMakeLists.txt || die
+       fi
+       if ! use jack; then
+               sed -e '/pkg_check_modules.*JACK/s/^/#DONT/' -i 
{rtosc,src}/CMakeLists.txt || die
+       fi
+       if ! use lash; then
+               sed -i -e '/pkg_search_module.*LASH/s/^/#DONT/' 
src/CMakeLists.txt || die
+       fi
+       if ! use portaudio; then
+               sed -i -e '/pkg_check_modules.*PORTAUDIO/s/^/#DONT/' 
src/CMakeLists.txt || die
+       fi
+
+       # FIXME upstream: sandbox error
+       sed -i -e '/add_subdirectory(bash-completion)/d' doc/CMakeLists.txt || 
die
+
+       cd ../zyn-fusion-ui-src-${PV}
+       eapply "${ZYN_FUSION_UI_PATCHES[@]}"
+}
+
+src_configure() {
+       append-cxxflags -std=c++11
+
+       local mycmakeargs=(
+               -DPluginLibDir=$(get_libdir)
+               -DGuiModule=zest
+               -DDefaultInput=jack
+               -DDefaultOutput=jack
+               $(cmake_use_find_package alsa Alsa)
+               $(cmake_use_find_package doc Doxygen)
+       )
+       cmake_src_configure
+}
+
+src_compile() {
+       cmake_src_compile
+       use doc && cmake_src_compile doc
+       emake -C ../zyn-fusion-ui-src-${PV}
+}
+
+src_install() {
+       use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+       cmake_src_install
+
+       cd ../zyn-fusion-ui-src-${PV}
+       newbin zest zyn-fusion
+       insinto /usr/$(get_libdir)/${PN}
+       doins libzest.so
+       insinto /usr/share/${PN}/qml
+       doins -r src/mruby-zest/{example,qml}/*.qml
+       insinto /usr/share/${PN}/schema
+       doins src/osc-bridge/schema/test.json
+}

Reply via email to