Index: head/audio/Makefile =================================================================== --- head/audio/Makefile +++ head/audio/Makefile @@ -495,6 +495,7 @@ SUBDIR += mma SUBDIR += moc SUBDIR += modplugplay + SUBDIR += moony-lv2 SUBDIR += mous SUBDIR += mp-player SUBDIR += mp3-archive-tools Index: head/audio/moony-lv2/Makefile =================================================================== --- head/audio/moony-lv2/Makefile +++ head/audio/moony-lv2/Makefile @@ -0,0 +1,25 @@ +# Created by: Yuri Victorovich +# $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 Index: head/audio/moony-lv2/distinfo =================================================================== --- head/audio/moony-lv2/distinfo +++ head/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 Index: head/audio/moony-lv2/files/patch-CMakeLists.txt =================================================================== --- head/audio/moony-lv2/files/patch-CMakeLists.txt +++ head/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) Index: head/audio/moony-lv2/files/patch-lcomplex_lcomplex.c =================================================================== --- head/audio/moony-lv2/files/patch-lcomplex_lcomplex.c +++ head/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 ++#include + + #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))) Index: head/audio/moony-lv2/files/patch-pugl_pugl_pugl__x11.c =================================================================== --- head/audio/moony-lv2/files/patch-pugl_pugl_pugl__x11.c +++ head/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; Index: head/audio/moony-lv2/pkg-descr =================================================================== --- head/audio/moony-lv2/pkg-descr +++ head/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 Index: head/audio/moony-lv2/pkg-plist =================================================================== --- head/audio/moony-lv2/pkg-plist +++ head/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