diff --git a/pkgs/applications/audio/nova-filters/default.nix b/pkgs/applications/audio/nova-filters/default.nix index 8a672948634a..f8e5f4abcc13 100644 --- a/pkgs/applications/audio/nova-filters/default.nix +++ b/pkgs/applications/audio/nova-filters/default.nix @@ -17,6 +17,7 @@ stdenv.mkDerivation { sed -i -e '4d' SConstruct sed -i 's@Options@Variables@g' SConstruct sed -i "s@-fomit-frame-pointer -ffast-math -mfpmath=sse@-I ${boost.dev}/include@g" SConstruct + sed -i "s@env.has_key('cxx')@'cxx' in env@g" SConstruct sed -i "s@ladspa.h@${ladspaH}/include/ladspa.h@g" filters.cpp sed -i "s@LADSPA_HINT_SAMPLE_RATE, 0, 0.5@LADSPA_HINT_SAMPLE_RATE, 0.0001, 0.5@g" filters.cpp sed -i "s/= check/= detail::filter_base::check/" nova/source/dsp/filter.hpp diff --git a/pkgs/development/tools/build-managers/scons/common.nix b/pkgs/development/tools/build-managers/scons/common.nix index da276be7287c..5b0aff8072c8 100644 --- a/pkgs/development/tools/build-managers/scons/common.nix +++ b/pkgs/development/tools/build-managers/scons/common.nix @@ -7,12 +7,20 @@ python.pkgs.buildPythonApplication rec { inherit version; src = fetchurl { - url = "mirror://sourceforge/scons/${pname}-${version}.tar.gz"; + url = + if lib.versionAtLeast version "4.3.0" then + "mirror://sourceforge/project/scons/scons/${version}/SCons-${version}.tar.gz" + else + "mirror://sourceforge/scons/scons-${version}.tar.gz"; inherit sha256; }; setupHook = ./setup-hook.sh; + patches = lib.optionals (lib.versionAtLeast version "4.3.0") [ + ./env.patch + ]; + postPatch = lib.optionalString (lib.versionAtLeast version "4.0.0") '' substituteInPlace setup.cfg \ --replace "build/dist" "dist" diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix index b0d6085250d2..f338d346a701 100644 --- a/pkgs/development/tools/build-managers/scons/default.nix +++ b/pkgs/development/tools/build-managers/scons/default.nix @@ -9,8 +9,12 @@ in { version = "3.1.2"; sha256 = "1yzq2gg9zwz9rvfn42v5jzl3g4qf1khhny6zfbi2hib55zvg60bq"; }); - scons_latest = mkScons { + scons_4_1_0 = mkScons { version = "4.1.0"; sha256 = "11axk03142ziax6i3wwy9qpqp7r3i7h5jg9y2xzph9i15rv8vlkj"; }; + scons_latest = mkScons { + version = "4.5.2"; + sha256 = "sha256-ziaqyV01CnmkGSGWsL6sPLJPTMq84BI+so0zcPV28HI="; + }; } diff --git a/pkgs/development/tools/build-managers/scons/env.patch b/pkgs/development/tools/build-managers/scons/env.patch new file mode 100644 index 000000000000..95615016aed9 --- /dev/null +++ b/pkgs/development/tools/build-managers/scons/env.patch @@ -0,0 +1,9 @@ +diff --git a/SCons/Platform/posix.py b/SCons/Platform/posix.py +index 4c9f8f9ba..d68da1b08 100644 +--- a/SCons/Platform/posix.py ++++ b/SCons/Platform/posix.py +@@ -30,0 +31 @@ selection method. ++import os +@@ -87 +88 @@ def generate(env): +- env['ENV']['PATH'] = '/usr/local/bin:/opt/bin:/bin:/usr/bin:/snap/bin' ++ env['ENV']['PATH'] = os.environ["PATH"] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ddcc61562a08..321f78de949f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18794,7 +18794,7 @@ with pkgs; semantik = libsForQt5.callPackage ../applications/office/semantik { }; sconsPackages = dontRecurseIntoAttrs (callPackage ../development/tools/build-managers/scons { }); - scons = sconsPackages.scons_latest; + scons = sconsPackages.scons_4_1_0; mill = callPackage ../development/tools/build-managers/mill { };