import the ZynFusion ports (zynaddsubfx, mruby-zest, meta/zyn-fusion)

from deserter666/at/danwin1210.me, ok solene@

ZynAddSubFX is a opensource software synthesizer capable of making
a countless number of instruments, from some common heard from
expensive hardware to interesting sounds that you'll boost to an
amazing universe of sounds.
This commit is contained in:
sthen 2021-03-29 19:51:31 +00:00
parent 3b3c415afb
commit 1ccd84f63b
26 changed files with 2077 additions and 0 deletions

View File

@ -0,0 +1,49 @@
# $OpenBSD: Makefile,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
COMMENT= synth capable of making a countless number of instruments
DISTNAME= zynaddsubfx-3.0.5
CATEGORIES= audio
HOMEPAGE= https://zynaddsubfx.sourceforge.net
MAINTAINER= Dimitri Karamazov <deserter666@danwin1210.me>
# GPLv2+
PERMIT_PACKAGE= Yes
WANTLIB+= ${COMPILER_LIBCXX} GL X11 c fftw3 lo m mxml portaudio
WANTLIB+= z
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=zynaddsubfx/}
EXTRACT_SUFX= .tar.bz2
COMPILER= base-clang ports-gcc
MODULES= devel/cmake
BUILD_DEPENDS= shells/bash-completion
RUN_DEPENDS= devel/desktop-file-utils \
x11/mruby-zest
LIB_DEPENDS= math/fftw3 \
textproc/mxml \
audio/liblo \
audio/portaudio-svn
CONFIGURE_ARGS= -DPaEnable=ON \
-DGuiModule=zest \
-DAlsaEnable=OFF \
-DJackEnable=OFF \
-DOssEnable=OFF \
-DDssiEnable=OFF \
-DLashEnable=OFF
post-patch:
sed -i s,/usr/X11R6,${X11BASE}, ${WRKSRC}/src/CMakeLists.txt
sed -i s,/usr/local,${TRUEPREFIX}, ${WRKSRC}/src/main.cpp \
${WRKSRC}/src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (zynaddsubfx-3.0.5.tar.bz2) = dEcyImgRSh4KxfKBrDegmnjnYae+YZmcr3kQAEl4n2M=
SIZE (zynaddsubfx-3.0.5.tar.bz2) = 8141703

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-DPF_dgl_src_Window_cpp,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
get_current_dir_name not available on OpenBSD
--- DPF/dgl/src/Window.cpp.orig Tue Feb 9 14:55:13 2021
+++ DPF/dgl/src/Window.cpp Tue Feb 9 14:55:56 2021
@@ -1016,7 +1016,7 @@ bool Window::openFileBrowser(const FileBrowserOptions&
if (startDir.isEmpty())
{
- if (char* const dir_name = get_current_dir_name())
+ if (char* const dir_name = getcwd(NULL,0))
{
startDir = dir_name;
std::free(dir_name);

View File

@ -0,0 +1,42 @@
$OpenBSD: patch-DPF_dgl_src_sofd_libsofd_c,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
mntent.h not available on OpenBSD
--- DPF/dgl/src/sofd/libsofd.c.orig Fri Oct 23 23:56:41 2015
+++ DPF/dgl/src/sofd/libsofd.c Tue Feb 9 14:45:34 2021
@@ -338,7 +338,6 @@ const char *x_fib_recent_file(const char *appname) {
}
#ifdef SOFD_HAVE_X11
-#include <mntent.h>
#include <dirent.h>
#include <X11/Xlib.h>
@@ -1770,6 +1769,7 @@ static const char *ignore_devices[] = {
"/dev/loop", "/dev/vn"
};
+#ifndef __OpenBSD__
static int check_mount (const char *mountpoint, const char *fs, const char *device) {
size_t i;
if (!mountpoint || !fs || !device) return -1;
@@ -1817,6 +1817,7 @@ static int read_mtab (Display *dpy, const char *mtab)
fclose (mt);
return found;
}
+#endif
static void populate_places (Display *dpy) {
char tmp[1024];
@@ -1845,9 +1846,11 @@ static void populate_places (Display *dpy) {
parse_gtk_bookmarks (dpy, _fib_cfg_custom_places);
}
+ #ifndef __OpenBSD__
if (read_mtab (dpy, "/proc/mounts") < 1) {
read_mtab (dpy, "/etc/mtab");
}
+ #endif
int parsed_bookmarks = 0;
if (!parsed_bookmarks && getenv ("HOME")) {

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-DPF_distrho_extra_Mutex_hpp,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
OpenBSD doesn't support pthread_condattr_setpshared
--- DPF/distrho/extra/Mutex.hpp.orig Sat Jul 25 18:05:19 2020
+++ DPF/distrho/extra/Mutex.hpp Sat Jul 25 18:05:56 2020
@@ -194,7 +194,9 @@ class Signal (public)
{
pthread_condattr_t cattr;
pthread_condattr_init(&cattr);
+#if 0
pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_PRIVATE);
+#endif
pthread_cond_init(&fCondition, &cattr);
pthread_condattr_destroy(&cattr);

View File

@ -0,0 +1,18 @@
$OpenBSD: patch-cmake_BashCompletion_cmake,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
fix bash_completion install
--- cmake/BashCompletion.cmake.orig Sat Feb 23 21:13:37 2019
+++ cmake/BashCompletion.cmake Thu Mar 11 18:06:57 2021
@@ -71,9 +71,9 @@ ELSE()
SET(BASHCOMP_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/install_${SCRIPT_NAME}_completion.sh")
FILE(WRITE ${BASHCOMP_SCRIPT} "\
-#!${BASH}\n\
+#!/bin/sh\n\
set -e\n\
-BASHCOMP_PKG_PATH=\"${BASHCOMP_USER_PATH}\"\n\
+BASHCOMP_PKG_PATH=\"\$DESTDIR${BASHCOMP_USER_PATH}\"\n\
if [ -w \"${BASHCOMP_PKG_PATH}\" ]; then\n\
BASHCOMP_PKG_PATH=\"${BASHCOMP_PKG_PATH}\"\n\
fi\n\

View File

@ -0,0 +1,37 @@
$OpenBSD: patch-src_CMakeLists_txt,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
Remove -O3 flag
Add X11 libraries to LINK_PATH to fix build
OpenBSD doesn't have librt
--- src/CMakeLists.txt.orig Sat Feb 23 21:13:37 2019
+++ src/CMakeLists.txt Sun Mar 21 20:27:19 2021
@@ -208,7 +208,7 @@ set (BuildOptions_SSE
)
set (BuildOptionsBasic
- "-std=c++11 -Wno-unused-parameter -O3 -ffast-math -fomit-frame-pointer"
+ "-std=c++11 -Wno-unused-parameter -ffast-math -fomit-frame-pointer"
CACHE STRING "basic X86 complier options"
)
@@ -450,9 +450,10 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zyn-version
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zyn-config.h.in
${CMAKE_CURRENT_BINARY_DIR}/zyn-config.h)
-link_directories(${AUDIO_LIBRARY_DIRS} ${ZLIB_LIBRARY_DIRS} ${FFTW_LIBRARY_DIRS} ${MXML_LIBRARY_DIRS} ${FLTK_LIBRARY_DIRS} ${NTK_LIBRARY_DIRS})
+link_directories(${AUDIO_LIBRARY_DIRS} ${ZLIB_LIBRARY_DIRS} ${FFTW_LIBRARY_DIRS} ${MXML_LIBRARY_DIRS} ${FLTK_LIBRARY_DIRS} ${NTK_LIBRARY_DIRS} /usr/X11R6/lib)
include_directories(
+ /usr/X11R6/include
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
@@ -499,7 +500,6 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
elseif(APPLE)
set(PTHREAD_LIBRARY pthread)
else()
- set(PLATFORM_LIBRARIES rt)
set(PTHREAD_LIBRARY pthread)
endif()

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-src_Misc_Util_cpp,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
OpenBSD doesn't support sched_setscheduler
--- src/Misc/Util.cpp.orig Sat Jul 25 18:00:34 2020
+++ src/Misc/Util.cpp Sat Jul 25 18:02:04 2020
@@ -125,14 +125,6 @@ bool fileexists(const char *filename)
void set_realtime()
{
-#ifdef HAVE_SCHEDULER
- sched_param sc;
- sc.sched_priority = 60;
- //if you want get "sched_setscheduler undeclared" from compilation,
- //you can safely remove the folowing line:
- sched_setscheduler(0, SCHED_FIFO, &sc);
- //if (err==0) printf("Real-time");
-#endif
}

View File

@ -0,0 +1,22 @@
$OpenBSD: patch-src_Plugin_ZynAddSubFX_CMakeLists_txt,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
OpenBSD doesn't have librt
--- src/Plugin/ZynAddSubFX/CMakeLists.txt.orig Sun Jul 26 07:46:29 2020
+++ src/Plugin/ZynAddSubFX/CMakeLists.txt Sun Jul 26 07:47:13 2020
@@ -118,12 +118,12 @@ elseif(ZestGui)
if(APPLE)
set(PLATFORM_LIBRARIES)
else()
- set(PLATFORM_LIBRARIES X11 GL rt)
+ set(PLATFORM_LIBRARIES X11 GL)
endif()
elseif(NtkGui OR FltkGui)
- set(PLATFORM_LIBRARIES X11 rt)
+ set(PLATFORM_LIBRARIES X11)
else()
- set(PLATFORM_LIBRARIES rt)
+ set(PLATFORM_LIBRARIES)
endif()
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_Plugin_ZynAddSubFX_ZynAddSubFX_UI_ZEST_cpp,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
set libzest.so location
Index: src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp
--- src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp.orig
+++ src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp
@@ -64,6 +64,8 @@ class ZynAddSubFXUI : public UI (public)
handle = dlopen("@loader_path/libzest.dylib", RTLD_NOW | RTLD_LOCAL);
if(!handle) // VST
handle = dlopen("@loader_path/../Resources/libzest.dylib", RTLD_LAZY);
+#elif defined __OpenBSD__
+ handle = dlopen("/usr/local/share/zynaddsubfx/libzest.so", RTLD_LAZY);
#else
handle = dlopen("./libzest.so", RTLD_LAZY);
if(!handle)

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-src_globals_h,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
OpenBSD supports std::complex
--- src/globals.h.orig Sat Jul 25 20:10:31 2020
+++ src/globals.h Sat Jul 25 20:11:11 2020
@@ -26,7 +26,7 @@
//Forward Declarations
-#if defined(__APPLE__) || defined(__FreeBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
#include <complex>
#else
namespace std {

View File

@ -0,0 +1,37 @@
$OpenBSD: patch-src_main_cpp,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
Parse the correct address
Look for zyn-fusion in out-of-path directory
Index: src/main.cpp
--- src/main.cpp.orig
+++ src/main.cpp
@@ -707,12 +707,15 @@ int main(int argc, char *argv[])
#endif
if(!noui) {
printf("[INFO] Launching Zyn-Fusion...\n");
- const char *addr = middleware->getServerAddress();
+ const char *raddr = middleware->getServerAddress();
+ char *address;
+ asprintf(&address, "osc.udp://127.0.0.1%s", strrchr(raddr, ':'));
+ const char *addr = address;
#ifndef WIN32
gui_pid = fork();
if(gui_pid == 0) {
auto exec_fusion = [&addr](const char* path) {
- execlp(path, "zyn-fusion", addr, "--builtin", "--no-hotload", 0); };
+ execlp(path, "zyn-fusion", addr, "--builtin", "--no-hotload", nullptr); };
if(fusion_dir && *fusion_dir)
{
std::string fusion = fusion_dir;
@@ -732,9 +735,7 @@ int main(int argc, char *argv[])
exec_fusion(fusion.c_str());
}
}
- exec_fusion("./zyn-fusion");
- exec_fusion("/opt/zyn-fusion/zyn-fusion");
- exec_fusion("zyn-fusion");
+ exec_fusion("/usr/local/libexec/zyn-fusion");
err(1,"Failed to launch Zyn-Fusion");
}
#else

View File

@ -0,0 +1,4 @@
ZynAddSubFX is a opensource software synthesizer capable of making
a countless number of instruments, from some common heard from
expensive hardware to interesting sounds that you'll boost to an
amazing universe of sounds.

1298
audio/zynaddsubfx/pkg/PLIST Normal file

File diff suppressed because it is too large Load Diff

14
meta/zyn-fusion/Makefile Normal file
View File

@ -0,0 +1,14 @@
# $OpenBSD: Makefile,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
COMMENT= powerful synthesizer engine with an interactive UI
PKGNAME= zyn-fusion-3.0.5pre20210207
CATEGORIES= audio meta
MAINTAINER= Dimitri Karamazov <deserter666@danwin1210.me>
RUN_DEPENDS= audio/zynaddsubfx \
x11/mruby-zest
.include <bsd.port.mk>

12
meta/zyn-fusion/pkg/DESCR Normal file
View File

@ -0,0 +1,12 @@
Zyn was plagued with a difficult to use interface and unstable, unofficial
plugin versions. Fusion blows those issues away with a complete redesign and
rewrite. Powered by a new custom window toolkit: zest, Zyn is now ready for
any platform. With total separation of the UI from the synthesis engine.
Zyn-Fusion is enabling powerful features such as the new, officially-supported
VST plugin version, remote control of a headless CPU with the UI on
touchscreen, even multiple UI windows controlling a single sound engine. By
fusing 28 windows of fine grained control into one, Zyn is now controlled with
a single window design of tabbed views for a consistent, navigable interface.
You think you've heard the sounds before, but you've never had the precision
control of Fusion.

View File

@ -0,0 +1 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $

84
x11/mruby-zest/Makefile Normal file
View File

@ -0,0 +1,84 @@
# $OpenBSD: Makefile,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
COMMENT= single window & tabbed version of the ZynAddSubFX interface
PKGNAME= mruby-zest-20210207
GH_ACCOUNT= mruby-zest
GH_PROJECT= mruby-zest-build
GH_COMMIT= f1eeda675f6bbda1d2f9f1454ec0d84e0632e603
CATEGORIES= x11
MAINTAINER= Dimitri Karamazov <deserter666@danwin1210.me>
# LGPLv2.1
PERMIT_PACKAGE= Yes
WANTLIB+= GL X11 c m pthread uv
MASTER_SITES0= https://github.com/
MRUBY= mruby-{mruby/mruby/archive/}69482dbc8e590ed66f0944e9b48c4f9c2f83c873
DEPS= nanovg-{memononen/nanovg/archive/}b83cf926525e7cea8d2483da2a75852b8c7b6d28 \
mruby-sleep-{matsumoto-r/mruby-sleep/archive/}263d70351a4f75a875f2a35ab9a9128d1ef5da90 \
mruby-dir-glob-{gromnitsky/mruby-dir-glob/archive/}334c040a2e2c4c2689f8c3440168011f64d57ada \
mruby-regexp-pcre-{iij/mruby-regexp-pcre/archive/}a961225c0953dd2bd987111f0836821573616de2 \
mruby-set-{yui-knk/mruby-set/archive/}68334311ac7386eef84f3034a256e7135a87625d \
rtosc-{fundamental/rtosc/archive/}6a65b24469068a8f334567b72a3125bd1d7fd1b1 \
mruby-io-{iij/mruby-io/archive/}1c4428880b2f0f0fcd81ea2debc5f4459a7ed53c \
mruby-glew-{IceDragon200/mruby-glew/archive/}6849202f885516b381406e799dcdb430065e19cf \
mruby-glfw3-{IceDragon200/mruby-glfw3/archive/}0eeee012fd4bbd6544dd34f17ce2b476ad71d86b \
mruby-nanovg-{mruby-zest/mruby-nanovg/archive/}d7d4e1ce434131babb5fd6026201011f5b0b50ea \
mruby-complex-{pbosetti/mruby-complex/archive/}4f57a1ef9f968e9d5eef53667c7960a2e98c9750 \
mruby-dir-{iij/mruby-dir/archive/}89dceefa1250fb1ae868d4cb52498e9e24293cd1 \
mruby-errno-{iij/mruby-errno/archive/}b4415207ff6ea62360619c89a1cff83259dc4db0 \
mruby-file-stat-{ksss/mruby-file-stat/archive/}66cf135ff9642d96a6127a79b307f6314e606deb \
mruby-process-{iij/mruby-process/archive/}fe171fbe2a6cc3c2cf7d713641bddde71024f7c8
SRCS= osc-bridge-{mruby-zest/osc-bridge/archive/}c678428bf164fc732ab4c7ee903bc8952bff6fbc \
mruby-qml-spawn-{mruby-zest/mruby-qml-spawn/archive/}7c1283a96a44f83c0077d67ad2510c9555dbb010 \
mruby-zest-{mruby-zest/mruby-zest/archive/}238dfbad266186e3ffc679a00a87aec472ce956b \
mruby-qml-parse-{mruby-zest/mruby-qml-parse/archive/}3e2c32cc55c60027e6406eca89bf1ae5301aa16b \
DISTFILES= zyn-fusion-{}${GH_COMMIT}${EXTRACT_SUFX} \
${DEPS:C/$/.tar.gz:0/} \
${SRCS:C/$/.tar.gz:0/} \
${MRUBY:C/$/.tar.gz:0/}
MODULES= lang/ruby
MODRUBY_RUNDEP= No
LIB_DEPENDS= devel/libuv
MAKE_FLAGS= CFLAGS="${CFLAGS} -I${LOCALBASE}/include -I${X11BASE}/include" \
LDFLAGS="-L${X11BASE}/lib" RUBY=${RUBY} RAKE=${RAKE} CC=${CC} \
CXX=${CXX} LD=${CC}
NO_TEST= Yes
post-extract:
mv ${WRKDIR}/${MRUBY:C/{.*}//}/* ${WRKSRC}/mruby
.for dep in ${DEPS:C/{.*}//}
mv ${WRKDIR}/${dep}/* ${WRKSRC}/deps/${dep:C/-[a-z0-9]{40}//}
.endfor
.for src in ${SRCS:C/{.*}//}
mv ${WRKDIR}/${src}/* ${WRKSRC}/src/${src:C/-[a-z0-9]{40}//}
.endfor
post-patch:
${SUBST_CMD} ${WRKSRC}/{build_config.rb,test-libversion.c}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/zest ${PREFIX}/libexec/zyn-fusion
.for dir in qml schema font
${INSTALL_DATA_DIR} ${PREFIX}/share/zynaddsubfx/${dir}
.endfor
cp ${WRKSRC}/libzest.so ${PREFIX}/share/zynaddsubfx
cp -r ${WRKSRC}/src/mruby-zest/qml/* ${PREFIX}/share/zynaddsubfx/qml
cp -r ${WRKSRC}/src/mruby-zest/example/* ${PREFIX}/share/zynaddsubfx/qml
cp -r ${WRKSRC}/src/osc-bridge/schema/test.json ${PREFIX}/share/zynaddsubfx/schema
cp -r ${WRKSRC}/deps/nanovg/example/*.ttf ${PREFIX}/share/zynaddsubfx/font
.include <bsd.port.mk>

42
x11/mruby-zest/distinfo Normal file
View File

@ -0,0 +1,42 @@
SHA256 (mruby-69482dbc8e590ed66f0944e9b48c4f9c2f83c873.tar.gz) = gSYX5sOZ4zU6CEKTKA9IyKSArDk3jeu3oIHy0IEPk/8=
SHA256 (mruby-complex-4f57a1ef9f968e9d5eef53667c7960a2e98c9750.tar.gz) = mAXeSdwJTlpr+YdFr5YmwlgGOugcw08T/dBfo7II3Aw=
SHA256 (mruby-dir-89dceefa1250fb1ae868d4cb52498e9e24293cd1.tar.gz) = NPEcIgY7gAWMA+Q+LMmws+9JmhraCf805WzcnL7I9KU=
SHA256 (mruby-dir-glob-334c040a2e2c4c2689f8c3440168011f64d57ada.tar.gz) = ydGhovDhTXcz3cc8avXajmWKDPoVZ8q28LKwryB+cMc=
SHA256 (mruby-errno-b4415207ff6ea62360619c89a1cff83259dc4db0.tar.gz) = 0E+E0NDlO1V3ddrSU0Y3+eqXbS+d50kJ+taXPnKkjUs=
SHA256 (mruby-file-stat-66cf135ff9642d96a6127a79b307f6314e606deb.tar.gz) = Xyv1Evx/5YWUvTYO1BIEJ7IPvwjEA+kEXICPqxkO/0E=
SHA256 (mruby-glew-6849202f885516b381406e799dcdb430065e19cf.tar.gz) = mnMrfG6sHKqVew89L3ON38vLMkk+G8gRFehhTSF2vfc=
SHA256 (mruby-glfw3-0eeee012fd4bbd6544dd34f17ce2b476ad71d86b.tar.gz) = W3t9cbrA22gvUdgUo5FlDKQoaJChFhhTvWt0sWIkJr0=
SHA256 (mruby-io-1c4428880b2f0f0fcd81ea2debc5f4459a7ed53c.tar.gz) = cUjKD3Iwc3mZHC9pyTHQxDpn8RcboaQ87K9NhKA6t+Q=
SHA256 (mruby-nanovg-d7d4e1ce434131babb5fd6026201011f5b0b50ea.tar.gz) = 4syD3kOu6ViQufQJOnrYIgzHl43cOt4u1c/Q2aC408E=
SHA256 (mruby-process-fe171fbe2a6cc3c2cf7d713641bddde71024f7c8.tar.gz) = vKHZjXkeMo0eaKmJDDQ2ae7fJ3b4T/9zCw6qH7HbAv0=
SHA256 (mruby-qml-parse-3e2c32cc55c60027e6406eca89bf1ae5301aa16b.tar.gz) = LJZn7t1t53dxmP1Q6nRK2n8tRNzsJAqkAvrQNXD3OaI=
SHA256 (mruby-qml-spawn-7c1283a96a44f83c0077d67ad2510c9555dbb010.tar.gz) = 4uDFOWzlLMyOxkcP+0bOjWsaz1YMISv+PIOLSYiIkZM=
SHA256 (mruby-regexp-pcre-a961225c0953dd2bd987111f0836821573616de2.tar.gz) = iDnjtrhNZ9zDAXKqtSaG4AkXij0hvL1sZOVIQOZ8TWQ=
SHA256 (mruby-set-68334311ac7386eef84f3034a256e7135a87625d.tar.gz) = XIQZrwuYV+ZSqi5+HwrzdFQ1AHCFo+ll2jGCT/QOudI=
SHA256 (mruby-sleep-263d70351a4f75a875f2a35ab9a9128d1ef5da90.tar.gz) = uHqMbu/K6ZzqJMJztEoXBcBaKN+SdtwbKw+WY23JKDw=
SHA256 (mruby-zest-238dfbad266186e3ffc679a00a87aec472ce956b.tar.gz) = 704nTKZy+aBzrypu466vUMO7mQ/8eju6s968pHOwDBI=
SHA256 (nanovg-b83cf926525e7cea8d2483da2a75852b8c7b6d28.tar.gz) = CACFQ5ySWrXDw1gzV7jQCc5dLIDleepQkL6xszw28sA=
SHA256 (osc-bridge-c678428bf164fc732ab4c7ee903bc8952bff6fbc.tar.gz) = k3E0LDOLTsVY+2o469Wh9rGibXRecUskPdJXh3sCgpY=
SHA256 (rtosc-6a65b24469068a8f334567b72a3125bd1d7fd1b1.tar.gz) = h6YwH3TlZuoeyGnC+sS9F2ni8FKV64jKyPdjtP4OaqA=
SHA256 (zyn-fusion-f1eeda675f6bbda1d2f9f1454ec0d84e0632e603.tar.gz) = yqtXMyy7Rhp9cawDfjW70Mmz3YnG0HPbsh7iiNbKhFo=
SIZE (mruby-69482dbc8e590ed66f0944e9b48c4f9c2f83c873.tar.gz) = 699205
SIZE (mruby-complex-4f57a1ef9f968e9d5eef53667c7960a2e98c9750.tar.gz) = 9385
SIZE (mruby-dir-89dceefa1250fb1ae868d4cb52498e9e24293cd1.tar.gz) = 6155
SIZE (mruby-dir-glob-334c040a2e2c4c2689f8c3440168011f64d57ada.tar.gz) = 7315
SIZE (mruby-errno-b4415207ff6ea62360619c89a1cff83259dc4db0.tar.gz) = 7065
SIZE (mruby-file-stat-66cf135ff9642d96a6127a79b307f6314e606deb.tar.gz) = 42353
SIZE (mruby-glew-6849202f885516b381406e799dcdb430065e19cf.tar.gz) = 1349
SIZE (mruby-glfw3-0eeee012fd4bbd6544dd34f17ce2b476ad71d86b.tar.gz) = 14144
SIZE (mruby-io-1c4428880b2f0f0fcd81ea2debc5f4459a7ed53c.tar.gz) = 20255
SIZE (mruby-nanovg-d7d4e1ce434131babb5fd6026201011f5b0b50ea.tar.gz) = 399756
SIZE (mruby-process-fe171fbe2a6cc3c2cf7d713641bddde71024f7c8.tar.gz) = 6045
SIZE (mruby-qml-parse-3e2c32cc55c60027e6406eca89bf1ae5301aa16b.tar.gz) = 8424
SIZE (mruby-qml-spawn-7c1283a96a44f83c0077d67ad2510c9555dbb010.tar.gz) = 10667
SIZE (mruby-regexp-pcre-a961225c0953dd2bd987111f0836821573616de2.tar.gz) = 2056151
SIZE (mruby-set-68334311ac7386eef84f3034a256e7135a87625d.tar.gz) = 5866
SIZE (mruby-sleep-263d70351a4f75a875f2a35ab9a9128d1ef5da90.tar.gz) = 2289
SIZE (mruby-zest-238dfbad266186e3ffc679a00a87aec472ce956b.tar.gz) = 114205
SIZE (nanovg-b83cf926525e7cea8d2483da2a75852b8c7b6d28.tar.gz) = 980565
SIZE (osc-bridge-c678428bf164fc732ab4c7ee903bc8952bff6fbc.tar.gz) = 62653
SIZE (rtosc-6a65b24469068a8f334567b72a3125bd1d7fd1b1.tar.gz) = 175373
SIZE (zyn-fusion-f1eeda675f6bbda1d2f9f1454ec0d84e0632e603.tar.gz) = 224957

View File

@ -0,0 +1,41 @@
$OpenBSD: patch-Makefile,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
Respect build flags set by ports
--- Makefile.orig Sun Feb 7 21:44:01 2021
+++ Makefile Thu Feb 11 08:51:28 2021
@@ -1,19 +1,19 @@
all:
- ruby ./rebuild-fcache.rb
+ $(RUBY) ./rebuild-fcache.rb
cd deps/nanovg/src && $(CC) nanovg.c -c -fPIC
$(AR) rc deps/libnanovg.a deps/nanovg/src/*.o
cd deps/mruby-file-stat/src && ../configure
cd src/osc-bridge && make lib
# cd mruby && UI_HOTLOAD=1 MRUBY_CONFIG=../build_config.rb rake
- cd mruby && MRUBY_CONFIG=../build_config.rb rake
+ 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 \
./deps/libnanovg.a \
src/osc-bridge/libosc-bridge.a \
- `pkg-config --libs libuv` -lm -lX11 -lGL -lpthread
+ `pkg-config --libs libuv` -lm $(LDFLAGS) -lX11 -lGL -lpthread
$(CC) test-libversion.c deps/pugl/pugl/pugl_x11.c \
-DPUGL_HAVE_GL \
- -ldl -o zest -lX11 -lGL -lpthread -I deps/pugl -std=gnu99 -Wno-trigraphs
+ -o zest $(CFLAGS) $(LDFLAGS) -lX11 -lGL -lpthread -I deps/pugl -std=gnu99 -Wno-trigraphs
osx: deps/libuv.a
ruby ./rebuild-fcache.rb
@@ -119,8 +119,8 @@ test:
cd mruby && MRUBY_CONFIG=../build_config.rb rake test
rtest:
- cd src/mruby-qml-parse && ruby test-non-mruby.rb
- cd src/mruby-qml-spawn && ruby test-non-mruby.rb
+ cd src/mruby-qml-parse && $(RUBY) test-non-mruby.rb
+ cd src/mruby-qml-spawn && $(RUBY) test-non-mruby.rb
run: ## Run the toolkit
./zest osc.udp://127.0.0.1:1337

View File

@ -0,0 +1,41 @@
$OpenBSD: patch-build_config_rub,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
Set system include, library paths and flags
--- build_config.rb.orig Sun Feb 7 21:44:01 2021
+++ build_config.rb Wed Mar 10 16:17:26 2021
@@ -57,7 +57,6 @@ build_type.new(build_name) do |conf|
enable_debug
conf.cc.defines = %w(MRUBY_NANOVG_GL2 MRB_ENABLE_DEBUG_HOOK)
- conf.cc.flags << '-O3'
#No default gems
# Use standard print/puts/p
@@ -113,6 +112,8 @@ build_type.new(build_name) do |conf|
end
conf.cc do |cc|
+ cc.include_paths << "${LOCALBASE}/include"
+ cc.include_paths << "${X11BASE}/include"
cc.include_paths << "#{`pwd`.strip}/../deps/nanovg/src"
cc.include_paths << "#{`pwd`.strip}/../deps/pugl/"
cc.include_paths << "#{`pwd`.strip}/../deps/libuv/include/" if !linux
@@ -131,6 +132,8 @@ build_type.new(build_name) do |conf|
end
conf.linker do |linker|
+ linker.library_paths << "${LOCALBASE}/lib"
+ linker.library_paths << "${X11BASE}/lib"
linker.library_paths << "#{`pwd`.strip}/../src/osc-bridge/"
linker.libraries << 'osc-bridge'
linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libnanovg.a"
@@ -142,7 +145,7 @@ build_type.new(build_name) do |conf|
else
linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libuv.a"
end
- linker.flags_after_libraries << "-lpthread -ldl -lm"
+ linker.flags_after_libraries << "-lpthread -lm"
else
linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libuv-win.a"
linker.flags_after_libraries << "-lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi"

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-mruby_include_mrbconf_h,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
taken from lang/mruby
Index: mruby/include/mrbconf.h
--- mruby/include/mrbconf.h.orig
+++ mruby/include/mrbconf.h
@@ -7,6 +7,7 @@
#ifndef MRUBYCONF_H
#define MRUBYCONF_H
+#include <endian.h>
#include <limits.h>
#include <stdint.h>

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-src_osc_bridge_Makefile,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
remove -O3 flag, CFLAGS is already set
--- src/osc-bridge/Makefile.orig Wed Mar 10 14:34:30 2021
+++ src/osc-bridge/Makefile Wed Mar 10 14:34:43 2021
@@ -10,7 +10,7 @@ remote-test: $(SRC) test/basic-remote.c
$(CC) $(CFLAGS) $(CFLAGS_) -o remote-test $(SRC) test/basic-remote.c -luv -g -O0
lib: $(SRC)
- $(CC) $(CFLAGS) $(CFLAGS_) -O3 -g -fPIC -c $(SRC)
+ $(CC) $(CFLAGS) $(CFLAGS_) -g -fPIC -c $(SRC)
$(AR) rcs libosc-bridge.a bridge.o cache.o parse-schema.o schema.o rtosc.o
clean:

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-test_libversion_c,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
set proper location for libzest.so library
--- test-libversion.c.orig Tue Feb 9 19:17:33 2021
+++ test-libversion.c Tue Feb 9 19:18:08 2021
@@ -657,6 +657,8 @@ int main(int argc, char **argv)
handle = dlopen("libzest.so", RTLD_LAZY);
if(!handle)
handle = dlopen("/opt/zyn-fusion/libzest.so", RTLD_LAZY);
+ if(!handle)
+ handle = dlopen("${LOCALBASE}/share/zynaddsubfx/libzest.so", RTLD_LAZY);
#endif
if(!handle) {
printf("[ERROR] Cannot Open libzest.so\n");

1
x11/mruby-zest/pkg/DESCR Normal file
View File

@ -0,0 +1 @@
This package provides the Zest Framework used in ZynAddSubFX's zyn-fusion UI.

204
x11/mruby-zest/pkg/PLIST Normal file
View File

@ -0,0 +1,204 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2021/03/29 19:51:31 sthen Exp $
@bin libexec/zyn-fusion
share/zynaddsubfx/
share/zynaddsubfx/font/
share/zynaddsubfx/font/Roboto-Bold.ttf
share/zynaddsubfx/font/Roboto-Light.ttf
share/zynaddsubfx/font/Roboto-Regular.ttf
share/zynaddsubfx/font/entypo.ttf
@so share/zynaddsubfx/libzest.so
share/zynaddsubfx/qml/
share/zynaddsubfx/qml/ApplyButton.qml
share/zynaddsubfx/qml/ArrowBox.qml
share/zynaddsubfx/qml/BusyLoop.qml
share/zynaddsubfx/qml/Button.qml
share/zynaddsubfx/qml/BypassButton.qml
share/zynaddsubfx/qml/ClearBox.qml
share/zynaddsubfx/qml/Col.qml
share/zynaddsubfx/qml/ColorBox.qml
share/zynaddsubfx/qml/ColorButton.qml
share/zynaddsubfx/qml/ColorScheme.qml
share/zynaddsubfx/qml/ColorSel.qml
share/zynaddsubfx/qml/ConfirmButton.qml
share/zynaddsubfx/qml/CopyButton.qml
share/zynaddsubfx/qml/DataView.qml
share/zynaddsubfx/qml/DataViewAlt.qml
share/zynaddsubfx/qml/DemoLayers.qml
share/zynaddsubfx/qml/DropDown.qml
share/zynaddsubfx/qml/DummyBox.qml
share/zynaddsubfx/qml/Envelope.qml
share/zynaddsubfx/qml/FancyButton.qml
share/zynaddsubfx/qml/FileButton.qml
share/zynaddsubfx/qml/FileSelector.qml
share/zynaddsubfx/qml/FlowLayout.qml
share/zynaddsubfx/qml/Forms.qml
share/zynaddsubfx/qml/Group.qml
share/zynaddsubfx/qml/GroupHeader.qml
share/zynaddsubfx/qml/Group_nocp.qml
share/zynaddsubfx/qml/HSlider.qml
share/zynaddsubfx/qml/HarmonicEdit.qml
share/zynaddsubfx/qml/HarmonicEditSingle.qml
share/zynaddsubfx/qml/HarmonicView.qml
share/zynaddsubfx/qml/Indent.qml
share/zynaddsubfx/qml/Keyboard.qml
share/zynaddsubfx/qml/KitButton.qml
share/zynaddsubfx/qml/KitButtons.qml
share/zynaddsubfx/qml/Knob.qml
share/zynaddsubfx/qml/LabelButton.qml
share/zynaddsubfx/qml/LearnButton.qml
share/zynaddsubfx/qml/LfoVis.qml
share/zynaddsubfx/qml/LogWidget.qml
share/zynaddsubfx/qml/MainMenu.qml
share/zynaddsubfx/qml/MainWindow.qml
share/zynaddsubfx/qml/Menu.qml
share/zynaddsubfx/qml/ModWheel.qml
share/zynaddsubfx/qml/NumBox.qml
share/zynaddsubfx/qml/NumEntry.qml
share/zynaddsubfx/qml/NumberButton.qml
share/zynaddsubfx/qml/PanicButton.qml
share/zynaddsubfx/qml/ParModule.qml
share/zynaddsubfx/qml/ParModuleRow.qml
share/zynaddsubfx/qml/PasteButton.qml
share/zynaddsubfx/qml/PlotLabelY.qml
share/zynaddsubfx/qml/PowButton.qml
share/zynaddsubfx/qml/RadialMenu.qml
share/zynaddsubfx/qml/Record.qml
share/zynaddsubfx/qml/ScrollBar.qml
share/zynaddsubfx/qml/SearchBox.qml
share/zynaddsubfx/qml/SelButton.qml
share/zynaddsubfx/qml/SelColumn.qml
share/zynaddsubfx/qml/Selector.qml
share/zynaddsubfx/qml/SidebarButton.qml
share/zynaddsubfx/qml/Slider.qml
share/zynaddsubfx/qml/Swappable.qml
share/zynaddsubfx/qml/TabButton.qml
share/zynaddsubfx/qml/TabGroup.qml
share/zynaddsubfx/qml/Text.qml
share/zynaddsubfx/qml/TextBox.qml
share/zynaddsubfx/qml/TextEdit.qml
share/zynaddsubfx/qml/TextField.qml
share/zynaddsubfx/qml/TextLine.qml
share/zynaddsubfx/qml/TextScroll.qml
share/zynaddsubfx/qml/TextSel.qml
share/zynaddsubfx/qml/ThemeOld.qml
share/zynaddsubfx/qml/TitleBar.qml
share/zynaddsubfx/qml/ToggleButton.qml
share/zynaddsubfx/qml/TriggerButton.qml
share/zynaddsubfx/qml/VGroup.qml
share/zynaddsubfx/qml/VSlider.qml
share/zynaddsubfx/qml/Valuator.qml
share/zynaddsubfx/qml/VisEq.qml
share/zynaddsubfx/qml/VisFilter.qml
share/zynaddsubfx/qml/VisFormant.qml
share/zynaddsubfx/qml/VisHarmonic.qml
share/zynaddsubfx/qml/VisResonance.qml
share/zynaddsubfx/qml/VisSubHarmonics.qml
share/zynaddsubfx/qml/VuMeter.qml
share/zynaddsubfx/qml/WaveView.qml
share/zynaddsubfx/qml/Widget.qml
share/zynaddsubfx/qml/Window.qml
share/zynaddsubfx/qml/ZynAbout.qml
share/zynaddsubfx/qml/ZynAddGlobal.qml
share/zynaddsubfx/qml/ZynAddOscilloscope.qml
share/zynaddsubfx/qml/ZynAddSynth.qml
share/zynaddsubfx/qml/ZynAddVoice.qml
share/zynaddsubfx/qml/ZynAddVoiceList.qml
share/zynaddsubfx/qml/ZynAddVoiceListItem.qml
share/zynaddsubfx/qml/ZynAlienwah.qml
share/zynaddsubfx/qml/ZynAmpEnv.qml
share/zynaddsubfx/qml/ZynAmpGeneral.qml
share/zynaddsubfx/qml/ZynAmpMod.qml
share/zynaddsubfx/qml/ZynAmpVoiceGeneral.qml
share/zynaddsubfx/qml/ZynAnalogFilter.qml
share/zynaddsubfx/qml/ZynAutomation.qml
share/zynaddsubfx/qml/ZynAutomationMidiChan.qml
share/zynaddsubfx/qml/ZynAutomationName.qml
share/zynaddsubfx/qml/ZynAutomationParam.qml
share/zynaddsubfx/qml/ZynAutomationPlot.qml
share/zynaddsubfx/qml/ZynAutomationSlot.qml
share/zynaddsubfx/qml/ZynBandwidthEnv.qml
share/zynaddsubfx/qml/ZynBank.qml
share/zynaddsubfx/qml/ZynCenter.qml
share/zynaddsubfx/qml/ZynChorus.qml
share/zynaddsubfx/qml/ZynControllers.qml
share/zynaddsubfx/qml/ZynDAFilter.qml
share/zynaddsubfx/qml/ZynDFFilter.qml
share/zynaddsubfx/qml/ZynDistortion.qml
share/zynaddsubfx/qml/ZynDyFilter.qml
share/zynaddsubfx/qml/ZynDynFilter.qml
share/zynaddsubfx/qml/ZynEcho.qml
share/zynaddsubfx/qml/ZynEffectBypass.qml
share/zynaddsubfx/qml/ZynEffectGroup.qml
share/zynaddsubfx/qml/ZynEffects.qml
share/zynaddsubfx/qml/ZynEffectsInsert.qml
share/zynaddsubfx/qml/ZynEffectsPart.qml
share/zynaddsubfx/qml/ZynEffectsSystem.qml
share/zynaddsubfx/qml/ZynEnvEdit.qml
share/zynaddsubfx/qml/ZynEqFilter.qml
share/zynaddsubfx/qml/ZynEqualizer.qml
share/zynaddsubfx/qml/ZynFilterEnv.qml
share/zynaddsubfx/qml/ZynFooter.qml
share/zynaddsubfx/qml/ZynFormant.qml
share/zynaddsubfx/qml/ZynFreqEnv.qml
share/zynaddsubfx/qml/ZynFreqGeneral.qml
share/zynaddsubfx/qml/ZynFreqGeneralVoice.qml
share/zynaddsubfx/qml/ZynFreqMod.qml
share/zynaddsubfx/qml/ZynHeader.qml
share/zynaddsubfx/qml/ZynHeaderParams.qml
share/zynaddsubfx/qml/ZynInstrumentSettings.qml
share/zynaddsubfx/qml/ZynKit.qml
share/zynaddsubfx/qml/ZynKitKeyButton.qml
share/zynaddsubfx/qml/ZynKitRow.qml
share/zynaddsubfx/qml/ZynKitTable.qml
share/zynaddsubfx/qml/ZynLFO.qml
share/zynaddsubfx/qml/ZynLLFO.qml
share/zynaddsubfx/qml/ZynLogo.qml
share/zynaddsubfx/qml/ZynMidiLearn.qml
share/zynaddsubfx/qml/ZynMidiLearnRow.qml
share/zynaddsubfx/qml/ZynMixer.qml
share/zynaddsubfx/qml/ZynMixerCol.qml
share/zynaddsubfx/qml/ZynMixerMasterCol.qml
share/zynaddsubfx/qml/ZynModAmpEnv.qml
share/zynaddsubfx/qml/ZynModFreqGeneral.qml
share/zynaddsubfx/qml/ZynOscil.qml
share/zynaddsubfx/qml/ZynOscilMod.qml
share/zynaddsubfx/qml/ZynOscilModRight.qml
share/zynaddsubfx/qml/ZynOscilloscope.qml
share/zynaddsubfx/qml/ZynPadAmp.qml
share/zynaddsubfx/qml/ZynPadFreq.qml
share/zynaddsubfx/qml/ZynPadGlobal.qml
share/zynaddsubfx/qml/ZynPadHarmonics.qml
share/zynaddsubfx/qml/ZynPadOscilloscope.qml
share/zynaddsubfx/qml/ZynPadOvertone.qml
share/zynaddsubfx/qml/ZynPadProfile.qml
share/zynaddsubfx/qml/ZynPadSynth.qml
share/zynaddsubfx/qml/ZynPart.qml
share/zynaddsubfx/qml/ZynPatchInfo.qml
share/zynaddsubfx/qml/ZynPhaser.qml
share/zynaddsubfx/qml/ZynPortamento.qml
share/zynaddsubfx/qml/ZynResOptions.qml
share/zynaddsubfx/qml/ZynResonance.qml
share/zynaddsubfx/qml/ZynReverb.qml
share/zynaddsubfx/qml/ZynScale.qml
share/zynaddsubfx/qml/ZynSendToGrid.qml
share/zynaddsubfx/qml/ZynSendToRow.qml
share/zynaddsubfx/qml/ZynSettings.qml
share/zynaddsubfx/qml/ZynSidebar.qml
share/zynaddsubfx/qml/ZynSubAmp.qml
share/zynaddsubfx/qml/ZynSubAmpbutton.qml
share/zynaddsubfx/qml/ZynSubAnalogFilter.qml
share/zynaddsubfx/qml/ZynSubBandwidth.qml
share/zynaddsubfx/qml/ZynSubFilter.qml
share/zynaddsubfx/qml/ZynSubFilterEnv.qml
share/zynaddsubfx/qml/ZynSubFreq.qml
share/zynaddsubfx/qml/ZynSubFreqEnv.qml
share/zynaddsubfx/qml/ZynSubFreqbutton.qml
share/zynaddsubfx/qml/ZynSubGlobal.qml
share/zynaddsubfx/qml/ZynSubHarmonic.qml
share/zynaddsubfx/qml/ZynSubOscilloscope.qml
share/zynaddsubfx/qml/ZynSubSynth.qml
share/zynaddsubfx/qml/ZynTuning.qml
share/zynaddsubfx/qml/ZynWip.qml
share/zynaddsubfx/qml/ZynWipTwo.qml
share/zynaddsubfx/schema/
share/zynaddsubfx/schema/test.json