biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / sigrok / default.nix
blob40253c5ad19c70d9588a7df78405abb05f515707
2   lib,
3   stdenv,
4   libsigrok,
5   toPythonModule,
6   python,
7   autoreconfHook,
8   pythonImportsCheckHook,
9   pythonCatchConflictsHook,
10   swig,
11   setuptools,
12   numpy,
13   pygobject3,
16 # build libsigrok plus its Python bindings. Unfortunately it does not appear
17 # to be possible to build them separately, at least not easily.
18 toPythonModule (
19   (libsigrok.override { inherit python; }).overrideAttrs (orig: {
20     pname = "${python.libPrefix}-sigrok";
22     patches = orig.patches or [ ] ++ [
23       # Makes libsigrok install the bindings into site-packages properly (like
24       # we expect) instead of making a version-specific *.egg subdirectory.
25       ./python-install.patch
26     ];
28     nativeBuildInputs =
29       orig.nativeBuildInputs or [ ]
30       ++ [
31         autoreconfHook
32         setuptools
33         swig
34         numpy
35       ]
36       ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
37         pythonImportsCheckHook
38         pythonCatchConflictsHook
39       ];
41     buildInputs = orig.buildInputs or [ ] ++ [
42       pygobject3 # makes headers available the configure script checks for
43     ];
45     propagatedBuildInputs = orig.propagatedBuildInputs or [ ] ++ [
46       pygobject3
47       numpy
48     ];
50     postInstall = ''
51       ${orig.postInstall or ""}
53       # for pythonImportsCheck
54       export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
55     '';
57     pythonImportsCheck = [
58       "sigrok"
59       "sigrok.core"
60     ];
62     meta = orig.meta // {
63       description = "Python bindings for libsigrok";
64       maintainers = orig.meta.maintainers ++ [ lib.maintainers.sternenseemann ];
65     };
66   })