1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 importlib-metadata,
7 numpy,
8 rpyc4,
9 scipy,
10 appdirs,
11 callPackage,
12}:
13
14buildPythonPackage rec {
15 pname = "linien-common";
16 version = "2.0.4";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "linien-org";
21 repo = "linien";
22 rev = "refs/tags/v${version}";
23 hash = "sha256-TCQ1jLZpeQlG/ZyWY0qrHceMJ1TH7AYO7toYc74ZWq4=";
24 };
25
26 sourceRoot = "${src.name}/linien-common";
27
28 preBuild = ''
29 export HOME=$(mktemp -d)
30 '';
31
32 nativeBuildInputs = [ setuptools ];
33
34 propagatedBuildInputs = [
35 importlib-metadata
36 numpy
37 rpyc4
38 scipy
39 appdirs
40 ];
41
42 pythonImportsCheck = [ "linien_common" ];
43
44 passthru.tests = {
45 pytest = callPackage ./tests.nix { };
46 };
47
48 meta = with lib; {
49 description = "Shared components of the Linien spectroscopy lock application";
50 homepage = "https://github.com/linien-org/linien/tree/develop/linien-common";
51 changelog = "https://github.com/linien-org/linien/blob/v${version}/CHANGELOG.md";
52 license = licenses.gpl3Plus;
53 maintainers = with maintainers; [
54 fsagbuya
55 doronbehar
56 ];
57 };
58}