[Git][debian-gis-team/pyresample][master] Add patch by Maximiliano Curia to fix FTBFS with GEOS 3.15. (closes: #1146573)

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Tue Sep 8 08:26:08 BST 2026



Bas Couwenberg pushed to branch master at Debian GIS Project / pyresample


Commits:
0528882e by Bas Couwenberg at 2026-09-08T09:25:13+02:00
Add patch by Maximiliano Curia to fix FTBFS with GEOS 3.15. (closes: #1146573)

- - - - -


3 changed files:

- debian/changelog
- + debian/patches/geos-3.15.patch
- debian/patches/series


Changes:

=====================================
debian/changelog
=====================================
@@ -2,6 +2,8 @@ pyresample (1.35.0-3) unstable; urgency=medium
 
   [ Bas Couwenberg ]
   * Bump Standards-Version to 4.7.4, no changes.
+  * Add patch by Maximiliano Curia to fix FTBFS with GEOS 3.15.
+    (closes: #1146573)
 
   [ Antonio Valentino ]
   * Update d/python3-pyresample.lintian-overrides.


=====================================
debian/patches/geos-3.15.patch
=====================================
@@ -0,0 +1,73 @@
+Description: Fix test failure with GEOS 3.15.
+ The starting vertex of polygon boundaries returned by GEOS intersection
+ is not guaranteed and shifted in GEOS 3.15.
+Author: Maximiliano Curia <maxy at debian.org>
+Forwarded: https://github.com/pytroll/pyresample/pull/746
+
+--- a/pyresample/test/test_geometry/test_area_boundary.py
++++ b/pyresample/test/test_geometry/test_area_boundary.py
+@@ -30,6 +30,13 @@ from pyresample.future.geometry.area imp
+ )
+ 
+ 
++def _assert_ring_allclose(actual, desired, **kwargs):
++    for k in range(len(desired)):
++        if np.allclose(actual, np.roll(desired, k, axis=0), **kwargs):
++            return
++    np.testing.assert_allclose(actual, desired, **kwargs)
++
++
+ class TestBoundary:
+     """Test 'boundary' method for AreaDefinition classes."""
+ 
+@@ -103,7 +110,7 @@ class TestBoundary:
+                                       [-5.68985178e+01, -6.90053314e+01],
+                                       [-7.54251621e+01, -3.53432890e+01],
+                                       [-7.92337283e+01, 6.94302533e-15]])
+-        np.testing.assert_allclose(expected_vertices, boundary.vertices)
++        _assert_ring_allclose(boundary.vertices, expected_vertices)
+ 
+     def test_global_platee_caree_projection(self, global_platee_caree_area):
+         """Test boundary for global platee caree projection."""
+@@ -204,8 +211,8 @@ class TestGeostationaryTools:
+             [14.554922655532085, 17.768795771961937, 35.34328897185421, 52.597860701318254, 69.00533141646078,
+              79.1481121862375, 69.00533141646076, 52.597860701318254, 35.34328897185421, 17.768795771961933,
+              14.554922655532085])
+-        np.testing.assert_allclose(lon, expected_lon)
+-        np.testing.assert_allclose(lat, expected_lat)
++        _assert_ring_allclose(lon, expected_lon)
++        _assert_ring_allclose(lat, expected_lat)
+ 
+     def test_get_geostationary_bbox_works_with_truncated_area_proj_coords(self, truncated_geos_area):
+         """Ensure the geostationary bbox works when truncated."""
+@@ -220,8 +227,8 @@ class TestGeostationaryTools:
+              5412090.016106332, 5147203.476593869, 4378472.798117005, 3181146.695546635, 1672427.7900638392,
+              1393687.2705])
+ 
+-        np.testing.assert_allclose(x, expected_x)
+-        np.testing.assert_allclose(y, expected_y)
++        _assert_ring_allclose(x, expected_x)
++        _assert_ring_allclose(y, expected_y)
+ 
+     def test_get_geostationary_bbox_does_not_contain_inf(self, truncated_geos_area):
+         """Ensure the geostationary bbox does not contain np.inf."""
+@@ -260,8 +267,8 @@ class TestGeostationaryTools:
+                                  -35.34328897, -52.5978607, -69.00533142, -79.14811219,
+                                  -69.00533142, -52.5978607, -35.34328897, -17.76879577, 0.])
+ 
+-        np.testing.assert_allclose(lon, expected_lon, atol=1e-07)
+-        np.testing.assert_allclose(lat, expected_lat, atol=1e-07)
++        _assert_ring_allclose(lon, expected_lon, atol=1e-07)
++        _assert_ring_allclose(lat, expected_lat, atol=1e-07)
+ 
+         geos_area = MagicMock()
+         lon_0 = 10
+@@ -274,7 +281,7 @@ class TestGeostationaryTools:
+         geos_area.area_extent = [-5500000., -5500000., 5500000., 5500000.]
+ 
+         lon, lat = get_geostationary_bounding_box_in_lonlats(geos_area, 20)
+-        np.testing.assert_allclose(lon, expected_lon + lon_0)
++        _assert_ring_allclose(lon, expected_lon + lon_0)
+ 
+     def test_get_geostationary_angle_extent(self):
+         """Get max geostationary angles."""


=====================================
debian/patches/series
=====================================
@@ -4,3 +4,4 @@
 0004-Fix-privacy-breachs.patch
 0005-Use-sphinxcontrib.apidoc.patch
 proj-9.8.0.patch
+geos-3.15.patch



View it on GitLab: https://salsa.debian.org/debian-gis-team/pyresample/-/commit/0528882ef10a9b1e2342111635cab48bf594df7f

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/pyresample/-/commit/0528882ef10a9b1e2342111635cab48bf594df7f
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20260908/ba72e3a7/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list