diff mbox series

[bug#70952,1/3] gnu: qgis: Improve package style.

Message ID 20240514200303.28321-1-ngraves@ngraves.fr
State New
Headers show
Series gnu: qgis: Update to 3.34.6. | expand

Commit Message

Nicolas Graves May 14, 2024, 8:01 p.m. UTC
* gnu/packages/geo.scm (qgis)[arguments]: Use gexp.

Change-Id: Ib72ae48ca0895109548e676c6da2d80ac2e1eca6
---
 gnu/packages/geo.scm | 57 +++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 32 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 7da0a7d7ef5..745239cf664 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -2910,17 +2910,25 @@  (define-public qgis
         (base32 "0mdgqyqr3nswp5qfpjrpr35lxizcrz73a1gs3ddxsd1xr9amzb5s"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:modules ((guix build cmake-build-system)
+     (list
+      #:modules '((guix build cmake-build-system)
                   ((guix build python-build-system) #:prefix python:)
                   (guix build qt-utils)
                   (guix build utils))
-       #:imported-modules (,@%cmake-build-system-modules
+      #:imported-modules `(,@%cmake-build-system-modules
                            (guix build python-build-system)
                            (guix build qt-utils))
-       #:configure-flags
-       '("-DWITH_QTWEBKIT=NO")
-       #:phases
-       (modify-phases %standard-phases
+      #:configure-flags
+      #~(list "-DWITH_QTWEBKIT=NO")
+      #:phases
+      #~(let* ((grass-version #$(package-version (this-package-input "grass")))
+               (grass-majorminor (string-join
+                                  (list-head
+                                   (string-split grass-version #\.) 2)
+                                  ""))
+               (grass-dir (string-append #$(this-package-input "grass")
+                                         "/grass" grass-majorminor)))
+          (modify-phases %standard-phases
          ;; Configure correct path to PyQt5 SIP directory
          (add-after 'unpack 'configure-pyqt5-sip-path
            (lambda* (#:key inputs #:allow-other-keys)
@@ -2942,21 +2950,14 @@  (define-public qgis
          (replace 'check
            (lambda* (#:key inputs outputs tests? parallel-tests?
                      #:allow-other-keys)
-             (when tests?
+             (if tests?
+             (begin
              (setenv "HOME" "/tmp")
              (system "Xvfb :1 &")
              (setenv "DISPLAY" ":1")
              (setenv "TRAVIS" "true")
              (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
-             (let* ((out (assoc-ref outputs "out"))
-                    (grass-version ,(package-version grass))
-                    (grass-majorminor (string-join
-                                       (list-head
-                                        (string-split grass-version #\.) 2)
-                                       ""))
-                    (grass (string-append (assoc-ref inputs "grass")
-                                          "/grass" grass-majorminor)))
-               (setenv "GISBASE" grass))
+             (setenv "GISBASE" grass-dir)
              (invoke "ctest"
                      "-j" (if parallel-tests?
                               (number->string (parallel-job-count))
@@ -3047,31 +3048,23 @@  (define-public qgis
                              "qgis_sipify"
                              "qgis_sip_include"
                              "qgis_sip_uptodate")
-                           "|")))))
+                           "|")))
+             (format #t "test suite not run~%"))))
          (add-after 'install 'wrap-python
            (assoc-ref python:%standard-phases 'wrap))
          (add-after 'wrap-python 'wrap-qt
            (lambda* (#:key outputs inputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (wrap-qt-program "qgis" #:output out #:inputs inputs))))
+             (wrap-qt-program "qgis" #:output #$output #:inputs inputs)))
          (add-after 'wrap-qt 'wrap-gis
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; TODO: Find if there is a way to get SAGA to work.
              ;; Currently QGIS says "version of SAGA not supported".
              ;; Disable it for now.
-             (let* ((out (assoc-ref outputs "out"))
-                    ;;(saga (string-append (assoc-ref inputs "saga") "/bin"))
-                    (grass-version ,(package-version grass))
-                    (grass-majorminor (string-join
-                                       (list-head
-                                        (string-split grass-version #\.) 2)
-                                       ""))
-                    (grass (string-append (assoc-ref inputs "grass")
-                                          "/grass" grass-majorminor)))
-               (wrap-program (string-append out "/bin/qgis")
-                 ;;`("PATH" ":" prefix (,saga))
-                 `("QGIS_PREFIX_PATH" = (,out))
-                 `("GISBASE" = (,grass)))))))))
+             (wrap-program (string-append #$output "/bin/qgis")
+                 ;; `("PATH" ":" prefix
+                 ;; (,(dirname (search-input-file inputs "/bin/saga_cmd"))))
+                 `("QGIS_PREFIX_PATH" = (,#$output))
+                 `("GISBASE" = (,grass-dir)))))))))
     (inputs
      (list bash-minimal
            exiv2