zaphyra's git: nixfiles

zaphyra's nixfiles

commit 75f92cbf62a61b1dbd44ed302c9d9ae2410d13ab
parent d27220df693cb41b1323931c28d5a778138df9f3
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Thu, 18 Jun 2026 15:02:07 +0200

packages: add `its-g5-bridge`
1 file changed, 56 insertions(+), 0 deletions(-)
A
packages/its-g5-bridge/package.nix
|
56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
diff --git a/packages/its-g5-bridge/package.nix b/packages/its-g5-bridge/package.nix
@@ -0,0 +1,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
+  '';
+})