Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Apr 2020 19:44:35 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r531785 - in head/audio: . surge-synthesizer-lv2 surge-synthesizer-lv2/files
Message-ID:  <202004151944.03FJiZJ0070211@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuri
Date: Wed Apr 15 19:44:34 2020
New Revision: 531785
URL: https://svnweb.freebsd.org/changeset/ports/531785

Log:
  New port: audio/surge-synthesizer-lv2: Surge Synthesizer LV2 and VST plug-in

Added:
  head/audio/surge-synthesizer-lv2/
  head/audio/surge-synthesizer-lv2/Makefile   (contents, props changed)
  head/audio/surge-synthesizer-lv2/distinfo   (contents, props changed)
  head/audio/surge-synthesizer-lv2/files/
  head/audio/surge-synthesizer-lv2/files/patch-CMakeLists.txt   (contents, props changed)
  head/audio/surge-synthesizer-lv2/files/patch-scripts_linux_package-vst3.sh   (contents, props changed)
  head/audio/surge-synthesizer-lv2/files/patch-src_linux_UserInteractionsLinux.cpp   (contents, props changed)
  head/audio/surge-synthesizer-lv2/files/patch-vst3sdk_cmake_modules_PlatformToolset.cmake   (contents, props changed)
  head/audio/surge-synthesizer-lv2/files/patch-vst3sdk_pluginterfaces_base_fplatform.h   (contents, props changed)
  head/audio/surge-synthesizer-lv2/files/patch-vst3sdk_pluginterfaces_base_funknown.cpp   (contents, props changed)
  head/audio/surge-synthesizer-lv2/files/patch-vstgui.surge_vstgui_lib_vstguibase.h   (contents, props changed)
  head/audio/surge-synthesizer-lv2/pkg-descr   (contents, props changed)
Modified:
  head/audio/Makefile

Modified: head/audio/Makefile
==============================================================================
--- head/audio/Makefile	Wed Apr 15 19:41:26 2020	(r531784)
+++ head/audio/Makefile	Wed Apr 15 19:44:34 2020	(r531785)
@@ -770,6 +770,7 @@
     SUBDIR += stymulator
     SUBDIR += suil
     SUBDIR += supercollider
+    SUBDIR += surge-synthesizer-lv2
     SUBDIR += sweep
     SUBDIR += swh-lv2
     SUBDIR += swhplugins

Added: head/audio/surge-synthesizer-lv2/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/Makefile	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,55 @@
+# $FreeBSD$
+
+PORTNAME=	surge-synthesizer
+DISTVERSIONPREFIX=	release_
+DISTVERSION=	1.6.6-58
+DISTVERSIONSUFFIX=	-g3dbd1be
+CATEGORIES=	audio
+PKGNAMESUFFIX=	-lv2
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Surge Synthesizer LV2 and VST plug-in
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	lv2>0:audio/lv2 \
+		${LOCALBASE}/include/nanosvg.h:graphics/nanosvg \
+		xcb-util-keysyms>0:x11/xcb-util-keysyms
+LIB_DEPENDS=	libxkbcommon.so:x11/libxkbcommon \
+		libxcb-cursor.so:x11/xcb-util-cursor \
+		libxcb-util.so:x11/xcb-util
+
+USES=		cmake compiler:c++17-lang gnome pkgconfig python:build shebangfix xorg
+SHEBANG_FILES=	build-linux.sh
+USE_GNOME=	cairo
+USE_XORG=	xcb
+USE_GITHUB=	yes
+GH_PROJECT=	surge
+GH_TUPLE=	\
+		surge-synthesizer:vst3sdk:10287bc37bbb34324b8097369e2ec4eb73a51d65:surge_synthesizer_vst3sdk/vst3sdk \
+		surge-synthesizer:vstgui:313faee9db026b1d6254c91d8650e7da58e005a5:surge_synthesizer_vstgui/vstgui.surge \
+		craigsapp:midifile:41e450bcd5ba1c0419f69664944434b0abf9d7ba:craigsapp_midifile/libs/midifile \
+		steinbergmedia:vst3_base:37dbdb6ff7af29e518877f57f14050594164a0d6:steinbergmedia_vst3_base/vst3sdk/base \
+		steinbergmedia:vst3_cmake:f7ae22417019aa355de6f7ec46ecf890d3c2a76f:steinbergmedia_vst3_cmake/vst3sdk/cmake \
+		steinbergmedia:vst3_pluginterfaces:6c6bb30d18c3d5a553e55aa74afc5d146571be0a:steinbergmedia_vst3_pluginterfaces/vst3sdk/pluginterfaces \
+		steinbergmedia:vst3_public_sdk:ced72c00d5c1365a4cca16cdbfb871be2496848b:steinbergmedia_vst3_public_sdk/vst3sdk/public.sdk \
+
+BINARY_ALIAS=	python=${PYTHON_CMD}
+
+PLIST_FILES=	lib/lv2/Surge.lv2/Surge.so \
+		lib/lv2/Surge.lv2/Surge_dsp.ttl \
+		lib/lv2/Surge.lv2/Surge_ui.ttl \
+		lib/lv2/Surge.lv2/manifest.ttl \
+		lib/vst/Surge.so
+
+do-install:
+	# LV2 plugin
+	${MKDIR} ${STAGEDIR}${PREFIX}/lib/lv2
+	cd ${WRKSRC}/products && ${COPYTREE_SHARE} Surge.lv2 ${STAGEDIR}${PREFIX}/lib/lv2
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lv2/Surge.lv2/Surge.so
+	# VST plugin
+	${MKDIR} ${STAGEDIR}${PREFIX}/lib/vst
+	${INSTALL_LIB} ${WRKSRC}/products/Surge.vst3/Contents/*/Surge.so ${STAGEDIR}${PREFIX}/lib/vst
+
+.include <bsd.port.mk>

Added: head/audio/surge-synthesizer-lv2/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/distinfo	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,17 @@
+TIMESTAMP = 1586972142
+SHA256 (surge-synthesizer-surge-release_1.6.6-58-g3dbd1be_GH0.tar.gz) = bcd54076adac3ae1d3d13e9b068b1cece0b262b0c45323fed52b69da2ee53cd9
+SIZE (surge-synthesizer-surge-release_1.6.6-58-g3dbd1be_GH0.tar.gz) = 79161919
+SHA256 (surge-synthesizer-vst3sdk-10287bc37bbb34324b8097369e2ec4eb73a51d65_GH0.tar.gz) = b1eb4d7a5fc714ebb058c77bf7250254ee310a6ffd2b77ef702a12ab4bf9ec10
+SIZE (surge-synthesizer-vst3sdk-10287bc37bbb34324b8097369e2ec4eb73a51d65_GH0.tar.gz) = 266390
+SHA256 (surge-synthesizer-vstgui-313faee9db026b1d6254c91d8650e7da58e005a5_GH0.tar.gz) = 797051fe2e28b096c9a890f10eca44440eae4da58b83227595db5bc871c1e57d
+SIZE (surge-synthesizer-vstgui-313faee9db026b1d6254c91d8650e7da58e005a5_GH0.tar.gz) = 1914445
+SHA256 (craigsapp-midifile-41e450bcd5ba1c0419f69664944434b0abf9d7ba_GH0.tar.gz) = 6723c1be730dd73ba1c2903e59a044d26b702c07bec6f567d86f1ee77ab8607e
+SIZE (craigsapp-midifile-41e450bcd5ba1c0419f69664944434b0abf9d7ba_GH0.tar.gz) = 147607
+SHA256 (steinbergmedia-vst3_base-37dbdb6ff7af29e518877f57f14050594164a0d6_GH0.tar.gz) = 1826460d36c2c6a461d29b1b8db9a142c5a621038d15e24812c46343a26dee7a
+SIZE (steinbergmedia-vst3_base-37dbdb6ff7af29e518877f57f14050594164a0d6_GH0.tar.gz) = 61067
+SHA256 (steinbergmedia-vst3_cmake-f7ae22417019aa355de6f7ec46ecf890d3c2a76f_GH0.tar.gz) = bdfba137d724c69a4ee0852a82a94008feca0d4b1e157ce8559321cdebdb0e86
+SIZE (steinbergmedia-vst3_cmake-f7ae22417019aa355de6f7ec46ecf890d3c2a76f_GH0.tar.gz) = 13355
+SHA256 (steinbergmedia-vst3_pluginterfaces-6c6bb30d18c3d5a553e55aa74afc5d146571be0a_GH0.tar.gz) = 67f97965c5080e8031192504d90df43b3225b71abf678283569b1f30d2ece3f3
+SIZE (steinbergmedia-vst3_pluginterfaces-6c6bb30d18c3d5a553e55aa74afc5d146571be0a_GH0.tar.gz) = 84830
+SHA256 (steinbergmedia-vst3_public_sdk-ced72c00d5c1365a4cca16cdbfb871be2496848b_GH0.tar.gz) = 38f589ce1a430cc3d93671e28337968b6d8998eda83216943b5546136edd3e47
+SIZE (steinbergmedia-vst3_public_sdk-ced72c00d5c1365a4cca16cdbfb871be2496848b_GH0.tar.gz) = 5861222

Added: head/audio/surge-synthesizer-lv2/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/files/patch-CMakeLists.txt	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,27 @@
+--- CMakeLists.txt.orig	2020-04-15 15:01:57 UTC
++++ CMakeLists.txt
+@@ -334,7 +334,6 @@ elseif( UNIX AND NOT APPLE )
+ 
+   set(OS_LINK_LIBRARIES
+      pthread
+-     stdc++fs
+      gcc_s
+      gcc
+      dl
+@@ -689,7 +688,7 @@ if( BUILD_LV2 )
+       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+       COMMAND echo "Packaging up LV2 component"
+       COMMAND mkdir -p products/Surge.lv2 
+-      COMMAND cp build/libsurge-lv2.so products/Surge.lv2/Surge.so
++      COMMAND cp ../.build/libsurge-lv2.so products/Surge.lv2/Surge.so
+       COMMAND python scripts/linux/generate-lv2-ttl.py products/Surge.lv2/Surge.so 
+       )
+ 
+@@ -759,7 +758,6 @@ if( BUILD_HEADLESS )
+     target_sources( surge-headless PUBLIC src/linux/ConfigurationXml.S )
+     target_link_libraries(surge-headless
+       PRIVATE
+-      stdc++fs
+       Threads::Threads
+       )
+   endif()

Added: head/audio/surge-synthesizer-lv2/files/patch-scripts_linux_package-vst3.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/files/patch-scripts_linux_package-vst3.sh	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,10 @@
+--- scripts/linux/package-vst3.sh.orig	2020-04-15 18:28:12 UTC
++++ scripts/linux/package-vst3.sh
+@@ -15,4 +15,6 @@ fi
+ 
+ VST_SO_DIR="$BUNDLE_DIR/Contents/x86_64-linux"
+ mkdir -p "$VST_SO_DIR"
+-cp build/libsurge-vst3.so "$VST_SO_DIR"/Surge.so
++cp ../.build/libsurge-vst3.so "$VST_SO_DIR"/Surge.so
++
++echo "package-vst3.sh is done"

Added: head/audio/surge-synthesizer-lv2/files/patch-src_linux_UserInteractionsLinux.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/files/patch-src_linux_UserInteractionsLinux.cpp	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,10 @@
+--- src/linux/UserInteractionsLinux.cpp.orig	2020-04-15 17:52:26 UTC
++++ src/linux/UserInteractionsLinux.cpp
+@@ -6,6 +6,7 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <thread>
++#include <sstream>
+ 
+ /*
+ ** In June 2019, @baconpaul chose to implement these with an attempt

Added: head/audio/surge-synthesizer-lv2/files/patch-vst3sdk_cmake_modules_PlatformToolset.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/files/patch-vst3sdk_cmake_modules_PlatformToolset.cmake	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,11 @@
+--- vst3sdk/cmake/modules/PlatformToolset.cmake.orig	2020-04-15 18:18:33 UTC
++++ vst3sdk/cmake/modules/PlatformToolset.cmake
+@@ -32,7 +32,7 @@ macro(setupPlatformToolset)
+         else()
+             set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
+             set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wno-multichar")
+-            link_libraries(stdc++fs pthread dl)
++            link_libraries(pthread dl)
+         endif()
+     #------------
+     elseif(SMTG_WIN)

Added: head/audio/surge-synthesizer-lv2/files/patch-vst3sdk_pluginterfaces_base_fplatform.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/files/patch-vst3sdk_pluginterfaces_base_fplatform.h	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,19 @@
+--- vst3sdk/pluginterfaces/base/fplatform.h.orig	2020-04-15 17:42:41 UTC
++++ vst3sdk/pluginterfaces/base/fplatform.h
+@@ -76,14 +76,14 @@
+ 	#endif		
+ //-----------------------------------------------------------------------------
+ // LINUX
+-#elif __gnu_linux__
++#elif __gnu_linux__ || defined(__FreeBSD__) || defined(__DragonFly__)
+ 	#define SMTG_OS_LINUX	1
+ 	#define SMTG_OS_MACOS	0
+ 	#define SMTG_OS_WINDOWS	0
+ 	#define SMTG_OS_IOS		0
+ 	#define SMTG_OS_OSX		0
+ 
+-	#include <endian.h>
++	#include <sys/endian.h>
+ 	#if __BYTE_ORDER == __LITTLE_ENDIAN
+ 		#define BYTEORDER kLittleEndian
+ 	#else

Added: head/audio/surge-synthesizer-lv2/files/patch-vst3sdk_pluginterfaces_base_funknown.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/files/patch-vst3sdk_pluginterfaces_base_funknown.cpp	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,29 @@
+--- vst3sdk/pluginterfaces/base/funknown.cpp.orig	2020-04-15 17:56:07 UTC
++++ vst3sdk/pluginterfaces/base/funknown.cpp
+@@ -36,8 +36,13 @@
+ #endif
+ 
+ #if SMTG_OS_LINUX
+-#include <ext/atomicity.h>
++#if defined(__FreeBSD__) || defined(__DragonFly__)
++# include <sys/types.h>
++# include <machine/atomic.h>
++#else
++# include <ext/atomicity.h>
+ #endif
++#endif
+ 
+ namespace Steinberg {
+ 
+@@ -72,7 +77,11 @@ int32 PLUGIN_API atomicAdd (int32& var, int32 d)
+ #elif SMTG_OS_MACOS
+ 	return OSAtomicAdd32Barrier (d, (int32_t*)&var);
+ #elif SMTG_OS_LINUX
++#if defined(__FreeBSD__) || defined(__DragonFly__)
++	(*(u_int *)(&var) += (d));
++#else
+ 	__gnu_cxx::__atomic_add (&var, d);
++#endif
+ 	return var;
+ #else
+ #warning implement me!

Added: head/audio/surge-synthesizer-lv2/files/patch-vstgui.surge_vstgui_lib_vstguibase.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/files/patch-vstgui.surge_vstgui_lib_vstguibase.h	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,11 @@
+--- vstgui.surge/vstgui/lib/vstguibase.h.orig	2020-04-15 17:36:33 UTC
++++ vstgui.surge/vstgui/lib/vstguibase.h
+@@ -121,7 +121,7 @@
+ 	using std::min;
+ 	using std::max;
+ 
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__)
+     #include <cstdint>
+     #include <type_traits>
+     #include <algorithm>

Added: head/audio/surge-synthesizer-lv2/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/surge-synthesizer-lv2/pkg-descr	Wed Apr 15 19:44:34 2020	(r531785)
@@ -0,0 +1,6 @@
+Surge is an Open Source Digital Synthesizer, originally written and sold as
+a commercial product by @kurasu/Claes Johanson at vember audio. In September
+of 2018, Claes released a partially completed version of Surge 1.6 under GPL3,
+and a group of developers have been improving it since.
+
+WWW: https://surge-synthesizer.github.io/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004151944.03FJiZJ0070211>