1{
2 lib,
3 buildPythonPackage,
4 flit-core,
5 ninja,
6}:
7
8buildPythonPackage {
9 pname = "ninja";
10 inherit (ninja) version;
11 format = "pyproject";
12
13 src = ./stub;
14
15 postUnpack = ''
16 substituteInPlace "$sourceRoot/pyproject.toml" \
17 --subst-var version
18
19 substituteInPlace "$sourceRoot/ninja/__init__.py" \
20 --subst-var version \
21 --subst-var-by BIN_DIR "${ninja}/bin"
22 '';
23
24 inherit (ninja) setupHook;
25
26 nativeBuildInputs = [ flit-core ];
27
28 preBuild = ''
29 cp "${ninja.src}/misc/ninja_syntax.py" ninja/ninja_syntax.py
30 '';
31
32 pythonImportsCheck = [
33 "ninja"
34 "ninja.ninja_syntax"
35 ];
36
37 meta = with lib; {
38 description = "Small build system with a focus on speed";
39 mainProgram = "ninja";
40 longDescription = ''
41 This is a stub of the ninja package on PyPI that uses the ninja program
42 provided by nixpkgs instead of downloading ninja from the web.
43 '';
44 homepage = "https://github.com/scikit-build/ninja-python-distributions";
45 license = licenses.asl20;
46 maintainers = with maintainers; [
47 _999eagle
48 tjni
49 ];
50 };
51}