nur-packages

My NUR packages
git clone git://git.sikmir.ru/nur-packages
Log | Files | Refs | README | LICENSE

commit fe9d83a611be769e47f5d62b6f3cf9c3903f12a4
parent c3d190b0a45bc95ee13f11ae5c993ad0fdc441c8
Author: Nikolay Korotkiy <sikmir@disroot.org>
Date:   Fri, 14 Feb 2025 23:34:30 +0400

Up

Diffstat:
Mmodules/nixos/default.nix | 4++--
Amodules/nixos/services/elevation-server.nix | 95+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dmodules/nixos/services/elevation_server.nix | 95-------------------------------------------------------------------------------
Amodules/nixos/services/flashmq.nix | 34++++++++++++++++++++++++++++++++++
Amodules/nixos/services/tracks-storage-server.nix | 80+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dmodules/nixos/services/tracks_storage_server.nix | 80-------------------------------------------------------------------------------
Mpkgs/data/maps/dem/default.nix | 4++--
Mpkgs/default.nix | 11++++++-----
Apkgs/images/elevation-server/default.nix | 25+++++++++++++++++++++++++
Dpkgs/images/elevation_server/default.nix | 25-------------------------
Apkgs/nakarte/elevation-server/default.nix | 37+++++++++++++++++++++++++++++++++++++
Dpkgs/nakarte/elevation_server/default.nix | 37-------------------------------------
Mpkgs/nakarte/map-tiler/default.nix | 4++--
Apkgs/nakarte/mapillary-render/default.nix | 39+++++++++++++++++++++++++++++++++++++++
Apkgs/nakarte/ozi-map/default.nix | 40++++++++++++++++++++++++++++++++++++++++
Dpkgs/nakarte/ozi_map/default.nix | 40----------------------------------------
Apkgs/nakarte/tracks-storage-server/default.nix | 54++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dpkgs/nakarte/tracks_storage_server/default.nix | 54------------------------------------------------------
Apkgs/nakarte/westra-passes/default.nix | 36++++++++++++++++++++++++++++++++++++
Dpkgs/nakarte/westra_passes_for_nakarte/default.nix | 36------------------------------------
20 files changed, 452 insertions(+), 378 deletions(-)

diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix @@ -1,6 +1,6 @@ { - elevation_server = ./services/elevation_server.nix; + elevation-server = ./services/elevation-server.nix; level0 = ./services/level0.nix; mbtileserver = ./services/mbtileserver.nix; - tracks_storage_server = ./services/tracks_storage_server.nix; + tracks-storage-server = ./services/tracks-storage-server.nix; } diff --git a/modules/nixos/services/elevation-server.nix b/modules/nixos/services/elevation-server.nix @@ -0,0 +1,95 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.services.elevation-server; +in +{ + options.services.elevation-server = { + enable = mkEnableOption "elevation-server"; + package = mkPackageOption pkgs "elevation-server" { }; + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "Address to bind to."; + }; + port = mkOption { + type = types.port; + default = 8080; + description = "Port to listen."; + }; + threads = mkOption { + type = types.int; + default = 10; + description = "Maximum number of concurrently served requests."; + }; + demTiles = mkOption { + type = types.path; + default = "/srv/tilesets/dem_tiles"; + description = "The path to file with elevation tile."; + }; + nginx = mkOption { + default = { }; + description = '' + Configuration for nginx reverse proxy. + ''; + type = types.submodule { + options = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Configure the nginx reverse proxy settings. + ''; + }; + hostName = mkOption { + type = types.str; + description = '' + The hostname use to setup the virtualhost configuration + ''; + }; + }; + }; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + { + systemd.services.elevation-server = { + description = "Elevation server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = true; + LogsDirectory = "elevation-server"; + ExecStart = "${getBin cfg.package}/bin/elevation_server -dem ${cfg.demTiles} -host ${cfg.address} -port ${toString cfg.port} -threads ${toString cfg.threads}"; + Restart = "always"; + }; + }; + } + (mkIf cfg.nginx.enable { + services.nginx = { + enable = true; + virtualHosts."${cfg.nginx.hostName}" = { + locations."/" = { + proxyPass = "http://${cfg.address}:${toString cfg.port}"; + extraConfig = '' + more_clear_headers Access-Control-Allow-Origin; + more_clear_headers Access-Control-Allow-Credentials; + more_set_headers 'Access-Control-Allow-Origin: $http_origin'; + more_set_headers 'Access-Control-Allow-Credentials: true'; + more_set_headers 'Cache-Control: max-age=86400'; + more_set_headers 'Vary: Origin'; + ''; + }; + }; + }; + }) + ]); +} diff --git a/modules/nixos/services/elevation_server.nix b/modules/nixos/services/elevation_server.nix @@ -1,95 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.services.elevation_server; -in -{ - options.services.elevation_server = { - enable = mkEnableOption "elevation_server"; - package = mkPackageOption pkgs "elevation_server" { }; - address = mkOption { - type = types.str; - default = "127.0.0.1"; - description = "Address to bind to."; - }; - port = mkOption { - type = types.port; - default = 8080; - description = "Port to listen."; - }; - threads = mkOption { - type = types.int; - default = 10; - description = "Maximum number of concurrently served requests."; - }; - demTiles = mkOption { - type = types.path; - default = "/srv/tilesets/dem_tiles"; - description = "The path to file with elevation tile."; - }; - nginx = mkOption { - default = { }; - description = '' - Configuration for nginx reverse proxy. - ''; - type = types.submodule { - options = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Configure the nginx reverse proxy settings. - ''; - }; - hostName = mkOption { - type = types.str; - description = '' - The hostname use to setup the virtualhost configuration - ''; - }; - }; - }; - }; - }; - - config = mkIf cfg.enable (mkMerge [ - { - systemd.services.elevation_server = { - description = "Elevation server"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - DynamicUser = true; - LogsDirectory = "elevation_server"; - ExecStart = "${getBin cfg.package}/bin/elevation_server -dem ${cfg.demTiles} -host ${cfg.address} -port ${toString cfg.port} -threads ${toString cfg.threads}"; - Restart = "always"; - }; - }; - } - (mkIf cfg.nginx.enable { - services.nginx = { - enable = true; - virtualHosts."${cfg.nginx.hostName}" = { - locations."/" = { - proxyPass = "http://${cfg.address}:${toString cfg.port}"; - extraConfig = '' - more_clear_headers Access-Control-Allow-Origin; - more_clear_headers Access-Control-Allow-Credentials; - more_set_headers 'Access-Control-Allow-Origin: $http_origin'; - more_set_headers 'Access-Control-Allow-Credentials: true'; - more_set_headers 'Cache-Control: max-age=86400'; - more_set_headers 'Vary: Origin'; - ''; - }; - }; - }; - }) - ]); -} diff --git a/modules/nixos/services/flashmq.nix b/modules/nixos/services/flashmq.nix @@ -0,0 +1,34 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.services.flashmq; +in +{ + options.services.flashmq = { + enable = mkEnableOption "flashmq"; + }; + + config = mkIf cfg.enable { + systemd.services.flashmq = { + description = "FlashMQ MQTT server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = true; + LogsDirectory = "flashmq"; + LimitNOFILE = "infinity"; + ExecStart = "${cfg.flashmq}/bin/flashmq -c ${configFile}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + Restart = "on-failure"; + RestartSec = "5s"; + }; + }; + }; +} diff --git a/modules/nixos/services/tracks-storage-server.nix b/modules/nixos/services/tracks-storage-server.nix @@ -0,0 +1,80 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = config.services.tracks-storage-server; +in +{ + options.services.tracks-storage-server = { + enable = mkEnableOption "tracks-storage-server"; + package = mkPackageOption pkgs "tracks-storage-server" { }; + nginx = mkOption { + default = { }; + description = '' + Configuration for nginx reverse proxy. + ''; + type = types.submodule { + options = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Configure the nginx reverse proxy settings. + ''; + }; + hostName = mkOption { + type = types.str; + description = '' + The hostname use to setup the virtualhost configuration + ''; + }; + }; + }; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + { + services.uwsgi.enable = true; + services.uwsgi.plugins = [ "python3" ]; + services.uwsgi.instance = { + type = "emperor"; + vassals.tracks = { + type = "normal"; + master = true; + workers = 2; + socket = "127.0.0.1:8181"; + module = "server:application"; + pythonPackages = self: [ cfg.package ]; + }; + }; + } + (mkIf cfg.nginx.enable { + services.nginx = { + enable = true; + virtualHosts."${cfg.nginx.hostName}" = { + locations."/" = { + extraConfig = '' + uwsgi_pass localhost:8181; + include ${config.services.nginx.package}/conf/uwsgi_params; + + more_clear_headers Access-Control-Allow-Origin; + more_clear_headers Access-Control-Allow-Credentials; + more_set_headers 'Access-Control-Allow-Origin: $http_origin'; + more_set_headers 'Access-Control-Allow-Credentials: true'; + more_set_headers 'Cache-Control: max-age=315360000'; + more_set_headers 'Expires: Thu, 31 Dec 2037 23:55:55 GMT'; + more_set_headers 'Vary: Origin'; + ''; + }; + }; + }; + }) + ]); +} diff --git a/modules/nixos/services/tracks_storage_server.nix b/modules/nixos/services/tracks_storage_server.nix @@ -1,80 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.services.tracks_storage_server; -in -{ - options.services.tracks_storage_server = { - enable = mkEnableOption "tracks_storage_server"; - package = mkPackageOption pkgs "tracks_storage_server" { }; - nginx = mkOption { - default = { }; - description = '' - Configuration for nginx reverse proxy. - ''; - type = types.submodule { - options = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Configure the nginx reverse proxy settings. - ''; - }; - hostName = mkOption { - type = types.str; - description = '' - The hostname use to setup the virtualhost configuration - ''; - }; - }; - }; - }; - }; - - config = mkIf cfg.enable (mkMerge [ - { - services.uwsgi.enable = true; - services.uwsgi.plugins = [ "python3" ]; - services.uwsgi.instance = { - type = "emperor"; - vassals.tracks = { - type = "normal"; - master = true; - workers = 2; - socket = "127.0.0.1:8181"; - module = "server:application"; - pythonPackages = self: [ cfg.package ]; - }; - }; - } - (mkIf cfg.nginx.enable { - services.nginx = { - enable = true; - virtualHosts."${cfg.nginx.hostName}" = { - locations."/" = { - extraConfig = '' - uwsgi_pass localhost:8181; - include ${config.services.nginx.package}/conf/uwsgi_params; - - more_clear_headers Access-Control-Allow-Origin; - more_clear_headers Access-Control-Allow-Credentials; - more_set_headers 'Access-Control-Allow-Origin: $http_origin'; - more_set_headers 'Access-Control-Allow-Credentials: true'; - more_set_headers 'Cache-Control: max-age=315360000'; - more_set_headers 'Expires: Thu, 31 Dec 2037 23:55:55 GMT'; - more_set_headers 'Vary: Origin'; - ''; - }; - }; - }; - }) - ]); -} diff --git a/pkgs/data/maps/dem/default.nix b/pkgs/data/maps/dem/default.nix @@ -4,7 +4,7 @@ fetchurl, unzip, gdal, - elevation_server, + elevation-server, }: let version = "2014-05-25"; @@ -55,7 +55,7 @@ in nativeBuildInputs = [ unzip - elevation_server + elevation-server ]; dontFixup = true; diff --git a/pkgs/default.nix b/pkgs/default.nix @@ -299,7 +299,7 @@ lib.makeScope newScope ( dockerImages = { agate = callPackage ./images/agate { }; - elevation_server = callPackage ./images/elevation_server { }; + elevation-server = callPackage ./images/elevation-server { }; git = callPackage ./images/git { git = pkgs.gitMinimal.override { perlSupport = false; @@ -457,17 +457,18 @@ lib.makeScope newScope ( ### NAKARTE - elevation_server = callPackage ./nakarte/elevation_server { }; + elevation-server = callPackage ./nakarte/elevation-server { }; map-tiler = callPackage ./nakarte/map-tiler { python3Packages = pkgs.python310Packages; }; + mapillary-render = callPackage ./nakarte/mapillary-render { }; maprec = callPackage ./nakarte/maprec { python3Packages = pkgs.python310Packages; }; #nakarte = callPackage ./nakarte/nakarte { }; - ozi_map = callPackage ./nakarte/ozi_map { python3Packages = pkgs.python310Packages; }; + ozi-map = callPackage ./nakarte/ozi-map { python3Packages = pkgs.python310Packages; }; pyimagequant = callPackage ./nakarte/pyimagequant { python3Packages = pkgs.python310Packages; }; thinplatespline = callPackage ./nakarte/thinplatespline { python3Packages = pkgs.python310Packages; }; - tracks_storage_server = pkgs.python3Packages.callPackage ./nakarte/tracks_storage_server { }; - westra_passes_for_nakarte = callPackage ./nakarte/westra_passes_for_nakarte { }; + tracks-storage-server = pkgs.python3Packages.callPackage ./nakarte/tracks-storage-server { }; + westra-passes = callPackage ./nakarte/westra-passes { }; ### OSM diff --git a/pkgs/images/elevation-server/default.nix b/pkgs/images/elevation-server/default.nix @@ -0,0 +1,25 @@ +{ dockerTools, elevation-server }: + +dockerTools.buildImage { + name = "elevation-server"; + tag = elevation-server.version; + + contents = [ elevation-server ]; + runAsRoot = "mkdir -p /dem"; + + config = { + Cmd = [ + "elevation_server" + "-dem" + "/dem/dem_tiles" + "-host" + "0.0.0.0" + ]; + Volumes = { + "/dem" = { }; + }; + ExposedPorts = { + "8080/tcp" = { }; + }; + }; +} diff --git a/pkgs/images/elevation_server/default.nix b/pkgs/images/elevation_server/default.nix @@ -1,25 +0,0 @@ -{ dockerTools, elevation_server }: - -dockerTools.buildImage { - name = "elevation_server"; - tag = elevation_server.version; - - contents = [ elevation_server ]; - runAsRoot = "mkdir -p /dem"; - - config = { - Cmd = [ - "elevation_server" - "-dem" - "/dem/dem_tiles" - "-host" - "0.0.0.0" - ]; - Volumes = { - "/dem" = { }; - }; - ExposedPorts = { - "8080/tcp" = { }; - }; - }; -} diff --git a/pkgs/nakarte/elevation-server/default.nix b/pkgs/nakarte/elevation-server/default.nix @@ -0,0 +1,37 @@ +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, + lz4, +}: + +buildGoModule { + pname = "elevation-server"; + version = "1.2.0-unstable-2024-09-11"; + + src = fetchFromGitHub { + owner = "wladich"; + repo = "elevation_server"; + rev = "649297b32615f35e2c14d3c43216100ab4d83ea4"; + hash = "sha256-nckgsaXtLd1D3gYqdAMF5VRRM4zkw4G6R0P//G9lqDM="; + }; + + vendorHash = "sha256-j43mafIXC1C4RvVIoqTV44kWSJgv1WDRphX3/G29Uxk="; + + subPackages = [ + "cmd/elevation_server" + "cmd/make_data" + ]; + + buildInputs = [ lz4 ]; + + meta = { + description = "The server providing elevation data"; + homepage = "https://github.com/wladich/elevation_server"; + license = lib.licenses.free; + maintainers = [ lib.maintainers.sikmir ]; + platforms = lib.platforms.unix; + mainProgram = "elevation_server"; + }; +} diff --git a/pkgs/nakarte/elevation_server/default.nix b/pkgs/nakarte/elevation_server/default.nix @@ -1,37 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - buildGoModule, - lz4, -}: - -buildGoModule rec { - pname = "elevation_server"; - version = "1.2.0"; - - src = fetchFromGitHub { - owner = "sikmir"; - repo = "elevation_server"; - rev = "d8964ed01e81dea4bcd20cf6f7e092da4b2d5547"; - hash = "sha256-nckgsaXtLd1D3gYqdAMF5VRRM4zkw4G6R0P//G9lqDM="; - }; - - vendorHash = "sha256-j43mafIXC1C4RvVIoqTV44kWSJgv1WDRphX3/G29Uxk="; - - subPackages = [ - "cmd/elevation_server" - "cmd/make_data" - ]; - - buildInputs = [ lz4 ]; - - meta = { - description = "The server providing elevation data"; - homepage = "https://github.com/wladich/elevation_server"; - license = lib.licenses.free; - maintainers = [ lib.maintainers.sikmir ]; - platforms = lib.platforms.unix; - mainProgram = "elevation_server"; - }; -} diff --git a/pkgs/nakarte/map-tiler/default.nix b/pkgs/nakarte/map-tiler/default.nix @@ -7,7 +7,7 @@ pango, thinplatespline, maprec, - ozi_map, + ozi-map, pyimagequant, wrapGAppsHook, }: @@ -49,7 +49,7 @@ python3Packages.buildPythonApplication { pycairo thinplatespline maprec - ozi_map + ozi-map pyimagequant pygobject3 ]; diff --git a/pkgs/nakarte/mapillary-render/default.nix b/pkgs/nakarte/mapillary-render/default.nix @@ -0,0 +1,39 @@ +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, + pkg-config, + cairo, +}: + +buildGoModule rec { + pname = "mapillary-render"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "wladich"; + repo = "mapillaryRender"; + tag = version; + hash = "sha256-B2yDjbvpaa9zjPG9yF64s0tJ/bPAH0sOYqY74+f/TYE="; + }; + + vendorHash = "sha256-kRu8UST1gVnQ8WyIaVw/gFs3BXFNBQFJMmjul+x7fgs="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ cairo ]; + + postInstall = '' + mv $out/bin/{cli,mapillary-render-cli} + mv $out/bin/{server,mapillary-render-server} + ''; + + meta = { + description = "Mapillary render"; + homepage = "https://github.com/wladich/mapillaryRender"; + license = lib.licenses.free; + maintainers = [ lib.maintainers.sikmir ]; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/nakarte/ozi-map/default.nix b/pkgs/nakarte/ozi-map/default.nix @@ -0,0 +1,40 @@ +{ + lib, + stdenv, + python3Packages, + fetchFromGitHub, + maprec, +}: + +python3Packages.buildPythonPackage { + pname = "ozi-map"; + version = "0-unstable-2022-08-05"; + + src = fetchFromGitHub { + owner = "wladich"; + repo = "ozi_map"; + rev = "abd9e86d621ef5de89986e92b9e97e54b3173af4"; + hash = "sha256-leYn+Z0BLptvtmHglwvmhzjHUZh0XEZ9LEBQHDCjfNc="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail " @ git+https://github.com/wladich/maprec.git" "" + ''; + + dependencies = with python3Packages; [ + maprec + pyproj + ]; + + doCheck = false; + + pythonImportsCheck = [ "ozi_map" ]; + + meta = { + description = "Python module for reading OziExplorer .map files"; + homepage = "https://github.com/wladich/ozi_map"; + license = lib.licenses.free; + maintainers = [ lib.maintainers.sikmir ]; + }; +} diff --git a/pkgs/nakarte/ozi_map/default.nix b/pkgs/nakarte/ozi_map/default.nix @@ -1,40 +0,0 @@ -{ - lib, - stdenv, - python3Packages, - fetchFromGitHub, - maprec, -}: - -python3Packages.buildPythonPackage { - pname = "ozi_map"; - version = "0-unstable-2022-08-05"; - - src = fetchFromGitHub { - owner = "wladich"; - repo = "ozi_map"; - rev = "abd9e86d621ef5de89986e92b9e97e54b3173af4"; - hash = "sha256-leYn+Z0BLptvtmHglwvmhzjHUZh0XEZ9LEBQHDCjfNc="; - }; - - postPatch = '' - substituteInPlace setup.py \ - --replace-fail " @ git+https://github.com/wladich/maprec.git" "" - ''; - - dependencies = with python3Packages; [ - maprec - pyproj - ]; - - doCheck = false; - - pythonImportsCheck = [ "ozi_map" ]; - - meta = { - description = "Python module for reading OziExplorer .map files"; - homepage = "https://github.com/wladich/ozi_map"; - license = lib.licenses.free; - maintainers = [ lib.maintainers.sikmir ]; - }; -} diff --git a/pkgs/nakarte/tracks-storage-server/default.nix b/pkgs/nakarte/tracks-storage-server/default.nix @@ -0,0 +1,54 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + writeText, + msgpack, + protobuf, + psycopg2, +}: + +let + setupPy = writeText "setup.py" '' + from setuptools import setup + setup( + name='tracks_storage_server', + version='1.0', + install_requires=['msgpack', 'protobuf', 'psycopg2'], + py_modules=['server', 'nktk_raw_pb2', 'config'], + data_files=[('bin', ['init.sql'])], + scripts=['init_db.py'], + ) + ''; +in +buildPythonPackage { + pname = "tracks-storage-server"; + version = "0-unstable-2024-04-27"; + + src = fetchFromGitHub { + owner = "wladich"; + repo = "tracks_storage_server"; + rev = "080526665a38c44e8c08e70d4ddcdda1c1911fc8"; + hash = "sha256-fN7OG52t2pHxFlCxhnMkVMpctsuwBQyuXMO9CD9eWLg="; + }; + + postPatch = '' + cp ${setupPy} ${setupPy.name} + substitute config.py.example config.py --replace-fail "'password" "#'password" + ''; + + dependencies = [ + msgpack + protobuf + psycopg2 + ]; + + pythonImportsCheck = [ "server" ]; + + meta = { + description = "Tracks storage server"; + homepage = "https://github.com/wladich/tracks_storage_server"; + license = lib.licenses.free; + maintainers = [ lib.maintainers.sikmir ]; + }; +} diff --git a/pkgs/nakarte/tracks_storage_server/default.nix b/pkgs/nakarte/tracks_storage_server/default.nix @@ -1,54 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - writeText, - msgpack, - protobuf, - psycopg2, -}: - -let - setupPy = writeText "setup.py" '' - from setuptools import setup - setup( - name='tracks_storage_server', - version='1.0', - install_requires=['msgpack', 'protobuf', 'psycopg2'], - py_modules=['server', 'nktk_raw_pb2', 'config'], - data_files=[('bin', ['init.sql'])], - scripts=['init_db.py'], - ) - ''; -in -buildPythonPackage { - pname = "tracks_storage_server"; - version = "2024-04-27"; - - src = fetchFromGitHub { - owner = "wladich"; - repo = "tracks_storage_server"; - rev = "080526665a38c44e8c08e70d4ddcdda1c1911fc8"; - hash = "sha256-fN7OG52t2pHxFlCxhnMkVMpctsuwBQyuXMO9CD9eWLg="; - }; - - postPatch = '' - cp ${setupPy} ${setupPy.name} - substitute config.py.example config.py --replace-fail "'password" "#'password" - ''; - - dependencies = [ - msgpack - protobuf - psycopg2 - ]; - - pythonImportsCheck = [ "server" ]; - - meta = { - description = "Tracks storage server"; - homepage = "https://github.com/wladich/tracks_storage_server"; - license = lib.licenses.free; - maintainers = [ lib.maintainers.sikmir ]; - }; -} diff --git a/pkgs/nakarte/westra-passes/default.nix b/pkgs/nakarte/westra-passes/default.nix @@ -0,0 +1,36 @@ +{ + lib, + fetchFromGitHub, + python3Packages, +}: + +python3Packages.buildPythonPackage { + pname = "westra-passes"; + version = "0-unstable-2025-01-28"; + pyproject = true; + + src = fetchFromGitHub { + owner = "wladich"; + repo = "westra_passes_for_nakarte"; + rev = "98912314a192f58679c812b61c3a710891fbea7c"; + hash = "sha256-Mtwmpvq0EK1H+Xz6HWmauKpo+ApSqfsgKOEGR3JwIXs="; + }; + + build-system = with python3Packages; [ setuptools ]; + + dependencies = with python3Packages; [ + shapely + numpy + scipy + odfpy + ]; + + nativeCheckInputs = with python3Packages; [ pytestCheckHook ]; + + meta = { + description = "Mountain passes for nakarte"; + homepage = "https://github.com/wladich/westra_passes_for_nakarte"; + license = lib.licenses.free; + maintainers = [ lib.maintainers.sikmir ]; + }; +} diff --git a/pkgs/nakarte/westra_passes_for_nakarte/default.nix b/pkgs/nakarte/westra_passes_for_nakarte/default.nix @@ -1,36 +0,0 @@ -{ - lib, - fetchFromGitHub, - python3Packages, -}: - -python3Packages.buildPythonPackage { - pname = "westra_passes_for_nakarte"; - version = "0-unstable-2025-01-28"; - pyproject = true; - - src = fetchFromGitHub { - owner = "wladich"; - repo = "westra_passes_for_nakarte"; - rev = "98912314a192f58679c812b61c3a710891fbea7c"; - hash = "sha256-Mtwmpvq0EK1H+Xz6HWmauKpo+ApSqfsgKOEGR3JwIXs="; - }; - - build-system = with python3Packages; [ setuptools ]; - - dependencies = with python3Packages; [ - shapely - numpy - scipy - odfpy - ]; - - nativeCheckInputs = with python3Packages; [ pytestCheckHook ]; - - meta = { - description = "Mountain passes for nakarte"; - homepage = "https://github.com/wladich/westra_passes_for_nakarte"; - license = lib.licenses.free; - maintainers = [ lib.maintainers.sikmir ]; - }; -}