guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

06/18: gnu: Add python-h3.


From: guix-commits
Subject: 06/18: gnu: Add python-h3.
Date: Mon, 8 May 2023 05:51:47 -0400 (EDT)

efraim pushed a commit to branch master
in repository guix.

commit 424ba87292d4426d1085869b5bad749ce8a1d83e
Author: Sharlatan Hellseher <sharlatanus@gmail.com>
AuthorDate: Fri Apr 28 00:43:03 2023 +0100

    gnu: Add python-h3.
    
    * gnu/packages/geo.scm (python-h3): New variable.
    
    Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
---
 gnu/packages/geo.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index b49b74a949..f226273812 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -251,6 +251,60 @@ combining the benefits of a hexagonal grid with S2's 
hierarchical
 subdivisions.")
     (license license:asl2.0)))
 
+(define-public python-h3
+  (package
+    (name "python-h3")
+    (version "4.0.0b2")
+    (source
+     (origin
+       (method git-fetch) ; no tests data in PyPi package
+       (uri (git-reference
+             (url "https://github.com/uber/h3-py";)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1k1n256hhlh05gjcj64pqh08zlaz6962jkb6nk1aazsgg8p41zs0"))
+       (modules '((guix build utils)))
+       ;; Remove bundeled H3 lib.
+       (snippet #~(begin (delete-file-recursively "src/h3lib")))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      ;; FIXME: Check why these tests are failing.
+      ;; test_versions - assert (4, 1) == (4, 0)
+      ;; test_resolution - h3._cy.error_system.H3Failed
+      #:test-flags #~(list "-k" (string-append
+                                 "not test_versions"
+                                 " and not test_resolution"))
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; Use packaged in Guix h3 source.
+          (add-after 'unpack 'patch-cmakelists
+            (lambda _
+              (substitute* "CMakeLists.txt"
+                (("add_subdirectory\\(src/h3lib\\)")
+                 (string-append
+                  "include_directories(" #$(this-package-input "h3")
+                  "/include/h3)\n"
+                  "link_directories(" #$(this-package-input "h3")
+                  "/lib)\n"))
+                ((".*CMAKE_CURRENT_BINARY_DIR.*")
+                 (string-append #$(this-package-input "h3")
+                                "/include/h3/h3api.h\n"))))))))
+    (native-inputs
+     (list cmake-minimal
+           python-cython
+           python-numpy
+           python-pytest
+           python-scikit-build
+           python-setuptools-scm))
+    (inputs (list h3))
+    (home-page "https://uber.github.io/h3-py";)
+    (synopsis "Python bindings for H3")
+    (description "This package provides a Python bindings for H3, a
+hierarchical hexagonal geospatial indexing system")
+    (license license:asl2.0)))
+
 (define-public memphis
   (package
     (name "memphis")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]