scons: move to by-name, update to 4.7.0, drop all the old versions

This techinically removes the man pages, but that's probably fine?

K900 a1614c9d c420ad3f

+29 -142
+14
pkgs/by-name/sc/scons/no-man-pages.patch
··· 1 + --- a/setup.cfg 2 + +++ b/setup.cfg 3 + @@ -67,11 +67,6 @@ console_scripts = 4 + SCons.Tool.docbook = *.* 5 + 6 + 7 + -[options.data_files] 8 + -. = scons.1 9 + - scons-time.1 10 + - sconsign.1 11 + - 12 + [sdist] 13 + dist_dir=build/dist 14 +
+15 -18
pkgs/development/tools/build-managers/scons/3.1.2.nix pkgs/by-name/sc/scons/package.nix
··· 1 - { lib, fetchFromGitHub, python3 }: 1 + { lib, fetchFromGitHub, python3Packages }: 2 + python3Packages.buildPythonApplication rec { 3 + pname = "scons"; 4 + version = "4.7.0"; 2 5 3 - let 4 - pname = "scons"; 5 - version = "3.1.2"; 6 6 src = fetchFromGitHub { 7 7 owner = "Scons"; 8 8 repo = "scons"; 9 9 rev = version; 10 - hash = "sha256-C3U4N7+9vplzoJoevQe5Zeuz0TDmB6/miMwBJLzA3WA="; 10 + hash = "sha256-7VzGuz9CAUF6MRCEpj5z1FkZD19/Ic+YBukYQocvkr0="; 11 11 }; 12 - in 13 - python3.pkgs.buildPythonApplication { 14 - inherit pname version src; 15 12 16 - outputs = [ "out" "man" ]; 13 + pyproject = true; 14 + 15 + patches = [ 16 + ./env.patch 17 + ./no-man-pages.patch 18 + ]; 17 19 18 - preConfigure = '' 19 - python bootstrap.py 20 - cd build/scons 21 - ''; 20 + build-system = [ 21 + python3Packages.setuptools 22 + ]; 22 23 23 24 setupHook = ./setup-hook.sh; 24 - 25 - doCheck = true; 26 25 27 26 passthru = { 28 27 # expose the used python version so tools using this (and extensing scos 29 28 # with other python modules) can use the exact same python version. 30 - inherit python3; 31 - python = python3; 29 + inherit (python3Packages) python; 32 30 }; 33 31 34 32 meta = { ··· 45 43 maintainers = with lib.maintainers; [ AndersonTorres ]; 46 44 }; 47 45 } 48 - # TODO: patch to get rid of distutils and other deprecations
-57
pkgs/development/tools/build-managers/scons/4.1.0.nix
··· 1 - { lib, fetchFromGitHub, python3 }: 2 - 3 - let 4 - pname = "scons"; 5 - version = "4.1.0"; 6 - src = fetchFromGitHub { 7 - owner = "Scons"; 8 - repo = "scons"; 9 - rev = version; 10 - hash = "sha256-ldus/9ghqAMB7A+NrHiCQm7saCdIpqzufGCLxWRhYKU="; 11 - }; 12 - in 13 - python3.pkgs.buildPythonApplication { 14 - inherit pname version src; 15 - 16 - outputs = [ "out" "man" ]; 17 - 18 - postPatch = '' 19 - substituteInPlace setup.cfg \ 20 - --replace "build/dist" "dist" 21 - ''; 22 - 23 - preConfigure = '' 24 - python scripts/scons.py 25 - ''; 26 - 27 - postInstall = '' 28 - mkdir -pv "$man/share/man/man1" 29 - mv -v "$out/"*.1 "$man/share/man/man1/" 30 - ''; 31 - 32 - setupHook = ./setup-hook.sh; 33 - 34 - # The release tarballs don't contain any tests (runtest.py and test/*): 35 - doCheck = false; 36 - 37 - passthru = { 38 - # expose the used python version so tools using this (and extensing scos 39 - # with other python modules) can use the exact same python version. 40 - inherit python3; 41 - python = python3; 42 - }; 43 - 44 - meta = { 45 - description = "Improved, cross-platform substitute for Make"; 46 - longDescription = '' 47 - SCons is an Open Source software construction tool. Think of SCons as an 48 - improved, cross-platform substitute for the classic Make utility with 49 - integrated functionality similar to autoconf/automake and compiler caches 50 - such as ccache. In short, SCons is an easier, more reliable and faster way 51 - to build software. 52 - ''; 53 - homepage = "https://scons.org/"; 54 - license = lib.licenses.mit; 55 - maintainers = with lib.maintainers; [ AndersonTorres ]; 56 - }; 57 - }
-62
pkgs/development/tools/build-managers/scons/4.5.2.nix
··· 1 - { lib, fetchFromGitHub, python3 }: 2 - 3 - let 4 - pname = "scons"; 5 - version = "4.5.2"; 6 - src = fetchFromGitHub { 7 - owner = "Scons"; 8 - repo = "scons"; 9 - rev = version; 10 - hash = "sha256-vxJsz24jDsPcttwPXq9+ztc/N7W4Gkydgykk/FLgZLo="; 11 - }; 12 - in 13 - python3.pkgs.buildPythonApplication { 14 - inherit pname version src; 15 - 16 - outputs = [ "out" "man" ]; 17 - 18 - patches = [ 19 - ./env.patch 20 - ]; 21 - 22 - postPatch = '' 23 - substituteInPlace setup.cfg \ 24 - --replace "build/dist" "dist" \ 25 - --replace "build/doc/man/" "" 26 - ''; 27 - 28 - preConfigure = '' 29 - python scripts/scons.py 30 - ''; 31 - 32 - postInstall = '' 33 - mkdir -p "$man/share/man/man1" 34 - mv "$out/"*.1 "$man/share/man/man1/" 35 - ''; 36 - 37 - setupHook = ./setup-hook.sh; 38 - 39 - # The release tarballs don't contain any tests (runtest.py and test/*): 40 - doCheck = false; 41 - 42 - passthru = { 43 - # expose the used python version so tools using this (and extensing scos 44 - # with other python modules) can use the exact same python version. 45 - inherit python3; 46 - python = python3; 47 - }; 48 - 49 - meta = { 50 - description = "Improved, cross-platform substitute for Make"; 51 - longDescription = '' 52 - SCons is an Open Source software construction tool. Think of SCons as an 53 - improved, cross-platform substitute for the classic Make utility with 54 - integrated functionality similar to autoconf/automake and compiler caches 55 - such as ccache. In short, SCons is an easier, more reliable and faster way 56 - to build software. 57 - ''; 58 - homepage = "https://scons.org/"; 59 - license = lib.licenses.mit; 60 - maintainers = with lib.maintainers; [ AndersonTorres ]; 61 - }; 62 - }
pkgs/development/tools/build-managers/scons/env.patch pkgs/by-name/sc/scons/env.patch
pkgs/development/tools/build-managers/scons/setup-hook.sh pkgs/by-name/sc/scons/setup-hook.sh
-5
pkgs/top-level/all-packages.nix
··· 19309 19309 19310 19310 sca2d = callPackage ../development/tools/sca2d { }; 19311 19311 19312 - scons = scons_4_5_2; 19313 - scons_3_1_2 = callPackage ../development/tools/build-managers/scons/3.1.2.nix { }; 19314 - scons_4_1_0 = callPackage ../development/tools/build-managers/scons/4.1.0.nix { }; 19315 - scons_4_5_2 = callPackage ../development/tools/build-managers/scons/4.5.2.nix { }; 19316 - 19317 19312 mill = callPackage ../development/tools/build-managers/mill { }; 19318 19313 19319 19314 sbt = callPackage ../development/tools/build-managers/sbt { };