nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 fetchpatch,
5 python3Packages,
6}:
7python3Packages.buildPythonApplication rec {
8 pname = "scons";
9 version = "4.7.0";
10
11 src = fetchFromGitHub {
12 owner = "Scons";
13 repo = "scons";
14 rev = version;
15 hash = "sha256-7VzGuz9CAUF6MRCEpj5z1FkZD19/Ic+YBukYQocvkr0=";
16 };
17
18 pyproject = true;
19
20 patches = [
21 ./env.patch
22 ./no-man-pages.patch
23 # Fix builds on sandboxed Darwin: https://github.com/SCons/scons/pull/4603
24 (fetchpatch {
25 url = "https://github.com/SCons/scons/commit/2d5e3a40a613225b329776ab9dbd9abcd2d24222.patch";
26 hash = "sha256-N1xQOvsPTi7a2maEZJQVu6vJ9AoWMqDOsScXHp9KuXI=";
27 })
28 ];
29
30 build-system = [
31 python3Packages.setuptools
32 ];
33
34 dependencies = [
35 python3Packages.distutils
36 ];
37
38 setupHook = ./setup-hook.sh;
39
40 passthru = {
41 # expose the used python version so tools using this (and extensing scos
42 # with other python modules) can use the exact same python version.
43 inherit (python3Packages) python;
44 };
45
46 meta = {
47 description = "Improved, cross-platform substitute for Make";
48 longDescription = ''
49 SCons is an Open Source software construction tool. Think of SCons as an
50 improved, cross-platform substitute for the classic Make utility with
51 integrated functionality similar to autoconf/automake and compiler caches
52 such as ccache. In short, SCons is an easier, more reliable and faster way
53 to build software.
54 '';
55 homepage = "https://scons.org/";
56 license = lib.licenses.mit;
57 maintainers = with lib.maintainers; [ ];
58 };
59}