depot/third_party/nixpkgs/pkgs/development/tools/build-managers/scons/common.nix
Default email ae91cbe6cc Project import generated by Copybara.
GitOrigin-RevId: 536fe36e23ab0fc8b7f35c24603422eee9fc17a2
2021-02-05 18:12:51 +01:00

48 lines
1.5 KiB
Nix

{ version, sha256 }:
{ fetchurl, python3Packages, lib }:
python3Packages.buildPythonApplication rec {
pname = "scons";
inherit version;
src = fetchurl {
url = "mirror://sourceforge/scons/${pname}-${version}.tar.gz";
inherit sha256;
};
setupHook = ./setup-hook.sh;
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/"
'';
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 = [ maintainers.primeos ];
};
}