blob: a9e179d902988bfd281cfa272f2e06158f6ee43a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
{ stdenv
, cmake
, python3
, writeTextFile
, protobuf
, src
, version
}:
let
pyproject_toml = writeTextFile {
name = "pyproject.toml";
text = ''
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.setuptools]
include-package-data = true
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
"*" = ["nanopb.proto"]
[project]
name = "nanopb"
version = "${version}"
dependencies = [
"setuptools",
"protobuf",
"six"
]
'';
};
in
stdenv.mkDerivation {
pname = "nanopb-generator-out";
inherit src version;
nativeBuildInputs = [ cmake protobuf python3 ];
cmakeFlags = [
"-Dnanopb_BUILD_RUNTIME=OFF"
"-Dnanopb_BUILD_GENERATOR=ON"
"-Dnanopb_PYTHON_INSTDIR_OVERRIDE=$out/lib/python/site-packages"
];
preConfigure = ''
cmakeFlags+=" -Dnanopb_PYTHON_INSTDIR_OVERRIDE=$out/lib/python/site-packages"
'';
postInstall = ''
rm -rf $out/include
rm -rf $out/lib/cmake
ln -s $out/lib/python/site-packages $out/src
ln -s ${pyproject_toml} $out/pyproject.toml
'';
}
|