commit c9b58b61f932cd0c78ea8b31bc176aa0c538e60b
parent 490a9c75571d44d5cf0f2e4c69b6385fb0df558a
Author: Nikolay Korotkiy <sikmir@disroot.org>
Date: Mon, 9 Mar 2026 12:54:51 +0400
Up
Diffstat:
6 files changed, 113 insertions(+), 58 deletions(-)
diff --git a/flake.lock b/flake.lock
@@ -20,11 +20,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1772736753,
- "narHash": "sha256-au/m3+EuBLoSzWUCb64a/MZq6QUtOV8oC0D9tY2scPQ=",
+ "lastModified": 1772927210,
+ "narHash": "sha256-FdRDRoV0jRTiPK5ID22BaUX5P0wdsclpxtIOjaEy9Lo=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "917fec990948658ef1ccd07cef2a1ef060786846",
+ "rev": "0e6cdd5be64608ef630c2e41f8d51d484468492f",
"type": "github"
},
"original": {
diff --git a/pkgs/by-name/co/cogeo-mosaic/package.nix b/pkgs/by-name/co/cogeo-mosaic/package.nix
@@ -7,14 +7,14 @@
python3Packages.buildPythonPackage (finalAttrs: {
pname = "cogeo-mosaic";
- version = "8.2.0";
+ version = "9.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "developmentseed";
repo = "cogeo-mosaic";
tag = finalAttrs.version;
- hash = "sha256-g5ZRdqs/nY1i2xB8UsJjKwdb0BhlR1Bfj4FSPBRJrss=";
+ hash = "sha256-84fFwWWhq2DK4lX0E26hCPsGm+/fG52pZhUtIEouGjQ=";
};
build-system = with python3Packages; [
@@ -48,6 +48,5 @@ python3Packages.buildPythonPackage (finalAttrs: {
homepage = "https://developmentseed.org/cogeo-mosaic/";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.sikmir ];
- inherit (python3Packages.rio-tiler.meta) broken;
};
})
diff --git a/pkgs/by-name/lo/localtileserver/package.nix b/pkgs/by-name/lo/localtileserver/package.nix
@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "localtileserver";
- version = "0.10.6";
+ version = "0.11.0";
pyproject = true;
src = fetchFromGitHub {
owner = "banesullivan";
repo = "localtileserver";
tag = "v${finalAttrs.version}";
- hash = "sha256-09POlT+3gWGoP/tKRur9OaFsfQvC4OwSHE+ssqSQi1Q=";
+ hash = "sha256-vB5w5FdKcwljNrE7HgIy1QfbvEBbbesVkWz+vbUmDHc=";
};
build-system = with python3Packages; [ setuptools ];
@@ -59,6 +59,5 @@ python3Packages.buildPythonApplication (finalAttrs: {
homepage = "https://localtileserver.banesullivan.com/";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.sikmir ];
- inherit (python3Packages.rio-tiler.meta) broken;
};
})
diff --git a/pkgs/by-name/su/supermorecado/package.nix b/pkgs/by-name/su/supermorecado/package.nix
@@ -29,6 +29,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
"test_burn_tile_center_point_roundtrip"
"test_burn_tile_center_lines_roundtrip"
"test_burn_cli_tile_shape"
+ "test_burn_cli"
];
meta = {
diff --git a/pkgs/by-name/ta/taudem/package.nix b/pkgs/by-name/ta/taudem/package.nix
@@ -9,17 +9,15 @@
stdenv.mkDerivation (finalAttrs: {
pname = "taudem";
- version = "5.3.8";
+ version = "5.4.0";
src = fetchFromGitHub {
owner = "dtarb";
repo = "TauDEM";
tag = "v${finalAttrs.version}";
- hash = "sha256-lomjPyNzm9K4jCs7fYwDYrG48qbeRedakWFwJj7pDEI=";
+ hash = "sha256-9gQUXmaA463Fra7u6Kyn2dplOXRCdvYp04gKNoG7Q4Y=";
};
- sourceRoot = "${finalAttrs.src.name}/src";
-
nativeBuildInputs = [ cmake ];
buildInputs = [
@@ -27,11 +25,11 @@ stdenv.mkDerivation (finalAttrs: {
mpich
];
- cmakeFlags = [
- (lib.cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.10")
- ];
+ env.NIX_CFLAGS_COMPILE = "-Wno-parentheses";
- env.NIX_CFLAGS_COMPILE = "-Wno-narrowing";
+ postInstall = ''
+ mv $out/{taudem,bin}
+ '';
meta = {
description = "Terrain Analysis Using Digital Elevation Models";
diff --git a/pkgs/by-name/ti/titiler/package.nix b/pkgs/by-name/ti/titiler/package.nix
@@ -1,22 +1,24 @@
{
lib,
fetchFromGitHub,
+ makeWrapper,
+ writeShellScript,
python3Packages,
- rio-stac,
+ cogeo-mosaic,
geojson-pydantic,
rio-cogeo,
+ rio-stac,
starlette-cramjam,
- cogeo-mosaic,
}:
let
pname = "titiler";
- version = "0.22.4";
+ version = "1.2.0";
src = fetchFromGitHub {
owner = "developmentseed";
repo = "titiler";
tag = version;
- hash = "sha256-VZAKh3y+Uaiha7oI3nWG2gIOXvWm1T1/RHj/kaAx89I=";
+ hash = "sha256-SisZc/m3id+E6lGwPsTSezfw2atMop3APYZVXK3LPPI=";
};
meta = {
@@ -24,67 +26,101 @@ let
homepage = "https://developmentseed.org/titiler/";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.sikmir ];
- inherit (python3Packages.rio-tiler.meta) broken;
};
- titiler-core = python3Packages.buildPythonPackage {
+ titiler-core = python3Packages.buildPythonPackage (finalAttrs: {
inherit version src meta;
pname = "${pname}.core";
sourceRoot = "${src.name}/src/titiler/core";
pyproject = true;
- postPatch = ''
- substituteInPlace pyproject.toml --replace "fastapi-slim>=0.111.0" "fastapi"
- '';
+ build-system = with python3Packages; [ hatchling ];
- nativeBuildInputs = with python3Packages; [ pdm-pep517 ];
dependencies = with python3Packages; [
fastapi
+ geojson-pydantic
jinja2
+ numpy
+ pydantic
+ rasterio
rio-tiler
- geojson-pydantic
+ morecantile
simplejson
+ typing-extensions
];
- doCheck = false;
- nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
- };
- titiler-extensions = python3Packages.buildPythonPackage {
+ optional-dependencies = {
+ telemetry = with python3Packages; [
+ opentelemetry-api
+ opentelemetry-sdk
+ opentelemetry-instrumentation-fastapi
+ opentelemetry-instrumentation-logging
+ opentelemetry-exporter-otlp
+ ];
+ };
+
+ nativeCheckInputs = [
+ python3Packages.pytestCheckHook
+ ]
+ ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies);
+ });
+
+ titiler-extensions = python3Packages.buildPythonPackage (finalAttrs: {
inherit version src meta;
pname = "${pname}.extensions";
sourceRoot = "${src.name}/src/titiler/extensions";
pyproject = true;
- nativeBuildInputs = with python3Packages; [ pdm-pep517 ];
- dependencies = with python3Packages; [
- rio-cogeo
- rio-stac
- titiler-core
- ];
- doCheck = false;
- nativeCheckInputs = with python3Packages; [
- pytestCheckHook
- jsonschema
+ build-system = with python3Packages; [ hatchling ];
+
+ dependencies = [ titiler-core ];
+
+ optional-dependencies = {
+ cogeo = [ rio-cogeo ];
+ stac = [ python3Packages.rio-stac ];
+ };
+
+ nativeCheckInputs =
+ with python3Packages;
+ [
+ jsonschema
+ owslib
+ pytestCheckHook
+ ]
+ ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies);
+
+ disabledTests = [
+ "test_stacExtension" # requires network
];
- disabledTests = [ "test_stacExtension" ];
- };
+ });
- titiler-mosaic = python3Packages.buildPythonPackage {
+ titiler-mosaic = python3Packages.buildPythonPackage (finalAttrs: {
inherit version src meta;
pname = "${pname}.mosaic";
sourceRoot = "${src.name}/src/titiler/mosaic";
pyproject = true;
- nativeBuildInputs = with python3Packages; [ pdm-pep517 ];
- dependencies = with python3Packages; [
+ build-system = with python3Packages; [ hatchling ];
+
+ dependencies = [
cogeo-mosaic
titiler-core
];
- doCheck = false;
- nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
- };
+
+ optional-dependencies = {
+ mosaicjson = [ cogeo-mosaic ];
+ };
+
+ nativeCheckInputs =
+ with python3Packages;
+ [
+ owslib
+ pytestCheckHook
+ ]
+ ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies);
+ });
in
-python3Packages.buildPythonPackage {
+python3Packages.buildPythonPackage (finalAttrs: {
inherit
pname
version
@@ -94,18 +130,40 @@ python3Packages.buildPythonPackage {
sourceRoot = "${src.name}/src/titiler/application";
pyproject = true;
- nativeBuildInputs = with python3Packages; [ pdm-pep517 ];
+ build-system = with python3Packages; [ hatchling ];
+
+ nativeBuildInputs = [ makeWrapper ];
+
dependencies = with python3Packages; [
- python-dotenv
- rio-cogeo
+ pydantic-settings
starlette-cramjam
titiler-core
+ titiler-core.optional-dependencies.telemetry
titiler-extensions
+ titiler-extensions.optional-dependencies.cogeo
+ titiler-extensions.optional-dependencies.stac
titiler-mosaic
+ titiler-mosaic.optional-dependencies.mosaicjson
];
- doCheck = false;
- nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
+ nativeCheckInputs = with python3Packages; [
+ boto3
+ pytestCheckHook
+ ];
- disabledTests = [ "test_mosaic_auth_error" ];
-}
+ disabledTests = [
+ "test_mosaic_auth_error" # requires network
+ ];
+
+ postInstall =
+ let
+ start_script = writeShellScript "titiler-serve" ''
+ ${lib.getExe python3Packages.uvicorn} "$@" titiler.application.main:app;
+ '';
+ in
+ ''
+ makeWrapper ${start_script} $out/bin/titiler-serve \
+ --prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}" \
+ --prefix PYTHONPATH : "${python3Packages.makePythonPath finalAttrs.passthru.dependencies}";
+ '';
+})