scons: 2.5.1 -> 3.0.0

"SCons release 3.0.0 now available from the download page at
SourceForge. This release should be used instead of 2.5.1. This release
fixes several issues. TThis will be the first release to support Python
versions earlier than 2.7 as well as 3.5+."

"NOTE: This is a major release. You should expect that some targets may
rebuild when upgrading. Significant changes in some python action
signatures. Also switching between PY 2.7 and PY 3.5, 3.6 will cause
rebuilds."

+56 -35
+32
pkgs/development/tools/build-managers/scons/common.nix
··· 1 + { version, sha256 }: 2 + 3 + { stdenv, fetchurl, fetchpatch, python2Packages }: 4 + 5 + let name = "scons"; 6 + in python2Packages.buildPythonApplication { 7 + name = "${name}-${version}"; 8 + 9 + src = fetchurl { 10 + url = "mirror://sourceforge/scons/${name}-${version}.tar.gz"; 11 + inherit sha256; 12 + }; 13 + 14 + # Fix a regression in 3.0.0 (causes build errors for some packages) 15 + patches = stdenv.lib.optional (version == "3.0.0") ./print-statements.patch; 16 + 17 + meta = with stdenv.lib; { 18 + homepage = http://scons.org/; 19 + description = "An improved, cross-platform substitute for Make"; 20 + license = licenses.mit; 21 + longDescription = '' 22 + SCons is an Open Source software construction tool. Think of 23 + SCons as an improved, cross-platform substitute for the classic 24 + Make utility with integrated functionality similar to 25 + autoconf/automake and compiler caches such as ccache. In short, 26 + SCons is an easier, more reliable and faster way to build 27 + software. 28 + ''; 29 + platforms = platforms.all; 30 + maintainers = [ primeos ]; 31 + }; 32 + }
+8 -24
pkgs/development/tools/build-managers/scons/default.nix
··· 1 - {stdenv, fetchurl, python2Packages}: 1 + { callPackage, stdenv }: 2 2 3 3 let 4 - name = "scons"; 5 - version = "2.5.1"; 6 - in python2Packages.buildPythonApplication { 7 - name = "${name}-${version}"; 8 - 9 - src = fetchurl { 10 - url = "mirror://sourceforge/scons/${name}-${version}.tar.gz"; 4 + mkScons = args: callPackage (import ./common.nix args) { }; 5 + in { 6 + scons_2_5_1 = mkScons { 7 + version = "2.5.1"; 11 8 sha256 = "1wji1z9jdkhnmm99apx6fhld9cs52rr56aigniyrcsmlwy52298b"; 12 9 }; 13 - # No tests 14 - doCheck = false; 15 - 16 - meta = { 17 - homepage = http://scons.org/; 18 - description = "An improved, cross-platform substitute for Make"; 19 - license = stdenv.lib.licenses.mit; 20 - longDescription = '' 21 - SCons is an Open Source software construction tool. Think of 22 - SCons as an improved, cross-platform substitute for the classic 23 - Make utility with integrated functionality similar to 24 - autoconf/automake and compiler caches such as ccache. In short, 25 - SCons is an easier, more reliable and faster way to build 26 - software. 27 - ''; 28 - platforms = stdenv.lib.platforms.all; 10 + scons_3_0_0 = mkScons { 11 + version = "3.0.0"; 12 + sha256 = "05jjykllk4icnq6gfrkgkbc4ggxm7983q6r33mrhpilqbd02ylqg"; 29 13 }; 30 14 }
-10
pkgs/development/tools/build-managers/scons/default.upstream
··· 1 - url http://sourceforge.net/projects/scons/files/scons/ 2 - SF_version_dir 3 - version_link '[.]tar[.]gz/download$' 4 - SF_redirect 5 - ensure_hash 6 - 7 - do_overwrite() { 8 - set_var_value version "$CURRENT_VERSION" 9 - set_var_value sha256 "$CURRENT_HASH" 10 - }
+13
pkgs/development/tools/build-managers/scons/print-statements.patch
··· 1 + diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py 2 + index 558e28f9..8fea9c4d 100644 3 + --- src/engine/SCons/Script/SConscript.py 4 + +++ src/engine/SCons/Script/SConscript.py 5 + @@ -5,8 +5,6 @@ 6 + 7 + """ 8 + 9 + -from __future__ import print_function 10 + - 11 + # 12 + # __COPYRIGHT__ 13 + #
+3 -1
pkgs/top-level/all-packages.nix
··· 7536 7536 7537 7537 selendroid = callPackage ../development/tools/selenium/selendroid { }; 7538 7538 7539 - scons = callPackage ../development/tools/build-managers/scons { }; 7539 + sconsPackages = callPackage ../development/tools/build-managers/scons { }; 7540 + scons = sconsPackages.scons_3_0_0; 7541 + scons_2_5_1 = sconsPackages.scons_2_5_1; 7540 7542 7541 7543 sbt = callPackage ../development/tools/build-managers/sbt { }; 7542 7544 sbt-with-scala-native = callPackage ../development/tools/build-managers/sbt/scala-native.nix { };