Skip to content

supercollider: update to 3.14.1.#61567

Open
nazaradeh wants to merge 1 commit into
void-linux:masterfrom
nazaradeh:supercollider-package-update-3.14.1
Open

supercollider: update to 3.14.1.#61567
nazaradeh wants to merge 1 commit into
void-linux:masterfrom
nazaradeh:supercollider-package-update-3.14.1

Conversation

@nazaradeh

@nazaradeh nazaradeh commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Testing the changes

  • I tested the changes in this PR: YES
  • Tested both with and without the sc3-plugins package
  • To test audio output on pipewire, launch SuperCollider with the command pw-jack scide

Local build testing

  • I built this PR locally for my native architecture, (x86)
  • I built this PR locally for these architectures (if supported. mark crossbuilds):
    • aarch64
    • aarch64-musl
    • armv6l-musl

Additional notes

  • Remove boost-1.89.patch: Not needed, compiles and runs without.
  • Remove cstdio.patch: The #include <cstdio> line is now in the source code.
  • Remove nova-simd from sc3-plugins/template: It now comes bundled in the tar.
  • Add libjack-pipewire as a dependency: Needed if you want to run it with pipewire.
  • Bundling in sc3-plugins into this PR because it expects a specific version of supercollider. They should be kept up to date together.

@nazaradeh
nazaradeh force-pushed the supercollider-package-update-3.14.1 branch from 1e9fec6 to bcb6287 Compare July 21, 2026 05:51
@nazaradeh nazaradeh changed the title supercollider: update to 3.14.1 supercollider: update to 3.14.1. Jul 21, 2026
@nazaradeh
nazaradeh force-pushed the supercollider-package-update-3.14.1 branch 2 times, most recently from d9a1fba to 7a4e69f Compare July 21, 2026 08:15
@nazaradeh

Copy link
Copy Markdown
Contributor Author

Hmm, supercollider seems to fail building for armv6l-musl but not aarch64-musl. Couldn't figure out what the issue was.

@slymattz

Copy link
Copy Markdown
Contributor

Maybe it's a good idea to migrate supercollider to Qt6?

Hmm, supercollider seems to fail building for armv6l-musl but not aarch64-musl. Couldn't figure out what the issue was.

For me, keeping yield.patch seems to have done the job.

Here's my patched template:

diff --git a/srcpkgs/supercollider/template b/srcpkgs/supercollider/template
index 802a5df929a..d3fb756b050 100644
--- a/srcpkgs/supercollider/template
+++ b/srcpkgs/supercollider/template
@@ -5,13 +5,12 @@ revision=1
 # Please update the sc3-plugins template with the new version of supercollider, even if sc3-plugins itself does not have an update.
 build_style=cmake
 make_cmd=make
-configure_args="-DENABLE_TESTSUITE=OFF -DSYSTEM_BOOST=ON -DSYSTEM_YAMLCPP=ON"
-hostmakedepends="emacs pkg-config qt5-host-tools qt5-qmake"
-makedepends="avahi-libs-devel boost-devel-minimal fftw-devel jack-devel
- libjack-pipewire libsndfile-devel libXt-devel qt5-declarative-devel
- qt5-location-devel qt5-plugin-mysql qt5-plugin-odbc qt5-plugin-pgsql
- qt5-plugin-sqlite qt5-plugin-tds qt5-sensors-devel qt5-tools-devel
- qt5-svg-devel qt5-webchannel-devel qt5-websockets-devel yaml-cpp-devel"
+configure_args="-DENABLE_TESTSUITE=OFF -DSYSTEM_BOOST=ON -DSYSTEM_YAMLCPP=ON
+ -DSYSTEM_PORTAUDIO=ON -DLIBSCSYNTH=ON"
+hostmakedepends="pkg-config"
+makedepends="alsa-lib-devel boost-devel-minimal jack-devel libsndfile-devel libXt-devel
+ qt6-base-devel qt6-declarative-devel qt6-svg-devel qt6-tools-devel qt6-websockets-devel
+ readline-devel yaml-cpp-devel"
 short_desc="Environment and programming language for real time audio synthesis"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
@@ -22,7 +21,7 @@ checksum=ee640c68777ae697682066ce5c4a8b7e56c5b223e76c79c13b5be5387ee55bb2
 export CMAKE_GENERATOR="Unix Makefiles"
 
 build_options="webengine"
