diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix index b1534f8c25aa..078b6782a3d0 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,27 +26,18 @@ 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-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="; - }) - - # Fixes the build with GCC 15 - (fetchpatch { - url = "https://github.com/supercollider/supercollider/commit/edfac5e24959b12286938a9402326e521c2d2b63.patch"; - hash = "sha256-8DNCO5VEX6V0Q29A/v5tFC7u835bwNHvcNlZzmS0ADg="; + url = "https://github.com/supercollider/supercollider/commit/e997e47890a9cee137756dede664811a58dbf85a.patch"; + hash = "sha256-Koh5CwkedDEXwvSFyZSrdKyVIKpX7nPrIcsr2FXaejo="; }) ]; @@ -63,8 +50,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config - qttools - libsForQt5.wrapQtAppsHook + qt6.qttools + qt6.wrapQtAppsHook ] ++ lib.optionals useSCEL [ emacs ]; @@ -75,9 +62,9 @@ stdenv.mkDerivation rec { fftw curl libxt - qtbase - qtwebsockets - qtwayland + qt6.qtbase + qt6.qtwebsockets + qt6.qtwayland readline ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) alsa-lib; diff --git a/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix index b3d5df6ac587..a3203e87bc06 100644 --- a/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix +++ b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix @@ -11,26 +11,13 @@ 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="; - }) - - # 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 ]; 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));