From b68b2ad03154d2c5f5352645afb43371ce9d5fa2 Mon Sep 17 00:00:00 2001 From: Augustin Trancart Date: Thu, 2 Apr 2026 09:45:56 +0200 Subject: [PATCH] python3Packages.momepy: fix build --- .../python-modules/momepy/default.nix | 11 ++++++ .../momepy/fix_test_elements.patch | 36 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/python-modules/momepy/fix_test_elements.patch diff --git a/pkgs/development/python-modules/momepy/default.nix b/pkgs/development/python-modules/momepy/default.nix index f024c7ae5372..b24d8d5aa05d 100644 --- a/pkgs/development/python-modules/momepy/default.nix +++ b/pkgs/development/python-modules/momepy/default.nix @@ -28,6 +28,11 @@ buildPythonPackage rec { hash = "sha256-Og7W+35k9HIIEFGcDmsxggb1BT5cwnaMIi3HO3VRAX0="; }; + patches = [ + # see https://github.com/pysal/momepy/pull/733 + ./fix_test_elements.patch + ]; + build-system = [ setuptools-scm ]; propagatedBuildInputs = [ @@ -46,6 +51,12 @@ buildPythonPackage rec { pythonImportsCheck = [ "momepy" ]; + disabledTestPaths = [ + # this tests depends on neatnet, not packaged in nixpkgs + # it's probably not worthy to package it just for this test + "momepy/tests/test_continuity.py" + ]; + meta = { description = "Urban Morphology Measuring Toolkit"; homepage = "https://github.com/pysal/momepy"; diff --git a/pkgs/development/python-modules/momepy/fix_test_elements.patch b/pkgs/development/python-modules/momepy/fix_test_elements.patch new file mode 100644 index 000000000000..1cdde9b2cc51 --- /dev/null +++ b/pkgs/development/python-modules/momepy/fix_test_elements.patch @@ -0,0 +1,36 @@ +diff --git i/momepy/functional/tests/test_elements.py w/momepy/functional/tests/test_elements.py +index 75a3f5f..625fb69 100644 +--- i/momepy/functional/tests/test_elements.py ++++ w/momepy/functional/tests/test_elements.py +@@ -290,28 +290,19 @@ class TestElements: + def test_buffered_limit_adaptive(self): + limit = mm.buffered_limit(self.df_buildings, "adaptive") + assert limit.geom_type == "Polygon" +- if LPS_G_4_13_0: +- exp = 347096.5835217 +- else: +- exp = 355819.1895417 ++ exp = 355819.1895417 + assert exp == pytest.approx(limit.area) + + limit = mm.buffered_limit(self.df_buildings, "adaptive", max_buffer=30) + assert limit.geom_type == "Polygon" +- if LPS_G_4_13_0: +- exp = 304712.451361391 +- else: +- exp = 304200.301833294 ++ exp = 304200.301833294 + assert exp == pytest.approx(limit.area) + + limit = mm.buffered_limit( + self.df_buildings, "adaptive", min_buffer=30, max_buffer=300 + ) + assert limit.geom_type == "Polygon" +- if LPS_G_4_13_0: +- exp = 348777.778371144 +- else: +- exp = 357671.831894244 ++ exp = 357671.831894244 + assert exp == pytest.approx(limit.area) + + def test_buffered_limit_error(self):