* [bug#50812] [PATCH 1/5] gnu: Add proj 7.2.1.
2021-09-26 8:52 [bug#50812] [PATCH 0/5] Add python-geopandas Felix Gruber
@ 2021-09-26 8:57 ` Felix Gruber
2021-09-26 8:57 ` [bug#50812] [PATCH 2/5] gnu: Add python-pyproj Felix Gruber
` (3 more replies)
2021-09-26 17:41 ` [bug#50812] [PATCH v2 0/5] " Felix Gruber
` (7 subsequent siblings)
8 siblings, 4 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 8:57 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber
* gnu/packages/geo.scm (proj.7): New variable.
---
gnu/packages/geo.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 9d4a1a8955..c10b93d83f 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -511,6 +511,45 @@ fully fledged Spatial SQL capabilities.")
license:mpl1.1
license:public-domain))))
+(define-public proj.7
+ (package
+ (name "proj")
+ (version "7.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.osgeo.org/proj/proj-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DUSE_EXTERNAL_GTEST=ON")))
+ (inputs
+ `(("curl" ,curl)
+ ("libjpeg-turbo" ,libjpeg-turbo)
+ ("libtiff" ,libtiff)
+ ("sqlite" ,sqlite)))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://proj.org/")
+ (synopsis "Coordinate transformation software")
+ (description
+ "Proj is a generic coordinate transformation software that transforms
+geospatial coordinates from one coordinate reference system (CRS) to another.
+This includes cartographic projections as well as geodetic transformations.
+PROJ includes command line applications for easy conversion of coordinates
+from text files or directly from user input. In addition, proj also exposes
+an application programming interface that lets developers use the
+functionality of proj in their own software.")
+ (license (list license:expat
+ ;; src/projections/patterson.cpp
+ license:asl2.0
+ ;; src/geodesic.*, src/tests/geodtest.cpp
+ license:x11))))
+
(define-public proj
(package
(name "proj")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH 2/5] gnu: Add python-pyproj.
2021-09-26 8:57 ` [bug#50812] [PATCH 1/5] gnu: Add proj 7.2.1 Felix Gruber
@ 2021-09-26 8:57 ` Felix Gruber
2021-09-26 8:57 ` [bug#50812] [PATCH 3/5] gnu: Add python-cligj Felix Gruber
` (2 subsequent siblings)
3 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 8:57 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber
* gnu/packages/geo.scm (python-pyproj): New variable.
---
gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index c10b93d83f..ee1c9c5674 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -93,6 +93,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -633,6 +634,46 @@ projections.")
;; cmake/*
license:boost1.0))))
+(define-public python-pyproj
+ (package
+ (name "python-pyproj")
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyproj" version))
+ (sha256
+ (base32
+ "0xrqpy708qlyd7nqjra0dl7nvkqzaj9w0v7wq4j5pxazha9n14sa"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-proj-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((proj (assoc-ref inputs "proj")))
+ (setenv "PROJ_DIR" proj)
+ (substitute* "pyproj/datadir.py"
+ (("(internal_datadir = ).*$" all var)
+ (string-append var "Path(\"" proj "/share/proj\")\n")))
+ ))))))
+ (inputs
+ `(("proj" ,proj.7)))
+ (propagated-inputs
+ `(("python-certifi" ,python-certifi)))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("python-numpy" ,python-numpy)
+ ("python-pandas" ,python-pandas)
+ ("python-pytest" ,python-pytest)
+ ("python-xarray" ,python-xarray)))
+ (home-page "https://github.com/pyproj4/pyproj")
+ (synopsis
+ "Python interface to PROJ")
+ (description
+ "Python interface to PROJ (cartographic projections and coordinate transformations library)")
+ (license license:expat)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH 3/5] gnu: Add python-cligj.
2021-09-26 8:57 ` [bug#50812] [PATCH 1/5] gnu: Add proj 7.2.1 Felix Gruber
2021-09-26 8:57 ` [bug#50812] [PATCH 2/5] gnu: Add python-pyproj Felix Gruber
@ 2021-09-26 8:57 ` Felix Gruber
2021-09-26 8:57 ` [bug#50812] [PATCH 4/5] gnu: Add python-fiona Felix Gruber
2021-09-26 8:57 ` [bug#50812] [PATCH 5/5] gnu: Add python-geopandas Felix Gruber
3 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 8:57 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber
* gnu/packages/python-xyz.scm (python-cligj): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 15a35cda17..97c9099e5c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,6 +108,7 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3307,6 +3308,31 @@ with sensible defaults out of the box.")
(base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
(arguments `())))
+(define-public python-cligj
+ (package
+ (name "python-cligj")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cligj" version))
+ (sha256
+ (base32
+ "09vbkik6kyn6yrqzl2r74vaybjk8kjykvi975hy3fsrm4gb17g54"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)))
+ (native-inputs
+ `(("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/mapbox/cligj")
+ (synopsis
+ "Click params for commmand line interfaces to GeoJSON")
+ (description
+ "cligj is for Python developers who create command line interfaces
+for geospatial data. cligj allows you to quickly build consistent,
+well-tested and interoperable CLIs for handling GeoJSON.")
+ (license license:bsd-3)))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH 4/5] gnu: Add python-fiona.
2021-09-26 8:57 ` [bug#50812] [PATCH 1/5] gnu: Add proj 7.2.1 Felix Gruber
2021-09-26 8:57 ` [bug#50812] [PATCH 2/5] gnu: Add python-pyproj Felix Gruber
2021-09-26 8:57 ` [bug#50812] [PATCH 3/5] gnu: Add python-cligj Felix Gruber
@ 2021-09-26 8:57 ` Felix Gruber
2021-09-26 16:53 ` Maxime Devos
2021-09-26 16:55 ` Maxime Devos
2021-09-26 8:57 ` [bug#50812] [PATCH 5/5] gnu: Add python-geopandas Felix Gruber
3 siblings, 2 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 8:57 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber
* gnu/packages/geo.scm (python-fiona): New variable.
---
gnu/packages/geo.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index ee1c9c5674..114677dc27 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -674,6 +674,70 @@ projections.")
"Python interface to PROJ (cartographic projections and coordinate transformations library)")
(license license:expat)))
+(define-public python-fiona
+ (package
+ (name "python-fiona")
+ (version "1.8.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Fiona" version))
+ (sha256
+ (base32
+ "0fql7i7dg1xpbadmk8d26dwp91v7faixxc4wq14zg0kvhp9041d7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-local-fiona
+ (lambda _
+ ; This would otherwise interfere with finding the installed
+ ; fiona when running tests.
+ (delete-file-recursively "fiona")))
+ (replace 'check
+ (lambda* (#:key tests? outputs #:allow-other-keys)
+ (define (python-path dir)
+ (string-append dir "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages"))
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "PYTHONPATH" (string-append (python-path out) ":"
+ (getenv "PYTHONPATH")))
+ (when tests?
+ (invoke "pytest" "-m" "not network and not wheel"))))))))
+ (inputs
+ `(("gdal" ,gdal)))
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-certifi" ,python-certifi)
+ ("python-click" ,python-click)
+ ("python-click-plugins" ,python-click-plugins)
+ ("python-cligj" ,python-cligj)
+ ("python-munch" ,python-munch)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)
+ ("python-pytz" ,python-pytz)))
+ (native-inputs
+ `(("gdal" ,gdal) ; for gdal-config
+ ("python-boto3" ,python-boto3)
+ ("python-cython" ,python-cython)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "http://github.com/Toblerity/Fiona")
+ (synopsis
+ "Fiona reads and writes spatial data files")
+ (description
+ "Fiona is GDAL’s neat and nimble vector API for Python programmers.
+Fiona is designed to be simple and dependable. It focuses on reading and
+writing data in standard Python IO style and relies upon familiar Python
+types and protocols such as files, dictionaries, mappings, and iterators
+instead of classes specific to OGR. Fiona can read and write real-world
+data using multi-layered GIS formats and zipped virtual file systems and
+integrates readily with other Python GIS packages such as pyproj, Rtree,
+and Shapely.")
+ (license license:bsd-3)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH 4/5] gnu: Add python-fiona.
2021-09-26 8:57 ` [bug#50812] [PATCH 4/5] gnu: Add python-fiona Felix Gruber
@ 2021-09-26 16:53 ` Maxime Devos
2021-09-26 16:55 ` Maxime Devos
1 sibling, 0 replies; 36+ messages in thread
From: Maxime Devos @ 2021-09-26 16:53 UTC (permalink / raw)
To: Felix Gruber, 50812
[-- Attachment #1: Type: text/plain, Size: 359 bytes --]
Felix Gruber schreef op zo 26-09-2021 om 08:57 [+0000]:
> + (let ((out (assoc-ref outputs "out")))
> + (setenv "PYTHONPATH" (string-append (python-path out) ":"
> + (getenv "PYTHONPATH")))
(add-installed-pythonpath inputs outputs) might be useful here.
Greetings,
Maxime.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH 4/5] gnu: Add python-fiona.
2021-09-26 8:57 ` [bug#50812] [PATCH 4/5] gnu: Add python-fiona Felix Gruber
2021-09-26 16:53 ` Maxime Devos
@ 2021-09-26 16:55 ` Maxime Devos
1 sibling, 0 replies; 36+ messages in thread
From: Maxime Devos @ 2021-09-26 16:55 UTC (permalink / raw)
To: Felix Gruber, 50812
[-- Attachment #1: Type: text/plain, Size: 418 bytes --]
Felix Gruber schreef op zo 26-09-2021 om 08:57 [+0000]:
> + (define (python-path dir)
> + (string-append dir "/lib/python"
> + ,(version-major+minor
> + (package-version python))
> + "/site-packages"))
Maybe use the procedure 'site-packages' instead to simplify things.
Greetings,
Maxime.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH 5/5] gnu: Add python-geopandas.
2021-09-26 8:57 ` [bug#50812] [PATCH 1/5] gnu: Add proj 7.2.1 Felix Gruber
` (2 preceding siblings ...)
2021-09-26 8:57 ` [bug#50812] [PATCH 4/5] gnu: Add python-fiona Felix Gruber
@ 2021-09-26 8:57 ` Felix Gruber
3 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 8:57 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber
* gnu/packages/geo.scm (python-geopandas): New variable.
---
gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 114677dc27..2235fe93fb 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -738,6 +738,47 @@ integrates readily with other Python GIS packages such as pyproj, Rtree,
and Shapely.")
(license license:bsd-3)))
+(define-public python-geopandas
+ (package
+ (name "python-geopandas")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "geopandas" version))
+ (sha256
+ (base32
+ "02k389zyyjv51gd09c92vlr83sv46awdq0066jgh5i24vjs2m5v3"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? outputs #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"
+ ; Disable test that fails with
+ ; NotImplementedError in pandas.
+ "-k" "not test_fillna_no_op_returns_copy"
+ ; Disable tests that require internet access.
+ "-m" "not web")))))))
+ (propagated-inputs
+ `(("python-fiona" ,python-fiona)
+ ("python-pandas" ,python-pandas)
+ ("python-pyproj" ,python-pyproj)
+ ("python-shapely" ,python-shapely)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://geopandas.org")
+ (synopsis "Geographic pandas extensions")
+ (description "The goal of GeoPandas is to make working with
+geospatial data in python easier. It combines the capabilities of
+pandas and shapely, providing geospatial operations in pandas and a
+high-level interface to multiple geometries to shapely. GeoPandas
+enables you to easily do operations in python that would otherwise
+require a spatial database such as PostGIS.")
+ (license license:bsd-3)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 0/5] Add python-geopandas
2021-09-26 8:52 [bug#50812] [PATCH 0/5] Add python-geopandas Felix Gruber
2021-09-26 8:57 ` [bug#50812] [PATCH 1/5] gnu: Add proj 7.2.1 Felix Gruber
@ 2021-09-26 17:41 ` Felix Gruber
2021-09-26 17:41 ` [bug#50812] [PATCH v2 1/5] gnu: Add proj 7.2.1 Felix Gruber
` (6 subsequent siblings)
8 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 17:41 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Maxime Devos
This version of the patchset contains Maxime's proposed changes to the
fiona package.
Felix Gruber (5):
gnu: Add proj 7.2.1.
gnu: Add python-pyproj.
gnu: Add python-cligj.
gnu: Add python-fiona.
gnu: Add python-geopandas.
gnu/packages/geo.scm | 178 ++++++++++++++++++++++++++++++++++++
gnu/packages/python-xyz.scm | 26 ++++++
2 files changed, 204 insertions(+)
--
2.30.2
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 1/5] gnu: Add proj 7.2.1.
2021-09-26 8:52 [bug#50812] [PATCH 0/5] Add python-geopandas Felix Gruber
2021-09-26 8:57 ` [bug#50812] [PATCH 1/5] gnu: Add proj 7.2.1 Felix Gruber
2021-09-26 17:41 ` [bug#50812] [PATCH v2 0/5] " Felix Gruber
@ 2021-09-26 17:41 ` Felix Gruber
2021-09-26 20:34 ` Xinglu Chen
2021-09-26 17:41 ` [bug#50812] [PATCH v2 2/5] gnu: Add python-pyproj Felix Gruber
` (5 subsequent siblings)
8 siblings, 1 reply; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 17:41 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Maxime Devos
* gnu/packages/geo.scm (proj.7): New variable.
---
gnu/packages/geo.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 9d4a1a8955..c10b93d83f 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -511,6 +511,45 @@ fully fledged Spatial SQL capabilities.")
license:mpl1.1
license:public-domain))))
+(define-public proj.7
+ (package
+ (name "proj")
+ (version "7.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.osgeo.org/proj/proj-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DUSE_EXTERNAL_GTEST=ON")))
+ (inputs
+ `(("curl" ,curl)
+ ("libjpeg-turbo" ,libjpeg-turbo)
+ ("libtiff" ,libtiff)
+ ("sqlite" ,sqlite)))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://proj.org/")
+ (synopsis "Coordinate transformation software")
+ (description
+ "Proj is a generic coordinate transformation software that transforms
+geospatial coordinates from one coordinate reference system (CRS) to another.
+This includes cartographic projections as well as geodetic transformations.
+PROJ includes command line applications for easy conversion of coordinates
+from text files or directly from user input. In addition, proj also exposes
+an application programming interface that lets developers use the
+functionality of proj in their own software.")
+ (license (list license:expat
+ ;; src/projections/patterson.cpp
+ license:asl2.0
+ ;; src/geodesic.*, src/tests/geodtest.cpp
+ license:x11))))
+
(define-public proj
(package
(name "proj")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 1/5] gnu: Add proj 7.2.1.
2021-09-26 17:41 ` [bug#50812] [PATCH v2 1/5] gnu: Add proj 7.2.1 Felix Gruber
@ 2021-09-26 20:34 ` Xinglu Chen
2021-09-27 11:18 ` Felix Gruber
0 siblings, 1 reply; 36+ messages in thread
From: Xinglu Chen @ 2021-09-26 20:34 UTC (permalink / raw)
To: Felix Gruber, 50812; +Cc: Felix Gruber, Maxime Devos
[-- Attachment #1: Type: text/plain, Size: 2240 bytes --]
On Sun, Sep 26 2021, Felix Gruber wrote:
> * gnu/packages/geo.scm (proj.7): New variable.
> ---
> gnu/packages/geo.scm | 39 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 39 insertions(+)
>
> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
> index 9d4a1a8955..c10b93d83f 100644
> --- a/gnu/packages/geo.scm
> +++ b/gnu/packages/geo.scm
> @@ -511,6 +511,45 @@ fully fledged Spatial SQL capabilities.")
> license:mpl1.1
> license:public-domain))))
>
> +(define-public proj.7
Hyphens are typically used to denote a specific version of a package,
e.g., ghc-8.8.
> + (package
> + (name "proj")
> + (version "7.2.1")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (string-append "http://download.osgeo.org/proj/proj-"
> + version ".tar.gz"))
> + (sha256
> + (base32
> + "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))))
> + (build-system cmake-build-system)
> + (arguments
> + `(#:configure-flags '("-DUSE_EXTERNAL_GTEST=ON")))
> + (inputs
> + `(("curl" ,curl)
> + ("libjpeg-turbo" ,libjpeg-turbo)
> + ("libtiff" ,libtiff)
> + ("sqlite" ,sqlite)))
> + (native-inputs
> + `(("googletest" ,googletest)
> + ("pkg-config" ,pkg-config)))
> + (home-page "https://proj.org/")
> + (synopsis "Coordinate transformation software")
> + (description
> + "Proj is a generic coordinate transformation software that transforms
> +geospatial coordinates from one coordinate reference system (CRS) to another.
Nit: I would use @acronym{CRS, coordinate reference system}.
> +This includes cartographic projections as well as geodetic transformations.
> +PROJ includes command line applications for easy conversion of coordinates
> +from text files or directly from user input. In addition, proj also exposes
> +an application programming interface that lets developers use the
> +functionality of proj in their own software.")
The description includes three different spellings of the name---
“Proj”, “PROJ”, and “proj”. It would be good to keep things more consistent.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 1/5] gnu: Add proj 7.2.1.
2021-09-26 20:34 ` Xinglu Chen
@ 2021-09-27 11:18 ` Felix Gruber
2021-09-27 12:36 ` Xinglu Chen
0 siblings, 1 reply; 36+ messages in thread
From: Felix Gruber @ 2021-09-27 11:18 UTC (permalink / raw)
To: Xinglu Chen, 50812; +Cc: Maxime Devos
On 9/26/21 10:34 PM, Xinglu Chen wrote:
> On Sun, Sep 26 2021, Felix Gruber wrote:
>
>> * gnu/packages/geo.scm (proj.7): New variable.
>> ---
>> gnu/packages/geo.scm | 39 +++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 39 insertions(+)
>>
>> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
>> index 9d4a1a8955..c10b93d83f 100644
>> --- a/gnu/packages/geo.scm
>> +++ b/gnu/packages/geo.scm
>> @@ -511,6 +511,45 @@ fully fledged Spatial SQL capabilities.")
>> license:mpl1.1
>> license:public-domain))))
>>
>> +(define-public proj.7
>
> Hyphens are typically used to denote a specific version of a package,
> e.g., ghc-8.8.
I've named the package proj.7 as there is already a proj.4 package for
an old API-incompatible version of proj. But you're right that this is
inconsistent with how most version-specific packages are named.
Maybe we should rename proj.4? I wonder if there was a reason for naming
it this way in the first place?
Cheers,
Felix
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 1/5] gnu: Add proj 7.2.1.
2021-09-27 11:18 ` Felix Gruber
@ 2021-09-27 12:36 ` Xinglu Chen
2021-09-27 12:49 ` Guillaume Le Vaillant
0 siblings, 1 reply; 36+ messages in thread
From: Xinglu Chen @ 2021-09-27 12:36 UTC (permalink / raw)
To: Felix Gruber, 50812; +Cc: Maxime Devos
[-- Attachment #1: Type: text/plain, Size: 1171 bytes --]
On Mon, Sep 27 2021, Felix Gruber wrote:
> On 9/26/21 10:34 PM, Xinglu Chen wrote:
>> On Sun, Sep 26 2021, Felix Gruber wrote:
>>
>>> * gnu/packages/geo.scm (proj.7): New variable.
>>> ---
>>> gnu/packages/geo.scm | 39 +++++++++++++++++++++++++++++++++++++++
>>> 1 file changed, 39 insertions(+)
>>>
>>> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
>>> index 9d4a1a8955..c10b93d83f 100644
>>> --- a/gnu/packages/geo.scm
>>> +++ b/gnu/packages/geo.scm
>>> @@ -511,6 +511,45 @@ fully fledged Spatial SQL capabilities.")
>>> license:mpl1.1
>>> license:public-domain))))
>>>
>>> +(define-public proj.7
>>
>> Hyphens are typically used to denote a specific version of a package,
>> e.g., ghc-8.8.
>
> I've named the package proj.7 as there is already a proj.4 package for
> an old API-incompatible version of proj. But you're right that this is
> inconsistent with how most version-specific packages are named.
>
> Maybe we should rename proj.4? I wonder if there was a reason for naming
> it this way in the first place?
Yes, I think renaming it to ‘proj-4’ would be a good idea.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 1/5] gnu: Add proj 7.2.1.
2021-09-27 12:36 ` Xinglu Chen
@ 2021-09-27 12:49 ` Guillaume Le Vaillant
2021-09-28 6:26 ` Felix Gruber
0 siblings, 1 reply; 36+ messages in thread
From: Guillaume Le Vaillant @ 2021-09-27 12:49 UTC (permalink / raw)
To: Felix Gruber; +Cc: Maxime Devos, Xinglu Chen, 50812
[-- Attachment #1: Type: text/plain, Size: 507 bytes --]
> On Sun, Sep 26 2021, Felix Gruber wrote:
>
>> * gnu/packages/geo.scm (proj.7): New variable.
>> ---
>> gnu/packages/geo.scm | 39 +++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 39 insertions(+)
Hi,
Instead of adding a proj-7 package, wouldn't it be possible to update
the proj package (which is currently at version 6.3.1).
Also, according to [1], the current version of proj is 8.1.1. Can't the
newer version be used instead of 7.2.1?
[1] https://proj.org/download.html
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 1/5] gnu: Add proj 7.2.1.
2021-09-27 12:49 ` Guillaume Le Vaillant
@ 2021-09-28 6:26 ` Felix Gruber
0 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-28 6:26 UTC (permalink / raw)
To: Guillaume Le Vaillant; +Cc: Maxime Devos, Xinglu Chen, 50812
On 9/27/21 2:49 PM, Guillaume Le Vaillant wrote:
> Hi,
>
> Instead of adding a proj-7 package, wouldn't it be possible to update
> the proj package (which is currently at version 6.3.1).
You're right, that works. I've updated the proj package to 7.2.1 and of
the packages depending on proj (obtained with `guix refresh -l proj`)
all but the following two build: python-hyperkitty and itk-snap.
I've checked that those two packages already fail to build with proj
6.3.1 due to build failures in non-proj-related dependencies.
It thus seems safe to update proj directly instead of adding a new
proj-7 package.
> Also, according to [1], the current version of proj is 8.1.1. Can't the
> newer version be used instead of 7.2.1?
>
> [1] https://proj.org/download.html
Updating to proj 8.1.1 unfortunately breaks many dependent packages as
proj 8.0.1 removed the deprecated proj_api.h API which apparently is
still widely used.
[1] https://proj.org/news.html#id47
After updating proj to 8.1.1 the following dependencies failed to build:
* `/gnu/store/004411fgpblva5gp33xc6l7ri93snsk3-vxl-2.0.2.drv'
* `/gnu/store/1p04p9zk2n4p78izl77n4d3bm15pn7xj-qmapshack-1.15.2.drv'
* `/gnu/store/3lvgc4vbrjck0q55sac038pm4r8674mp-itk-snap-3.8.0.drv'
* `/gnu/store/49f67f3lxfsnpph9qaamwf5jw4dz02i4-saga-7.9.0.drv'
* `/gnu/store/547lhnc9w46iwx6v6ysr0ij7jjmgd7d9-r-hierfstat-0.5-7.drv'
* `/gnu/store/7rjgcsmrpaxgm80nsaka1hgabhk20iq2-r-rastervis-0.50.3.drv'
* `/gnu/store/8r4d9gis8bxxh78b7v3di9w7jfbjp81g-r-zonebuilder-0.0.2.drv'
* `/gnu/store/agv23snqvrdf92pk8rw3wfxp1vb4x9rr-r-tmaptools-3.1-1.drv'
*
`/gnu/store/b4y5li1ffq86zrp3vg2hadi5c8q5cip5-r-spectre-0.5.5-1.f6648ab.drv'
* `/gnu/store/bmqqrl99c8srywankdsv75p8vmgs612i-postgis-3.1.2.drv'
* `/gnu/store/cb3bspgrsi43c41f6n8gryycwdj6an1k-insight-toolkit-4.13.2.drv'
* `/gnu/store/fxh3jwq1652vrns40vqn0j6jgn9096sv-r-rmetasim-3.1.14.drv'
* `/gnu/store/hg69zwr6xjdf84y0gjmgldrmnhc6h63m-osm2pgsql-1.2.2.drv'
* `/gnu/store/pxlq4xn2fj91zil2j8d225gwc27p16fp-r-zoon-0.6.5.drv'
* `/gnu/store/r37iqmzgz00kpk3z93jqrigmjwsp9hv4-r-zonator-0.6.0.drv'
* `/gnu/store/s8y7j2hhfb4bsifl15s8l5cixgh2ka1r-qgis-3.16.3.drv'
* `/gnu/store/vl4ssl7zj6lxkp3dz0mnx3ncs1syihdm-insight-toolkit-5.0.0.drv'
*
`/gnu/store/x9qrim5fbpxcf66c9y99kjzrcf439fki-spatialite-gui-2.1.0-beta1.drv'
*
`/gnu/store/xhn1xr91q36x4skl7jkxawnz28qjcjcy-python-cartopy-0.19.0.post1.drv'
*
`/gnu/store/y1yyq3w87yn2mph3bmpq10208m0n637j-r-cicero-monocle3-1.3.2-1.fa2fb65.drv'
* `/gnu/store/z1l6xjswk905pwb4ibwpl8z2yjjrf8vl-python-hyperkitty-1.3.3.drv'
So for now, I propose to update proj to 7.2.1 which is the last version
that still includes proj_api.h and which thus still lets us build all
the packages that depend on proj.
I'll send a v4 of the patchset with this change.
Best,
Felix
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 2/5] gnu: Add python-pyproj.
2021-09-26 8:52 [bug#50812] [PATCH 0/5] Add python-geopandas Felix Gruber
` (2 preceding siblings ...)
2021-09-26 17:41 ` [bug#50812] [PATCH v2 1/5] gnu: Add proj 7.2.1 Felix Gruber
@ 2021-09-26 17:41 ` Felix Gruber
2021-09-26 20:41 ` Xinglu Chen
2021-09-26 17:41 ` [bug#50812] [PATCH v2 3/5] gnu: Add python-cligj Felix Gruber
` (4 subsequent siblings)
8 siblings, 1 reply; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 17:41 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Maxime Devos
* gnu/packages/geo.scm (python-pyproj): New variable.
---
gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index c10b93d83f..ee1c9c5674 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -93,6 +93,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -633,6 +634,46 @@ projections.")
;; cmake/*
license:boost1.0))))
+(define-public python-pyproj
+ (package
+ (name "python-pyproj")
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyproj" version))
+ (sha256
+ (base32
+ "0xrqpy708qlyd7nqjra0dl7nvkqzaj9w0v7wq4j5pxazha9n14sa"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-proj-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((proj (assoc-ref inputs "proj")))
+ (setenv "PROJ_DIR" proj)
+ (substitute* "pyproj/datadir.py"
+ (("(internal_datadir = ).*$" all var)
+ (string-append var "Path(\"" proj "/share/proj\")\n")))
+ ))))))
+ (inputs
+ `(("proj" ,proj.7)))
+ (propagated-inputs
+ `(("python-certifi" ,python-certifi)))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("python-numpy" ,python-numpy)
+ ("python-pandas" ,python-pandas)
+ ("python-pytest" ,python-pytest)
+ ("python-xarray" ,python-xarray)))
+ (home-page "https://github.com/pyproj4/pyproj")
+ (synopsis
+ "Python interface to PROJ")
+ (description
+ "Python interface to PROJ (cartographic projections and coordinate transformations library)")
+ (license license:expat)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 2/5] gnu: Add python-pyproj.
2021-09-26 17:41 ` [bug#50812] [PATCH v2 2/5] gnu: Add python-pyproj Felix Gruber
@ 2021-09-26 20:41 ` Xinglu Chen
0 siblings, 0 replies; 36+ messages in thread
From: Xinglu Chen @ 2021-09-26 20:41 UTC (permalink / raw)
To: Felix Gruber, 50812; +Cc: Felix Gruber, Maxime Devos
[-- Attachment #1: Type: text/plain, Size: 2609 bytes --]
On Sun, Sep 26 2021, Felix Gruber wrote:
> * gnu/packages/geo.scm (python-pyproj): New variable.
> ---
> gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
> index c10b93d83f..ee1c9c5674 100644
> --- a/gnu/packages/geo.scm
> +++ b/gnu/packages/geo.scm
> @@ -93,6 +93,7 @@
> #:use-module (gnu packages pulseaudio)
> #:use-module (gnu packages python)
> #:use-module (gnu packages python-check)
> + #:use-module (gnu packages python-crypto)
> #:use-module (gnu packages python-science)
> #:use-module (gnu packages python-web)
> #:use-module (gnu packages python-xyz)
> @@ -633,6 +634,46 @@ projections.")
> ;; cmake/*
> license:boost1.0))))
>
> +(define-public python-pyproj
> + (package
> + (name "python-pyproj")
> + (version "3.2.1")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "pyproj" version))
> + (sha256
> + (base32
> + "0xrqpy708qlyd7nqjra0dl7nvkqzaj9w0v7wq4j5pxazha9n14sa"))))
> + (build-system python-build-system)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'set-proj-path
> + (lambda* (#:key inputs #:allow-other-keys)
> + (let ((proj (assoc-ref inputs "proj")))
> + (setenv "PROJ_DIR" proj)
> + (substitute* "pyproj/datadir.py"
> + (("(internal_datadir = ).*$" all var)
> + (string-append var "Path(\"" proj "/share/proj\")\n")))
> + ))))))
These brackets should not be on their own line.
> + (inputs
> + `(("proj" ,proj.7)))
> + (propagated-inputs
> + `(("python-certifi" ,python-certifi)))
> + (native-inputs
> + `(("python-cython" ,python-cython)
> + ("python-numpy" ,python-numpy)
> + ("python-pandas" ,python-pandas)
> + ("python-pytest" ,python-pytest)
> + ("python-xarray" ,python-xarray)))
> + (home-page "https://github.com/pyproj4/pyproj")
> + (synopsis
> + "Python interface to PROJ")
> + (description
> + "Python interface to PROJ (cartographic projections and coordinate transformations library)")
Please keep lines to <=80 characters. The sentence is lacking a
subject and a period. I suggest
This package provides a Python interface to PROJ, a cartographic
projections and coordinate transformations library.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 3/5] gnu: Add python-cligj.
2021-09-26 8:52 [bug#50812] [PATCH 0/5] Add python-geopandas Felix Gruber
` (3 preceding siblings ...)
2021-09-26 17:41 ` [bug#50812] [PATCH v2 2/5] gnu: Add python-pyproj Felix Gruber
@ 2021-09-26 17:41 ` Felix Gruber
2021-09-26 17:41 ` [bug#50812] [PATCH v2 4/5] gnu: Add python-fiona Felix Gruber
` (3 subsequent siblings)
8 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 17:41 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Maxime Devos
* gnu/packages/python-xyz.scm (python-cligj): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 15a35cda17..97c9099e5c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,6 +108,7 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3307,6 +3308,31 @@ with sensible defaults out of the box.")
(base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
(arguments `())))
+(define-public python-cligj
+ (package
+ (name "python-cligj")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cligj" version))
+ (sha256
+ (base32
+ "09vbkik6kyn6yrqzl2r74vaybjk8kjykvi975hy3fsrm4gb17g54"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)))
+ (native-inputs
+ `(("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/mapbox/cligj")
+ (synopsis
+ "Click params for commmand line interfaces to GeoJSON")
+ (description
+ "cligj is for Python developers who create command line interfaces
+for geospatial data. cligj allows you to quickly build consistent,
+well-tested and interoperable CLIs for handling GeoJSON.")
+ (license license:bsd-3)))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 4/5] gnu: Add python-fiona.
2021-09-26 8:52 [bug#50812] [PATCH 0/5] Add python-geopandas Felix Gruber
` (4 preceding siblings ...)
2021-09-26 17:41 ` [bug#50812] [PATCH v2 3/5] gnu: Add python-cligj Felix Gruber
@ 2021-09-26 17:41 ` Felix Gruber
2021-09-26 20:47 ` Xinglu Chen
2021-09-26 17:41 ` [bug#50812] [PATCH v2 5/5] gnu: Add python-geopandas Felix Gruber
` (2 subsequent siblings)
8 siblings, 1 reply; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 17:41 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Maxime Devos
* gnu/packages/geo.scm (python-fiona): New variable.
---
gnu/packages/geo.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index ee1c9c5674..e47f97bf8c 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -674,6 +674,63 @@ projections.")
"Python interface to PROJ (cartographic projections and coordinate transformations library)")
(license license:expat)))
+(define-public python-fiona
+ (package
+ (name "python-fiona")
+ (version "1.8.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Fiona" version))
+ (sha256
+ (base32
+ "0fql7i7dg1xpbadmk8d26dwp91v7faixxc4wq14zg0kvhp9041d7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-local-fiona
+ (lambda _
+ ; This would otherwise interfere with finding the installed
+ ; fiona when running tests.
+ (delete-file-recursively "fiona")))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (when tests?
+ (invoke "pytest" "-m" "not network and not wheel")))))))
+ (inputs
+ `(("gdal" ,gdal)))
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-certifi" ,python-certifi)
+ ("python-click" ,python-click)
+ ("python-click-plugins" ,python-click-plugins)
+ ("python-cligj" ,python-cligj)
+ ("python-munch" ,python-munch)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)
+ ("python-pytz" ,python-pytz)))
+ (native-inputs
+ `(("gdal" ,gdal) ; for gdal-config
+ ("python-boto3" ,python-boto3)
+ ("python-cython" ,python-cython)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "http://github.com/Toblerity/Fiona")
+ (synopsis
+ "Fiona reads and writes spatial data files")
+ (description
+ "Fiona is GDAL’s neat and nimble vector API for Python programmers.
+Fiona is designed to be simple and dependable. It focuses on reading and
+writing data in standard Python IO style and relies upon familiar Python
+types and protocols such as files, dictionaries, mappings, and iterators
+instead of classes specific to OGR. Fiona can read and write real-world
+data using multi-layered GIS formats and zipped virtual file systems and
+integrates readily with other Python GIS packages such as pyproj, Rtree,
+and Shapely.")
+ (license license:bsd-3)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 4/5] gnu: Add python-fiona.
2021-09-26 17:41 ` [bug#50812] [PATCH v2 4/5] gnu: Add python-fiona Felix Gruber
@ 2021-09-26 20:47 ` Xinglu Chen
0 siblings, 0 replies; 36+ messages in thread
From: Xinglu Chen @ 2021-09-26 20:47 UTC (permalink / raw)
To: Felix Gruber, 50812; +Cc: Felix Gruber, Maxime Devos
[-- Attachment #1: Type: text/plain, Size: 3282 bytes --]
On Sun, Sep 26 2021, Felix Gruber wrote:
> * gnu/packages/geo.scm (python-fiona): New variable.
> ---
> gnu/packages/geo.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 57 insertions(+)
>
> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
> index ee1c9c5674..e47f97bf8c 100644
> --- a/gnu/packages/geo.scm
> +++ b/gnu/packages/geo.scm
> @@ -674,6 +674,63 @@ projections.")
> "Python interface to PROJ (cartographic projections and coordinate transformations library)")
> (license license:expat)))
>
> +(define-public python-fiona
> + (package
> + (name "python-fiona")
> + (version "1.8.20")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "Fiona" version))
> + (sha256
> + (base32
> + "0fql7i7dg1xpbadmk8d26dwp91v7faixxc4wq14zg0kvhp9041d7"))))
> + (build-system python-build-system)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-before 'check 'remove-local-fiona
> + (lambda _
> + ; This would otherwise interfere with finding the installed
> + ; fiona when running tests.
> + (delete-file-recursively "fiona")))
> + (replace 'check
> + (lambda* (#:key tests? inputs outputs #:allow-other-keys)
> + (add-installed-pythonpath inputs outputs)
> + (when tests?
> + (invoke "pytest" "-m" "not network and not wheel")))))))
> + (inputs
> + `(("gdal" ,gdal)))
> + (propagated-inputs
> + `(("python-attrs" ,python-attrs)
> + ("python-certifi" ,python-certifi)
> + ("python-click" ,python-click)
> + ("python-click-plugins" ,python-click-plugins)
> + ("python-cligj" ,python-cligj)
> + ("python-munch" ,python-munch)
> + ("python-setuptools" ,python-setuptools)
> + ("python-six" ,python-six)
> + ("python-pytz" ,python-pytz)))
> + (native-inputs
> + `(("gdal" ,gdal) ; for gdal-config
> + ("python-boto3" ,python-boto3)
> + ("python-cython" ,python-cython)
> + ("python-pytest" ,python-pytest)
> + ("python-pytest-cov" ,python-pytest-cov)))
> + (home-page "http://github.com/Toblerity/Fiona")
Why not HTTPS?
> + (synopsis
> + "Fiona reads and writes spatial data files")
> + (description
> + "Fiona is GDAL’s neat and nimble vector API for Python programmers.
> +Fiona is designed to be simple and dependable. It focuses on reading and
^
There should be two spaces after a period.
> +writing data in standard Python IO style and relies upon familiar Python
> +types and protocols such as files, dictionaries, mappings, and iterators
> +instead of classes specific to OGR. Fiona can read and write real-world
^
Likewise.
> +data using multi-layered GIS formats and zipped virtual file systems and
> +integrates readily with other Python GIS packages such as pyproj, Rtree,
> +and Shapely.")
> + (license license:bsd-3)))
> +
> (define-public mapnik
> (package
> (name "mapnik")
> --
> 2.30.2
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 5/5] gnu: Add python-geopandas.
2021-09-26 8:52 [bug#50812] [PATCH 0/5] Add python-geopandas Felix Gruber
` (5 preceding siblings ...)
2021-09-26 17:41 ` [bug#50812] [PATCH v2 4/5] gnu: Add python-fiona Felix Gruber
@ 2021-09-26 17:41 ` Felix Gruber
2021-09-26 20:51 ` Xinglu Chen
2021-09-27 11:24 ` [bug#50812] [PATCH v3 0/6] " Felix Gruber
2021-09-28 6:34 ` [bug#50812] [PATCH v4 0/5] Add python-geopandas Felix Gruber
8 siblings, 1 reply; 36+ messages in thread
From: Felix Gruber @ 2021-09-26 17:41 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Maxime Devos
* gnu/packages/geo.scm (python-geopandas): New variable.
---
gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index e47f97bf8c..8c2458ee0b 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -731,6 +731,47 @@ integrates readily with other Python GIS packages such as pyproj, Rtree,
and Shapely.")
(license license:bsd-3)))
+(define-public python-geopandas
+ (package
+ (name "python-geopandas")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "geopandas" version))
+ (sha256
+ (base32
+ "02k389zyyjv51gd09c92vlr83sv46awdq0066jgh5i24vjs2m5v3"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? outputs #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"
+ ; Disable test that fails with
+ ; NotImplementedError in pandas.
+ "-k" "not test_fillna_no_op_returns_copy"
+ ; Disable tests that require internet access.
+ "-m" "not web")))))))
+ (propagated-inputs
+ `(("python-fiona" ,python-fiona)
+ ("python-pandas" ,python-pandas)
+ ("python-pyproj" ,python-pyproj)
+ ("python-shapely" ,python-shapely)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://geopandas.org")
+ (synopsis "Geographic pandas extensions")
+ (description "The goal of GeoPandas is to make working with
+geospatial data in python easier. It combines the capabilities of
+pandas and shapely, providing geospatial operations in pandas and a
+high-level interface to multiple geometries to shapely. GeoPandas
+enables you to easily do operations in python that would otherwise
+require a spatial database such as PostGIS.")
+ (license license:bsd-3)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v2 5/5] gnu: Add python-geopandas.
2021-09-26 17:41 ` [bug#50812] [PATCH v2 5/5] gnu: Add python-geopandas Felix Gruber
@ 2021-09-26 20:51 ` Xinglu Chen
0 siblings, 0 replies; 36+ messages in thread
From: Xinglu Chen @ 2021-09-26 20:51 UTC (permalink / raw)
To: Felix Gruber, 50812; +Cc: Felix Gruber, Maxime Devos
[-- Attachment #1: Type: text/plain, Size: 2585 bytes --]
On Sun, Sep 26 2021, Felix Gruber wrote:
> * gnu/packages/geo.scm (python-geopandas): New variable.
> ---
> gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
> index e47f97bf8c..8c2458ee0b 100644
> --- a/gnu/packages/geo.scm
> +++ b/gnu/packages/geo.scm
> @@ -731,6 +731,47 @@ integrates readily with other Python GIS packages such as pyproj, Rtree,
> and Shapely.")
> (license license:bsd-3)))
>
> +(define-public python-geopandas
> + (package
> + (name "python-geopandas")
> + (version "0.9.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "geopandas" version))
> + (sha256
> + (base32
> + "02k389zyyjv51gd09c92vlr83sv46awdq0066jgh5i24vjs2m5v3"))))
> + (build-system python-build-system)
> + (arguments
> + '(#:phases
> + (modify-phases %standard-phases
> + (replace 'check
> + (lambda* (#:key tests? outputs #:allow-other-keys)
The ‘outputs’ argument isn’t used
> + (when tests?
> + (invoke "pytest"
> + ; Disable test that fails with
> + ; NotImplementedError in pandas.
> + "-k" "not test_fillna_no_op_returns_copy"
> + ; Disable tests that require internet access.
> + "-m" "not web")))))))
The indentation for the (when ...) form looks a bit off.
> + (propagated-inputs
> + `(("python-fiona" ,python-fiona)
> + ("python-pandas" ,python-pandas)
> + ("python-pyproj" ,python-pyproj)
> + ("python-shapely" ,python-shapely)))
> + (native-inputs
> + `(("python-pytest" ,python-pytest)))
> + (home-page "http://geopandas.org")
> + (synopsis "Geographic pandas extensions")
> + (description "The goal of GeoPandas is to make working with
> +geospatial data in python easier. It combines the capabilities of
> +pandas and shapely, providing geospatial operations in pandas and a
“pandas” should probably be capitalized.
> +high-level interface to multiple geometries to shapely. GeoPandas
> +enables you to easily do operations in python that would otherwise
“python” should also be capitalized.
> +require a spatial database such as PostGIS.")
> + (license license:bsd-3)))
> +
> (define-public mapnik
> (package
> (name "mapnik")
> --
> 2.30.2
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v3 0/6] Add python-geopandas
2021-09-26 8:52 [bug#50812] [PATCH 0/5] Add python-geopandas Felix Gruber
` (6 preceding siblings ...)
2021-09-26 17:41 ` [bug#50812] [PATCH v2 5/5] gnu: Add python-geopandas Felix Gruber
@ 2021-09-27 11:24 ` Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 1/6] gnu: Add proj 7.2.1 Felix Gruber
` (5 more replies)
2021-09-28 6:34 ` [bug#50812] [PATCH v4 0/5] Add python-geopandas Felix Gruber
8 siblings, 6 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-27 11:24 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Xinglu Chen, Maxime Devos
This version of the patchset incorporates all of Xinglu Chen's proposed
changes, except for renaming proj.7 to proj-7. I've keept the name
proj.7 to be consistent with the name of the existing proj.4 package.
Felix Gruber (6):
gnu: Add proj 7.2.1.
gnu: Add python-pyproj.
gnu: Add python-cligj.
gnu: Add python-fiona.
gnu: Add python-geopandas.
gnu: Improve description of proj packages.
gnu/packages/geo.scm | 190 ++++++++++++++++++++++++++++++++++--
gnu/packages/python-xyz.scm | 26 +++++
2 files changed, 210 insertions(+), 6 deletions(-)
--
2.30.2
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v3 1/6] gnu: Add proj 7.2.1.
2021-09-27 11:24 ` [bug#50812] [PATCH v3 0/6] " Felix Gruber
@ 2021-09-27 11:24 ` Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 2/6] gnu: Add python-pyproj Felix Gruber
` (4 subsequent siblings)
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-27 11:24 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/geo.scm (proj.7): New variable.
---
gnu/packages/geo.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 9d4a1a8955..c10b93d83f 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -511,6 +511,45 @@ fully fledged Spatial SQL capabilities.")
license:mpl1.1
license:public-domain))))
+(define-public proj.7
+ (package
+ (name "proj")
+ (version "7.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.osgeo.org/proj/proj-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DUSE_EXTERNAL_GTEST=ON")))
+ (inputs
+ `(("curl" ,curl)
+ ("libjpeg-turbo" ,libjpeg-turbo)
+ ("libtiff" ,libtiff)
+ ("sqlite" ,sqlite)))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://proj.org/")
+ (synopsis "Coordinate transformation software")
+ (description
+ "Proj is a generic coordinate transformation software that transforms
+geospatial coordinates from one coordinate reference system (CRS) to another.
+This includes cartographic projections as well as geodetic transformations.
+PROJ includes command line applications for easy conversion of coordinates
+from text files or directly from user input. In addition, proj also exposes
+an application programming interface that lets developers use the
+functionality of proj in their own software.")
+ (license (list license:expat
+ ;; src/projections/patterson.cpp
+ license:asl2.0
+ ;; src/geodesic.*, src/tests/geodtest.cpp
+ license:x11))))
+
(define-public proj
(package
(name "proj")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v3 2/6] gnu: Add python-pyproj.
2021-09-27 11:24 ` [bug#50812] [PATCH v3 0/6] " Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 1/6] gnu: Add proj 7.2.1 Felix Gruber
@ 2021-09-27 11:24 ` Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 3/6] gnu: Add python-cligj Felix Gruber
` (3 subsequent siblings)
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-27 11:24 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/geo.scm (python-pyproj): New variable.
---
gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index c10b93d83f..cf1f737b7d 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -93,6 +93,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -633,6 +634,46 @@ projections.")
;; cmake/*
license:boost1.0))))
+(define-public python-pyproj
+ (package
+ (name "python-pyproj")
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyproj" version))
+ (sha256
+ (base32
+ "0xrqpy708qlyd7nqjra0dl7nvkqzaj9w0v7wq4j5pxazha9n14sa"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-proj-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((proj (assoc-ref inputs "proj")))
+ (setenv "PROJ_DIR" proj)
+ (substitute* "pyproj/datadir.py"
+ (("(internal_datadir = ).*$" all var)
+ (string-append var "Path(\"" proj "/share/proj\")\n")))))))))
+ (inputs
+ `(("proj" ,proj.7)))
+ (propagated-inputs
+ `(("python-certifi" ,python-certifi)))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("python-numpy" ,python-numpy)
+ ("python-pandas" ,python-pandas)
+ ("python-pytest" ,python-pytest)
+ ("python-xarray" ,python-xarray)))
+ (home-page "https://github.com/pyproj4/pyproj")
+ (synopsis
+ "Python interface to PROJ")
+ (description
+ "This package provides a Python interface to PROJ, a cartographic
+projections and coordinate transformations library.")
+ (license license:expat)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v3 3/6] gnu: Add python-cligj.
2021-09-27 11:24 ` [bug#50812] [PATCH v3 0/6] " Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 1/6] gnu: Add proj 7.2.1 Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 2/6] gnu: Add python-pyproj Felix Gruber
@ 2021-09-27 11:24 ` Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 4/6] gnu: Add python-fiona Felix Gruber
` (2 subsequent siblings)
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-27 11:24 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/python-xyz.scm (python-cligj): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 86b1cdc2b1..91740cd0f4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,6 +108,7 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3308,6 +3309,31 @@ with sensible defaults out of the box.")
(base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
(arguments `())))
+(define-public python-cligj
+ (package
+ (name "python-cligj")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cligj" version))
+ (sha256
+ (base32
+ "09vbkik6kyn6yrqzl2r74vaybjk8kjykvi975hy3fsrm4gb17g54"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)))
+ (native-inputs
+ `(("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/mapbox/cligj")
+ (synopsis
+ "Click params for commmand line interfaces to GeoJSON")
+ (description
+ "cligj is for Python developers who create command line interfaces
+for geospatial data. cligj allows you to quickly build consistent,
+well-tested and interoperable CLIs for handling GeoJSON.")
+ (license license:bsd-3)))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v3 4/6] gnu: Add python-fiona.
2021-09-27 11:24 ` [bug#50812] [PATCH v3 0/6] " Felix Gruber
` (2 preceding siblings ...)
2021-09-27 11:24 ` [bug#50812] [PATCH v3 3/6] gnu: Add python-cligj Felix Gruber
@ 2021-09-27 11:24 ` Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 5/6] gnu: Add python-geopandas Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 6/6] gnu: Improve description of proj packages Felix Gruber
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-27 11:24 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/geo.scm (python-fiona): New variable.
---
gnu/packages/geo.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index cf1f737b7d..c4cea0fa3a 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -674,6 +674,63 @@ projections.")
projections and coordinate transformations library.")
(license license:expat)))
+(define-public python-fiona
+ (package
+ (name "python-fiona")
+ (version "1.8.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Fiona" version))
+ (sha256
+ (base32
+ "0fql7i7dg1xpbadmk8d26dwp91v7faixxc4wq14zg0kvhp9041d7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-local-fiona
+ (lambda _
+ ; This would otherwise interfere with finding the installed
+ ; fiona when running tests.
+ (delete-file-recursively "fiona")))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (when tests?
+ (invoke "pytest" "-m" "not network and not wheel")))))))
+ (inputs
+ `(("gdal" ,gdal)))
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-certifi" ,python-certifi)
+ ("python-click" ,python-click)
+ ("python-click-plugins" ,python-click-plugins)
+ ("python-cligj" ,python-cligj)
+ ("python-munch" ,python-munch)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)
+ ("python-pytz" ,python-pytz)))
+ (native-inputs
+ `(("gdal" ,gdal) ; for gdal-config
+ ("python-boto3" ,python-boto3)
+ ("python-cython" ,python-cython)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/Toblerity/Fiona")
+ (synopsis
+ "Fiona reads and writes spatial data files")
+ (description
+ "Fiona is GDAL’s neat and nimble vector API for Python programmers.
+Fiona is designed to be simple and dependable. It focuses on reading
+and writing data in standard Python IO style and relies upon familiar
+Python types and protocols such as files, dictionaries, mappings, and
+iterators instead of classes specific to OGR. Fiona can read and write
+real-world data using multi-layered GIS formats and zipped virtual file
+systems and integrates readily with other Python GIS packages such as
+pyproj, Rtree, and Shapely.")
+ (license license:bsd-3)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v3 5/6] gnu: Add python-geopandas.
2021-09-27 11:24 ` [bug#50812] [PATCH v3 0/6] " Felix Gruber
` (3 preceding siblings ...)
2021-09-27 11:24 ` [bug#50812] [PATCH v3 4/6] gnu: Add python-fiona Felix Gruber
@ 2021-09-27 11:24 ` Felix Gruber
2021-09-27 11:24 ` [bug#50812] [PATCH v3 6/6] gnu: Improve description of proj packages Felix Gruber
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-27 11:24 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/geo.scm (python-geopandas): New variable.
---
gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index c4cea0fa3a..2e9c6b6c8f 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -731,6 +731,47 @@ systems and integrates readily with other Python GIS packages such as
pyproj, Rtree, and Shapely.")
(license license:bsd-3)))
+(define-public python-geopandas
+ (package
+ (name "python-geopandas")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "geopandas" version))
+ (sha256
+ (base32
+ "02k389zyyjv51gd09c92vlr83sv46awdq0066jgh5i24vjs2m5v3"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"
+ ; Disable test that fails with
+ ; NotImplementedError in pandas.
+ "-k" "not test_fillna_no_op_returns_copy"
+ ; Disable tests that require internet access.
+ "-m" "not web")))))))
+ (propagated-inputs
+ `(("python-fiona" ,python-fiona)
+ ("python-pandas" ,python-pandas)
+ ("python-pyproj" ,python-pyproj)
+ ("python-shapely" ,python-shapely)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://geopandas.org")
+ (synopsis "Geographic pandas extensions")
+ (description "The goal of GeoPandas is to make working with
+geospatial data in Python easier. It combines the capabilities of
+Pandas and Shapely, providing geospatial operations in Pandas and a
+high-level interface to multiple geometries to Shapely. GeoPandas
+enables you to easily do operations in Python that would otherwise
+require a spatial database such as PostGIS.")
+ (license license:bsd-3)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v3 6/6] gnu: Improve description of proj packages.
2021-09-27 11:24 ` [bug#50812] [PATCH v3 0/6] " Felix Gruber
` (4 preceding siblings ...)
2021-09-27 11:24 ` [bug#50812] [PATCH v3 5/6] gnu: Add python-geopandas Felix Gruber
@ 2021-09-27 11:24 ` Felix Gruber
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-27 11:24 UTC (permalink / raw)
To: 50812; +Cc: Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/geo.scm (proj, proj.7)[description]: Consistently call
the package Proj, instead of Proj, PROJ or proj.
Use @acronym to define CRS.
---
gnu/packages/geo.scm | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 2e9c6b6c8f..d8af4f71f3 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -539,12 +539,12 @@ fully fledged Spatial SQL capabilities.")
(synopsis "Coordinate transformation software")
(description
"Proj is a generic coordinate transformation software that transforms
-geospatial coordinates from one coordinate reference system (CRS) to another.
-This includes cartographic projections as well as geodetic transformations.
-PROJ includes command line applications for easy conversion of coordinates
-from text files or directly from user input. In addition, proj also exposes
-an application programming interface that lets developers use the
-functionality of proj in their own software.")
+geospatial coordinates from one @acronym{CRS, coordinate reference system}
+to another. This includes cartographic projections as well as geodetic
+transformations. Proj includes command line applications for easy
+conversion of coordinates from text files or directly from user input.
+In addition, Proj also exposes an application programming interface that
+lets developers use the functionality of Proj in their own software.")
(license (list license:expat
;; src/projections/patterson.cpp
license:asl2.0
@@ -572,12 +572,12 @@ functionality of proj in their own software.")
(synopsis "Coordinate transformation software")
(description
"Proj is a generic coordinate transformation software that transforms
-geospatial coordinates from one coordinate reference system (CRS) to another.
-This includes cartographic projections as well as geodetic transformations.
-PROJ includes command line applications for easy conversion of coordinates
-from text files or directly from user input. In addition, proj also exposes
-an application programming interface that lets developers use the
-functionality of proj in their own software.")
+geospatial coordinates from one @acronym{CRS, coordinate reference system}
+to another. This includes cartographic projections as well as geodetic
+transformations. Proj includes command line applications for easy
+conversion of coordinates from text files or directly from user input.
+In addition, Proj also exposes an application programming interface that
+lets developers use the functionality of Proj in their own software.")
(license (list license:expat
;; src/projections/patterson.cpp
license:asl2.0
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v4 0/5] Add python-geopandas
2021-09-26 8:52 [bug#50812] [PATCH 0/5] Add python-geopandas Felix Gruber
` (7 preceding siblings ...)
2021-09-27 11:24 ` [bug#50812] [PATCH v3 0/6] " Felix Gruber
@ 2021-09-28 6:34 ` Felix Gruber
2021-09-28 6:34 ` [bug#50812] [PATCH v4 1/5] gnu: proj: Update to 7.2.1 Felix Gruber
` (5 more replies)
8 siblings, 6 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-28 6:34 UTC (permalink / raw)
To: 50812; +Cc: Guillaume Le Vaillant, Felix Gruber, Xinglu Chen, Maxime Devos
This version of the patchset updates the proj package to 7.2.1 instead
of adding a new proj.7 package. I've confirmed that all but two of the
packages given by `guix refresh -l proj` still build. The two failing
packages are python-hyperkitty and itk-snap which both already failed to
build before the update of proj.
There is a newer version 8.1.1 of proj, but that would break quite a lot
of dependent packages as it does not contain the deprecated proj_api.h
anymore. So for now proj 7.2.1 is the latest version of proj to which we
can update.
Felix Gruber (5):
gnu: proj: Update to 7.2.1.
gnu: Add python-pyproj.
gnu: Add python-cligj.
gnu: Add python-fiona.
gnu: Add python-geopandas.
gnu/packages/geo.scm | 167 +++++++++++++++++++++++++++++++++---
gnu/packages/python-xyz.scm | 26 ++++++
2 files changed, 182 insertions(+), 11 deletions(-)
--
2.30.2
^ permalink raw reply [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v4 1/5] gnu: proj: Update to 7.2.1.
2021-09-28 6:34 ` [bug#50812] [PATCH v4 0/5] Add python-geopandas Felix Gruber
@ 2021-09-28 6:34 ` Felix Gruber
2021-09-28 6:34 ` [bug#50812] [PATCH v4 2/5] gnu: Add python-pyproj Felix Gruber
` (4 subsequent siblings)
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-28 6:34 UTC (permalink / raw)
To: 50812; +Cc: Guillaume Le Vaillant, Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/geo.scm (proj): Update to 7.2.1.
[build-system]: Change to cmake-build-system.
[arguments]: Add configure flag to find googletest.
[inputs]: Add curl, libjpeg-turbo and libtiff.
[native-inputs]: Add googletest.
[description]: Consistently call the package Proj, instead of Proj,
PROJ or proj. Use @acronym to define CRS.
---
gnu/packages/geo.scm | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 9d4a1a8955..ec45601ef4 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -514,7 +514,7 @@ fully fledged Spatial SQL capabilities.")
(define-public proj
(package
(name "proj")
- (version "6.3.1")
+ (version "7.2.1")
(source
(origin
(method url-fetch)
@@ -522,22 +522,28 @@ fully fledged Spatial SQL capabilities.")
version ".tar.gz"))
(sha256
(base32
- "1y46ij32j9b4x1kjnnlykcwk3kkjwkg44sfc1ziwm3a3g0ki3q3d"))))
- (build-system gnu-build-system)
+ "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DUSE_EXTERNAL_GTEST=ON")))
(inputs
- `(("sqlite" ,sqlite)))
+ `(("curl" ,curl)
+ ("libjpeg-turbo" ,libjpeg-turbo)
+ ("libtiff" ,libtiff)
+ ("sqlite" ,sqlite)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)))
(home-page "https://proj.org/")
(synopsis "Coordinate transformation software")
(description
"Proj is a generic coordinate transformation software that transforms
-geospatial coordinates from one coordinate reference system (CRS) to another.
-This includes cartographic projections as well as geodetic transformations.
-PROJ includes command line applications for easy conversion of coordinates
-from text files or directly from user input. In addition, proj also exposes
-an application programming interface that lets developers use the
-functionality of proj in their own software.")
+geospatial coordinates from one @acronym{CRS, coordinate reference system}
+to another. This includes cartographic projections as well as geodetic
+transformations. Proj includes command line applications for easy
+conversion of coordinates from text files or directly from user input.
+In addition, Proj also exposes an application programming interface that
+lets developers use the functionality of Proj in their own software.")
(license (list license:expat
;; src/projections/patterson.cpp
license:asl2.0
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v4 2/5] gnu: Add python-pyproj.
2021-09-28 6:34 ` [bug#50812] [PATCH v4 0/5] Add python-geopandas Felix Gruber
2021-09-28 6:34 ` [bug#50812] [PATCH v4 1/5] gnu: proj: Update to 7.2.1 Felix Gruber
@ 2021-09-28 6:34 ` Felix Gruber
2021-09-28 6:34 ` [bug#50812] [PATCH v4 3/5] gnu: Add python-cligj Felix Gruber
` (3 subsequent siblings)
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-28 6:34 UTC (permalink / raw)
To: 50812; +Cc: Guillaume Le Vaillant, Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/geo.scm (python-pyproj): New variable.
---
gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index ec45601ef4..6fdf71c4e3 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -93,6 +93,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -600,6 +601,46 @@ projections.")
;; cmake/*
license:boost1.0))))
+(define-public python-pyproj
+ (package
+ (name "python-pyproj")
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyproj" version))
+ (sha256
+ (base32
+ "0xrqpy708qlyd7nqjra0dl7nvkqzaj9w0v7wq4j5pxazha9n14sa"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-proj-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((proj (assoc-ref inputs "proj")))
+ (setenv "PROJ_DIR" proj)
+ (substitute* "pyproj/datadir.py"
+ (("(internal_datadir = ).*$" all var)
+ (string-append var "Path(\"" proj "/share/proj\")\n")))))))))
+ (inputs
+ `(("proj" ,proj)))
+ (propagated-inputs
+ `(("python-certifi" ,python-certifi)))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("python-numpy" ,python-numpy)
+ ("python-pandas" ,python-pandas)
+ ("python-pytest" ,python-pytest)
+ ("python-xarray" ,python-xarray)))
+ (home-page "https://github.com/pyproj4/pyproj")
+ (synopsis
+ "Python interface to PROJ")
+ (description
+ "This package provides a Python interface to PROJ, a cartographic
+projections and coordinate transformations library.")
+ (license license:expat)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v4 3/5] gnu: Add python-cligj.
2021-09-28 6:34 ` [bug#50812] [PATCH v4 0/5] Add python-geopandas Felix Gruber
2021-09-28 6:34 ` [bug#50812] [PATCH v4 1/5] gnu: proj: Update to 7.2.1 Felix Gruber
2021-09-28 6:34 ` [bug#50812] [PATCH v4 2/5] gnu: Add python-pyproj Felix Gruber
@ 2021-09-28 6:34 ` Felix Gruber
2021-09-28 6:34 ` [bug#50812] [PATCH v4 4/5] gnu: Add python-fiona Felix Gruber
` (2 subsequent siblings)
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-28 6:34 UTC (permalink / raw)
To: 50812; +Cc: Guillaume Le Vaillant, Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/python-xyz.scm (python-cligj): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 86b1cdc2b1..91740cd0f4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,6 +108,7 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3308,6 +3309,31 @@ with sensible defaults out of the box.")
(base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
(arguments `())))
+(define-public python-cligj
+ (package
+ (name "python-cligj")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cligj" version))
+ (sha256
+ (base32
+ "09vbkik6kyn6yrqzl2r74vaybjk8kjykvi975hy3fsrm4gb17g54"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)))
+ (native-inputs
+ `(("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/mapbox/cligj")
+ (synopsis
+ "Click params for commmand line interfaces to GeoJSON")
+ (description
+ "cligj is for Python developers who create command line interfaces
+for geospatial data. cligj allows you to quickly build consistent,
+well-tested and interoperable CLIs for handling GeoJSON.")
+ (license license:bsd-3)))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v4 4/5] gnu: Add python-fiona.
2021-09-28 6:34 ` [bug#50812] [PATCH v4 0/5] Add python-geopandas Felix Gruber
` (2 preceding siblings ...)
2021-09-28 6:34 ` [bug#50812] [PATCH v4 3/5] gnu: Add python-cligj Felix Gruber
@ 2021-09-28 6:34 ` Felix Gruber
2021-09-28 6:34 ` [bug#50812] [PATCH v4 5/5] gnu: Add python-geopandas Felix Gruber
2021-10-12 16:13 ` bug#50812: [PATCH 0/5] " Ludovic Courtès
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-28 6:34 UTC (permalink / raw)
To: 50812; +Cc: Guillaume Le Vaillant, Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/geo.scm (python-fiona): New variable.
---
gnu/packages/geo.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 6fdf71c4e3..4329ee118e 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -641,6 +641,63 @@ projections.")
projections and coordinate transformations library.")
(license license:expat)))
+(define-public python-fiona
+ (package
+ (name "python-fiona")
+ (version "1.8.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Fiona" version))
+ (sha256
+ (base32
+ "0fql7i7dg1xpbadmk8d26dwp91v7faixxc4wq14zg0kvhp9041d7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-local-fiona
+ (lambda _
+ ; This would otherwise interfere with finding the installed
+ ; fiona when running tests.
+ (delete-file-recursively "fiona")))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (when tests?
+ (invoke "pytest" "-m" "not network and not wheel")))))))
+ (inputs
+ `(("gdal" ,gdal)))
+ (propagated-inputs
+ `(("python-attrs" ,python-attrs)
+ ("python-certifi" ,python-certifi)
+ ("python-click" ,python-click)
+ ("python-click-plugins" ,python-click-plugins)
+ ("python-cligj" ,python-cligj)
+ ("python-munch" ,python-munch)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)
+ ("python-pytz" ,python-pytz)))
+ (native-inputs
+ `(("gdal" ,gdal) ; for gdal-config
+ ("python-boto3" ,python-boto3)
+ ("python-cython" ,python-cython)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/Toblerity/Fiona")
+ (synopsis
+ "Fiona reads and writes spatial data files")
+ (description
+ "Fiona is GDAL’s neat and nimble vector API for Python programmers.
+Fiona is designed to be simple and dependable. It focuses on reading
+and writing data in standard Python IO style and relies upon familiar
+Python types and protocols such as files, dictionaries, mappings, and
+iterators instead of classes specific to OGR. Fiona can read and write
+real-world data using multi-layered GIS formats and zipped virtual file
+systems and integrates readily with other Python GIS packages such as
+pyproj, Rtree, and Shapely.")
+ (license license:bsd-3)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [bug#50812] [PATCH v4 5/5] gnu: Add python-geopandas.
2021-09-28 6:34 ` [bug#50812] [PATCH v4 0/5] Add python-geopandas Felix Gruber
` (3 preceding siblings ...)
2021-09-28 6:34 ` [bug#50812] [PATCH v4 4/5] gnu: Add python-fiona Felix Gruber
@ 2021-09-28 6:34 ` Felix Gruber
2021-10-12 16:13 ` bug#50812: [PATCH 0/5] " Ludovic Courtès
5 siblings, 0 replies; 36+ messages in thread
From: Felix Gruber @ 2021-09-28 6:34 UTC (permalink / raw)
To: 50812; +Cc: Guillaume Le Vaillant, Felix Gruber, Xinglu Chen, Maxime Devos
* gnu/packages/geo.scm (python-geopandas): New variable.
---
gnu/packages/geo.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 4329ee118e..329ba0a9f9 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -698,6 +698,47 @@ systems and integrates readily with other Python GIS packages such as
pyproj, Rtree, and Shapely.")
(license license:bsd-3)))
+(define-public python-geopandas
+ (package
+ (name "python-geopandas")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "geopandas" version))
+ (sha256
+ (base32
+ "02k389zyyjv51gd09c92vlr83sv46awdq0066jgh5i24vjs2m5v3"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"
+ ; Disable test that fails with
+ ; NotImplementedError in pandas.
+ "-k" "not test_fillna_no_op_returns_copy"
+ ; Disable tests that require internet access.
+ "-m" "not web")))))))
+ (propagated-inputs
+ `(("python-fiona" ,python-fiona)
+ ("python-pandas" ,python-pandas)
+ ("python-pyproj" ,python-pyproj)
+ ("python-shapely" ,python-shapely)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://geopandas.org")
+ (synopsis "Geographic pandas extensions")
+ (description "The goal of GeoPandas is to make working with
+geospatial data in Python easier. It combines the capabilities of
+Pandas and Shapely, providing geospatial operations in Pandas and a
+high-level interface to multiple geometries to Shapely. GeoPandas
+enables you to easily do operations in Python that would otherwise
+require a spatial database such as PostGIS.")
+ (license license:bsd-3)))
+
(define-public mapnik
(package
(name "mapnik")
--
2.30.2
^ permalink raw reply related [flat|nested] 36+ messages in thread
* bug#50812: [PATCH 0/5] Add python-geopandas
2021-09-28 6:34 ` [bug#50812] [PATCH v4 0/5] Add python-geopandas Felix Gruber
` (4 preceding siblings ...)
2021-09-28 6:34 ` [bug#50812] [PATCH v4 5/5] gnu: Add python-geopandas Felix Gruber
@ 2021-10-12 16:13 ` Ludovic Courtès
5 siblings, 0 replies; 36+ messages in thread
From: Ludovic Courtès @ 2021-10-12 16:13 UTC (permalink / raw)
To: Felix Gruber; +Cc: Guillaume Le Vaillant, 50812-done, Xinglu Chen, Maxime Devos
Hi,
Felix Gruber <felgru@posteo.net> skribis:
> This version of the patchset updates the proj package to 7.2.1 instead
> of adding a new proj.7 package. I've confirmed that all but two of the
> packages given by `guix refresh -l proj` still build. The two failing
> packages are python-hyperkitty and itk-snap which both already failed to
> build before the update of proj.
>
> There is a newer version 8.1.1 of proj, but that would break quite a lot
> of dependent packages as it does not contain the deprecated proj_api.h
> anymore. So for now proj 7.2.1 is the latest version of proj to which we
> can update.
Sounds good.
> Felix Gruber (5):
> gnu: proj: Update to 7.2.1.
> gnu: Add python-pyproj.
> gnu: Add python-cligj.
> gnu: Add python-fiona.
> gnu: Add python-geopandas.
Applied, thanks!
Ludo’.
^ permalink raw reply [flat|nested] 36+ messages in thread