{ 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 ''; })