commit 75f92cbf62a61b1dbd44ed302c9d9ae2410d13ab
parent d27220df693cb41b1323931c28d5a778138df9f3
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Thu, 18 Jun 2026 15:02:07 +0200
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(-)
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 + ''; +})