瀏覽代碼

package/python-pyproj: new package

Provides cartographic projections in Python
https://pyproj4.github.io/pyproj/stable/

Signed-off-by: Daniel Crowe <daniel.crowe@maxmine.com.au>
[Julien:
 - reword commit title
 - add test files in DEVELOPERS entries
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
Daniel Crowe 2 月之前
父節點
當前提交
7c65b4484e

+ 3 - 0
DEVELOPERS

@@ -729,6 +729,9 @@ F:	package/python-aniso8601/
 F:	package/python-cachelib/
 F:	package/python-flask-caching/
 F:	package/python-flask-restx/
+F:	package/python-pyproj/
+F:	support/testing/tests/package/sample_python_pyproj.py
+F:	support/testing/tests/package/test_python_pyproj.py
 
 N:	Daniel J. Leach <dleach@belcan.com>
 F:	package/dacapo/

+ 1 - 0
package/Config.in

@@ -1332,6 +1332,7 @@ menu "External python modules"
 	source "package/python-pyphen/Config.in"
 	source "package/python-pypika-tortoise/Config.in"
 	source "package/python-pypng/Config.in"
+	source "package/python-pyproj/Config.in"
 	source "package/python-pyqrcode/Config.in"
 	source "package/python-pyqt5/Config.in"
 	source "package/python-pyqt5-sip/Config.in"

+ 9 - 0
package/python-pyproj/Config.in

@@ -0,0 +1,9 @@
+config BR2_PACKAGE_PYTHON_PYPROJ
+	bool "python-pyproj"
+	select BR2_PACKAGE_PYTHON_CERTIFI # runtime
+	select BR2_PACKAGE_PROJ # runtime
+	help
+	  Python interface to PROJ (cartographic projections and
+	  coordinate transformations library).
+
+	  https://github.com/pyproj4/pyproj

+ 5 - 0
package/python-pyproj/python-pyproj.hash

@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/pyproj/json
+md5  ad62b11249d8e62879778190a3e3ef8c  pyproj-3.7.1.tar.gz
+sha256  60d72facd7b6b79853f19744779abcd3f804c4e0d4fa8815469db20c9f640a47  pyproj-3.7.1.tar.gz
+# Locally computed sha256 checksums
+sha256  a652687151814d4c4715445912fcb49e7e58f5b248d47a1a88b859a8815e0822  LICENSE

+ 20 - 0
package/python-pyproj/python-pyproj.mk

@@ -0,0 +1,20 @@
+################################################################################
+#
+# python-pyproj
+#
+################################################################################
+
+PYTHON_PYPROJ_VERSION = 3.7.1
+PYTHON_PYPROJ_SOURCE = pyproj-$(PYTHON_PYPROJ_VERSION).tar.gz
+PYTHON_PYPROJ_SITE = https://files.pythonhosted.org/packages/67/10/a8480ea27ea4bbe896c168808854d00f2a9b49f95c0319ddcbba693c8a90
+PYTHON_PYPROJ_SETUP_TYPE = setuptools
+PYTHON_PYPROJ_LICENSE = MIT
+PYTHON_PYPROJ_LICENSE_FILES = LICENSE
+PYTHON_PYPROJ_DEPENDENCIES = host-python-cython proj
+PYTHON_PYPROJ_ENV = \
+	PROJ_DIR=$(HOST_DIR)/bin/ \
+	PROJ_INCDIR=$(HOST_DIR)/include/ \
+	PROJ_LIBDIR=$(TARGET_DIR)/usr/lib/ \
+	PROJ_VERSION=$(PROJ_VERSION)
+
+$(eval $(python-package))

+ 5 - 0
support/testing/tests/package/sample_python_pyproj.py

@@ -0,0 +1,5 @@
+from pyproj import CRS
+
+# WGS 84 - World Geodetic System 1984, used in GPS
+crs_4326 = CRS.from_epsg(4326)
+assert crs_4326.name == "WGS 84"

+ 11 - 0
support/testing/tests/package/test_python_pyproj.py

@@ -0,0 +1,11 @@
+from tests.package.test_python import TestPythonPackageBase
+
+
+class TestPythonPy3Pyproj(TestPythonPackageBase):
+    __test__ = True
+    config = TestPythonPackageBase.config + \
+        """
+        BR2_PACKAGE_PYTHON3=y
+        BR2_PACKAGE_PYTHON_PYPROJ=y
+        """
+    sample_scripts = ["tests/package/sample_python_pyproj.py"]