-desc_option_webengine="Build Qt5 WebEngine support"
+desc_option_webengine="Build Qt6 WebEngine support"
 
 if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
 	if [ "$XBPS_TARGET_WORDSIZE" = "$XBPS_WORDSIZE" ]; then
@@ -31,12 +30,26 @@ if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
 fi
 
 if [ "$build_option_webengine" ]; then
-	makedepends+=" qt5-webengine-devel"
+	makedepends+=" qt6-webengine-devel"
 else
 	configure_args+=" -DSC_USE_QTWEBENGINE=OFF"
 fi
 
+if [ "$CROSS_BUILD" ]; then
+	hostmakedepends+=" qt6-base qt6-tools"
+	configure_args+=" -DQt6LinguistTools_DIR=/usr/lib/cmake/Qt6LinguistTools"
+fi
+
 case "$XBPS_TARGET_MACHINE" in
 	x86_64*|i686*);;
 	*) configure_args+=" -DSSE=OFF -DSSE2=OFF";;
 esac
+
+supercollider-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+	}
+}

To fix the Qt6 build I used conversion.patch shipped by Alpine (you can easily look it up or take a look below):

diff --git a/srcpkgs/supercollider/patches/conversion.patch b/srcpkgs/supercollider/patches/conversion.patch
new file mode 100644
index 00000000000..ed23398a97f
--- /dev/null
+++ b/srcpkgs/supercollider/patches/conversion.patch
@@ -0,0 +1,41 @@
+From e997e47890a9cee137756dede664811a58dbf85a Mon Sep 17 00:00:00 2001
+From: xunil-cloud <freed602om@gmail.com>
+Date: Sat, 13 Dec 2025 11:28:15 +0800
+Subject: [PATCH] ide: Explicitly convert KeyboardModifiers to an integer type
+
+Fix qt 6.10.1 build
+---
+ editors/sc-ide/widgets/code_editor/editor.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/editors/sc-ide/widgets/code_editor/editor.cpp b/editors/sc-ide/widgets/code_editor/editor.cpp
+index a2f99389781..e8cee85eef9 100644
+--- a/editors/sc-ide/widgets/code_editor/editor.cpp
++++ b/editors/sc-ide/widgets/code_editor/editor.cpp
+@@ -698,7 +698,7 @@ void GenericCodeEditor::mousePressEvent(QMouseEvent* e) {
+                                          .arg(e->position().x())
+                                          .arg(e->position().y())
+ #endif
+-                                         .arg(e->modifiers())
++                                         .arg(static_cast<Qt::KeyboardModifiers::Int>(e->modifiers()))
+                                          .arg(button),
+                                      true);
+     }
+@@ -732,7 +732,7 @@ void GenericCodeEditor::mouseDoubleClickEvent(QMouseEvent* e) {
+                                          .arg(e->position().x())
+                                          .arg(e->position().y())
+ #endif
+-                                         .arg(e->modifiers())
++                                         .arg(static_cast<Qt::KeyboardModifiers::Int>(e->modifiers()))
+                                          .arg(button),
+                                      true);
+     }
+@@ -766,7 +766,7 @@ void GenericCodeEditor::mouseReleaseEvent(QMouseEvent* e) {
+                                          .arg(e->position().x())
+                                          .arg(e->position().y())
+ #endif
+-                                         .arg(e->modifiers())
++                                         .arg(static_cast<Qt::KeyboardModifiers::Int>(e->modifiers()))
+                                          .arg(button),
+                                      true);
+     }

@nazaradeh

Copy link
Copy Markdown
Contributor Author

Sadly this didn't do it for me. Still getting the same error when building for arm6l-musl:

[ 14%] Built target LFUGens_supernova
/tmp/ccAaiJEC.s: Assembler messages:
/tmp/ccAaiJEC.s:7651: Error: selected processor does not support `yield' in ARM mode
...
...
/tmp/ccAaiJEC.s:40974: Error: selected processor does not support `yield' in ARM mode
/tmp/ccAaiJEC.s:41633: Error: selected processor does not support `yield' in ARM mode
make[2]: *** [server/plugins/CMakeFiles/DelayUGens_supernova.dir/build.make:79: server/plugins/CMakeFiles/DelayUGens_supernova.dir/DelayUGens.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2688: server/plugins/CMakeFiles/DelayUGens_supernova.dir/all] Error 2
[ 14%] Linking CXX shared module UnaryOpUGens.so
[ 14%] Built target UnaryOpUGens
[ 14%] Linking CXX shared module PanUGens.so
[ 14%] Built target PanUGens
[ 14%] Linking CXX shared module MulAddUGens_supernova.so
[ 14%] Built target MulAddUGens_supernova
[ 14%] Linking CXX shared module BinaryOpUGens.so
[ 14%] Built target BinaryOpUGens
[ 14%] Linking CXX shared module BinaryOpUGens_supernova.so
[ 14%] Built target BinaryOpUGens_supernova
make: *** [Makefile:166: all] Error 2
=> ERROR: supercollider-3.14.1_1: do_build: '${make_cmd} ${makejobs} ${XBPS_VERBOSE+${make_verbose}} ${make_build_args} ${make_build_target}' exited with 2
=> ERROR:   in do_build() at common/build-style/cmake.sh:102

Going to keep looking into it.

@nazaradeh

Copy link
Copy Markdown
Contributor Author

I may have just realized my issue is actually that when I use ./xbps-src clean, I wasn't passing in the argument -a armv6l-musl. Trying again now that I know this.

@nazaradeh
nazaradeh force-pushed the supercollider-package-update-3.14.1 branch 2 times, most recently from ca24b13 to abd40cf Compare July 22, 2026 05:44
@slymattz

Copy link
Copy Markdown
Contributor

If you preserve the split into supercollider-devel, you could use the subpackage for building sc3-plugins.
You'd just need a symlink of supercollider-devel pointing to supercollider (there is an entire section called Subpackages in Manual.md).

diff --git a/srcpkgs/sc3-plugins/template b/srcpkgs/sc3-plugins/template
index ac71b42fc04..2287f2123c5 100644
--- a/srcpkgs/sc3-plugins/template
+++ b/srcpkgs/sc3-plugins/template
@@ -2,33 +2,25 @@
 pkgname=sc3-plugins
 version=3.14.0
 revision=1
-_supercollider_version=3.14.1
 create_wrksrc=yes
 build_wrksrc=sc3-plugins-${version}-Source
 build_style=cmake
 hostmakedepends="pkg-config"
-makedepends="fftw-devel libstk-devel"
+makedepends="fftw-devel libstk-devel supercollider-devel"
 depends="supercollider"
 short_desc="Extension plugins for the SuperCollider3 audio synthesis server"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/supercollider/sc3-plugins"
-distfiles="
- https://github.com/supercollider/sc3-plugins/releases/download/Version-${version}/sc3-plugins-${version}-Source.tar.bz2
- https://github.com/supercollider/supercollider/releases/download/Version-${_supercollider_version}/SuperCollider-${_supercollider_version}-Source.tar.bz2"
-checksum="
-096f495557607884e0dbfd132e9af0d55f165b856106608dd8db3c5e68992a1d
-ee640c68777ae697682066ce5c4a8b7e56c5b223e76c79c13b5be5387ee55bb2"
+distfiles="https://github.com/supercollider/sc3-plugins/releases/download/Version-${version}/sc3-plugins-${version}-Source.tar.bz2"
+checksum=096f495557607884e0dbfd132e9af0d55f165b856106608dd8db3c5e68992a1d
+
 if [ "$XBPS_TARGET_MACHINE" = "armv6l-musl" ] || [ "$XBPS_TARGET_MACHINE" = "armv7l-musl" ]; then
 	configure_args="-DSUPERNOVA=OFF -DSYSTEM_STK=ON"
 else
 	configure_args="-DSUPERNOVA=ON -DSYSTEM_STK=ON"
 fi
 
-pre_configure() {
-	configure_args+=" -DSC_PATH=${wrksrc}/SuperCollider-${_supercollider_version}-Source "
-}
-
 post_install() {
 	vmkdir usr/lib/SuperCollider/Extensions/SC3plugins/LadspaUGen
 	mv -v ${DESTDIR}/usr/{share,lib}/SuperCollider/Extensions/SC3plugins/LadspaUGen/ladspalist

@nazaradeh
nazaradeh force-pushed the supercollider-package-update-3.14.1 branch from abd40cf to 5506741 Compare July 22, 2026 19:49
@nazaradeh

Copy link
Copy Markdown
Contributor Author

Ah gotcha, I was confused about that and missed the symlink. Done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants