audio/supercollider: Update 3.13.1-g20250219 => 3.14.0

Changelog:
https://github.com/supercollider/supercollider/releases/tag/Version-3.14.0

Port changes:
- Add BUILD_DEPENDS=${LOCALBASE}/include/fftw3.h:math/fftw3 - port uses
  this file to find libfftw3f.so.
- Convert CMAKE_ARGS to CMAKE_ON and CMAKE_OFF.
- Move SSE, SSE2 and WEBENGINE from CMAKE_ARGS to OPTIONS:
  - SSE and SSE2 are available for x86 only, WEBENGINE is available for
    all arches.
  - SSE and SSE2 are default for amd64 only, WEBENGINE is default for
    x86 only.
- Rename the HELP option to DOCS - it is now correctly handled by the
  ports infrastructure and is useful for users who have the DOCS option
  forcibly disabled for all ports.
- Refresh patches.

PR:		288866
Approved by:	Neal Nelson <ports@nicandneal.net> (maintainer)
Co-authored-by:	Neal Nelson <ports@nicandneal.net>
This commit is contained in:
Vladimir Druzenko 2025-08-23 02:57:35 +03:00
parent 2277cdf676
commit 89c2f39a07
6 changed files with 1286 additions and 1367 deletions

View File

@ -1,7 +1,8 @@
PORTNAME= supercollider
DISTVERSION= 3.13.1-g20250219
PORTREVISION= 1
DISTVERSION= 3.14.0
CATEGORIES= audio
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/Version-${DISTVERSION}/
DISTNAME= SuperCollider-${DISTVERSION}-Source
MAINTAINER= ports@nicandneal.net
COMMENT= Programming language for real time audio synthesis
@ -10,55 +11,54 @@ WWW= https://supercollider.github.io
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${LOCALBASE}/include/fftw3.h:math/fftw3 \
vulkan-headers>0:graphics/vulkan-headers
LIB_DEPENDS= libboost_system.so:devel/boost-libs \
libjack.so:audio/jack \
libsndfile.so:audio/libsndfile \
libfftw3f.so:math/fftw3-float \
libyaml-cpp.so:devel/yaml-cpp
USES= cmake compiler:c++11-lang iconv localbase pkgconfig \
qt:5 readline shared-mime-info tar:bzip2 xorg
USE_GITHUB= yes
GH_TAGNAME= 066ef94c70903c440e010eb81d4ac6e85bb2d84c
GH_TUPLE= timblechmann:nova-simd:2bdc68bc5704a42578300a4c18411df2405cb307:novasimd/external_libraries/nova-simd \
timblechmann:nova-tt:692a8859fb94030f581b8a3d626a5f40c236114e:novatt/external_libraries/nova-tt \
supercollider:hidapi:hidapi-sc-0.8.0-10-g976cb11:hidapi/external_libraries/hidapi \
supercollider:yaml-cpp:release-0.5.3-35-g728e26e:yamlcpp/external_libraries/yaml-cpp \
ableton:link:Link-3.0.6:link/external_libraries/link:link
USE_QT_amd64= webengine
USE_QT_i386= webengine
USE_QT= buildtools:build concurrent core declarative gui linguisttools location \
network opengl printsupport qmake:build sensors \
sql widgets websockets webchannel svg ${USE_QT_${ARCH}}
USE_XORG= x11
USES= cmake compiler:c++11-lang gl iconv localbase pkgconfig qt:6 \
readline shared-mime-info tar:bzip2 xorg
USE_GL= opengl
USE_LDCONFIG= yes
USE_QT= base svg tools
USE_XORG= x11 xt
CMAKE_ARGS_nox86= -DSSE:BOOL=FALSE \
-DSSE2:BOOL=FALSE \
-DSC_USE_QTWEBENGINE:BOOL=FALSE
CMAKE_ARGS= -DCMAKE_PREFIX_PATH=${LOCALBASE}/lib/qt5 \
CMAKE_ARGS= -DCMAKE_PREFIX_PATH=${LOCALBASE}/lib/qt6 \
-DLIBUSB_1_INCLUDE_DIR=/usr/include \
-DLIBUSB_1_LIBRARY=/usr/lib/libusb.so \
-DLIBSCSYNTH=ON \
-DSYSTEM_BOOST=ON \
-DSYSTEM_YAMLCPP=ON \
-DSC_ABLETON_LINK=OFF \
${ARCH:Namd64:Ni386:C/.*/${CMAKE_ARGS_nox86}/}
-DLIBUSB_1_LIBRARY=/usr/lib/libusb.so
CMAKE_ON= LIBSCSYNTH \
SC_QT \
SYSTEM_BOOST \
SYSTEM_YAMLCPP
CMAKE_OFF= SC_ABLETON_LINK
DESKTOP_ENTRIES="SuperCollider IDE" "" "${LOCALBASE}/share/pixmaps/sc_ide.svg" \
DESKTOP_ENTRIES="SuperCollider IDE" "" "${PREFIX}/share/pixmaps/sc_ide.svg" \
"scide" "" false
OPTIONS_DEFINE= AVAHI HELP SUPERNOVA
OPTIONS_DEFAULT= AVAHI HELP SUPERNOVA
OPTIONS_SUB= yes
OPTIONS_DEFINE= AVAHI DOCS SUPERNOVA WEBENGINE
OPTIONS_DEFINE_amd64= SSE2 SSE
OPTIONS_DEFINE_i386= SSE2 SSE
OPTIONS_DEFAULT= AVAHI SUPERNOVA
OPTIONS_DEFAULT_amd64= SSE2 SSE WEBENGINE
OPTIONS_DEFAULT_i386= QTWEBENGINE
OPTIONS_SUB= yes
HELP_DESC= Install on-line help text
SUPERNOVA_DESC= Build with supernova as optional audio synthesis server
DOCS_DESC= Install on-line help text
SSE2_DESC= ${SSE_DESC:S|SSE|SSE2|}
SUPERNOVA_DESC= Build with supernova as optional audio synthesis server
AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app \
libavahi-common.so:net/avahi-app
AVAHI_CMAKE_BOOL_OFF= NO_AVAHI
HELP_CMAKE_BOOL= INSTALL_HELP
DOCS_CMAKE_BOOL= INSTALL_HELP
SSE2_CMAKE_BOOL= SSE2
SSE_CMAKE_BOOL= SSE
SUPERNOVA_CMAKE_BOOL= SUPERNOVA
WEBENGINE_USE= qt=declarative,positioning,webengine,webchannel,websockets
WEBENGINE_CMAKE_BOOL= SC_USE_QTWEBENGINE
.include <bsd.port.mk>

