aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorultima <ultima@FreeBSD.org>2017-08-18 03:47:34 +0800
committerultima <ultima@FreeBSD.org>2017-08-18 03:47:34 +0800
commit90416318b7e42d3b5e651ffe69aba015169d18d0 (patch)
treeef1882488e8845419f67ab2109c81920549aa7f4
parent4120e13c6a7514b75581660298dc3681577b9d50 (diff)
downloadfreebsd-ports-gnome-90416318b7e42d3b5e651ffe69aba015169d18d0.tar.gz
freebsd-ports-gnome-90416318b7e42d3b5e651ffe69aba015169d18d0.tar.zst
freebsd-ports-gnome-90416318b7e42d3b5e651ffe69aba015169d18d0.zip
Moony is a collection of LV2 plugins to easily add realtime programmable
logic glue in LV2 plugin graphs. WWW: http://open-music-kontrollers.ch/lv2/moony PR: 221343 Submitted by: Yuri Victorovich (maintainer) Reviewed by: matthew (mentor) Approved by: matthew (mentor) Differential Revision: https://reviews.freebsd.org/D12061
-rw-r--r--audio/Makefile1
-rw-r--r--audio/moony-lv2/Makefile25
-rw-r--r--audio/moony-lv2/distinfo3
-rw-r--r--audio/moony-lv2/files/patch-CMakeLists.txt39
-rw-r--r--audio/moony-lv2/files/patch-lcomplex_lcomplex.c43
-rw-r--r--audio/moony-lv2/files/patch-pugl_pugl_pugl__x11.c11
-rw-r--r--audio/moony-lv2/pkg-descr4
-rw-r--r--audio/moony-lv2/pkg-plist30
8 files changed, 156 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
index df49311adfe5..517e8dc254c8 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -495,6 +495,7 @@
SUBDIR += mma
SUBDIR += moc
SUBDIR += modplugplay
+ SUBDIR += moony-lv2
SUBDIR += mous
SUBDIR += mp-player
SUBDIR += mp3-archive-tools
diff --git a/audio/moony-lv2/Makefile b/audio/moony-lv2/Makefile
new file mode 100644
index 000000000000..919223a76c51
--- /dev/null
+++ b/audio/moony-lv2/Makefile
@@ -0,0 +1,25 @@
+# Created by: Yuri Victorovich <yuri@rawbw.com>
+# $FreeBSD$
+
+PORTNAME= moony
+PORTVERSION= 0.22.0
+CATEGORIES= audio
+MASTER_SITES= https://gitlab.com/OpenMusicKontrollers/moony.lv2/repository/archive.tar.gz?ref=${PORTVERSION}&dummy=/
+PKGNAMESUFFIX= -lv2
+
+MAINTAINER= yuri@rawbw.com
+COMMENT= Realtime Lua as programmable glue in LV2
+
+LICENSE= ART20
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= lv2>0:audio/lv2
+
+USES= cmake pkgconfig
+USE_XORG= x11 xext
+USE_GL= gl glu
+
+post-extract:
+ @${MV} ${WRKDIR}/moony* ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+.include <bsd.port.mk>
diff --git a/audio/moony-lv2/distinfo b/audio/moony-lv2/distinfo
new file mode 100644
index 000000000000..104906483580
--- /dev/null
+++ b/audio/moony-lv2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1502213227
+SHA256 (moony-0.22.0.tar.gz) = b6c765b05eed0a3a5f5361be5e8debeef44b7d1077a3d7c8b3095804066ad6c6
+SIZE (moony-0.22.0.tar.gz) = 2257133
diff --git a/audio/moony-lv2/files/patch-CMakeLists.txt b/audio/moony-lv2/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..ba8a88a7a866
--- /dev/null
+++ b/audio/moony-lv2/files/patch-CMakeLists.txt
@@ -0,0 +1,39 @@
+--- CMakeLists.txt.orig 2017-05-16 21:46:21 UTC
++++ CMakeLists.txt
+@@ -350,21 +350,21 @@ if(BUILD_TESTING)
+ endif()
+ set_target_properties(moony_test PROPERTIES INTERPROCEDURAL_OPTIMIZATION true) # -flto
+ target_link_libraries(moony_test ${LIBS})
+-
+- add_custom_command(
+- OUTPUT ${PROJECT_BINARY_DIR}/manual.html
+- COMMAND ${WINE} ${QEMU} ${PROJECT_BINARY_DIR}/moony_test
+- ${PROJECT_SOURCE_DIR}/manual/hilight.lua
+- ">"
+- ${PROJECT_BINARY_DIR}/manual.html
+- DEPENDS
+- moony_test
+- ${PROJECT_SOURCE_DIR}/plugin/lexer.lua
+- ${PROJECT_SOURCE_DIR}/plugin/moony.lua
+- ${PROJECT_SOURCE_DIR}/manual/hilight.lua
+- ${PROJECT_SOURCE_DIR}/manual/manual.html.in)
+- add_custom_target(moony_manual ALL DEPENDS ${PROJECT_BINARY_DIR}/manual.html)
+- install(FILES ${PROJECT_BINARY_DIR}/manual.html DESTINATION ${PLUGIN_DEST})
++#
++# add_custom_command(
++# OUTPUT ${PROJECT_BINARY_DIR}/manual.html
++# COMMAND ${WINE} ${QEMU} ${PROJECT_BINARY_DIR}/moony_test
++# ${PROJECT_SOURCE_DIR}/manual/hilight.lua
++# ">"
++# ${PROJECT_BINARY_DIR}/manual.html
++# DEPENDS
++# moony_test
++# ${PROJECT_SOURCE_DIR}/plugin/lexer.lua
++# ${PROJECT_SOURCE_DIR}/plugin/moony.lua
++# ${PROJECT_SOURCE_DIR}/manual/hilight.lua
++# ${PROJECT_SOURCE_DIR}/manual/manual.html.in)
++# add_custom_target(moony_manual ALL DEPENDS ${PROJECT_BINARY_DIR}/manual.html)
++# install(FILES ${PROJECT_BINARY_DIR}/manual.html DESTINATION ${PLUGIN_DEST})
+
+ add_test(NAME API-Test COMMAND ${WINE} ${QEMU} moony_test ${PROJECT_SOURCE_DIR}/test/moony_test.lua)
+ add_test(NAME Overflow-Test COMMAND ${WINE} ${QEMU} moony_test ${PROJECT_SOURCE_DIR}/test/moony_overflow.lua 0)
diff --git a/audio/moony-lv2/files/patch-lcomplex_lcomplex.c b/audio/moony-lv2/files/patch-lcomplex_lcomplex.c
new file mode 100644
index 000000000000..364ad360f1ac
--- /dev/null
+++ b/audio/moony-lv2/files/patch-lcomplex_lcomplex.c
@@ -0,0 +1,43 @@
+--- lcomplex/lcomplex.c.orig 2017-05-16 21:46:21 UTC
++++ lcomplex/lcomplex.c
+@@ -7,6 +7,7 @@
+ */
+
+ #include <complex.h>
++#include <math.h>
+
+ #include "lua.h"
+ #include "lauxlib.h"
+@@ -78,6 +79,32 @@ static int Ltostring(lua_State *L) /**
+ return 1;
+ }
+
++// Missing C99 functions clog and cpow: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221341
++static Complex clog(Complex z) {return log(cabs(z)) + I * carg(z);}
++// from https://github.com/eblot/newlib/blob/master/newlib/libm/complex/cpow.c
++static Complex
++cpow(Complex a, Complex z)
++{
++ double complex w;
++ double x, y, r, theta, absa, arga;
++
++ x = creal(z);
++ y = cimag(z);
++ absa = cabs(a);
++ if (absa == 0.0) {
++ return (0.0 + 0.0 * I);
++ }
++ arga = carg(a);
++ r = pow(absa, x);
++ theta = x * arga;
++ if (y != 0.0) {
++ r = r * exp(-y * arga);
++ theta = theta + y * log(absa);
++ }
++ w = r * cos(theta) + (r * sin(theta)) * I;
++ return w;
++}
++
+ #define A(f,e) static int L##f(lua_State *L) { return pushcomplex(L,e); }
+ #define B(f) A(f,l_mathop(c##f)(Z(1),Z(2)))
+ #define F(f) A(f,l_mathop(c##f)(Z(1)))
diff --git a/audio/moony-lv2/files/patch-pugl_pugl_pugl__x11.c b/audio/moony-lv2/files/patch-pugl_pugl_pugl__x11.c
new file mode 100644
index 000000000000..03e52a2b2d54
--- /dev/null
+++ b/audio/moony-lv2/files/patch-pugl_pugl_pugl__x11.c
@@ -0,0 +1,11 @@
+--- pugl/pugl/pugl_x11.c.orig 2017-05-16 21:46:21 UTC
++++ pugl/pugl/pugl_x11.c
+@@ -648,7 +648,7 @@ puglPasteFromClipboard(PuglView* view, s
+ if( (xevent.xselection.selection == impl->clipboard)
+ && (xevent.xselection.target == impl->utf8_string)
+ && (xevent.xselection.property == XA_PRIMARY) ) {
+- ulong nitems, rem;
++ uint32_t nitems, rem;
+ int format;
+ uint8_t* data;
+ Atom type;
diff --git a/audio/moony-lv2/pkg-descr b/audio/moony-lv2/pkg-descr
new file mode 100644
index 000000000000..286ef1822e94
--- /dev/null
+++ b/audio/moony-lv2/pkg-descr
@@ -0,0 +1,4 @@
+Moony is a collection of LV2 plugins to easily add realtime programmable
+logic glue in LV2 plugin graphs.
+
+WWW: http://open-music-kontrollers.ch/lv2/moony
diff --git a/audio/moony-lv2/pkg-plist b/audio/moony-lv2/pkg-plist
new file mode 100644
index 000000000000..1fbb2c5e8190
--- /dev/null
+++ b/audio/moony-lv2/pkg-plist
@@ -0,0 +1,30 @@
+lib/lv2/moony.lv2/Cousine-Regular.ttf
+lib/lv2/moony.lv2/bell.png
+lib/lv2/moony.lv2/cancel-1.png
+lib/lv2/moony.lv2/cancel.png
+lib/lv2/moony.lv2/checked.png
+lib/lv2/moony.lv2/download.png
+lib/lv2/moony.lv2/envelope.png
+lib/lv2/moony.lv2/house.png
+lib/lv2/moony.lv2/layers.png
+lib/lv2/moony.lv2/lexer.lua
+lib/lv2/moony.lv2/manifest.ttl
+lib/lv2/moony.lv2/menu.png
+lib/lv2/moony.lv2/moony.lua
+lib/lv2/moony.lv2/moony.so
+lib/lv2/moony.lv2/moony.ttl
+lib/lv2/moony.lv2/moony_logo.png
+lib/lv2/moony.lv2/moony_ui.so
+lib/lv2/moony.lv2/moony_ui.ttl
+lib/lv2/moony.lv2/next.png
+lib/lv2/moony.lv2/omk_logo_256x256.png
+lib/lv2/moony.lv2/pencil.png
+lib/lv2/moony.lv2/plus.png
+lib/lv2/moony.lv2/presets.ttl
+lib/lv2/moony.lv2/question.png
+lib/lv2/moony.lv2/reload.png
+lib/lv2/moony.lv2/screen.png
+lib/lv2/moony.lv2/settings.png
+lib/lv2/moony.lv2/sort.png
+lib/lv2/moony.lv2/upload.png
+lib/lv2/moony.lv2/user.png