[Git][debian-gis-team/python-pyproj][master] 3 commits: Add upstream patch to support PROJ_DATA.

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Sat Aug 27 18:44:10 BST 2022



Bas Couwenberg pushed to branch master at Debian GIS Project / python-pyproj


Commits:
cacef8aa by Bas Couwenberg at 2022-08-27T19:35:41+02:00
Add upstream patch to support PROJ_DATA.

- - - - -
8efce366 by Bas Couwenberg at 2022-08-27T19:36:37+02:00
Export PROJ_DATA in rules for PROJ >= 9.1.0~.

- - - - -
a1e871f9 by Bas Couwenberg at 2022-08-27T19:37:52+02:00
Set distribution to unstable.

- - - - -


4 changed files:

- debian/changelog
- + debian/patches/pr1099-PROJ_DATA.patch
- + debian/patches/series
- debian/rules


Changes:

=====================================
debian/changelog
=====================================
@@ -1,8 +1,10 @@
-python-pyproj (3.3.1-2) UNRELEASED; urgency=medium
+python-pyproj (3.3.1-2) unstable; urgency=medium
 
   * Bump Standards-Version to 4.6.1, no changes.
+  * Add upstream patch to support PROJ_DATA.
+  * Export PROJ_DATA in rules for PROJ >= 9.1.0~.
 
- -- Bas Couwenberg <sebastic at debian.org>  Tue, 21 Jun 2022 07:20:42 +0200
+ -- Bas Couwenberg <sebastic at debian.org>  Sat, 27 Aug 2022 19:37:41 +0200
 
 python-pyproj (3.3.1-1) unstable; urgency=medium
 


