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."
This commit is contained in:
Michael Weiss 2017-10-19 14:54:59 +02:00
parent 3c62474d08
commit e40233e136
5 changed files with 56 additions and 35 deletions

@ -0,0 +1,32 @@
{ version, sha256 }:
{ stdenv, fetchurl, fetchpatch, python2Packages }:
let name = "scons";
in python2Packages.buildPythonApplication {
name = "${name}-${version}";
src = fetchurl {
url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
inherit sha256;
};
# Fix a regression in 3.0.0 (causes build errors for some packages)
patches = stdenv.lib.optional (version == "3.0.0") ./print-statements.patch;
meta = with stdenv.lib; {
homepage = http://scons.org/;
description = "An improved, cross-platform substitute for Make";
license = licenses.mit;
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.
'';
platforms = platforms.all;
maintainers = [ primeos ];
};
}

@ -1,30 +1,14 @@
{stdenv, fetchurl, python2Packages}:
{ callPackage, stdenv }:
let
name = "scons";
version = "2.5.1";
in python2Packages.buildPythonApplication {
name = "${name}-${version}";
src = fetchurl {
url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
mkScons = args: callPackage (import ./common.nix args) { };
in {
scons_2_5_1 = mkScons {
version = "2.5.1";
sha256 = "1wji1z9jdkhnmm99apx6fhld9cs52rr56aigniyrcsmlwy52298b";
};
# No tests
doCheck = false;
meta = {
homepage = http://scons.org/;
description = "An improved, cross-platform substitute for Make";
license = stdenv.lib.licenses.mit;
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.
'';
platforms = stdenv.lib.platforms.all;
scons_3_0_0 = mkScons {
version = "3.0.0";
sha256 = "05jjykllk4icnq6gfrkgkbc4ggxm7983q6r33mrhpilqbd02ylqg";
};
}

@ -1,10 +0,0 @@
url http://sourceforge.net/projects/scons/files/scons/
SF_version_dir
version_link '[.]tar[.]gz/download$'
SF_redirect
ensure_hash
do_overwrite() {
set_var_value version "$CURRENT_VERSION"
set_var_value sha256 "$CURRENT_HASH"
}

@ -0,0 +1,13 @@
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py
index 558e28f9..8fea9c4d 100644
--- src/engine/SCons/Script/SConscript.py
+++ src/engine/SCons/Script/SConscript.py
@@ -5,8 +5,6 @@
"""
-from __future__ import print_function
-
#
# __COPYRIGHT__
#

@ -7536,7 +7536,9 @@ with pkgs;
selendroid = callPackage ../development/tools/selenium/selendroid { };
scons = callPackage ../development/tools/build-managers/scons { };
sconsPackages = callPackage ../development/tools/build-managers/scons { };
scons = sconsPackages.scons_3_0_0;
scons_2_5_1 = sconsPackages.scons_2_5_1;
sbt = callPackage ../development/tools/build-managers/sbt { };
sbt-with-scala-native = callPackage ../development/tools/build-managers/sbt/scala-native.nix { };