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
This commit is contained in:
Richard Gallamore 2017-08-17 19:47:34 +00:00
parent e139ff390a
commit 4c4a8d4f2a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=448182
8 changed files with 156 additions and 0 deletions

View File

@ -495,6 +495,7 @@
SUBDIR += mma
SUBDIR += moc
SUBDIR += modplugplay
SUBDIR += moony-lv2
SUBDIR += mous
SUBDIR += mp-player
SUBDIR += mp3-archive-tools

25
audio/moony-lv2/Makefile Normal file
View File

@ -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>

3
audio/moony-lv2/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1502213227
SHA256 (moony-0.22.0.tar.gz) = b6c765b05eed0a3a5f5361be5e8debeef44b7d1077a3d7c8b3095804066ad6c6
SIZE (moony-0.22.0.tar.gz) = 2257133

View File

@ -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)

View File

@ -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)))

View File

@ -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;

View File

@ -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

30
audio/moony-lv2/pkg-plist Normal file
View File

@ -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