View File

@ -1,13 +1,3 @@
TIMESTAMP = 1740092854
SHA256 (supercollider-supercollider-3.13.1-g20250219-066ef94c70903c440e010eb81d4ac6e85bb2d84c_GH0.tar.gz) = c2404c4da6546700405444c55d3e726b4299936b3e3f044c48673c1bd6acf666
SIZE (supercollider-supercollider-3.13.1-g20250219-066ef94c70903c440e010eb81d4ac6e85bb2d84c_GH0.tar.gz) = 16401696
SHA256 (timblechmann-nova-simd-2bdc68bc5704a42578300a4c18411df2405cb307_GH0.tar.gz) = df9f280daaad56fdadb5fa75d492ee6a06762a41d7346aa473aa49c1ac9ec9c8
SIZE (timblechmann-nova-simd-2bdc68bc5704a42578300a4c18411df2405cb307_GH0.tar.gz) = 53005
SHA256 (timblechmann-nova-tt-692a8859fb94030f581b8a3d626a5f40c236114e_GH0.tar.gz) = a3e40d2cdf06dc6b29a6e1f3353c371dc3dc7ca08fe475697cc9659702ebc178
SIZE (timblechmann-nova-tt-692a8859fb94030f581b8a3d626a5f40c236114e_GH0.tar.gz) = 31253
SHA256 (supercollider-hidapi-hidapi-sc-0.8.0-10-g976cb11_GH0.tar.gz) = ccdea1468120976205719865218919c83cc8dd9505ed58dfd6890743720e79d2
SIZE (supercollider-hidapi-hidapi-sc-0.8.0-10-g976cb11_GH0.tar.gz) = 147854
SHA256 (supercollider-yaml-cpp-release-0.5.3-35-g728e26e_GH0.tar.gz) = b84cda403e26fc64e4973e907413b40c43a7e1485f2c223ed30a1a387cf0dae4
SIZE (supercollider-yaml-cpp-release-0.5.3-35-g728e26e_GH0.tar.gz) = 2022032
SHA256 (ableton-link-Link-3.0.6_GH0.tar.gz) = 4f4fae68bd9351cba603f07990b0d1d9cd7f986c1c78f748d97168c8ae5269b2
SIZE (ableton-link-Link-3.0.6_GH0.tar.gz) = 1905749
TIMESTAMP = 1753803284
SHA256 (SuperCollider-3.14.0-Source.tar.bz2) = ab710e84376f5c082c92fcea7465b85d375934f3da7deed583457a0a48b0a918
SIZE (SuperCollider-3.14.0-Source.tar.bz2) = 20936611

