diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers/scons')
5 files changed, 142 insertions, 82 deletions
diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/3.1.2.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/3.1.2.nix new file mode 100644 index 000000000000..097a8ffd519e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scons/3.1.2.nix @@ -0,0 +1,38 @@ +{ lib, fetchurl, python3 }: + +let + pname = "scons"; + version = "3.1.2"; + src = fetchurl { + url = "mirror://sourceforge/scons/scons-${version}.tar.gz"; + hash = "sha256-eAHz9i9lRSjict94C+EMDpM36JdlC2Ldzunzn94T+Ps="; + }; +in +python3.pkgs.buildPythonApplication { + inherit pname version src; + + setupHook = ./setup-hook.sh; + + doCheck = true; + + passthru = { + # expose the used python version so tools using this (and extensing scos + # with other python modules) can use the exact same python version. + inherit python3; + python = python3; + }; + + meta = { + description = "An improved, cross-platform substitute for Make"; + longDescription = '' + SCons is an Open Source software construction tool. Think of SCons as an + improved, cross-platform substitute for the classic Make utility with + integrated functionality similar to autoconf/automake and compiler caches + such as ccache. In short, SCons is an easier, more reliable and faster way + to build software. + ''; + homepage = "https://scons.org/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ AndersonTorres ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/4.1.0.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/4.1.0.nix new file mode 100644 index 000000000000..65499280c2c4 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scons/4.1.0.nix @@ -0,0 +1,50 @@ +{ lib, fetchurl, python3 }: + +let + pname = "scons"; + version = "4.1.0"; + src = fetchurl { + url = "mirror://sourceforge/scons/scons-${version}.tar.gz"; + hash = "sha256-ctKNdi4hJnh/Fz49WeCJI5+LL06e8xFNV/ELEgaYXYU="; + }; +in +python3.pkgs.buildPythonApplication { + inherit pname version src; + + postPatch = '' + substituteInPlace setup.cfg \ + --replace "build/dist" "dist" \ + --replace "build/doc/man/" "" + ''; + + postInstall = '' + mkdir -p "$out/share/man/man1" + mv "$out/"*.1 "$out/share/man/man1/" + ''; + + setupHook = ./setup-hook.sh; + + # The release tarballs don't contain any tests (runtest.py and test/*): + doCheck = false; + + passthru = { + # expose the used python version so tools using this (and extensing scos + # with other python modules) can use the exact same python version. + inherit python3; + python = python3; + }; + + meta = { + description = "An improved, cross-platform substitute for Make"; + longDescription = '' + SCons is an Open Source software construction tool. Think of SCons as an + improved, cross-platform substitute for the classic Make utility with + integrated functionality similar to autoconf/automake and compiler caches + such as ccache. In short, SCons is an easier, more reliable and faster way + to build software. + ''; + homepage = "https://scons.org/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ AndersonTorres ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/4.5.2.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/4.5.2.nix new file mode 100644 index 000000000000..61d1719642e0 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/build-managers/scons/4.5.2.nix @@ -0,0 +1,54 @@ +{ lib, fetchurl, python3 }: + +let + pname = "scons"; + version = "4.5.2"; + src = fetchurl { + url = "mirror://sourceforge/project/scons/scons/${version}/SCons-${version}.tar.gz"; + hash = "sha256-ziaqyV01CnmkGSGWsL6sPLJPTMq84BI+so0zcPV28HI="; + }; +in +python3.pkgs.buildPythonApplication { + inherit pname version src; + + patches = [ + ./env.patch + ]; + + postPatch = '' + substituteInPlace setup.cfg \ + --replace "build/dist" "dist" \ + --replace "build/doc/man/" "" + ''; + + postInstall = '' + mkdir -p "$out/share/man/man1" + mv "$out/"*.1 "$out/share/man/man1/" + ''; + + setupHook = ./setup-hook.sh; + + # The release tarballs don't contain any tests (runtest.py and test/*): + doCheck = false; + + passthru = { + # expose the used python version so tools using this (and extensing scos + # with other python modules) can use the exact same python version. + inherit python3; + python = python3; + }; + + meta = { + description = "An improved, cross-platform substitute for Make"; + longDescription = '' + SCons is an Open Source software construction tool. Think of SCons as an + improved, cross-platform substitute for the classic Make utility with + integrated functionality similar to autoconf/automake and compiler caches + such as ccache. In short, SCons is an easier, more reliable and faster way + to build software. + ''; + homepage = "https://scons.org/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ AndersonTorres ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix deleted file mode 100644 index 64890d12cea9..000000000000 --- a/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ version, sha256 }: - -{ fetchurl, python, lib }: - -python.pkgs.buildPythonApplication rec { - pname = "scons"; - inherit version; - - src = fetchurl { - 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" - '' + lib.optionalString (lib.versionAtLeast version "4.1.0") '' - substituteInPlace setup.cfg \ - --replace "build/doc/man/" "" - ''; - - # The release tarballs don't contain any tests (runtest.py and test/*): - doCheck = lib.versionOlder version "4.0.0"; - - postInstall = lib.optionalString (lib.versionAtLeast version "4.1.0") '' - mkdir -p "$out/share/man/man1" - mv "$out/"*.1 "$out/share/man/man1/" - ''; - - passthru = { - # expose the used python version so tools using this (and extensing scos with other python modules) - # can use the exact same python version. - inherit python; - }; - - meta = with lib; { - description = "An improved, cross-platform substitute for Make"; - longDescription = '' - SCons is an Open Source software construction tool. Think of - SCons as an improved, cross-platform substitute for the classic - Make utility with integrated functionality similar to - autoconf/automake and compiler caches such as ccache. In short, - SCons is an easier, more reliable and faster way to build - software. - ''; - homepage = "https://scons.org/"; - changelog = "https://raw.githubusercontent.com/SConsProject/scons/rel_${version}/src/CHANGES.txt"; - license = licenses.mit; - platforms = platforms.all; - maintainers = with lib.maintainers; [ AndersonTorres ]; - }; -} diff --git a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix b/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix deleted file mode 100644 index f338d346a701..000000000000 --- a/nixpkgs/pkgs/development/tools/build-managers/scons/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ callPackage, python2, python3 }: - -let - mkScons = args: callPackage (import ./common.nix args) { - python = python3; - }; -in { - scons_3_1_2 = (mkScons { - version = "3.1.2"; - sha256 = "1yzq2gg9zwz9rvfn42v5jzl3g4qf1khhny6zfbi2hib55zvg60bq"; - }); - scons_4_1_0 = mkScons { - version = "4.1.0"; - sha256 = "11axk03142ziax6i3wwy9qpqp7r3i7h5jg9y2xzph9i15rv8vlkj"; - }; - scons_latest = mkScons { - version = "4.5.2"; - sha256 = "sha256-ziaqyV01CnmkGSGWsL6sPLJPTMq84BI+so0zcPV28HI="; - }; -} |