nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 autoPatchelfHook,
5 buildPythonPackage,
6 colorama,
7 distro,
8 fetchFromGitHub,
9 packaging,
10 psutil,
11 python-dateutil,
12 pyyaml,
13 requests-cache,
14 requests-toolbelt,
15 requests,
16 resolvelib,
17 setuptools,
18 stevedore,
19 tqdm,
20}:
21
22buildPythonPackage rec {
23 pname = "e3-core";
24 version = "22.10.0";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "AdaCore";
29 repo = "e3-core";
30 tag = "v${version}";
31 hash = "sha256-LHWtgIvbS1PaF85aOpdhR0rWQGRUtbY0Qg1SZxQOsSc=";
32 };
33
34 build-system = [ setuptools ];
35
36 nativeBuildInputs = [ autoPatchelfHook ];
37
38 dependencies = [
39 colorama
40 packaging
41 python-dateutil
42 pyyaml
43 requests
44 requests-cache
45 requests-toolbelt
46 resolvelib
47 stevedore
48 tqdm
49 ]
50 ++ lib.optional stdenv.hostPlatform.isLinux [
51 # See https://github.com/AdaCore/e3-core/blob/v22.6.0/pyproject.toml#L37-L42
52 # These are required only on Linux. Darwin has its own set of requirements
53 psutil
54 distro
55 ];
56
57 pythonImportsCheck = [ "e3" ];
58
59 # e3-core is tested with tox; it's hard to test without internet.
60 doCheck = false;
61
62 meta = {
63 changelog = "https://github.com/AdaCore/e3-core/releases/tag/${src.tag}";
64 homepage = "https://github.com/AdaCore/e3-core/";
65 description = "Core framework for developing portable automated build systems";
66 license = lib.licenses.gpl3Only;
67 maintainers = with lib.maintainers; [ atalii ];
68 mainProgram = "e3";
69 # See the comment regarding distro and psutil. Other platforms are supported
70 # upstream, but not by this package.
71 platforms = lib.platforms.linux;
72 };
73}