View File

@ -1,83 +0,0 @@
--- common/SC_AppleEventLoop.mm.orig 2021-04-22 03:41:58 UTC
+++ common/SC_AppleEventLoop.mm
@@ -0,0 +1,80 @@
+/************************************************************************
+ *
+ * Copyright 2019 Christof Ressi <info@christofressi.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ ************************************************************************/
+
+#include "SC_AppleEventLoop.hpp"
+#include <atomic>
+
+#import <Cocoa/Cocoa.h>
+
+namespace SC { namespace Apple { namespace EventLoop {
+
+static std::atomic_bool g_running;
+
+void setup() {
+ // The following code would transform the process into a foreground application.
+ // For now it's the plugin's responsibility to do this (early or lazily)
+ // because we don't want to always show an icon in the docker.
+ // ProcessSerialNumber psn = { 0, kCurrentProcess };
+ // TransformProcessType(&psn, kProcessTransformToForegroundApplication);
+
+ // Create NSApplication
+ [NSApplication sharedApplication];
+}
+
+void run() {
+ // this doesn't work...
+ // [NSApp run];
+ // Kudos to https://www.cocoawithlove.com/2009/01/demystifying-nsapplication-by.html
+ NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
+
+ [NSApp finishLaunching];
+ g_running = true;
+
+ while (g_running) {
+ [pool release];
+ pool = [[NSAutoreleasePool alloc] init];
+ NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask
+ untilDate:[NSDate distantFuture]
+ inMode:NSDefaultRunLoopMode
+ dequeue:YES];
+ if (event) {
+ [NSApp sendEvent:event];
+ [NSApp updateWindows];
+ }
+ }
+ [pool release];
+}
+
+void quit() {
+ // break from event loop instead of [NSApp terminate:nil]
+ g_running = false;
+ // send dummy event to wake up event loop
+ NSEvent* event = [NSEvent otherEventWithType:NSApplicationDefined
+ location:NSMakePoint(0, 0)
+ modifierFlags:0
+ timestamp:0
+ windowNumber:0
+ context:nil
+ subtype:0
+ data1:0
+ data2:0];
+ [NSApp postEvent:event atStart:NO];
+}
+
+}}} // namespace SC::Apple::EventLoop

View File

@ -1,6 +1,6 @@
--- external_libraries/nova-simd/vec/vec_int_altivec.hpp.orig 2020-09-03 23:55:08.848538000 +0200
+++ external_libraries/nova-simd/vec/vec_int_altivec.hpp 2020-09-03 23:58:16.614642000 +0200
@@ -35,7 +35,7 @@
--- external_libraries/nova-simd/vec/vec_int_altivec.hpp.orig 2025-07-26 19:07:55 UTC
+++ external_libraries/nova-simd/vec/vec_int_altivec.hpp
@@ -35,7 +35,7 @@ struct int_vec_altivec (private)
static ivec set_vector(int i)
{
#ifdef __GNUC__

View File

@ -1,4 +1,4 @@
--- server/supernova/utilities/hardware_topology.cpp.orig 2025-02-20 15:13:49 UTC
--- server/supernova/utilities/hardware_topology.cpp.orig 2025-07-26 19:07:45 UTC
+++ server/supernova/utilities/hardware_topology.cpp
@@ -20,6 +20,7 @@
# include <windows.h>

File diff suppressed because it is too large Load Diff