=====================================
debian/patches/pr1099-PROJ_DATA.patch
=====================================
@@ -0,0 +1,87 @@
+Description: Add support for PROJ_DATA environment variable
+Author: snowman2 <alansnow21 at gmail.com>
+Origin: https://github.com/pyproj4/pyproj/pull/1099
+Bug: https://github.com/pyproj4/pyproj/issues/1097
+
+--- a/pyproj/datadir.py
++++ b/pyproj/datadir.py
+@@ -56,7 +56,7 @@ def get_data_dir() -> str:
+ 
+     1. The one set by pyproj.datadir.set_data_dir (if exists & valid)
+     2. The internal proj directory (if exists & valid)
+-    3. The directory in PROJ_LIB (if exists & valid)
++    3. The directory in PROJ_DATA (PROJ 9.1+) | PROJ_LIB (PROJ<9.1) (if exists & valid)
+     4. The directory on sys.prefix (if exists & valid)
+     5. The directory on the PATH (if exists & valid)
+ 
+@@ -71,7 +71,7 @@ def get_data_dir() -> str:
+     if _VALIDATED_PROJ_DATA is not None:
+         return _VALIDATED_PROJ_DATA
+     internal_datadir = Path(__file__).absolute().parent / "proj_dir" / "share" / "proj"
+-    proj_lib_dirs = os.environ.get("PROJ_LIB", "")
++    proj_lib_dirs = os.environ.get("PROJ_DATA", os.environ.get("PROJ_LIB", ""))
+     prefix_datadir = Path(sys.prefix, "share", "proj")
+     conda_windows_prefix_datadir = Path(sys.prefix, "Library", "share", "proj")
+ 
+@@ -113,7 +113,8 @@ def get_data_dir() -> str:
+     if _VALIDATED_PROJ_DATA is None:
+         raise DataDirError(
+             "Valid PROJ data directory not found. "
+-            "Either set the path using the environmental variable PROJ_LIB or "
++            "Either set the path using the environmental variable "
++            "PROJ_DATA (PROJ 9.1+) | PROJ_LIB (PROJ<9.1) or "
+             "with `pyproj.datadir.set_data_dir`."
+         )
+     return _VALIDATED_PROJ_DATA
+--- a/test/test_datadir.py
++++ b/test/test_datadir.py
+@@ -84,7 +84,7 @@ def test_get_data_dir__from_user(projdir
+     tmpdir_env = tmp_path / "proj_env"
+     tmpdir_env.mkdir()
+     with proj_env(), patch.dict(
+-        os.environ, {"PROJ_LIB": str(tmpdir_env)}, clear=True
++        os.environ, {"PROJ_DATA": str(tmpdir_env)}, clear=True
+     ), patch("pyproj.datadir.Path.absolute", return_value=tmpdir / "datadir.py"), patch(
+         "pyproj.datadir.sys.prefix", str(tmpdir_env)
+     ):  # noqa: E501
+@@ -103,7 +103,9 @@ def test_get_data_dir__internal(tmp_path
+     tmpdir_fake = tmp_path / "proj_fake"
+     tmpdir_fake.mkdir()
+     with proj_env(), patch.dict(
+-        os.environ, {"PROJ_LIB": str(tmpdir_fake)}, clear=True
++        os.environ,
++        {"PROJ_LIB": str(tmpdir_fake), "PROJ_DATA": str(tmpdir_fake)},
++        clear=True,
+     ), patch("pyproj.datadir.Path.absolute", return_value=tmpdir / "datadir.py"), patch(
+         "pyproj.datadir.sys.prefix", str(tmpdir_fake)
+     ):
+@@ -115,7 +117,7 @@ def test_get_data_dir__internal(tmp_path
+         assert get_data_dir() == str(internal_proj_dir)
+ 
+ 
+-def test_get_data_dir__from_env_var(tmp_path):
++def test_get_data_dir__from_env_var__proj_lib(tmp_path):
+     with proj_env(), patch.dict(
+         os.environ, {"PROJ_LIB": str(tmp_path)}, clear=True
+     ), patch("pyproj.datadir.Path.absolute", return_value=_INVALID_PATH), patch(
+@@ -125,9 +127,19 @@ def test_get_data_dir__from_env_var(tmp_
+         assert get_data_dir() == str(tmp_path)
+ 
+ 
++def test_get_data_dir__from_env_var__proj_data(tmp_path):
++    with proj_env(), patch.dict(
++        os.environ, {"PROJ_DATA": str(tmp_path)}, clear=True
++    ), patch("pyproj.datadir.Path.absolute", return_value=_INVALID_PATH), patch(
++        "pyproj.datadir.sys.prefix", str(_INVALID_PATH)
++    ):
++        create_projdb(tmp_path)
++        assert get_data_dir() == str(tmp_path)
++
++
+ def test_get_data_dir__from_env_var__multiple(tmp_path):
+     tmpdir = os.pathsep.join([str(tmp_path) for _ in range(3)])
+-    with proj_env(), patch.dict(os.environ, {"PROJ_LIB": tmpdir}, clear=True), patch(
++    with proj_env(), patch.dict(os.environ, {"PROJ_DATA": tmpdir}, clear=True), patch(
+         "pyproj.datadir.Path.absolute", return_value=_INVALID_PATH
+     ), patch("pyproj.datadir.sys.prefix", str(_INVALID_PATH)):
+         create_projdb(tmp_path)


=====================================
debian/patches/series
=====================================
@@ -0,0 +1 @@
+pr1099-PROJ_DATA.patch


=====================================
debian/rules
=====================================
@@ -11,9 +11,16 @@ export PYBUILD_NAME=pyproj
 export PYBUILD_TEST_PYTEST=1
 export PYBUILD_TEST_ARGS=-v -m "not network and not cli and not grid"
 
+PROJ_VERSION=$(shell dpkg-query --showformat='$${Version}' --show libproj-dev)
+USE_PROJ_DATA=$(shell dpkg --compare-versions $(PROJ_VERSION) ge 9.1.0~ && echo 1)
+
 # Path to system installed PROJ data.
 export PROJ_DIR=/usr
+ifeq (1,$(USE_PROJ_DATA))
+export PROJ_DATA=/usr/share/proj
+else
 export PROJ_LIB=/usr/share/proj
+endif
 
 include /usr/share/dpkg/architecture.mk
 



View it on GitLab: https://salsa.debian.org/debian-gis-team/python-pyproj/-/compare/d7be049334ecb0f94dab5ef31616db9490c2ed2a...a1e871f9e63ea0c0fbc219c9dc4639c7a598929f

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/python-pyproj/-/compare/d7be049334ecb0f94dab5ef31616db9490c2ed2a...a1e871f9e63ea0c0fbc219c9dc4639c7a598929f
You're receiving this email because of your account on salsa.debian.org.


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


More information about the Pkg-grass-devel mailing list