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.
This commit is contained in:
Ian Mitchell
2026-06-03 12:00:09 -04:00
parent 1277abe2d6
commit 068cd9dfef
@@ -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;