From 1277abe2d647ee072002eff75b250e88d8f9daa9 Mon Sep 17 00:00:00 2001 From: Ian Mitchell Date: Wed, 3 Jun 2026 11:36:10 -0400 Subject: [PATCH 1/5] supercollider: 3.13.1 -> 3.14.1 https://github.com/supercollider/supercollider/blob/3.14/CHANGELOG.md#3141-2025-11-23 --- .../interpreters/supercollider/default.nix | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix index b1534f8c25aa..28cfcbcaa568 100644 --- a/pkgs/development/interpreters/supercollider/default.nix +++ b/pkgs/development/interpreters/supercollider/default.nix @@ -12,13 +12,9 @@ fftw, curl, gcc, - libsForQt5, + qt6, libxt, - qtbase, - qttools, readline, - qtwebsockets, - qtwayland, useSCEL ? false, emacs, gitUpdater, @@ -30,16 +26,16 @@ stdenv.mkDerivation rec { pname = "supercollider"; - version = "3.13.1"; + version = "3.14.1"; src = fetchurl { url = "https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source.tar.bz2"; - sha256 = "sha256-aXnAFdqs/bVZMovoDV1P4mv2PtdFD2QuXHjnsnEyMSs="; + sha256 = "sha256:ee640c68777ae697682066ce5c4a8b7e56c5b223e76c79c13b5be5387ee55bb2"; }; patches = [ # add support for SC_DATA_DIR and SC_PLUGIN_DIR env vars to override compile-time values - ./supercollider-3.12.0-env-dirs.patch + # ./supercollider-3.12.0-env-dirs.patch # Fixes the build with CMake 4 (fetchpatch { @@ -54,17 +50,17 @@ stdenv.mkDerivation rec { }) ]; - postPatch = '' - substituteInPlace common/sc_popen.cpp --replace '/bin/sh' '${runtimeShell}' - ''; + # postPatch = '' + # substituteInPlace common/sc_popen.cpp --replace '/bin/sh' '${runtimeShell}' + # ''; strictDeps = true; nativeBuildInputs = [ cmake pkg-config - qttools - libsForQt5.wrapQtAppsHook + qt6.qttools + qt6.wrapQtAppsHook ] ++ lib.optionals useSCEL [ emacs ]; @@ -75,9 +71,9 @@ stdenv.mkDerivation rec { fftw curl libxt - qtbase - qtwebsockets - qtwayland + qt6.qtbase + qt6.qtwebsockets + qt6.qtwayland readline ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) alsa-lib; From 068cd9dfef9125286705fba3fdf24b84c497293b Mon Sep 17 00:00:00 2001 From: Ian Mitchell Date: Wed, 3 Jun 2026 12:00:09 -0400 Subject: [PATCH 2/5] supercollider: add convert KeyboardModifiers to an integer type patch Due to an update with Qt 6.10, SuperCollider 3.14 is technically only able to work with 6.2 <= Qt <= 6.9. This patch allows SC 3.14.1 to work with Qt 6.11, which is the current version in the nixpkgs repository. --- .../interpreters/supercollider/default.nix | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix index 28cfcbcaa568..877cf34ccb2b 100644 --- a/pkgs/development/interpreters/supercollider/default.nix +++ b/pkgs/development/interpreters/supercollider/default.nix @@ -30,29 +30,35 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source.tar.bz2"; - sha256 = "sha256:ee640c68777ae697682066ce5c4a8b7e56c5b223e76c79c13b5be5387ee55bb2"; + sha256 = "sha256-7mQMaHd65pdoIGbOXEqLflbFsiPnbHnBO1vlOH7lW7I="; }; patches = [ # add support for SC_DATA_DIR and SC_PLUGIN_DIR env vars to override compile-time values # ./supercollider-3.12.0-env-dirs.patch - # Fixes the build with CMake 4 + # add support for Qt 6.11 in SuperCollider 3.14.1 (fetchpatch { - url = "https://github.com/supercollider/supercollider/commit/7d1f3fbe54e122889489a2f60bbc6cd6bb3bce28.patch"; - hash = "sha256-gyE0B2qTbj0ppbLlYTMa2ooY3FHzzIrdrpWYr81Hy1Y="; + url = "https://github.com/supercollider/supercollider/commit/e997e47890a9cee137756dede664811a58dbf85a.patch"; + hash = "sha256-Koh5CwkedDEXwvSFyZSrdKyVIKpX7nPrIcsr2FXaejo="; }) - # Fixes the build with GCC 15 - (fetchpatch { - url = "https://github.com/supercollider/supercollider/commit/edfac5e24959b12286938a9402326e521c2d2b63.patch"; - hash = "sha256-8DNCO5VEX6V0Q29A/v5tFC7u835bwNHvcNlZzmS0ADg="; - }) + # # Fixes the build with CMake 4 + # (fetchpatch { + # url = "https://github.com/supercollider/supercollider/commit/7d1f3fbe54e122889489a2f60bbc6cd6bb3bce28.patch"; + # hash = "sha256-gyE0B2qTbj0ppbLlYTMa2ooY3FHzzIrdrpWYr81Hy1Y="; + # }) + + # # Fixes the build with GCC 15 + # (fetchpatch { + # url = "https://github.com/supercollider/supercollider/commit/edfac5e24959b12286938a9402326e521c2d2b63.patch"; + # hash = "sha256-8DNCO5VEX6V0Q29A/v5tFC7u835bwNHvcNlZzmS0ADg="; + # }) ]; - # postPatch = '' - # substituteInPlace common/sc_popen.cpp --replace '/bin/sh' '${runtimeShell}' - # ''; + postPatch = '' + substituteInPlace common/sc_popen.cpp --replace '/bin/sh' '${runtimeShell}' + ''; strictDeps = true; From 2a72e808cd854b429ed2b8ad4317dff217396d8f Mon Sep 17 00:00:00 2001 From: Ian Mitchell Date: Wed, 3 Jun 2026 13:23:27 -0400 Subject: [PATCH 3/5] sc3-plugins: 3.13.0 -> 3.14.0 https://github.com/supercollider/sc3-plugins/releases/tag/Version-3.14.0 --- .../supercollider/plugins/sc3-plugins.nix | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix index b3d5df6ac587..5dd3e9695392 100644 --- a/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix +++ b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix @@ -11,24 +11,24 @@ stdenv.mkDerivation rec { pname = "sc3-plugins"; - version = "3.13.0"; + version = "3.14.0"; src = fetchurl { url = "https://github.com/supercollider/sc3-plugins/releases/download/Version-${version}/sc3-plugins-${version}-Source.tar.bz2"; - sha256 = "sha256-+N7rhh1ALipy21HUC0jEQ2kCYbWlOveJg9TPe6dnF6I="; + sha256 = "sha256-CW9JVVdgeITg2/0TLprw1V8WW4VhBmCN2Ns8XmiZKh0="; }; patches = [ - (fetchpatch2 { - url = "https://github.com/supercollider/sc3-plugins/commit/3dc56bf7fcc1f2261afc13f96da762b78bcbfa51.patch"; - hash = "sha256-lvXvGunfmjt6i+XPog14IKdnH1Qk8vefxplSDkXXXHU="; - }) + # (fetchpatch2 { + # url = "https://github.com/supercollider/sc3-plugins/commit/3dc56bf7fcc1f2261afc13f96da762b78bcbfa51.patch"; + # hash = "sha256-lvXvGunfmjt6i+XPog14IKdnH1Qk8vefxplSDkXXXHU="; + # }) # Fix build with GCC 15 - (fetchpatch2 { - url = "https://github.com/supercollider/sc3-plugins/commit/deaa55a7204bedf65a2000a463ae87a481bf3eb8.patch"; - hash = "sha256-d8+4ZmedAwVt/AlU/YKqQF+80shEa8DiPnvMwJtW/RM="; - }) + # (fetchpatch2 { + # url = "https://github.com/supercollider/sc3-plugins/commit/deaa55a7204bedf65a2000a463ae87a481bf3eb8.patch"; + # hash = "sha256-d8+4ZmedAwVt/AlU/YKqQF+80shEa8DiPnvMwJtW/RM="; + # }) ]; strictDeps = true; From 69f282cf85916a65036581d8d81a5e570ac8c974 Mon Sep 17 00:00:00 2001 From: Ian Mitchell Date: Wed, 3 Jun 2026 13:48:52 -0400 Subject: [PATCH 4/5] supercollider: remove 3.12.0-env-dirs patch Remove supercollider-3.12.0-env-dirs.patch, since it is no longer needed to change `SC_DATA_DIR` and `SC_PLUGIN_DIR`. --- .../interpreters/supercollider/default.nix | 15 ----- .../supercollider-3.12.0-env-dirs.patch | 65 ------------------- 2 files changed, 80 deletions(-) delete mode 100644 pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix index 877cf34ccb2b..078b6782a3d0 100644 --- a/pkgs/development/interpreters/supercollider/default.nix +++ b/pkgs/development/interpreters/supercollider/default.nix @@ -34,26 +34,11 @@ stdenv.mkDerivation rec { }; patches = [ - # add support for SC_DATA_DIR and SC_PLUGIN_DIR env vars to override compile-time values - # ./supercollider-3.12.0-env-dirs.patch - # add support for Qt 6.11 in SuperCollider 3.14.1 (fetchpatch { url = "https://github.com/supercollider/supercollider/commit/e997e47890a9cee137756dede664811a58dbf85a.patch"; hash = "sha256-Koh5CwkedDEXwvSFyZSrdKyVIKpX7nPrIcsr2FXaejo="; }) - - # # Fixes the build with CMake 4 - # (fetchpatch { - # url = "https://github.com/supercollider/supercollider/commit/7d1f3fbe54e122889489a2f60bbc6cd6bb3bce28.patch"; - # hash = "sha256-gyE0B2qTbj0ppbLlYTMa2ooY3FHzzIrdrpWYr81Hy1Y="; - # }) - - # # Fixes the build with GCC 15 - # (fetchpatch { - # url = "https://github.com/supercollider/supercollider/commit/edfac5e24959b12286938a9402326e521c2d2b63.patch"; - # hash = "sha256-8DNCO5VEX6V0Q29A/v5tFC7u835bwNHvcNlZzmS0ADg="; - # }) ]; postPatch = '' diff --git a/pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch b/pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch deleted file mode 100644 index dd92028b5225..000000000000 --- a/pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/common/SC_Filesystem_unix.cpp b/common/SC_Filesystem_unix.cpp -index 52dc1fd2d..aae09ed9c 100644 ---- a/common/SC_Filesystem_unix.cpp -+++ b/common/SC_Filesystem_unix.cpp -@@ -94,6 +94,10 @@ bool SC_Filesystem::isNonHostPlatformDirectoryName(const std::string& s) { - } - - Path SC_Filesystem::defaultSystemAppSupportDirectory() { -+ const char* sc_data_dir = getenv("SC_DATA_DIR"); -+ if (sc_data_dir) -+ return Path(sc_data_dir); -+ - # ifdef SC_DATA_DIR - return Path(SC_DATA_DIR); - # else -@@ -125,6 +129,10 @@ Path SC_Filesystem::defaultUserConfigDirectory() { - } - - Path SC_Filesystem::defaultResourceDirectory() { -+ const char* sc_data_dir = getenv("SC_DATA_DIR"); -+ if (sc_data_dir) -+ return Path(sc_data_dir); -+ - # ifdef SC_DATA_DIR - return Path(SC_DATA_DIR); - # else -diff --git a/server/scsynth/SC_Lib_Cintf.cpp b/server/scsynth/SC_Lib_Cintf.cpp -index f6219307e..28e13eb98 100644 ---- a/server/scsynth/SC_Lib_Cintf.cpp -+++ b/server/scsynth/SC_Lib_Cintf.cpp -@@ -178,9 +178,13 @@ void initialize_library(const char* uGensPluginPath) { - using DirName = SC_Filesystem::DirName; - - if (loadUGensExtDirs) { -+ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR"); -+ if (sc_plugin_dir) { -+ PlugIn_LoadDir(sc_plugin_dir, true); -+ } - #ifdef SC_PLUGIN_DIR - // load globally installed plugins -- if (bfs::is_directory(SC_PLUGIN_DIR)) { -+ else if (bfs::is_directory(SC_PLUGIN_DIR)) { - PlugIn_LoadDir(SC_PLUGIN_DIR, true); - } - #endif // SC_PLUGIN_DIR -diff --git a/server/supernova/server/main.cpp b/server/supernova/server/main.cpp -index b2b5adf4e..6cb8c411c 100644 ---- a/server/supernova/server/main.cpp -+++ b/server/supernova/server/main.cpp -@@ -224,8 +224,14 @@ void set_plugin_paths(server_arguments const& args, nova::sc_ugen_factory* facto - } - } - } else { -+ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR"); -+ if (sc_plugin_dir) { -+ factory->load_plugin_folder(sc_plugin_dir); -+ } - #ifdef SC_PLUGIN_DIR -- factory->load_plugin_folder(SC_PLUGIN_DIR); -+ else { -+ factory->load_plugin_folder(SC_PLUGIN_DIR); -+ } - #endif - factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::Resource) / SC_PLUGIN_DIR_NAME); - factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::SystemExtension)); From 3652bf618273cb823ef595aa9a0de2952c26af41 Mon Sep 17 00:00:00 2001 From: Ian Mitchell Date: Wed, 3 Jun 2026 13:58:20 -0400 Subject: [PATCH 5/5] supercollider: remove spurious comments --- .../supercollider/plugins/sc3-plugins.nix | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix index 5dd3e9695392..a3203e87bc06 100644 --- a/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix +++ b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix @@ -18,19 +18,6 @@ stdenv.mkDerivation rec { sha256 = "sha256-CW9JVVdgeITg2/0TLprw1V8WW4VhBmCN2Ns8XmiZKh0="; }; - patches = [ - # (fetchpatch2 { - # url = "https://github.com/supercollider/sc3-plugins/commit/3dc56bf7fcc1f2261afc13f96da762b78bcbfa51.patch"; - # hash = "sha256-lvXvGunfmjt6i+XPog14IKdnH1Qk8vefxplSDkXXXHU="; - # }) - - # Fix build with GCC 15 - # (fetchpatch2 { - # url = "https://github.com/supercollider/sc3-plugins/commit/deaa55a7204bedf65a2000a463ae87a481bf3eb8.patch"; - # hash = "sha256-d8+4ZmedAwVt/AlU/YKqQF+80shEa8DiPnvMwJtW/RM="; - # }) - ]; - strictDeps = true; nativeBuildInputs = [ cmake ];