1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-22 08:58:47 +00:00

New port: audio/sfizz: SFZ parser and synth C++ library & LV2/VST3 plugins

This commit is contained in:
Yuri Victorovich 2020-04-20 02:13:03 +00:00
parent 41f204c222
commit 4ae07f1d52
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=532175
10 changed files with 152 additions and 0 deletions

View File

@ -725,6 +725,7 @@
SUBDIR += sdl2_mixer SUBDIR += sdl2_mixer
SUBDIR += sdl_mixer SUBDIR += sdl_mixer
SUBDIR += sdl_sound SUBDIR += sdl_sound
SUBDIR += sfizz
SUBDIR += sfront SUBDIR += sfront
SUBDIR += shairplay SUBDIR += shairplay
SUBDIR += shairport-sync SUBDIR += shairport-sync

44
audio/sfizz/Makefile Normal file
View File

@ -0,0 +1,44 @@
# $FreeBSD$
PORTNAME= sfizz
DISTVERSION= 0.3.2
CATEGORIES= audio
MAINTAINER= yuri@FreeBSD.org
COMMENT= SFZ parser and synth C++ library & LV2/VST3 plugins
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.md
LIB_DEPENDS= libsndfile.so:audio/libsndfile
USES= cmake compiler:c++11-lib localbase:ldflags pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= sfztools
GH_TUPLE= \
abseil:abseil-cpp:df3ea785d8c30a9503321a3d35ee7d35808f190d:abseil_abseil_cpp/external/abseil-cpp \
steinbergmedia:vst3_base:4f6a7184f20f40a7c940a6717e6e0d8b35eeea63:steinbergmedia_vst3_base/vst/external/VST_SDK/VST3_SDK/base \
steinbergmedia:vst3_pluginterfaces:227ea1d8f749c6a66dd591582061d58682b4aa9f:steinbergmedia_vst3_pluginterfaces/vst/external/VST_SDK/VST3_SDK/pluginterfaces \
steinbergmedia:vst3_public_sdk:c04e9bd690f50893742e2a082abab47af2c3efc8:steinbergmedia_vst3_public_sdk/vst/external/VST_SDK/VST3_SDK/public.sdk \
sfztools:vstgui:c6a7f607c21a7353e922a6d45e54d6c56d5a6745:sfztools_vstgui/vst/external/VST_SDK/VST3_SDK/vstgui4
USE_LDCONFIG= yes
OPTIONS_DEFINE= JACK LV2 VST
OPTIONS_DEFAULT= JACK LV2
OPTIONS_SUB= yes
JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_CMAKE_BOOL= SFIZZ_JACK
LV2_DESC= Install the LV2 plugin
LV2_BUILD_DEPENDS= lv2>0:audio/lv2
LV2_CMAKE_BOOL= SFIZZ_LV2
VST_DESC= Install the VST plugin
VST_CMAKE_BOOL= SFIZZ_VST
VST_BROKEN= Compilation issues, need to investogate
post-install-LV2-on:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lv2/sfizz.lv2/sfizz.so
.include <bsd.port.mk>

13
audio/sfizz/distinfo Normal file
View File

@ -0,0 +1,13 @@
TIMESTAMP = 1587344882
SHA256 (sfztools-sfizz-0.3.2_GH0.tar.gz) = 1b1d0ff4ef998597e384433f05c10a859767178501f1e7c82219ccb0973b3c0c
SIZE (sfztools-sfizz-0.3.2_GH0.tar.gz) = 34417809
SHA256 (abseil-abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d_GH0.tar.gz) = f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a
SIZE (abseil-abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d_GH0.tar.gz) = 1679879
SHA256 (steinbergmedia-vst3_base-4f6a7184f20f40a7c940a6717e6e0d8b35eeea63_GH0.tar.gz) = e3fc07094850115b26c84301bc3a49e880d42b715ca2900b7e2642105ed98497
SIZE (steinbergmedia-vst3_base-4f6a7184f20f40a7c940a6717e6e0d8b35eeea63_GH0.tar.gz) = 61890
SHA256 (steinbergmedia-vst3_pluginterfaces-227ea1d8f749c6a66dd591582061d58682b4aa9f_GH0.tar.gz) = 179e780c3a4f604210ec85349e659b340919e3c8cec17b9f310f97231029b0cf
SIZE (steinbergmedia-vst3_pluginterfaces-227ea1d8f749c6a66dd591582061d58682b4aa9f_GH0.tar.gz) = 88523
SHA256 (steinbergmedia-vst3_public_sdk-c04e9bd690f50893742e2a082abab47af2c3efc8_GH0.tar.gz) = bb87a131afa6f2f3b93bef29c8677569b072c72bef9a6603ab5f0e3f815f1089
SIZE (steinbergmedia-vst3_public_sdk-c04e9bd690f50893742e2a082abab47af2c3efc8_GH0.tar.gz) = 5884665
SHA256 (sfztools-vstgui-c6a7f607c21a7353e922a6d45e54d6c56d5a6745_GH0.tar.gz) = d260594c9fd3aad8164d08ed0688a12fa6ef519da6af3c5e139f4e973de0093d
SIZE (sfztools-vstgui-c6a7f607c21a7353e922a6d45e54d6c56d5a6745_GH0.tar.gz) = 3508421

View File

@ -0,0 +1,11 @@
--- cmake/SfizzConfig.cmake.orig 2020-04-20 01:18:25 UTC
+++ cmake/SfizzConfig.cmake
@@ -67,7 +67,7 @@ if (USE_LIBCPP)
add_compile_options(-stdlib=libc++)
# Presumably need the above for linking too, maybe other options missing as well
add_link_options(-stdlib=libc++) # New command on CMake master, not in 3.12 release
-add_link_options(-lc++abi) # New command on CMake master, not in 3.12 release
+#add_link_options(-lc++abi) # New command on CMake master, not in 3.12 release
endif()
endif()

View File

@ -0,0 +1,28 @@
--- src/external/atomic_queue/defs.h.orig 2020-04-20 01:14:22 UTC
+++ src/external/atomic_queue/defs.h
@@ -6,11 +6,15 @@
#include <atomic>
+#if defined(__FreeBSD__) || defined(__DragonFly__)
+#include <machine/param.h> // for CACHE_LINE_SIZE
+#endif
+
#if defined(__x86_64__) || defined(_M_X64) || \
defined(__i386__) || defined(_M_IX86)
#include <emmintrin.h>
namespace atomic_queue {
-constexpr int CACHE_LINE_SIZE = 64;
+//constexpr int CACHE_LINE_SIZE = 64;
static inline void spin_loop_pause() noexcept {
_mm_pause();
}
@@ -18,7 +22,7 @@ static inline void spin_loop_pause() noexcept {
#elif defined(__arm__) || defined(__aarch64__)
// TODO: These need to be verified as I do not have access to ARM platform.
namespace atomic_queue {
-constexpr int CACHE_LINE_SIZE = 64;
+//constexpr int CACHE_LINE_SIZE = 64;
static inline void spin_loop_pause() noexcept {
#if (defined(__ARM_ARCH_6K__) || \
defined(__ARM_ARCH_6Z__) || \

View File

@ -0,0 +1,11 @@
--- src/external/cpuid/platform/src/platform/config.hpp.orig 2020-04-20 01:17:24 UTC
+++ src/external/cpuid/platform/src/platform/config.hpp
@@ -11,7 +11,7 @@
// http://sourceforge.net/p/predef/wiki/Architectures/
// Detect operating systems
-#if defined(__linux__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__)
#define PLATFORM_LINUX 1
#if defined(__ANDROID__)
#define PLATFORM_ANDROID 1

View File

@ -0,0 +1,11 @@
--- src/external/ghc/filesystem.hpp.orig 2020-04-20 01:09:03 UTC
+++ src/external/ghc/filesystem.hpp
@@ -43,7 +43,7 @@
#ifndef GHC_OS_DETECTED
#if defined(__APPLE__) && defined(__MACH__)
#define GHC_OS_MACOS
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__)
#define GHC_OS_LINUX
#if defined(__ANDROID__)
#define GHC_OS_ANDROID

View File

@ -0,0 +1,11 @@
--- vst/external/VST_SDK/VST3_SDK/vstgui4/vstgui/lib/vstguibase.h.orig 2020-04-20 01:31:17 UTC
+++ vst/external/VST_SDK/VST3_SDK/vstgui4/vstgui/lib/vstguibase.h
@@ -134,7 +134,7 @@
using std::min;
using std::max;
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__)
#include <cstdint>
#include <type_traits>
#include <algorithm>

11
audio/sfizz/pkg-descr Normal file
View File

@ -0,0 +1,11 @@
sfizz is a sample-based musical synthesizer.
It features the well-established SFZ instrument format (https://sfzformat.com/)
at its core, which permits to use existing instrument libraries, or create
personal instruments with ease.
Not only is sfizz ready-to-use as an instrument plugin of its own, the library
allows developers to create instruments of their own, taking advantage of the
abilities of SFZ.
WWW: https://sfz.tools/sfizz/

11
audio/sfizz/pkg-plist Normal file
View File

@ -0,0 +1,11 @@
%%JACK%%bin/sfizz_jack
include/sfizz.h
include/sfizz.hpp
lib/libsfizz.a
lib/libsfizz.so
lib/libsfizz.so.0
%%LV2%%lib/lv2/sfizz.lv2/LICENSE.md
%%LV2%%lib/lv2/sfizz.lv2/manifest.ttl
%%LV2%%lib/lv2/sfizz.lv2/sfizz.so
%%LV2%%lib/lv2/sfizz.lv2/sfizz.ttl
libdata/pkgconfig/sfizz.pc