zaphyra's git: nixfiles

zaphyra's nixfiles

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 
{
  fetchFromGitHub,
  python3Packages,
}:

python3Packages.buildPythonApplication (finalAttrs: {
  name = "its-g5-bridge";
  version = "0.2.3";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "pit711";
    repo = "v2x2map";
    rev = "v${finalAttrs.version}";
    hash = "sha256-tIeOICvW8pNA+dR3gzrOoJozWy8tCecOu3Gpz0k0Mrk=";
  };

  postPatch = ''
    substituteInPlace ./bridge/dashboard_server.py \
      --replace-fail   '_HTML_PATH = os.path.join(_HERE, "dashboard.html")' "_HTML_PATH = \"''${out}/share/its-g5-bridge/dashboard.html\""
  '';

  build-system = with python3Packages; [ setuptools ];

  dependencies = with python3Packages; [
    pyserial
    paho-mqtt
  ];

  preBuild = ''
    cat > pyproject.toml << EOF
    [build-system]
    requires = ["setuptools"]
    build-backend = "setuptools.build_meta"

    [tool.setuptools]
    package-dir = {"" = "bridge"}

    [project]
    name = "its-g5-bridge"
    version = "${finalAttrs.version}"
    dependencies = [
      "pyserial",
      "paho-mqtt",
    ]

    [project.scripts]
    its-g5-bridge = "its_g5_bridge:main"

    [tool.setuptools.data-files]
    "share/its-g5-bridge" = [
      "./bridge/dashboard.html",
    ]
    EOF
  '';
})