unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#38149] [WIP] gnu: Add qgis.
@ 2019-11-09 11:27 Wiktor Żelazny
       [not found] ` <cu7eey1kl1x.fsf@systemreboot.net>
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Wiktor Żelazny @ 2019-11-09 11:27 UTC (permalink / raw)
  To: 38149

From: Wiktor Żelazny <wzelazny@vurv.cz>

* gnu/packages/geo.scm (qgis): new variable.
Does not build due to QtXml/QtXmlmod.sip not found.
---
This is my attempt to define some minimal QGIS package. Unfortunately,
the build crashes with
   sip: Unable to find file "QtXml/QtXmlmod.sip"
but:
   $ ls -l /gnu/store/8d1ak3bpaaqhw4hnxksan7fnh5ll7i5f-python-pyqt+qscintilla-5.11.3/share/sip/QtXml/QtXmlmod.sip
   -r--r--r-- 5 root root 1937 Jan  1  1970 /gnu/store/8d1ak3bpaaqhw4hnxksan7fnh5ll7i5f-python-pyqt+qscintilla-5.11.3/share/sip/QtXml/QtXmlmod.sip
I thought that maybe the QtXml/ directory being a symlink
   QtXml -> /gnu/store/mfii8qx5x3kbl1gzg8g8qmblqk6fdmvf-python-pyqt-5.11.3/share/sip/QtXml
was the problem, but including python-pyqt (or python-sip, for that
matter) among the inputs did not solve the issue. Explicitly defining
directories as configure flags does not work, either. Any suggestion how
to progress on this? Thanks!
 gnu/packages/geo.scm | 63 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index dfb00c7547..26bbcd2f63 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -42,12 +42,14 @@
   #:use-module (guix utils)
   #:use-module (gnu packages astronomy)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages glib)
@@ -55,7 +57,9 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages kde)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -1037,3 +1041,62 @@ persisted.
 @end itemize
 ")
     (license license:expat)))
+
+(define-public qgis
+  (package
+    (name "qgis")
+    (version "3.8.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://qgis.org/downloads/" name "-" version ".tar.bz2"))
+        (sha256
+          (base32
+            ; checked <uri>.md5
+            "1g8pzfm68n28pj7a4z9c1yklnwx5and83svjx6w8q5dwhf23xjiw"))))
+    (build-system cmake-build-system)
+    (native-inputs
+      `(("flex" ,flex)
+        ("bison" ,bison)
+        ("python" ,python)))
+    (inputs
+      `(("qtbase" ,qtbase)
+        ("qtserialport" ,qtserialport)
+        ("qtsvg" ,qtsvg)
+        ("qtlocation" ,qtlocation)
+        ("qttools" ,qttools)
+        ("qtdeclarative" ,qtdeclarative)
+        ("qtwebkit" ,qtwebkit)
+        ("proj.4" ,proj.4)
+        ("geos" ,geos)
+        ("sqlite" ,sqlite)
+        ("libspatialite" ,libspatialite)
+        ("libspatialindex" ,libspatialindex)
+        ("gdal" ,gdal)
+        ("qwt" ,qwt)
+        ("expat" ,expat)
+        ("qscintilla" ,qscintilla)
+        ("qca" ,qca)
+        ("qtkeychain" ,qtkeychain)
+        ("libzip" ,libzip)
+        ("python-pyqt+qscintilla" ,python-pyqt+qscintilla)
+;        ("python-sip" ,python-sip)
+        ("exiv2" ,exiv2)
+        ("gsl" ,gsl)))
+    (arguments
+      `(#:configure-flags (list (string-append
+                                  "-DPYQT5_SIP_DIR="
+                                  (assoc-ref
+                                    %build-inputs "python-pyqt+qscintilla")
+                                  "/share/sip")
+                                (string-append
+                                  "-DQSCI_SIP_DIR="
+                                  (assoc-ref
+                                    %build-inputs "python-pyqt+qscintilla")
+                                  "/share/sip"))))
+    (home-page "https://qgis.org")
+    (synopsis "A free and open source Geographic Information System")
+    (description "QGIS is a professional GIS application that is built on top
+of and proud to be itself @dfn{Free and Open Source Software} (FOSS).")
+    (license license:gpl2+)))
-- 
2.24.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
       [not found]   ` <20191123104752.gp6gafhjrs47dath@wz.localdomain>
@ 2019-12-01 18:13     ` Arun Isaac
  2019-12-02 14:31       ` Wiktor Żelazny
  0 siblings, 1 reply; 22+ messages in thread
From: Arun Isaac @ 2019-12-01 18:13 UTC (permalink / raw)
  To: Wiktor Żelazny; +Cc: 38149

[-- Attachment #1: Type: text/plain, Size: 454 bytes --]


Sorry this is taking more time than I expected. It looks like the qgis
package I dug up out of my git stash doesn't build anymore. The package
is around a year old and was for an older version of qgis. Hopefully
there is some simple fix that needs to be made for the build to
work. But qgis builds take forever on my slow machine and figuring out
the problem is taking a while. I'll try to get back to you in 48 hours.

Thank you for your patience! :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-01 18:13     ` Arun Isaac
@ 2019-12-02 14:31       ` Wiktor Żelazny
  0 siblings, 0 replies; 22+ messages in thread
From: Wiktor Żelazny @ 2019-12-02 14:31 UTC (permalink / raw)
  To: 38149

[-- Attachment #1: Type: text/plain, Size: 457 bytes --]

On Sun, Dec 01, 2019 at 11:43:39PM +0530, Arun Isaac wrote:

> Hopefully there is some simple fix that needs to be made for the build
> to work. But qgis builds take forever on my slow machine and figuring
> out the problem is taking a while. I'll try to get back to you in 48
> hours.

Thank you for your efforts. Take you time. You can always post what
you’ve got, and maybe somebody will come with some idea how to make it
work again.

WŻ

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 963 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-11-09 11:27 [bug#38149] [WIP] gnu: Add qgis Wiktor Żelazny
       [not found] ` <cu7eey1kl1x.fsf@systemreboot.net>
@ 2019-12-03 17:45 ` Arun Isaac
  2019-12-05 11:19   ` Arun Isaac
  2020-03-22 15:45 ` Guillaume Le Vaillant
  2 siblings, 1 reply; 22+ messages in thread
From: Arun Isaac @ 2019-12-03 17:45 UTC (permalink / raw)
  To: Wiktor Żelazny, 38149

[-- Attachment #1: Type: text/plain, Size: 8799 bytes --]


> * gnu/packages/geo.scm (qgis): new variable.
> Does not build due to QtXml/QtXmlmod.sip not found.
> ---
> This is my attempt to define some minimal QGIS package. Unfortunately,
> the build crashes with
>    sip: Unable to find file "QtXml/QtXmlmod.sip"

I fixed this problem with the following custom phase.

#:phases
(modify-phases %standard-phases
  ;; Configure correct path to PyQt5 SIP directory
  (add-after 'unpack 'configure-pyqt5-sip-path
    (lambda* (#:key inputs #:allow-other-keys)
      (substitute* "cmake/FindPyQt5.cmake"
        (("\"\\\\\\\\1\" PYQT5_SIP_DIR")
         (string-append "\"" (assoc-ref inputs "python-pyqt+qscintilla")
                        "/share/sip\" PYQT5_SIP_DIR")))
      #t))

I'm slowly but steadily making progress and will soon post a complete
patch. Progress is slow since each build attempt takes around 6 hours on
my rather slow machine.

> +    (license license:gpl2+)))

Also, the license of qgis is extremely complicated. Looking at other
guix packages, I'm assuming we have to exhaustively document every
license. Very tedious! :-( I got this far, but I still need to double
check all the licenses again.

(license
     (list license:gpl2+
           ;; qgis.dtd
           ;; src/core/pal/rtree.hpp
           ;; src/plugins/grass/qtermwidget/konsole_wcwidth.*
           ;; cmake/PythonCompile.py
           ;; resources/cpt-city-qgis-min/dg/*
           ;; resources/cpt-city-qgis-min/gery/*
           ;; resources/cpt-city-qgis-min/jjg/dem/*
           ;; resources/cpt-city-qgis-min/jjg/misc/*
           ;; resources/cpt-city-qgis-min/jjg/physics/*
           ;; tests/testdata/cpt-city/jjg/misc/*
           ;; resources/cpt-city-qgis-min/km/*
           ;; resources/cpt-city-qgis-min/pd/*
           ;; resources/cpt-city-qgis-min/wkp/encyclopedia/*
           ;; resources/cpt-city-qgis-min/wkp/template/*
           ;; resources/cpt-city-qgis-min/ocal/*
           ;; resources/cpt-city-qgis-min/rf/*
           ;; resources/cpt-city-qgis-min/tp/*
           license:public-domain
           ;; python/plugins/processing/modeler/ModelerArrowItem.py
           ;; src/app/qgssettingstree.cpp
           ;; src/app/qgssettingstree.h
           ;; src/app/qgsvariantdelegate.cpp
           ;; src/app/qgsvariantdelegate.h
           ;; src/app/qtmain_android.cpp
           ;; cmake/Bison.cmake
           ;; cmake/FindExpat.cmake
           ;; cmake/FindGRASS.cmake
           ;; cmake/FindPostgres.cmake
           ;; cmake/FindProj.cmake
           ;; cmake/FindSqlite3.cmake
           ;; cmake/Flex.cmake
           ;; cmake/FindFcgi.cmake
           ;; cmake/FindGDAL.cmake
           ;; cmake/FindGEOS.cmake
           ;; cmake/FindGSL.cmake
           ;; cmake/FindIconv.cmake
           ;; cmake/FindOSGEARTH.cmake
           ;; cmake/FindLibPython.py
           ;; cmake/FindPyQt4.cmake
           ;; cmake/FindPyQt4.py
           ;; cmake/FindPyQt5.cmake
           ;; cmake/FindPyQt5.py
           ;; cmake/FindPythonLibrary.cmake
           ;; cmake/FindSIP.cmake
           ;; cmake/FindSIP.py
           ;; cmake/PythonMacros.cmake
           ;; cmake/SIPMacros.cmake
           ;; cmake/FindQCA.cmake
           ;; cmake/FindQextserialport.cmake
           ;; cmake/FindQGIS.cmake
           ;; cmake/FindQsci.cmake
           ;; cmake/FindQsci.py
           ;; cmake/FindQScintilla.cmake
           ;; cmake/FindQwt.cmake
           ;; cmake/FindSpatiaLite.cmake
           ;; cmake/MacBundleMacros.cmake
           ;; cmake/MacPlistMacros.cmake
           ;; cmake/PyQtMacros.cmake
           ;; cmake/QCAMacros.cmake
           ;; cmake/UsePythonTest.cmake
           license:bsd-3
           ;; external//qwtpolar-1.1.1/*
           ;; src/gui/raster/qwt5_histogram_item.h
           license:qwt1.0
           ;; external/astyle/*
           license:lgpl2.1+
           ;; external/nmea/config.h
           ;; external/nmea/context.c
           ;; external/nmea/context.h
           ;; external/nmea/gmath.c
           ;; external/nmea/gmath.h
           ;; external/nmea/info.c
           ;; external/nmea/info.h
           ;; external/nmea/nmeatime.h
           ;; external/nmea/parse.c
           ;; external/nmea/parse.h
           ;; external/nmea/parser.h
           ;; external/nmea/sentence.c
           ;; external/nmea/sentence.h
           ;; external/nmea/time.c
           ;; external/nmea/tok.c
           ;; external/nmea/tok.h
           ;; external/nmea/units.h
           ;; src/plugins/evis/*
           ;; src/plugins/grass/qtermwidget/kprocess.cpp
           ;; src/plugins/grass/qtermwidget/kprocess.h
           ;; src/plugins/grass/qtermwidget/kptydevice.cpp
           ;; src/plugins/grass/qtermwidget/kptydevice.h
           ;; src/plugins/grass/qtermwidget/kptyprocess.cpp
           ;; src/plugins/grass/qtermwidget/kptyprocess.h
           ;; src/plugins/grass/qtermwidget/kpty.cpp
           ;; src/plugins/grass/qtermwidget/kpty.h
           ;; src/plugins/grass/qtermwidget/kpty_p.h
           ;; src/plugins/grass/qtermwidget/qtermwidget.cpp
           ;; src/plugins/grass/qtermwidget/qtermwidget.h
           ;; src/plugins/grass/qtermwidget/TerminalCharacterDecoder.cpp
           ;; src/plugins/grass/qtermwidget/TerminalCharacterDecoder.h
           license:lgpl2.0+
           ;; src/core/pal/*
           ;; resources/cpt-city-qgis-min/ds9/*
           ;; resources/cpt-city-qgis-min/grass/*
           license:gpl3+
           ;; src/core/symbology/qgscolorbrewerpalette.cpp
           license:asl2.0
           ;; images/themes/default/*
           ;; resources/cpt-city-qgis-min/gps/*
           ;; resources/cpt-city-qgis-min/nd/*
           ;; resources/cpt-city-qgis-min/wkp/country/*
           ;; resources/cpt-city-qgis-min/wkp/jarke/*
           ;; resources/cpt-city-qgis-min/wkp/jarke/*
           ;; resources/cpt-city-qgis-min/wkp/knutux/*
           ;; resources/cpt-city-qgis-min/wkp/lilleskut/*
           ;; resources/cpt-city-qgis-min/wkp/plumbago/*
           ;; resources/cpt-city-qgis-min/wkp/precip/*
           ;; resources/cpt-city-qgis-min/wkp/schwarzwald/*
           ;; resources/cpt-city-qgis-min/wkp/shadowxfox/*
           ;; resources/cpt-city-qgis-min/wkp/tubs/*
           license:cc-by-sa3.0
           ;; resources/cpt-city-qgis-min/cb/*
           ;; resources/cpt-city-qgis-min/jjg/cbac/*
           ;; resources/cpt-city-qgis-min/jjg/cbcont/*
           ;; resources/cpt-city-qgis-min/jjg/polarity/*
           license:asl1.1
           ;; resources/cpt-city-qgis-min/ds/*
           (license:fsf-free
            "https://www.deviantart.com/webgoddess/art/Reddish-Inspired-Gradients-42208824")
           ;; resources/cpt-city-qgis-min/es/*
           (license:fsdg-compatible
            "https://www.deviantart.com/elvensword")
           ;; resources/cpt-city-qgis-min/gist/*
           (license:non-copyleft "file://debian/copyright"
                                 "BSD-like-gist")
           ;; resources/cpt-city-qgis-min/go2/webtwo/*
           (license:fsf-free "file://debian/copyright"
                             "Go Squared")
           ;; resources/cpt-city-qgis-min/h5/*
           license:expat
           ;; resources/cpt-city-qgis-min/jm/*
           (license:non-copyleft "file://debian/copyright"
                                 "Jim Mossman Attribution")
           ;; resources/cpt-city-qgis-min/ncl/*
           (license:non-copyleft
            "https://www.ncl.ucar.edu/Download/NCL_source_license.shtml"
            "NCL Source Code License")
           ;; resources/cpt-city-qgis-min/os/*
           ;; resources/cpt-city-qgis-min/ukmo/*
           license:ogl-psi1.0
           ;; resources/cpt-city-qgis-min/wkp/ice/*
           license:gfdl1.2+-without-invariant-sections
           ;; src/gui/symbology/characterwidget.cpp
           ;; src/gui/symbology/characterwidget.h
           ;; src/providers/oracle/ocispatial/main.cpp
           ;; src/providers/oracle/ocispatial/qsql_ocispatial.cpp
           ;; src/providers/oracle/ocispatial/qsql_ocispatial.h
           ;; src/providers/oracle/ocispatial/qsqlcachedresult_p.h
           ;; src/providers/spatialite/qspatialite/qsql_spatialite.cpp
           ;; src/providers/spatialite/qspatialite/qsql_spatialite.h
           ;; src/providers/spatialite/qspatialite/qsqlcachedresult_p.h
           ;; src/providers/spatialite/qspatialite/smain.cpp
           ;; tests/qt_modeltest/modeltest.cpp
           ;; tests/qt_modeltest/modeltest.h
           ;; tests/qt_modeltest/tst_modeltest.cpp
           ;; tests/qt_modeltest/dynamictreemodel.cpp
           ;; tests/qt_modeltest/dynamictreemodel.h
           (license:fsf-free
            "file://debian/copyright"
            "QT-Commercial or LGPL-2.1 with Digia Qt LGPL Exception 1.1 or GPL-3")))

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-03 17:45 ` Arun Isaac
@ 2019-12-05 11:19   ` Arun Isaac
  2019-12-07 10:51     ` Wiktor Żelazny
                       ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Arun Isaac @ 2019-12-05 11:19 UTC (permalink / raw)
  To: Wiktor Żelazny, 38149


[-- Attachment #1.1: Type: text/plain, Size: 208 bytes --]


Please find attached my WIP patchset. With this patchset, qgis builds
and runs successfully. Pending work includes

- get libgeotiff tests working
- get qgis tests working
- double check qgis license field


[-- Attachment #1.2: 0001-gnu-geos-Update-to-3.8.0.patch --]
[-- Type: text/x-patch, Size: 1724 bytes --]

From 702d874896c88e0c330fa0c04ab0acfd1cef0723 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Wed, 4 Dec 2019 19:55:17 +0530
Subject: [PATCH 1/9] gnu: geos: Update to 3.8.0.

* gnu/packages/geo.scm (geos): Update to 3.8.0.
---
 gnu/packages/geo.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 477e9a460a..a6186ed2f0 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2017, 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;; Copyright © 2018, 2019 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
@@ -75,7 +75,7 @@
 (define-public geos
   (package
     (name "geos")
-    (version "3.7.1")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://download.osgeo.org/geos/geos-"
@@ -83,7 +83,7 @@
                                   ".tar.bz2"))
               (sha256
                (base32
-                "1312m02xk4sp6f1xdpb9w0ic0zbxg90p5y66qnwidl5fksscf1h0"))))
+                "1mb2v9fy1gnbjhcgv0xny11ggfb17vkzsajdyibigwsxr4ylq4cr"))))
     (build-system gnu-build-system)
     (arguments `(#:phases
                  (modify-phases %standard-phases
-- 
2.23.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-gnu-Add-proj.patch --]
[-- Type: text/x-patch, Size: 2139 bytes --]

From 07056365b692b896419f108ec072291ab2bba7e1 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 01:43:42 +0530
Subject: [PATCH 2/9] gnu: Add proj.

* gnu/packages/geo.scm (proj): New variable.
---
 gnu/packages/geo.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index a6186ed2f0..f5ff753390 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -319,6 +319,41 @@ fully fledged Spatial SQL capabilities.")
                    license:mpl1.1
                    license:public-domain))))
 
+(define-public proj
+  (package
+    (name "proj")
+    (version "6.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://download.osgeo.org/proj/proj-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "0l1as8f4zfg74fms6h5p5psziw0lpznja1xnirzsscpnfbwc005k"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("sqlite" ,sqlite)))
+    (native-inputs
+     `(("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
+                   ;; cmake/*
+                   license:boost1.0))))
+
 (define-public proj.4
   (package
     (name "proj.4")
-- 
2.23.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.4: 0003-gnu-gdal-Update-to-3.0.2.patch --]
[-- Type: text/x-patch, Size: 1423 bytes --]

From 68db9af6291a223254eff5e9803372f0fef18e78 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 01:45:30 +0530
Subject: [PATCH 3/9] gnu: gdal: Update to 3.0.2.

* gnu/packages/geo.scm (gdal): Update to 3.0.2.
[inputs]: Add proj.
---
 gnu/packages/geo.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index f5ff753390..ea78b69089 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -567,7 +567,7 @@ development.")
 (define-public gdal
   (package
     (name "gdal")
-    (version "2.2.4")
+    (version "3.0.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -575,7 +575,7 @@ development.")
                      version ".tar.gz"))
               (sha256
                (base32
-                "1951f7b69x3d1vic0rmq92q8f4bj3hbxnxmj5jl0cc3zg0isgmdr"))
+                "0f80izh9wshrsw55kg9abpip74hk6frk3hgqrkqbyn3f6i8g2z3q"))
               (modules '((guix build utils)))
               (snippet
                 `(begin
@@ -627,6 +627,7 @@ development.")
        ("libtiff" ,libtiff)
        ("libwebp" ,libwebp)
        ("pcre" ,pcre)
+       ("proj" ,proj)
        ("zlib" ,zlib)))
     (home-page "http://www.gdal.org/")
     (synopsis "Raster and vector geospatial data format library")
-- 
2.23.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.5: 0004-gnu-libspatialindex-Update-to-1.9.3.patch --]
[-- Type: text/x-patch, Size: 1429 bytes --]

From eb19fd3b25484f58abcf0db7174064bc1158bb7e Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 01:46:28 +0530
Subject: [PATCH 4/9] gnu: libspatialindex: Update to 1.9.3.

* gnu/packages/geo.scm (libspatialindex): Update to 1.9.3.
[build-system]: Switch to cmake-build-system.
---
 gnu/packages/geo.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index ea78b69089..ad138d6578 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -1046,16 +1046,16 @@ volunteers.")
 (define-public libspatialindex
   (package
     (name "libspatialindex")
-    (version "1.8.5")
+    (version "1.9.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://download.osgeo.org/libspatialindex/"
-                           "spatialindex-src-" version ".tar.gz"))
+                           "spatialindex-src-" version ".tar.bz2"))
        (sha256
         (base32
-         "1vxzm7kczwnb6qdmc0hb00z8ykx11zk3sb68gc7rch4vrfi4dakw"))))
-    (build-system gnu-build-system)
+         "02n5vjcyk04w0djidyp21hfbxfpbbara8ifd9nml6158rwqr8lja"))))
+    (build-system cmake-build-system)
     (home-page "https://libspatialindex.org")
     (synopsis "Spatial indexing library")
     (description "The purpose of this library is to provide:
-- 
2.23.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.6: 0005-gnu-libgeotiff-Update-to-1.5.1.patch --]
[-- Type: text/x-patch, Size: 2197 bytes --]

From ba3bff132eba8eeaf032e69cade548910bb8c3fd Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 01:47:47 +0530
Subject: [PATCH 5/9] gnu: libgeotiff: Update to 1.5.1.

* gnu/packages/geo.scm (libgeotiff): Update to 1.5.1.
[inputs]: Replace proj.4 with proj.
---
 gnu/packages/geo.scm | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index ad138d6578..8fe48367b9 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -225,35 +225,30 @@ and driving.")
 (define-public libgeotiff
   (package
     (name "libgeotiff")
-    (version "1.4.3")
+    (version "1.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-"
                            version ".tar.gz"))
        (sha256
-        (base32 "0rbjqixi4c8yz19larlzq6jda0px2gpmpp9c52cyhplbjsdhsldq"))
+        (base32 "0b31mlzcv5b1y7jdvb7p0pa3xradrg3x5g32ym911lbhq4rrgsgr"))
        (modules '((guix build utils)))
        (snippet
         '(begin
            ;; Remove .csv files, distributed from EPSG under a restricted
            ;; license. See LICENSE for full license text.
            (for-each delete-file (find-files "." "\\.csv$"))
-           ;; Now that we have removed the csv files, we need to modify the Makefile.
-           (substitute* "Makefile.in"
-             (("^all-am: .*$")
-              "all-am: Makefile $(LTLIBRARIES) $(HEADERS) geo_config.h\n")
-             (("^install-data-am: .*$")
-              "install-data-am: install-includeHEADERS"))
            #t))))
     (build-system gnu-build-system)
     (inputs
      `(("libjpeg-turbo" ,libjpeg-turbo)
        ("libtiff" ,libtiff)
-       ("proj.4" ,proj.4)
+       ("proj" ,proj)
        ("zlib" ,zlib)))
     (arguments
-     `(#:configure-flags
+     `(#:tests? #f
+       #:configure-flags
        (list (string-append "--with-zlib")
              (string-append "--with-jpeg")
              (string-append "--with-libtiff=" (assoc-ref %build-inputs "libtiff")))))
-- 
2.23.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.7: 0006-licenses-Add-GNU-Free-Documentation-licenses.patch --]
[-- Type: text/x-patch, Size: 1549 bytes --]

From f4a36d098a9b51ff22b9f2e1c6b414f8648010ed Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 16:28:38 +0530
Subject: [PATCH 6/9] licenses: Add GNU Free Documentation licenses.

* guix/licenses.scm (gfdl1.2+, gfdl1.2+-without-invariant-sections): New
variables.
---
 guix/licenses.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 41d4fefad2..24e69ac1c5 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -54,6 +54,7 @@
             freetype
             freebsd-doc
             giftware
+            gfdl1.2+ gfdl1.2+-without-invariant-sections
             gpl1 gpl1+ gpl2 gpl2+ gpl3 gpl3+
             gfl1.0
             fdl1.1+ fdl1.2+ fdl1.3+
@@ -284,6 +285,16 @@ at URI, which may be a file:// URI pointing the package's tree."
            "http://directory.fsf.org/wiki/License:Freetype"
            "https://www.gnu.org/licenses/license-list.html#freetype"))
 
+(define gfdl1.2+
+  (license "GFDL 1.2+"
+           "https://www.gnu.org/licenses/old-licenses/fdl-1.2.en.html"
+           "https://www.gnu.org/licenses/license-list.html#FDL"))
+
+(define gfdl1.2+-without-invariant-sections
+  (license "GFDL 1.2+ without invariant sections"
+           "https://www.gnu.org/licenses/old-licenses/fdl-1.2.en.html"
+           "https://www.gnu.org/licenses/license-list.html#FDL"))
+
 (define giftware
   (license "Giftware"
            "http://liballeg.org/license.html"
-- 
2.23.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.8: 0007-licenses-Add-Open-Government-Licence-for-Public-Sect.patch --]
[-- Type: text/x-patch, Size: 1228 bytes --]

From 34f79e3835550d89e94e5b61b9d0bfe1c9254ce1 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 16:30:09 +0530
Subject: [PATCH 7/9] licenses: Add Open Government Licence for Public Sector
 Information.

* guix/licenses.scm (ogl-psi1.0): New variable.
---
 guix/licenses.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 24e69ac1c5..3b79e7c1c3 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -76,6 +76,7 @@
             ms-pl
             ncsa
             nmap
+            ogl-psi1.0
             openldap2.8 openssl
             perl-license
             psfl public-domain
@@ -527,6 +528,11 @@ at URI, which may be a file:// URI pointing the package's tree."
            "https://svn.nmap.org/nmap/COPYING"
            "https://fedoraproject.org/wiki/Licensing/Nmap"))
 
+(define ogl-psi1.0
+  (license "Open Government Licence for Public Sector Information"
+           "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/1/"
+           #f))
+
 (define openssl
   (license "OpenSSL"
            "http://directory.fsf.org/wiki/License:OpenSSL"
-- 
2.23.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.9: 0008-licenses-Add-QWT-1.0-license.patch --]
[-- Type: text/x-patch, Size: 1137 bytes --]

From 692ebddcddbf26e92274455044fe8c082f7526a1 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 16:31:50 +0530
Subject: [PATCH 8/9] licenses: Add QWT 1.0 license.

* guix/licenses.scm (qwt1.0): New variable.
---
 guix/licenses.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 3b79e7c1c3..80655b7ab4 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -81,6 +81,7 @@
             perl-license
             psfl public-domain
             qpl
+            qwt1.0
             repoze
             ruby
             sgifreeb2.0
@@ -565,6 +566,11 @@ at URI, which may be a file:// URI pointing the package's tree."
            "http://directory.fsf.org/wiki/License:QPLv1.0"
            "http://www.gnu.org/licenses/license-list.html#QPL"))
 
+(define qwt1.0
+  (license "QWT 1.0"
+           "http://qwt.sourceforge.net/qwtlicense.html"
+           "GNU Lesser General Public License with exceptions"))
+
 (define repoze
   (license "Repoze"
            "http://repoze.org/LICENSE.txt"
-- 
2.23.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.10: 0009-gnu-Add-qgis.patch --]
[-- Type: text/x-patch, Size: 12659 bytes --]

From dd9860f804a76ce9d92c69bb67304695c0ce3142 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 16:32:49 +0530
Subject: [PATCH 9/9] gnu: Add qgis.

* gnu/packages/geo.scm (qgis): New variable.
---
 gnu/packages/geo.scm | 242 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 242 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 8fe48367b9..625b4aeebb 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -44,12 +44,14 @@
   #:use-module (guix utils)
   #:use-module (gnu packages astronomy)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages glib)
@@ -58,15 +60,19 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages kde)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages time)
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages wxwidgets)
@@ -1244,3 +1250,239 @@ supports loading GPX tracks, background imagery and OSM data from local
 sources as well as from online sources and allows to edit the OSM data (nodes,
 ways, and relations) and their metadata tags.")
     (license license:gpl2+)))
+
+(define-public qgis
+  (package
+    (name "qgis")
+    (version "3.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://qgis.org/downloads/qgis-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32
+         "04ph8abhq0f2hzq276a070nwyhzfrvyhswks6gx2z4pvv50irsr5"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; yet to get the tests working
+       #:modules ((guix build cmake-build-system)
+                  ((guix build python-build-system) #:prefix python:)
+                  (guix build utils))
+       #:imported-modules (,@%cmake-build-system-modules
+                           (guix build python-build-system))
+       #:phases
+       (modify-phases %standard-phases
+         ;; Configure correct path to PyQt5 SIP directory
+         (add-after 'unpack 'configure-pyqt5-sip-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "cmake/FindPyQt5.cmake"
+               (("\"\\\\\\\\1\" PYQT5_SIP_DIR")
+                (string-append "\"" (assoc-ref inputs "python-pyqt+qscintilla")
+                               "/share/sip\" PYQT5_SIP_DIR")))
+             #t))
+         (add-after 'install 'wrap
+           (assoc-ref python:%standard-phases 'wrap)))))
+    (inputs
+     `(("exiv2" ,exiv2)
+       ("expat" ,expat)
+       ("gdal" ,gdal)
+       ("geos" ,geos)
+       ("gsl" ,gsl)
+       ("libspatialindex" ,libspatialindex)
+       ("libspatialite" ,libspatialite)
+       ("libzip" ,libzip)
+       ("postgresql" ,postgresql)
+       ("proj" ,proj)
+       ("python" ,python)
+       ("python-pyqt+qscintilla" ,python-pyqt+qscintilla)
+       ("qca" ,qca)
+       ("qscintilla" ,qscintilla)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtkeychain" ,qtkeychain)
+       ("qtlocation" ,qtlocation)
+       ("qtserialport" ,qtserialport)
+       ("qtsvg" ,qtsvg)
+       ("qttools" ,qttools)
+       ("qtwebkit" ,qtwebkit)
+       ("qwt" ,qwt)
+       ("sqlite" ,sqlite-with-column-metadata)))
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)))
+    (home-page "https://qgis.org")
+    (synopsis "Geographical information system")
+    (description "QGIS is an easy to use Geographical Information
+System (GIS).  It is a GIS data viewer and editor.  QGIS supports a number of
+raster and vector data formats, with new support easily added using the plugin
+architecture.")
+    (license
+     (list license:gpl2+
+           ;; qgis.dtd
+           ;; src/core/pal/rtree.hpp
+           ;; src/plugins/grass/qtermwidget/konsole_wcwidth.*
+           ;; cmake/PythonCompile.py
+           ;; resources/cpt-city-qgis-min/dg/*
+           ;; resources/cpt-city-qgis-min/gery/*
+           ;; resources/cpt-city-qgis-min/jjg/dem/*
+           ;; resources/cpt-city-qgis-min/jjg/misc/*
+           ;; resources/cpt-city-qgis-min/jjg/physics/*
+           ;; tests/testdata/cpt-city/jjg/misc/*
+           ;; resources/cpt-city-qgis-min/km/*
+           ;; resources/cpt-city-qgis-min/pd/*
+           ;; resources/cpt-city-qgis-min/wkp/encyclopedia/*
+           ;; resources/cpt-city-qgis-min/wkp/template/*
+           ;; resources/cpt-city-qgis-min/ocal/*
+           ;; resources/cpt-city-qgis-min/rf/*
+           ;; resources/cpt-city-qgis-min/tp/*
+           license:public-domain
+           ;; python/plugins/processing/modeler/ModelerArrowItem.py
+           ;; src/app/qgssettingstree.cpp
+           ;; src/app/qgssettingstree.h
+           ;; src/app/qgsvariantdelegate.cpp
+           ;; src/app/qgsvariantdelegate.h
+           ;; src/app/qtmain_android.cpp
+           ;; cmake/Bison.cmake
+           ;; cmake/FindExpat.cmake
+           ;; cmake/FindGRASS.cmake
+           ;; cmake/FindPostgres.cmake
+           ;; cmake/FindProj.cmake
+           ;; cmake/FindSqlite3.cmake
+           ;; cmake/Flex.cmake
+           ;; cmake/FindFcgi.cmake
+           ;; cmake/FindGDAL.cmake
+           ;; cmake/FindGEOS.cmake
+           ;; cmake/FindGSL.cmake
+           ;; cmake/FindIconv.cmake
+           ;; cmake/FindOSGEARTH.cmake
+           ;; cmake/FindLibPython.py
+           ;; cmake/FindPyQt4.cmake
+           ;; cmake/FindPyQt4.py
+           ;; cmake/FindPyQt5.cmake
+           ;; cmake/FindPyQt5.py
+           ;; cmake/FindPythonLibrary.cmake
+           ;; cmake/FindSIP.cmake
+           ;; cmake/FindSIP.py
+           ;; cmake/PythonMacros.cmake
+           ;; cmake/SIPMacros.cmake
+           ;; cmake/FindQCA.cmake
+           ;; cmake/FindQextserialport.cmake
+           ;; cmake/FindQGIS.cmake
+           ;; cmake/FindQsci.cmake
+           ;; cmake/FindQsci.py
+           ;; cmake/FindQScintilla.cmake
+           ;; cmake/FindQwt.cmake
+           ;; cmake/FindSpatiaLite.cmake
+           ;; cmake/MacBundleMacros.cmake
+           ;; cmake/MacPlistMacros.cmake
+           ;; cmake/PyQtMacros.cmake
+           ;; cmake/QCAMacros.cmake
+           ;; cmake/UsePythonTest.cmake
+           license:bsd-3
+           ;; external//qwtpolar-1.1.1/*
+           ;; src/gui/raster/qwt5_histogram_item.h
+           license:qwt1.0
+           ;; external/astyle/*
+           license:lgpl2.1+
+           ;; external/nmea/config.h
+           ;; external/nmea/context.c
+           ;; external/nmea/context.h
+           ;; external/nmea/gmath.c
+           ;; external/nmea/gmath.h
+           ;; external/nmea/info.c
+           ;; external/nmea/info.h
+           ;; external/nmea/nmeatime.h
+           ;; external/nmea/parse.c
+           ;; external/nmea/parse.h
+           ;; external/nmea/parser.h
+           ;; external/nmea/sentence.c
+           ;; external/nmea/sentence.h
+           ;; external/nmea/time.c
+           ;; external/nmea/tok.c
+           ;; external/nmea/tok.h
+           ;; external/nmea/units.h
+           ;; src/plugins/evis/*
+           ;; src/plugins/grass/qtermwidget/kprocess.cpp
+           ;; src/plugins/grass/qtermwidget/kprocess.h
+           ;; src/plugins/grass/qtermwidget/kptydevice.cpp
+           ;; src/plugins/grass/qtermwidget/kptydevice.h
+           ;; src/plugins/grass/qtermwidget/kptyprocess.cpp
+           ;; src/plugins/grass/qtermwidget/kptyprocess.h
+           ;; src/plugins/grass/qtermwidget/kpty.cpp
+           ;; src/plugins/grass/qtermwidget/kpty.h
+           ;; src/plugins/grass/qtermwidget/kpty_p.h
+           ;; src/plugins/grass/qtermwidget/qtermwidget.cpp
+           ;; src/plugins/grass/qtermwidget/qtermwidget.h
+           ;; src/plugins/grass/qtermwidget/TerminalCharacterDecoder.cpp
+           ;; src/plugins/grass/qtermwidget/TerminalCharacterDecoder.h
+           license:lgpl2.0+
+           ;; src/core/pal/*
+           ;; resources/cpt-city-qgis-min/ds9/*
+           ;; resources/cpt-city-qgis-min/grass/*
+           license:gpl3+
+           ;; src/core/symbology/qgscolorbrewerpalette.cpp
+           license:asl2.0
+           ;; images/themes/default/*
+           ;; resources/cpt-city-qgis-min/gps/*
+           ;; resources/cpt-city-qgis-min/nd/*
+           ;; resources/cpt-city-qgis-min/wkp/country/*
+           ;; resources/cpt-city-qgis-min/wkp/jarke/*
+           ;; resources/cpt-city-qgis-min/wkp/jarke/*
+           ;; resources/cpt-city-qgis-min/wkp/knutux/*
+           ;; resources/cpt-city-qgis-min/wkp/lilleskut/*
+           ;; resources/cpt-city-qgis-min/wkp/plumbago/*
+           ;; resources/cpt-city-qgis-min/wkp/precip/*
+           ;; resources/cpt-city-qgis-min/wkp/schwarzwald/*
+           ;; resources/cpt-city-qgis-min/wkp/shadowxfox/*
+           ;; resources/cpt-city-qgis-min/wkp/tubs/*
+           license:cc-by-sa3.0
+           ;; resources/cpt-city-qgis-min/cb/*
+           ;; resources/cpt-city-qgis-min/jjg/cbac/*
+           ;; resources/cpt-city-qgis-min/jjg/cbcont/*
+           ;; resources/cpt-city-qgis-min/jjg/polarity/*
+           license:asl1.1
+           ;; resources/cpt-city-qgis-min/ds/*
+           (license:fsf-free
+            "https://www.deviantart.com/webgoddess/art/Reddish-Inspired-Gradients-42208824")
+           ;; resources/cpt-city-qgis-min/es/*
+           (license:fsdg-compatible
+            "https://www.deviantart.com/elvensword")
+           ;; resources/cpt-city-qgis-min/gist/*
+           (license:non-copyleft "file://debian/copyright"
+                                 "BSD-like-gist")
+           ;; resources/cpt-city-qgis-min/go2/webtwo/*
+           (license:fsf-free "file://debian/copyright"
+                             "Go Squared")
+           ;; resources/cpt-city-qgis-min/h5/*
+           license:expat
+           ;; resources/cpt-city-qgis-min/jm/*
+           (license:non-copyleft "file://debian/copyright"
+                                 "Jim Mossman Attribution")
+           ;; resources/cpt-city-qgis-min/ncl/*
+           (license:non-copyleft
+            "https://www.ncl.ucar.edu/Download/NCL_source_license.shtml"
+            "NCL Source Code License")
+           ;; resources/cpt-city-qgis-min/os/*
+           ;; resources/cpt-city-qgis-min/ukmo/*
+           license:ogl-psi1.0
+           ;; resources/cpt-city-qgis-min/wkp/ice/*
+           license:gfdl1.2+-without-invariant-sections
+           ;; src/gui/symbology/characterwidget.cpp
+           ;; src/gui/symbology/characterwidget.h
+           ;; src/providers/oracle/ocispatial/main.cpp
+           ;; src/providers/oracle/ocispatial/qsql_ocispatial.cpp
+           ;; src/providers/oracle/ocispatial/qsql_ocispatial.h
+           ;; src/providers/oracle/ocispatial/qsqlcachedresult_p.h
+           ;; src/providers/spatialite/qspatialite/qsql_spatialite.cpp
+           ;; src/providers/spatialite/qspatialite/qsql_spatialite.h
+           ;; src/providers/spatialite/qspatialite/qsqlcachedresult_p.h
+           ;; src/providers/spatialite/qspatialite/smain.cpp
+           ;; tests/qt_modeltest/modeltest.cpp
+           ;; tests/qt_modeltest/modeltest.h
+           ;; tests/qt_modeltest/tst_modeltest.cpp
+           ;; tests/qt_modeltest/dynamictreemodel.cpp
+           ;; tests/qt_modeltest/dynamictreemodel.h
+           (license:fsf-free
+            "file://debian/copyright"
+            "QT-Commercial or LGPL-2.1 with Digia Qt LGPL Exception 1.1 or GPL-3")))))
-- 
2.23.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-05 11:19   ` Arun Isaac
@ 2019-12-07 10:51     ` Wiktor Żelazny
  2019-12-10 17:08       ` Arun Isaac
  2019-12-18  6:21     ` Björn Höfling
                       ` (2 subsequent siblings)
  3 siblings, 1 reply; 22+ messages in thread
From: Wiktor Żelazny @ 2019-12-07 10:51 UTC (permalink / raw)
  To: 38149

[-- Attachment #1: Type: text/plain, Size: 234 bytes --]

On Thu, Dec 05, 2019 at 04:49:38PM +0530, Arun Isaac wrote:

> Please find attached my WIP patchset.

Impressive. Unfortunately, I could not test it because of busyness and
the savannah issue.

Thank you for your work,

WŻ

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 963 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-07 10:51     ` Wiktor Żelazny
@ 2019-12-10 17:08       ` Arun Isaac
  2019-12-30 15:40         ` Wiktor Żelazny
  0 siblings, 1 reply; 22+ messages in thread
From: Arun Isaac @ 2019-12-10 17:08 UTC (permalink / raw)
  To: Wiktor Żelazny, 38149

[-- Attachment #1: Type: text/plain, Size: 336 bytes --]


> Impressive. Unfortunately, I could not test it because of busyness and
> the savannah issue.

No problem! Take your time. I am working on the tests now. That will
likely take another eternity, but I'm making steady progress.

Also, I just read this email. Please CC me in the future. That will help
me take note sooner.

Cheers! :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-05 11:19   ` Arun Isaac
  2019-12-07 10:51     ` Wiktor Żelazny
@ 2019-12-18  6:21     ` Björn Höfling
  2019-12-18  8:59     ` Björn Höfling
  2019-12-18  9:07     ` Björn Höfling
  3 siblings, 0 replies; 22+ messages in thread
From: Björn Höfling @ 2019-12-18  6:21 UTC (permalink / raw)
  To: Arun Isaac; +Cc: 38149, Wiktor Żelazny

[-- Attachment #1: Type: text/plain, Size: 328 bytes --]

Hi Arun,

On Thu, 05 Dec 2019 16:49:38 +0530
Arun Isaac <arunisaac@systemreboot.net> wrote:

> Please find attached my WIP patchset. With this patchset, qgis builds
> and runs successfully. Pending work includes

The last patch (0009 for QGIS itself) does not apply. Do you have an
updated patch?

Thanks,

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-05 11:19   ` Arun Isaac
  2019-12-07 10:51     ` Wiktor Żelazny
  2019-12-18  6:21     ` Björn Höfling
@ 2019-12-18  8:59     ` Björn Höfling
  2019-12-18  9:07     ` Björn Höfling
  3 siblings, 0 replies; 22+ messages in thread
From: Björn Höfling @ 2019-12-18  8:59 UTC (permalink / raw)
  To: Arun Isaac; +Cc: 38149, Wiktor Żelazny


[-- Attachment #1.1: Type: text/plain, Size: 1257 bytes --]

Hi Arun,

On Thu, 05 Dec 2019 16:49:38 +0530
Arun Isaac <arunisaac@systemreboot.net> wrote:

> From 07056365b692b896419f108ec072291ab2bba7e1 Mon Sep 17 00:00:00 2001
> From: Arun Isaac <arunisaac@systemreboot.net>
> Date: Thu, 5 Dec 2019 01:43:42 +0530
> Subject: [PATCH 2/9] gnu: Add proj.
> 
> * gnu/packages/geo.scm (proj): New variable.

We should clean up proj/proj.4 a bit more. I have to admit that I have
neglected this topic a bit, because it is tedious :-)

Proj/Proj.4 have different dependencies now (glib vs sqlite). This could
be OK due to the big change they made, but it could also hint a
packaging problem. I haven't looked yet into these details.

Reverse-dependencies:

At least now we have some packages depending on both proj and proj4,
for example:

* proj4-->postgis, proj->gdal->postgis

I will attach the full graph of:

$ guix graph -t reverse-package proj proj.4

Maybe we can totally eliminate proj.4, if all its dependencies are happy
with the 5+ (breaking) changes. If we cannot remove proj.4, at least
the graph should be separated. The "connecting package" is gdal (and
geotiff).

I know this is a bit out-of-scope of the QGIS-patch, but I think we
should clean this up before.

Björn

[-- Attachment #1.2: both.dot --]
[-- Type: application/msword-template, Size: 5179 bytes --]

[-- Attachment #1.3: both.svg --]
[-- Type: image/svg+xml, Size: 28177 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-05 11:19   ` Arun Isaac
                       ` (2 preceding siblings ...)
  2019-12-18  8:59     ` Björn Höfling
@ 2019-12-18  9:07     ` Björn Höfling
  2019-12-20 16:52       ` Arun Isaac
  3 siblings, 1 reply; 22+ messages in thread
From: Björn Höfling @ 2019-12-18  9:07 UTC (permalink / raw)
  To: Arun Isaac; +Cc: 38149, Wiktor Żelazny

[-- Attachment #1: Type: text/plain, Size: 880 bytes --]

On Thu, 05 Dec 2019 16:49:38 +0530
Arun Isaac <arunisaac@systemreboot.net> wrote:

> Subject: [PATCH 4/9] gnu: libspatialindex: Update to 1.9.3.

[..]

> -    (version "1.8.5")
> +    (version "1.9.3")
>      (source
>       (origin
>         (method url-fetch)
>         (uri (string-append
> "https://download.osgeo.org/libspatialindex/"
> -                           "spatialindex-src-" version ".tar.gz"))
> +                           "spatialindex-src-" version ".tar.bz2"))

I cannot find libspatialindex 1.9.3 here:

https://download.osgeo.org/libspatialindex/

How could you build it (Probably answer: You guix downloaded it in
your store and it was found by the right checksum)?

I found a download link here:

https://libspatialindex.org/#download

Or we better take the git sources? Could you please update the patch?

Thanks,

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-18  9:07     ` Björn Höfling
@ 2019-12-20 16:52       ` Arun Isaac
  2019-12-23  6:55         ` Danny Milosavljevic
  0 siblings, 1 reply; 22+ messages in thread
From: Arun Isaac @ 2019-12-20 16:52 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 38149, Wiktor Żelazny


[-- Attachment #1.1: Type: text/plain, Size: 969 bytes --]


> I cannot find libspatialindex 1.9.3 here:
>
> https://download.osgeo.org/libspatialindex/

I have fixed this now.

> How could you build it (Probably answer: You guix downloaded it in
> your store and it was found by the right checksum)?

That's probably what happened, I guess.

> I found a download link here:
>
> https://libspatialindex.org/#download
>
> Or we better take the git sources? Could you please update the patch?

Let's use the source tarball for now. I think it's stable enough and the
link won't break again.

Yes, we should use proj instead of proj.4 wherever possible. But, if I
remember correctly, some packages work only with proj.4 for now. Also,
we should push some of the simpler patches (say, the simple update
patches) to master right away. That will help to declutter this bug
report a little bit. WDYT?

Please find attached a new patchset. Around 56 tests are still failing
in the qgis build. I brought it down from around a 100 or so.


[-- Attachment #1.2: qgis-patcheset.patch --]
[-- Type: text/x-patch, Size: 33488 bytes --]

From 77ac87f26e493f0e4a8eb2f4b38f8ae679e6765f Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Wed, 4 Dec 2019 19:55:17 +0530
Subject: [PATCH 01/14] gnu: geos: Update to 3.8.0.

* gnu/packages/geo.scm (geos): Update to 3.8.0.
---
 gnu/packages/geo.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 278ece094c..b6948a45c9 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2017, 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;; Copyright © 2018, 2019 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
@@ -77,7 +77,7 @@
 (define-public geos
   (package
     (name "geos")
-    (version "3.7.1")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://download.osgeo.org/geos/geos-"
@@ -85,7 +85,7 @@
                                   ".tar.bz2"))
               (sha256
                (base32
-                "1312m02xk4sp6f1xdpb9w0ic0zbxg90p5y66qnwidl5fksscf1h0"))))
+                "1mb2v9fy1gnbjhcgv0xny11ggfb17vkzsajdyibigwsxr4ylq4cr"))))
     (build-system gnu-build-system)
     (arguments `(#:phases
                  (modify-phases %standard-phases
-- 
2.23.0

From 471bcacb79de672781a775cb475099c4c0e79927 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 01:43:42 +0530
Subject: [PATCH 02/14] gnu: Add proj.

* gnu/packages/geo.scm (proj): New variable.
---
 gnu/packages/geo.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index b6948a45c9..1a1a2c2b37 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -321,6 +321,41 @@ fully fledged Spatial SQL capabilities.")
                    license:mpl1.1
                    license:public-domain))))
 
+(define-public proj
+  (package
+    (name "proj")
+    (version "6.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://download.osgeo.org/proj/proj-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "0l1as8f4zfg74fms6h5p5psziw0lpznja1xnirzsscpnfbwc005k"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("sqlite" ,sqlite)))
+    (native-inputs
+     `(("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
+                   ;; cmake/*
+                   license:boost1.0))))
+
 (define-public proj.4
   (package
     (name "proj.4")
-- 
2.23.0

From e0d398a4c6e643b4f8079a318c3c2a0637e6a067 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 01:45:30 +0530
Subject: [PATCH 03/14] gnu: gdal: Update to 3.0.2.

* gnu/packages/geo.scm (gdal): Update to 3.0.2.
[inputs]: Add proj.
---
 gnu/packages/geo.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 1a1a2c2b37..6c7eeae093 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -569,7 +569,7 @@ development.")
 (define-public gdal
   (package
     (name "gdal")
-    (version "2.2.4")
+    (version "3.0.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -577,7 +577,7 @@ development.")
                      version ".tar.gz"))
               (sha256
                (base32
-                "1951f7b69x3d1vic0rmq92q8f4bj3hbxnxmj5jl0cc3zg0isgmdr"))
+                "0f80izh9wshrsw55kg9abpip74hk6frk3hgqrkqbyn3f6i8g2z3q"))
               (modules '((guix build utils)))
               (snippet
                 `(begin
@@ -629,6 +629,7 @@ development.")
        ("libtiff" ,libtiff)
        ("libwebp" ,libwebp)
        ("pcre" ,pcre)
+       ("proj" ,proj)
        ("zlib" ,zlib)))
     (home-page "http://www.gdal.org/")
     (synopsis "Raster and vector geospatial data format library")
-- 
2.23.0

From 80ae71abb1a40d5b49b33ad2565b675561caad7b Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 01:46:28 +0530
Subject: [PATCH 04/14] gnu: libspatialindex: Update to 1.9.3.

* gnu/packages/geo.scm (libspatialindex): Update to 1.9.3.
[build-system]: Switch to cmake-build-system.
[source]: Update URI.
---
 gnu/packages/geo.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 6c7eeae093..f211f49842 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -1048,16 +1048,16 @@ volunteers.")
 (define-public libspatialindex
   (package
     (name "libspatialindex")
-    (version "1.8.5")
+    (version "1.9.3")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://download.osgeo.org/libspatialindex/"
-                           "spatialindex-src-" version ".tar.gz"))
+       (uri (string-append "https://github.com/libspatialindex/libspatialindex/releases/download/"
+                           version "/spatialindex-src-" version ".tar.bz2"))
        (sha256
         (base32
-         "1vxzm7kczwnb6qdmc0hb00z8ykx11zk3sb68gc7rch4vrfi4dakw"))))
-    (build-system gnu-build-system)
+         "02n5vjcyk04w0djidyp21hfbxfpbbara8ifd9nml6158rwqr8lja"))))
+    (build-system cmake-build-system)
     (home-page "https://libspatialindex.org")
     (synopsis "Spatial indexing library")
     (description "The purpose of this library is to provide:
-- 
2.23.0

From 06c9c61daef220d16f0e5e8c1c5eb1a9da499457 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 01:47:47 +0530
Subject: [PATCH 05/14] gnu: libgeotiff: Update to 1.5.1.

* gnu/packages/geo.scm (libgeotiff): Update to 1.5.1.
[inputs]: Replace proj.4 with proj.
---
 gnu/packages/geo.scm | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index f211f49842..2019e633fb 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -227,35 +227,30 @@ and driving.")
 (define-public libgeotiff
   (package
     (name "libgeotiff")
-    (version "1.4.3")
+    (version "1.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-"
                            version ".tar.gz"))
        (sha256
-        (base32 "0rbjqixi4c8yz19larlzq6jda0px2gpmpp9c52cyhplbjsdhsldq"))
+        (base32 "0b31mlzcv5b1y7jdvb7p0pa3xradrg3x5g32ym911lbhq4rrgsgr"))
        (modules '((guix build utils)))
        (snippet
         '(begin
            ;; Remove .csv files, distributed from EPSG under a restricted
            ;; license. See LICENSE for full license text.
            (for-each delete-file (find-files "." "\\.csv$"))
-           ;; Now that we have removed the csv files, we need to modify the Makefile.
-           (substitute* "Makefile.in"
-             (("^all-am: .*$")
-              "all-am: Makefile $(LTLIBRARIES) $(HEADERS) geo_config.h\n")
-             (("^install-data-am: .*$")
-              "install-data-am: install-includeHEADERS"))
            #t))))
     (build-system gnu-build-system)
     (inputs
      `(("libjpeg-turbo" ,libjpeg-turbo)
        ("libtiff" ,libtiff)
-       ("proj.4" ,proj.4)
+       ("proj" ,proj)
        ("zlib" ,zlib)))
     (arguments
-     `(#:configure-flags
+     `(#:tests? #f
+       #:configure-flags
        (list (string-append "--with-zlib")
              (string-append "--with-jpeg")
              (string-append "--with-libtiff=" (assoc-ref %build-inputs "libtiff")))))
-- 
2.23.0

From f7fc3ed9cea3be242ff39c85ffba1961874b10e7 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 16:28:38 +0530
Subject: [PATCH 06/14] licenses: Add GNU Free Documentation licenses.

* guix/licenses.scm (gfdl1.2+, gfdl1.2+-without-invariant-sections): New
variables.
---
 guix/licenses.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 41d4fefad2..24e69ac1c5 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -54,6 +54,7 @@
             freetype
             freebsd-doc
             giftware
+            gfdl1.2+ gfdl1.2+-without-invariant-sections
             gpl1 gpl1+ gpl2 gpl2+ gpl3 gpl3+
             gfl1.0
             fdl1.1+ fdl1.2+ fdl1.3+
@@ -284,6 +285,16 @@ at URI, which may be a file:// URI pointing the package's tree."
            "http://directory.fsf.org/wiki/License:Freetype"
            "https://www.gnu.org/licenses/license-list.html#freetype"))
 
+(define gfdl1.2+
+  (license "GFDL 1.2+"
+           "https://www.gnu.org/licenses/old-licenses/fdl-1.2.en.html"
+           "https://www.gnu.org/licenses/license-list.html#FDL"))
+
+(define gfdl1.2+-without-invariant-sections
+  (license "GFDL 1.2+ without invariant sections"
+           "https://www.gnu.org/licenses/old-licenses/fdl-1.2.en.html"
+           "https://www.gnu.org/licenses/license-list.html#FDL"))
+
 (define giftware
   (license "Giftware"
            "http://liballeg.org/license.html"
-- 
2.23.0

From 37481bb118f3d3a4e3c6b525d50c7558ddd69e20 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 16:30:09 +0530
Subject: [PATCH 07/14] licenses: Add Open Government Licence for Public Sector
 Information.

* guix/licenses.scm (ogl-psi1.0): New variable.
---
 guix/licenses.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 24e69ac1c5..3b79e7c1c3 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -76,6 +76,7 @@
             ms-pl
             ncsa
             nmap
+            ogl-psi1.0
             openldap2.8 openssl
             perl-license
             psfl public-domain
@@ -527,6 +528,11 @@ at URI, which may be a file:// URI pointing the package's tree."
            "https://svn.nmap.org/nmap/COPYING"
            "https://fedoraproject.org/wiki/Licensing/Nmap"))
 
+(define ogl-psi1.0
+  (license "Open Government Licence for Public Sector Information"
+           "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/1/"
+           #f))
+
 (define openssl
   (license "OpenSSL"
            "http://directory.fsf.org/wiki/License:OpenSSL"
-- 
2.23.0

From 811ae1578e141e4508dfbde96f51c749f4ec9af1 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 16:31:50 +0530
Subject: [PATCH 08/14] licenses: Add QWT 1.0 license.

* guix/licenses.scm (qwt1.0): New variable.
---
 guix/licenses.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 3b79e7c1c3..80655b7ab4 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -81,6 +81,7 @@
             perl-license
             psfl public-domain
             qpl
+            qwt1.0
             repoze
             ruby
             sgifreeb2.0
@@ -565,6 +566,11 @@ at URI, which may be a file:// URI pointing the package's tree."
            "http://directory.fsf.org/wiki/License:QPLv1.0"
            "http://www.gnu.org/licenses/license-list.html#QPL"))
 
+(define qwt1.0
+  (license "QWT 1.0"
+           "http://qwt.sourceforge.net/qwtlicense.html"
+           "GNU Lesser General Public License with exceptions"))
+
 (define repoze
   (license "Repoze"
            "http://repoze.org/LICENSE.txt"
-- 
2.23.0

From 641c650636b32142670f455da3f39990bd308c26 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Fri, 20 Dec 2019 18:52:38 +0530
Subject: [PATCH 09/14] gnu: postgis: Update to 3.0.0.

* gnu/packages/geo.scm (postgis): Update to 3.0.0.
[inputs]: Add json-c and libjpeg-turbo. Replace proj.4 with proj.
---
 gnu/packages/geo.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 2019e633fb..2b2f090639 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -676,14 +676,14 @@ utilities for data translation and processing.")
 (define-public postgis
   (package
     (name "postgis")
-    (version "2.4.8")
+    (version "3.0.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://download.osgeo.org/postgis/source/postgis-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0nanza15xzfhbpbq49p1xqz96dgbsam5332y9zj6snmz2mq685ll"))))
+                "15557fbk0xkngihwhqsbdyz2ng49blisf5zydw81j0gabk6x4vy0"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f
@@ -702,10 +702,12 @@ utilities for data translation and processing.")
     (inputs
      `(("gdal" ,gdal)
        ("geos" ,geos)
+       ("json-c" ,json-c)
+       ("libjpeg" ,libjpeg-turbo)
        ("libxml2" ,libxml2)
        ("pcre" ,pcre)
        ("postgresql" ,postgresql)
-       ("proj.4" ,proj.4)))
+       ("proj" ,proj)))
     (native-inputs
      `(("perl" ,perl)
        ("pkg-config" ,pkg-config)))
-- 
2.23.0

From f9dc84e6fc7ba0adb4bd80715f12ed70d531ac66 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Fri, 20 Dec 2019 21:36:50 +0530
Subject: [PATCH 10/14] gnu: gdal: Enable ODS format driver.

* gnu/packages/geo.scm (gdal)[inputs]: Add expat.
[arguments]: Add --with-expat to #:configure-flags.
---
 gnu/packages/geo.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 2b2f090639..54f40c0ed9 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -606,6 +606,7 @@ development.")
            (with "--with-libtiff" "libtiff")
            (with "--with-geotiff" "libgeotiff")
            (with "--with-libz" "zlib")
+           (with "--with-expat" "expat")
            "--with-pcre"))
        #:phases
        (modify-phases %standard-phases
@@ -614,7 +615,8 @@ development.")
              (substitute* "frmts/mrf/mrf_band.cpp"
                (("\"../zlib/zlib.h\"") "<zlib.h>")))))))
     (inputs
-     `(("freexl" ,freexl)
+     `(("expat" ,expat)
+       ("freexl" ,freexl)
        ("geos" ,geos)
        ("giflib" ,giflib)
        ("json-c" ,json-c)
-- 
2.23.0

From 0bb22bac6a58141d918245654a7f6abd172204ca Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Fri, 20 Dec 2019 21:39:22 +0530
Subject: [PATCH 11/14] gnu: gdal: Enable GPKG format driver.

* gnu/packages/geo.scm (gdal)[inputs]: Enable sqlite.
[arguments]: Add --with-sqlite3 to #:configure-flags.
---
 gnu/packages/geo.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 54f40c0ed9..8bdd6358a6 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -607,6 +607,7 @@ development.")
            (with "--with-geotiff" "libgeotiff")
            (with "--with-libz" "zlib")
            (with "--with-expat" "expat")
+           (with "--with-sqlite3" "sqlite")
            "--with-pcre"))
        #:phases
        (modify-phases %standard-phases
@@ -627,6 +628,7 @@ development.")
        ("libwebp" ,libwebp)
        ("pcre" ,pcre)
        ("proj" ,proj)
+       ("sqlite" ,sqlite)
        ("zlib" ,zlib)))
     (home-page "http://www.gdal.org/")
     (synopsis "Raster and vector geospatial data format library")
-- 
2.23.0

From 81f2314930100666a98f29a1c10a624e90bc74bc Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Fri, 20 Dec 2019 21:54:44 +0530
Subject: [PATCH 12/14] gnu: gdal: Enable netCDF format driver.

* gnu/packages/geo.scm (gdal)[inputs]: Add netcdf.
---
 gnu/packages/geo.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 8bdd6358a6..768ddd862d 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -626,6 +626,7 @@ development.")
        ("libpng" ,libpng)
        ("libtiff" ,libtiff)
        ("libwebp" ,libwebp)
+       ("netcdf" ,netcdf)
        ("pcre" ,pcre)
        ("proj" ,proj)
        ("sqlite" ,sqlite)
-- 
2.23.0

From 742ad584435ec3c3138a900043e3a00cfc9d39e4 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Fri, 20 Dec 2019 21:46:21 +0530
Subject: [PATCH 13/14] gnu: python: Enable loadable sqlite extensions.

* gnu/packages/python.scm (python-2.7)[arguments]: Add
--enable-loadable-sqlite-extensions to #:configure-flags.
---
 gnu/packages/python.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 048941e8a9..eb15a0e840 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -145,6 +145,7 @@
              "--with-system-ffi"                  ;build ctypes
              "--with-ensurepip=install"           ;install pip and setuptools
              "--enable-unicode=ucs4"
+             "--enable-loadable-sqlite-extensions"
 
              ;; Prevent the installed _sysconfigdata.py from retaining a reference
              ;; to coreutils.
-- 
2.23.0

From c08492669cf43550f0797d83a0a5461ba1311e64 Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Thu, 5 Dec 2019 16:32:49 +0530
Subject: [PATCH 14/14] gnu: Add qgis.

* gnu/packages/geo.scm (qgis): New variable.
---
 gnu/packages/geo.scm | 281 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 280 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 768ddd862d..cb9779807f 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -45,21 +45,26 @@
   #:use-module (guix utils)
   #:use-module (gnu packages astronomy)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages haskell-apps)
   #:use-module (gnu packages image)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages kde)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -69,10 +74,12 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages time)
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages wxwidgets)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
 
 (define-public geos
   (package
@@ -1329,3 +1336,275 @@ MaxMind DB files.")
     (description "Provides an API for the GeoIP2 web services and databases.
 The API also works with MaxMind’s free GeoLite2 databases.")
     (license license:asl2.0)))
+
+(define-public qgis
+  (package
+    (name "qgis")
+    (version "3.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://qgis.org/downloads/qgis-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32
+         "04ph8abhq0f2hzq276a070nwyhzfrvyhswks6gx2z4pvv50irsr5"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:modules ((guix build cmake-build-system)
+                  ((guix build python-build-system) #:prefix python:)
+                  (guix build utils))
+       #:imported-modules (,@%cmake-build-system-modules
+                           (guix build python-build-system))
+       #:phases
+       (modify-phases %standard-phases
+         ;; Configure correct path to PyQt5 SIP directory
+         (add-after 'unpack 'configure-pyqt5-sip-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "cmake/FindPyQt5.cmake"
+               (("\"\\\\\\\\1\" PYQT5_SIP_DIR")
+                (string-append "\"" (assoc-ref inputs "python-pyqt+qscintilla")
+                               "/share/sip\" PYQT5_SIP_DIR")))
+             (substitute* (list "scripts/prepare-commit.sh"
+                                "scripts/runtests-local-travis-config.sh"
+                                "scripts/sip_include.sh"
+                                "scripts/sipdiff"
+                                "scripts/sipify_all.sh"
+                                "scripts/spell_check/check_spelling.sh"
+                                "scripts/spell_check/spell_test.sh"
+                                "scripts/verify-indentation.sh"
+                                "tests/code_layout/test_banned_keywords.sh"
+                                "tests/code_layout/test_licenses.sh"
+                                "tests/code_layout/test_shellcheck.sh"
+                                "tests/code_layout/test_sip_include.sh"
+                                "tests/code_layout/test_sipfiles_uptodate.sh"
+                                "tests/code_layout/test_sipify.sh")
+               (("\\$\\(git rev-parse --show-toplevel\\)")
+                (getcwd)))
+             (substitute* "tests/code_layout/test_sip_include.sh"
+               (("^REV=.*") "REV=currentrev\n"))
+             #t))
+         (replace 'check
+           (lambda* (#:key inputs #:allow-other-keys)
+             (setenv "HOME" "/tmp")
+             (system (string-append (assoc-ref inputs "xorg-server") "/bin/Xvfb :1 &"))
+             (setenv "DISPLAY" ":1")
+             (setenv "TRAVIS" "true")
+             (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+             (invoke "ctest"
+                     ;; Disable tests that require network access
+                     "-E" "qgis_filedownloader")))
+         (add-after 'install 'wrap
+           (assoc-ref python:%standard-phases 'wrap)))))
+    (inputs
+     `(("exiv2" ,exiv2)
+       ("expat" ,expat)
+       ("gdal" ,gdal)
+       ("geos" ,geos)
+       ("gsl" ,gsl)
+       ("libspatialindex" ,libspatialindex)
+       ("libspatialite" ,libspatialite)
+       ("libzip" ,libzip)
+       ("postgresql" ,postgresql)
+       ("proj" ,proj)
+       ("python" ,python)
+       ("python-gdal" ,python-gdal)
+       ("python-psycopg2" ,python-psycopg2)
+       ("python-pyqt+qscintilla" ,python-pyqt+qscintilla)
+       ("python-pyyaml" ,python-pyyaml)
+       ("qca" ,qca)
+       ("qscintilla" ,qscintilla)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtkeychain" ,qtkeychain)
+       ("qtlocation" ,qtlocation)
+       ("qtserialport" ,qtserialport)
+       ("qtsvg" ,qtsvg)
+       ("qttools" ,qttools)
+       ("qtwebkit" ,qtwebkit)
+       ("qwt" ,qwt)
+       ("sqlite" ,sqlite-with-column-metadata)))
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("perl" ,perl)
+       ("perl-yaml-tiny" ,perl-yaml-tiny)
+       ("python-mock" ,python-mock)
+       ("python-nose2" ,python-nose2)
+       ("shellcheck" ,shellcheck)
+       ("xorg-server" ,xorg-server-for-tests)))
+    (home-page "https://qgis.org")
+    (synopsis "Geographical information system")
+    (description "QGIS is an easy to use Geographical Information
+System (GIS).  It is a GIS data viewer and editor.  QGIS supports a number of
+raster and vector data formats, with new support easily added using the plugin
+architecture.")
+    (license
+     (list license:gpl2+
+           ;; qgis.dtd
+           ;; src/core/pal/rtree.hpp
+           ;; src/plugins/grass/qtermwidget/konsole_wcwidth.*
+           ;; cmake/PythonCompile.py
+           ;; resources/cpt-city-qgis-min/dg/*
+           ;; resources/cpt-city-qgis-min/gery/*
+           ;; resources/cpt-city-qgis-min/jjg/dem/*
+           ;; resources/cpt-city-qgis-min/jjg/misc/*
+           ;; resources/cpt-city-qgis-min/jjg/physics/*
+           ;; tests/testdata/cpt-city/jjg/misc/*
+           ;; resources/cpt-city-qgis-min/km/*
+           ;; resources/cpt-city-qgis-min/pd/*
+           ;; resources/cpt-city-qgis-min/wkp/encyclopedia/*
+           ;; resources/cpt-city-qgis-min/wkp/template/*
+           ;; resources/cpt-city-qgis-min/ocal/*
+           ;; resources/cpt-city-qgis-min/rf/*
+           ;; resources/cpt-city-qgis-min/tp/*
+           license:public-domain
+           ;; python/plugins/processing/modeler/ModelerArrowItem.py
+           ;; src/app/qgssettingstree.cpp
+           ;; src/app/qgssettingstree.h
+           ;; src/app/qgsvariantdelegate.cpp
+           ;; src/app/qgsvariantdelegate.h
+           ;; src/app/qtmain_android.cpp
+           ;; cmake/Bison.cmake
+           ;; cmake/FindExpat.cmake
+           ;; cmake/FindGRASS.cmake
+           ;; cmake/FindPostgres.cmake
+           ;; cmake/FindProj.cmake
+           ;; cmake/FindSqlite3.cmake
+           ;; cmake/Flex.cmake
+           ;; cmake/FindFcgi.cmake
+           ;; cmake/FindGDAL.cmake
+           ;; cmake/FindGEOS.cmake
+           ;; cmake/FindGSL.cmake
+           ;; cmake/FindIconv.cmake
+           ;; cmake/FindOSGEARTH.cmake
+           ;; cmake/FindLibPython.py
+           ;; cmake/FindPyQt4.cmake
+           ;; cmake/FindPyQt4.py
+           ;; cmake/FindPyQt5.cmake
+           ;; cmake/FindPyQt5.py
+           ;; cmake/FindPythonLibrary.cmake
+           ;; cmake/FindSIP.cmake
+           ;; cmake/FindSIP.py
+           ;; cmake/PythonMacros.cmake
+           ;; cmake/SIPMacros.cmake
+           ;; cmake/FindQCA.cmake
+           ;; cmake/FindQextserialport.cmake
+           ;; cmake/FindQGIS.cmake
+           ;; cmake/FindQsci.cmake
+           ;; cmake/FindQsci.py
+           ;; cmake/FindQScintilla.cmake
+           ;; cmake/FindQwt.cmake
+           ;; cmake/FindSpatiaLite.cmake
+           ;; cmake/MacBundleMacros.cmake
+           ;; cmake/MacPlistMacros.cmake
+           ;; cmake/PyQtMacros.cmake
+           ;; cmake/QCAMacros.cmake
+           ;; cmake/UsePythonTest.cmake
+           license:bsd-3
+           ;; external//qwtpolar-1.1.1/*
+           ;; src/gui/raster/qwt5_histogram_item.h
+           license:qwt1.0
+           ;; external/astyle/*
+           license:lgpl2.1+
+           ;; external/nmea/config.h
+           ;; external/nmea/context.c
+           ;; external/nmea/context.h
+           ;; external/nmea/gmath.c
+           ;; external/nmea/gmath.h
+           ;; external/nmea/info.c
+           ;; external/nmea/info.h
+           ;; external/nmea/nmeatime.h
+           ;; external/nmea/parse.c
+           ;; external/nmea/parse.h
+           ;; external/nmea/parser.h
+           ;; external/nmea/sentence.c
+           ;; external/nmea/sentence.h
+           ;; external/nmea/time.c
+           ;; external/nmea/tok.c
+           ;; external/nmea/tok.h
+           ;; external/nmea/units.h
+           ;; src/plugins/evis/*
+           ;; src/plugins/grass/qtermwidget/kprocess.cpp
+           ;; src/plugins/grass/qtermwidget/kprocess.h
+           ;; src/plugins/grass/qtermwidget/kptydevice.cpp
+           ;; src/plugins/grass/qtermwidget/kptydevice.h
+           ;; src/plugins/grass/qtermwidget/kptyprocess.cpp
+           ;; src/plugins/grass/qtermwidget/kptyprocess.h
+           ;; src/plugins/grass/qtermwidget/kpty.cpp
+           ;; src/plugins/grass/qtermwidget/kpty.h
+           ;; src/plugins/grass/qtermwidget/kpty_p.h
+           ;; src/plugins/grass/qtermwidget/qtermwidget.cpp
+           ;; src/plugins/grass/qtermwidget/qtermwidget.h
+           ;; src/plugins/grass/qtermwidget/TerminalCharacterDecoder.cpp
+           ;; src/plugins/grass/qtermwidget/TerminalCharacterDecoder.h
+           license:lgpl2.0+
+           ;; src/core/pal/*
+           ;; resources/cpt-city-qgis-min/ds9/*
+           ;; resources/cpt-city-qgis-min/grass/*
+           license:gpl3+
+           ;; src/core/symbology/qgscolorbrewerpalette.cpp
+           license:asl2.0
+           ;; images/themes/default/*
+           ;; resources/cpt-city-qgis-min/gps/*
+           ;; resources/cpt-city-qgis-min/nd/*
+           ;; resources/cpt-city-qgis-min/wkp/country/*
+           ;; resources/cpt-city-qgis-min/wkp/jarke/*
+           ;; resources/cpt-city-qgis-min/wkp/jarke/*
+           ;; resources/cpt-city-qgis-min/wkp/knutux/*
+           ;; resources/cpt-city-qgis-min/wkp/lilleskut/*
+           ;; resources/cpt-city-qgis-min/wkp/plumbago/*
+           ;; resources/cpt-city-qgis-min/wkp/precip/*
+           ;; resources/cpt-city-qgis-min/wkp/schwarzwald/*
+           ;; resources/cpt-city-qgis-min/wkp/shadowxfox/*
+           ;; resources/cpt-city-qgis-min/wkp/tubs/*
+           license:cc-by-sa3.0
+           ;; resources/cpt-city-qgis-min/cb/*
+           ;; resources/cpt-city-qgis-min/jjg/cbac/*
+           ;; resources/cpt-city-qgis-min/jjg/cbcont/*
+           ;; resources/cpt-city-qgis-min/jjg/polarity/*
+           license:asl1.1
+           ;; resources/cpt-city-qgis-min/ds/*
+           (license:fsf-free
+            "https://www.deviantart.com/webgoddess/art/Reddish-Inspired-Gradients-42208824")
+           ;; resources/cpt-city-qgis-min/es/*
+           (license:fsdg-compatible
+            "https://www.deviantart.com/elvensword")
+           ;; resources/cpt-city-qgis-min/gist/*
+           (license:non-copyleft "file://debian/copyright"
+                                 "BSD-like-gist")
+           ;; resources/cpt-city-qgis-min/go2/webtwo/*
+           (license:fsf-free "file://debian/copyright"
+                             "Go Squared")
+           ;; resources/cpt-city-qgis-min/h5/*
+           license:expat
+           ;; resources/cpt-city-qgis-min/jm/*
+           (license:non-copyleft "file://debian/copyright"
+                                 "Jim Mossman Attribution")
+           ;; resources/cpt-city-qgis-min/ncl/*
+           (license:non-copyleft
+            "https://www.ncl.ucar.edu/Download/NCL_source_license.shtml"
+            "NCL Source Code License")
+           ;; resources/cpt-city-qgis-min/os/*
+           ;; resources/cpt-city-qgis-min/ukmo/*
+           license:ogl-psi1.0
+           ;; resources/cpt-city-qgis-min/wkp/ice/*
+           license:gfdl1.2+-without-invariant-sections
+           ;; src/gui/symbology/characterwidget.cpp
+           ;; src/gui/symbology/characterwidget.h
+           ;; src/providers/oracle/ocispatial/main.cpp
+           ;; src/providers/oracle/ocispatial/qsql_ocispatial.cpp
+           ;; src/providers/oracle/ocispatial/qsql_ocispatial.h
+           ;; src/providers/oracle/ocispatial/qsqlcachedresult_p.h
+           ;; src/providers/spatialite/qspatialite/qsql_spatialite.cpp
+           ;; src/providers/spatialite/qspatialite/qsql_spatialite.h
+           ;; src/providers/spatialite/qspatialite/qsqlcachedresult_p.h
+           ;; src/providers/spatialite/qspatialite/smain.cpp
+           ;; tests/qt_modeltest/modeltest.cpp
+           ;; tests/qt_modeltest/modeltest.h
+           ;; tests/qt_modeltest/tst_modeltest.cpp
+           ;; tests/qt_modeltest/dynamictreemodel.cpp
+           ;; tests/qt_modeltest/dynamictreemodel.h
+           (license:fsf-free
+            "file://debian/copyright"
+            "QT-Commercial or LGPL-2.1 with Digia Qt LGPL Exception 1.1 or GPL-3")))))
-- 
2.23.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-20 16:52       ` Arun Isaac
@ 2019-12-23  6:55         ` Danny Milosavljevic
  2019-12-26 13:39           ` Arun Isaac
  0 siblings, 1 reply; 22+ messages in thread
From: Danny Milosavljevic @ 2019-12-23  6:55 UTC (permalink / raw)
  To: Arun Isaac; +Cc: Björn Höfling, 38149, Wiktor Żelazny

[-- Attachment #1: Type: text/plain, Size: 794 bytes --]

Hi Arun,

On Fri, 20 Dec 2019 22:22:41 +0530
Arun Isaac <arunisaac@systemreboot.net> wrote:

> Yes, we should use proj instead of proj.4 wherever possible. But, if I
> remember correctly, some packages work only with proj.4 for now. Also,
> we should push some of the simpler patches (say, the simple update
> patches) to master right away. That will help to declutter this bug
> report a little bit. WDYT?

Sure.

Also, I think the licenses can be added right now.

Likewise the package updates, but probably not the python 2.7
modification, especially if python 3 also inherits it.
The latter should go to some other branch.

What's up with libgeotiff's disabled tests?

Also, I think we usually don't list the license of non-installed files
(like the cmake includes).

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-23  6:55         ` Danny Milosavljevic
@ 2019-12-26 13:39           ` Arun Isaac
  2019-12-26 14:53             ` Marius Bakke
  0 siblings, 1 reply; 22+ messages in thread
From: Arun Isaac @ 2019-12-26 13:39 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: Björn Höfling, 38149, Wiktor Żelazny

[-- Attachment #1: Type: text/plain, Size: 1083 bytes --]


>> Also, we should push some of the simpler patches (say, the simple
>> update patches) to master right away. That will help to declutter
>> this bug report a little bit. WDYT?
>
> Sure.

I have pushed the patches regarding geos, proj, libgeotiff, gdal,
postgis and libspatialindex.

> Also, I think the licenses can be added right now.

I am not sure of the licenses of qgis. They need to be double
checked. So, I think we should wait until then to push those license
patches.

> Likewise the package updates, but probably not the python 2.7
> modification, especially if python 3 also inherits it.
> The latter should go to some other branch.

That's right. The python modification would trigger too many
rebuilds. Do you know which branch I should push it to?

> What's up with libgeotiff's disabled tests?

That was a WIP patch where the tests were failing. In the patch I
pushed, I fixed the tests and enabled them.

> Also, I think we usually don't list the license of non-installed files
> (like the cmake includes).

Ok, I made this modification before pushing the patches.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-26 13:39           ` Arun Isaac
@ 2019-12-26 14:53             ` Marius Bakke
  2019-12-27  2:06               ` Arun Isaac
  0 siblings, 1 reply; 22+ messages in thread
From: Marius Bakke @ 2019-12-26 14:53 UTC (permalink / raw)
  To: Arun Isaac, Danny Milosavljevic
  Cc: Björn Höfling, 38149, Wiktor Żelazny

[-- Attachment #1: Type: text/plain, Size: 456 bytes --]

Arun Isaac <arunisaac@systemreboot.net> writes:

> That's right. The python modification would trigger too many
> rebuilds. Do you know which branch I should push it to?

Python 2 has 6682 dependent packages, so this change should go to the
'core-updates' branch according to the "Submitting Patches" section of
the manual.

Please make sure Python 3 also works with this change, as the configure
flag is indeed inherited as Danny pointed out.

Thank you!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-26 14:53             ` Marius Bakke
@ 2019-12-27  2:06               ` Arun Isaac
  2020-01-27 22:48                 ` Marius Bakke
  0 siblings, 1 reply; 22+ messages in thread
From: Arun Isaac @ 2019-12-27  2:06 UTC (permalink / raw)
  To: Marius Bakke
  Cc: Björn Höfling, Danny Milosavljevic, 38149,
	Wiktor Żelazny

[-- Attachment #1: Type: text/plain, Size: 519 bytes --]


> Python 2 has 6682 dependent packages, so this change should go to the
> 'core-updates' branch according to the "Submitting Patches" section of
> the manual.

Ok, makes sense.

> Please make sure Python 3 also works with this change, as the configure
> flag is indeed inherited as Danny pointed out.

I only need the python modification for Python 3. And, as far as I can
tell, everything builds and works fine. Should I make the modification
only to Python 3, instead of inheriting it through Python 2 as it is
now?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-10 17:08       ` Arun Isaac
@ 2019-12-30 15:40         ` Wiktor Żelazny
  0 siblings, 0 replies; 22+ messages in thread
From: Wiktor Żelazny @ 2019-12-30 15:40 UTC (permalink / raw)
  To: 38149; +Cc: Arun Isaac

[-- Attachment #1: Type: text/plain, Size: 485 bytes --]

On Tue, Dec 10, 2019 at 10:38:40PM +0530, Arun Isaac wrote:

> > Impressive. Unfortunately, I could not test it because of busyness
> > and the savannah issue.
>
> No problem! Take your time. I am working on the tests now. That will
> likely take another eternity, but I'm making steady progress.

Hi,

I built it today. It builds! It works! Good luck with the tests.
Crossing fingers so that your definition gets merged as some point.

Thanks for saving the day,

WŻ

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 963 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-12-27  2:06               ` Arun Isaac
@ 2020-01-27 22:48                 ` Marius Bakke
  2020-01-28  5:05                   ` Arun Isaac
  0 siblings, 1 reply; 22+ messages in thread
From: Marius Bakke @ 2020-01-27 22:48 UTC (permalink / raw)
  To: Arun Isaac
  Cc: Björn Höfling, Danny Milosavljevic, 38149,
	Wiktor Żelazny

[-- Attachment #1: Type: text/plain, Size: 606 bytes --]

Arun Isaac <arunisaac@systemreboot.net> writes:

>> Please make sure Python 3 also works with this change, as the configure
>> flag is indeed inherited as Danny pointed out.
>
> I only need the python modification for Python 3. And, as far as I can
> tell, everything builds and works fine. Should I make the modification
> only to Python 3, instead of inheriting it through Python 2 as it is
> now?

I don't really have an opinion on this, as it seems both approaches have
drawbacks and benefits...  So do whatever you think is best.

Now is a good time to push if you want the Python patch in Guix!  :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2020-01-27 22:48                 ` Marius Bakke
@ 2020-01-28  5:05                   ` Arun Isaac
  0 siblings, 0 replies; 22+ messages in thread
From: Arun Isaac @ 2020-01-28  5:05 UTC (permalink / raw)
  To: Marius Bakke
  Cc: Björn Höfling, Danny Milosavljevic, 38149,
	Wiktor Żelazny

[-- Attachment #1: Type: text/plain, Size: 253 bytes --]


> Now is a good time to push if you want the Python patch in Guix!  :-)

I'm still struggling with the qgis tests, and I'm not sure the python
modification is necessary to get the tests working correctly. So, I
think I'll pass up this opportunity. :-(

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2019-11-09 11:27 [bug#38149] [WIP] gnu: Add qgis Wiktor Żelazny
       [not found] ` <cu7eey1kl1x.fsf@systemreboot.net>
  2019-12-03 17:45 ` Arun Isaac
@ 2020-03-22 15:45 ` Guillaume Le Vaillant
  2020-03-23 21:00   ` Arun Isaac
  2 siblings, 1 reply; 22+ messages in thread
From: Guillaume Le Vaillant @ 2020-03-22 15:45 UTC (permalink / raw)
  To: 38149


[-- Attachment #1.1: Type: text/plain, Size: 661 bytes --]

I took the WIP patch and updated it for QGIS 3.12.1. I also added some
inputs for optional features and some Qt wrapping for the SVG icons to
show up correctly in the GUI.

Things that can still be improved:
 - Among the 550 tests, around 60 are failing. I disabled them for now
   in the package definition.
 - Also, I only put GPL2+ and GPL3+ as license (like in Gentoo and Nix),
   and not the complete list for every file (like in Debian).

Do you think this package definition for QGIS is good enough to be
merged in master (and improved later), or are the remaining issues
blocking?

P.S. This is related to issues #38150 and #38178 (patch to add GRASS).

[-- Attachment #1.2: 0001-gnu-Add-python-owslib.patch --]
[-- Type: text/x-patch, Size: 2024 bytes --]

From f94d428f9a867fb841dff02a5d66956d3b478d8b Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant <glv@posteo.net>
Date: Sat, 21 Mar 2020 19:58:43 +0100
Subject: [PATCH 1/4] gnu: Add python-owslib.

* gnu/packages/python-xyz.scm (python-owslib): New variable.
---
 gnu/packages/python-xyz.scm | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 65bc6df4aa..ea789b7bef 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -59,7 +59,7 @@
 ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2019 Sam <smbaines8@gmail.com>
 ;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
-;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
@@ -18435,3 +18435,24 @@ sequences.")
 prevent debuggers and other applications from inspecting the memory within
 your process.")
     (license license:expat)))
+
+(define-public python-owslib
+  (package
+    (name "python-owslib")
+    (version "0.19.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "OWSLib" version))
+       (sha256
+        (base32 "0v8vg0naa9rywvd31cpq65ljbdclpsrx09788v4xj7lg10np8nk0"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ; TODO: package dependencies required for tests.
+    (synopsis "Interface for Open Geospatial Consortium web service")
+    (description
+     "OWSLib is a Python package for client programming with Open Geospatial
+Consortium (OGC) web service (hence OWS) interface standards, and their related
+content models.")
+    (home-page "https://geopython.github.io/OWSLib/")
+    (license license:bsd-3)))
-- 
2.25.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-gnu-Add-grass.patch --]
[-- Type: text/x-patch, Size: 7193 bytes --]

From 269111aacdeba24ed9ce3f0c5299f6ccfaa56e19 Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant <glv@posteo.net>
Date: Sun, 22 Mar 2020 00:03:41 +0100
Subject: [PATCH 2/4] gnu: Add grass.

* gnu/packages/geo.scm (grass): New variable.
---
 gnu/packages/geo.scm | 122 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 122 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index bc870f9620..b244e49a92 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -46,10 +46,13 @@
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (gnu packages)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages astronomy)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages backup)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
@@ -58,6 +61,7 @@
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gettext)
@@ -80,8 +84,10 @@
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages textutils)
+  #:use-module (gnu packages time)
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages wxwidgets)
@@ -1629,3 +1635,119 @@ track your position right from your laptop.")
                    license:lgpl3+
                    license:sgifreeb2.0
                    license:zlib))))
+
+(define-public grass
+  (let* ((version "7.8.2")
+         (majorminor (string-join (list-head (string-split version #\.) 2) ""))
+         (grassxx (string-append "grass" majorminor)))
+    (package
+      (name "grass")
+      (version version)
+      (source
+       (origin
+         (method url-fetch)
+         (uri (string-append "https://grass.osgeo.org/" grassxx
+                             "/source/grass-" version ".tar.gz"))
+         (sha256
+          (base32 "1fwsm99kz0bxvjk7442qq1h45ikrmhba8bqclafb61gqg1q6ymrk"))))
+      (build-system gnu-build-system)
+      (inputs
+       `(("bzip2", bzip2)
+         ("cairo" ,cairo)
+         ("fftw" ,fftw)
+         ("freetype" ,freetype)
+         ("gdal" ,gdal)
+         ("geos" ,geos)
+         ("glu" ,glu)
+         ("lapack" ,lapack)
+         ("libpng" ,libpng)
+         ("libtiff" ,libtiff)
+         ("mesa" ,mesa)
+         ("mariadb-dev" ,mariadb "dev")
+         ("mariadb-lib" ,mariadb "lib")
+         ("netcdf" ,netcdf)
+         ("openblas" ,openblas)
+         ("perl" ,perl)
+         ("postgresql" ,postgresql)
+         ("proj.4" ,proj.4)
+         ("python" ,python)
+         ("python-dateutil" ,python-dateutil)
+         ("python-numpy" ,python-numpy)
+         ("python-wxpython" ,python-wxpython)
+         ("readline" ,readline)
+         ("sqlite" ,sqlite)
+         ("wxwidgets" ,wxwidgets)
+         ("zlib" ,zlib)
+         ("zstd" ,zstd "lib")))
+      (native-inputs
+       `(("bash" ,bash-minimal)
+         ("bison" ,bison)
+         ("flex" ,flex)
+         ("pkg-config" ,pkg-config)))
+      (arguments
+       `(#:tests? #f ; No tests
+         #:modules ((guix build gnu-build-system)
+                    ((guix build python-build-system) #:prefix python:)
+                    (guix build utils))
+         #:imported-modules (,@%gnu-build-system-modules
+                             (guix build python-build-system))
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'configure
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let ((shell (string-append (assoc-ref inputs "bash")
+                                           "/bin/bash")))
+                 (setenv "SHELL" shell)
+                 (setenv "CONFIG_SHELL" shell)
+                 (setenv "LDFLAGS" (string-append "-Wl,-rpath -Wl,"
+                                                  (assoc-ref outputs "out")
+                                                  "/" ,grassxx "/lib")))
+               (invoke "./configure"
+                       (string-append "--prefix="
+                                      (assoc-ref outputs "out"))
+                       "--with-blas"
+                       "--with-bzlib"
+                       (string-append "--with-freetype-includes="
+                                      (assoc-ref inputs "freetype")
+                                      "/include/freetype2")
+                       (string-append "--with-freetype-libs="
+                                      (assoc-ref inputs "freetype")
+                                      "/lib")
+                       "--with-geos"
+                       "--with-lapack"
+                       "--with-mysql"
+                       (string-append "--with-mysql-includes="
+                                      (assoc-ref inputs "mariadb-dev")
+                                      "/include/mysql")
+                       (string-append "--with-mysql-libs="
+                                      (assoc-ref inputs "mariadb-lib")
+                                      "/lib")
+                       "--with-netcdf"
+                       "--with-postgres"
+                       (string-append "--with-proj-share="
+                                      (assoc-ref inputs "proj.4")
+                                      "/share/proj")
+                       "--with-pthread"
+                       "--with-readline"
+                       "--with-sqlite"
+                       "--with-wxwidgets")))
+           (add-after 'install 'install-links
+             (lambda* (#:key outputs #:allow-other-keys)
+               ;; Put links for includes and libraries in the standard places.
+               (let* ((out (assoc-ref outputs "out"))
+                      (dir (string-append out "/" ,grassxx)))
+                 (symlink (string-append dir "/include")
+                          (string-append out "/include"))
+                 (symlink (string-append dir "/lib")
+                          (string-append out "/lib")))
+               #t))
+           (add-after 'install-links 'wrap-python
+             (assoc-ref python:%standard-phases 'wrap)))))
+      (synopsis "GRASS Geographic Information System")
+      (description
+       "GRASS (Geographic Resources Analysis Support System), is a Geographic
+Information System (GIS) software suite used for geospatial data management and
+analysis, image processing, graphics and maps production, spatial modeling, and
+visualization.")
+      (home-page "https://grass.osgeo.org/")
+      (license license:gpl2+))))
-- 
2.25.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.4: 0003-gnu-Add-saga.patch --]
[-- Type: text/x-patch, Size: 3063 bytes --]

From 4a8b5a89db66f3d97a3491492af282f1f547d27a Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant <glv@posteo.net>
Date: Sun, 22 Mar 2020 11:33:00 +0100
Subject: [PATCH 3/4] gnu: Add saga.

* gnu/packages/geo.scm (saga): New variable.
---
 gnu/packages/geo.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index b244e49a92..fc5f473418 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -70,11 +70,13 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages image-processing)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages java)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages pcre)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
@@ -85,6 +87,7 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages swig)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
@@ -1751,3 +1754,46 @@ analysis, image processing, graphics and maps production, spatial modeling, and
 visualization.")
       (home-page "https://grass.osgeo.org/")
       (license license:gpl2+))))
+
+(define-public saga
+  (package
+    (name "saga")
+    (version "7.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/saga-gis/SAGA%20-%20"
+                           (version-major version) "/SAGA%20-%20" version
+                           "/saga-" version ".tar.gz"))
+       (sha256
+        (base32 "09j5magmayq2y620kqa490mfd1kpdp3lng2ifcgbrmssc079ybm0"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("swig" ,swig)))
+    (inputs
+     `(("curl" ,curl)
+       ("fftw" ,fftw)
+       ("gdal" ,gdal)
+       ("hdf5" ,hdf5)
+       ("jasper" ,jasper)
+       ("libharu" ,libharu)
+       ("libtiff" ,libtiff)
+       ("opencv" ,opencv)
+       ("postgresql" ,postgresql)
+       ("proj.4" ,proj.4)
+       ("python" ,python)
+       ("qhull" ,qhull)
+       ("unixodbc" ,unixodbc)
+       ("vigra" ,vigra)
+       ("wxwidgets" ,wxwidgets)))
+    (arguments
+     '(#:configure-flags '("--enable-python")))
+    (synopsis "System for Automated Geoscientific Analyses")
+    (description
+     "SAGA (System for Automated Geoscientific Analyses) is a Geographic
+Information System (GIS) software.  It has been designed for an easy and
+effective implementation of spatial algorithms and it offers a comprehensive,
+growing set of geoscientific methods.")
+    (home-page "http://www.saga-gis.org")
+    (license (list license:gpl2+ license:lgpl2.1+))))
-- 
2.25.2


[-- Attachment #1.5: 0004-gnu-Add-qgis.patch --]
[-- Type: text/x-patch, Size: 11092 bytes --]

From 0556194475a068831665175abb78583988ae9793 Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant <glv@posteo.net>
Date: Sun, 22 Mar 2020 13:47:06 +0100
Subject: [PATCH 4/4] gnu: Add qgis.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/geo.scm (qgis): New variable.

Co-authored-by: Wiktor Żelazny <wzelazny@vurv.cz>
Co-authored-by: Arun Isaac <arunisaac@systemreboot.net>
---
 gnu/packages/geo.scm | 201 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 200 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index fc5f473418..c632fdd47d 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -68,11 +68,14 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gps)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages haskell-apps)
   #:use-module (gnu packages image)
   #:use-module (gnu packages image-processing)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages kde)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages pcre)
@@ -94,7 +97,8 @@
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages wxwidgets)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
 
 (define-public geos
   (package
@@ -1797,3 +1801,198 @@ effective implementation of spatial algorithms and it offers a comprehensive,
 growing set of geoscientific methods.")
     (home-page "http://www.saga-gis.org")
     (license (list license:gpl2+ license:lgpl2.1+))))
+
+(define-public qgis
+  (package
+    (name "qgis")
+    (version "3.12.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://qgis.org/downloads/qgis-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32 "1a41525y8ac44gzcfaffjx0lyrm49hgnr83jrq40r5mqd3vpmp57"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#: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
+                           (guix build python-build-system)
+                           (guix build qt-utils))
+       #:phases
+       (modify-phases %standard-phases
+         ;; Configure correct path to PyQt5 SIP directory
+         (add-after 'unpack 'configure-pyqt5-sip-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "cmake/FindPyQt5.cmake"
+               (("\"\\\\\\\\1\" PYQT5_SIP_DIR")
+                (string-append "\"" (assoc-ref inputs "python-pyqt+qscintilla")
+                               "/share/sip\" PYQT5_SIP_DIR")))
+             (substitute* (list "scripts/prepare-commit.sh"
+                                "scripts/runtests-local-travis-config.sh"
+                                "scripts/sip_include.sh"
+                                "scripts/sipdiff"
+                                "scripts/sipify_all.sh"
+                                "scripts/spell_check/check_spelling.sh"
+                                "scripts/spell_check/spell_test.sh"
+                                "scripts/verify-indentation.sh"
+                                "tests/code_layout/test_banned_keywords.sh"
+                                "tests/code_layout/test_licenses.sh"
+                                "tests/code_layout/test_shellcheck.sh"
+                                "tests/code_layout/test_sip_include.sh"
+                                "tests/code_layout/test_sipfiles_uptodate.sh"
+                                "tests/code_layout/test_sipify.sh")
+               (("\\$\\(git rev-parse --show-toplevel\\)")
+                (getcwd)))
+             (substitute* "tests/code_layout/test_sip_include.sh"
+               (("^REV=.*") "REV=currentrev\n"))
+             #t))
+         (replace 'check
+           (lambda* (#:key inputs #:allow-other-keys)
+             (setenv "HOME" "/tmp")
+             (system (string-append (assoc-ref inputs "xorg-server")
+                                    "/bin/Xvfb :1 &"))
+             (setenv "DISPLAY" ":1")
+             (setenv "TRAVIS" "true")
+             (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+             (invoke "ctest"
+                     "-E" (string-join
+                           '(;; Disable tests that require network access
+                             "qgis_filedownloader"
+                             ;; TODO: Find why the following tests fail
+                             "ProcessingQgisAlgorithmsTestPt1"
+                             "ProcessingQgisAlgorithmsTestPt3"
+                             "ProcessingQgisAlgorithmsTestPt4"
+                             "ProcessingGdalAlgorithmsRasterTest"
+                             "ProcessingGdalAlgorithmsVectorTest"
+                             "ProcessingGrass7AlgorithmsImageryTest"
+                             "ProcessingGrass7AlgorithmsRasterTest"
+                             "ProcessingGrass7AlgorithmsVectorTest"
+                             "ProcessingOtbAlgorithmsTest"
+                             "qgis_authmanagertest"
+                             "qgis_compositionconvertertest"
+                             "qgis_coordinatereferencesystemtest"
+                             "qgis_geometrytest"
+                             "qgis_layouthtmltest"
+                             "qgis_layoutmaptest"
+                             "qgis_painteffecttest"
+                             "qgis_pallabelingtest"
+                             "qgis_svgmarkertest"
+                             "qgis_taskmanagertest"
+                             "qgis_ziplayertest"
+                             "qgis_processingtest"
+                             "qgis_wcsprovidertest"
+                             "qgis_arcgisrestutilstest"
+                             "qgis_grassprovidertest7"
+                             "qgis_gpsinformationwidget"
+                             "PyCoreAdittions"
+                             "PyQgsPythonProvider"
+                             "PyQgsAnnotation"
+                             "PyQgsAuthenticationSystem"
+                             "PyQgsProject"
+                             "PyQgsFileUtils"
+                             "PyQgsGeometryTest"
+                             "PyQgsImageCache"
+                             "PyQgsLayoutExporter"
+                             "PyQgsLayoutLegend"
+                             "PyQgsMapLayer"
+                             "PyQgsOGRProviderGpkg"
+                             "PyQgsPalLabelingLayout"
+                             "PyQgsImportIntoPostGIS"
+                             "PyQgsProviderConnectionPostgres"
+                             "PyQgsProviderConnectionGpkg"
+                             "PyQgsShapefileProvider"
+                             "PyQgsSvgCache"
+                             "PyQgsTextRenderer"
+                             "PyQgsOGRProvider"
+                             "PyQgsSpatialiteProvider"
+                             "PyQgsVectorFileWriter"
+                             "PyQgsVectorLayer"
+                             "PyQgsVectorLayerUtils"
+                             "PyQgsVirtualLayerProvider"
+                             "PyQgsWFSProvider"
+                             "PyQgsOapifProvider"
+                             "PyQgsLayerDependencies"
+                             "PyQgsDBManagerGpkg"
+                             "PyQgsDBManagerSpatialite"
+                             "PyQgsSettings"
+                             "PyQgsAuxiliaryStorage"
+                             "PyQgsSelectiveMasking"
+                             "PyQgsAppStartup"
+                             "qgis_geometrycheckstest"
+                             "qgis_shellcheck"
+                             "qgis_sipify"
+                             "qgis_sip_include"
+                             "qgis_sip_uptodate")
+                           "|"))))
+         (add-after 'install 'wrap-python
+           (assoc-ref python:%standard-phases 'wrap))
+         (add-after 'wrap-python 'wrap-qt
+           (lambda* (#:key outputs #:allow-other-keys)
+             (wrap-qt-program (assoc-ref outputs "out") "qgis")
+             #t)))))
+    (inputs
+     `(("exiv2" ,exiv2)
+       ("expat" ,expat)
+       ("gdal" ,gdal)
+       ("geos" ,geos)
+       ("gpsbabel" ,gpsbabel)
+       ("grass" ,grass)
+       ("gsl" ,gsl)
+       ("hdf5" ,hdf5)
+       ("libspatialindex" ,libspatialindex)
+       ("libspatialite" ,libspatialite)
+       ("libxml2" ,libxml2)
+       ("libzip" ,libzip)
+       ("netcdf" ,netcdf)
+       ("postgresql" ,postgresql)
+       ("proj" ,proj)
+       ("python" ,python)
+       ("python-chardet" ,python-chardet)
+       ("python-dateutil" ,python-dateutil)
+       ("python-gdal" ,python-gdal)
+       ("python-jinja2" ,python-jinja2)
+       ("python-numpy" ,python-numpy)
+       ("python-owslib" ,python-owslib)
+       ("python-psycopg2" ,python-psycopg2)
+       ("python-pygments" ,python-pygments)
+       ("python-pyqt+qscintilla" ,python-pyqt+qscintilla)
+       ("python-pytz" ,python-pytz)
+       ("python-pyyaml" ,python-pyyaml)
+       ("python-requests" ,python-requests)
+       ("python-sip" ,python-sip)
+       ("python-six" ,python-six)
+       ("python-urllib3" ,python-urllib3)
+       ("qca" ,qca)
+       ("qscintilla" ,qscintilla)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtkeychain" ,qtkeychain)
+       ("qtlocation" ,qtlocation)
+       ("qtserialport" ,qtserialport)
+       ("qtsvg" ,qtsvg)
+       ("qtwebkit" ,qtwebkit)
+       ("qwt" ,qwt)
+       ("saga" ,saga)
+       ("sqlite" ,sqlite-with-column-metadata)))
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("perl" ,perl)
+       ("perl-yaml-tiny" ,perl-yaml-tiny)
+       ("pkg-config" ,pkg-config)
+       ("python-mock" ,python-mock)
+       ("python-nose2" ,python-nose2)
+       ("qttools" ,qttools)
+       ("shellcheck" ,shellcheck)
+       ("xorg-server" ,xorg-server-for-tests)))
+    (home-page "https://qgis.org")
+    (synopsis "Geographical information system")
+    (description "QGIS is an easy to use Geographical Information
+System (GIS).  It is a GIS data viewer and editor.  QGIS supports a number of
+raster and vector data formats, with new support easily added using the plugin
+architecture.")
+    (license (list license:gpl2+ license:gpl3+))))
-- 
2.25.2


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2020-03-22 15:45 ` Guillaume Le Vaillant
@ 2020-03-23 21:00   ` Arun Isaac
  2020-03-24 10:52     ` Guillaume Le Vaillant
  0 siblings, 1 reply; 22+ messages in thread
From: Arun Isaac @ 2020-03-23 21:00 UTC (permalink / raw)
  To: Guillaume Le Vaillant, 38149

[-- Attachment #1: Type: text/plain, Size: 1099 bytes --]


Hi,

Thank you for continuing the work. I was not making any progress on the
tests and was caught up with other work.

> Do you think this package definition for QGIS is good enough to be
> merged in master (and improved later), or are the remaining issues
> blocking?

I agree we should merge this now and fix the tests later.

> I took the WIP patch and updated it for QGIS 3.12.1. I also added some
> inputs for optional features and some Qt wrapping for the SVG icons to
> show up correctly in the GUI.

Ok.

> Things that can still be improved:
>  - Among the 550 tests, around 60 are failing. I disabled them for now
>    in the package definition.

Ok, that should be enough for now.

>  - Also, I only put GPL2+ and GPL3+ as license (like in Gentoo and Nix),
>    and not the complete list for every file (like in Debian).

Is this a good idea? I always thought we go the Debian way and try to
document every single license. I would love it if we only had to
document the "main license" but I'm not sure that is consistent with how
other Guix packages are written. Thoughts?

Thanks,
Arun.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#38149] [WIP] gnu: Add qgis.
  2020-03-23 21:00   ` Arun Isaac
@ 2020-03-24 10:52     ` Guillaume Le Vaillant
  2020-03-24 11:46       ` bug#38149: " Arun Isaac
  0 siblings, 1 reply; 22+ messages in thread
From: Guillaume Le Vaillant @ 2020-03-24 10:52 UTC (permalink / raw)
  To: Arun Isaac; +Cc: 38149

[-- Attachment #1: Type: text/plain, Size: 668 bytes --]


Arun Isaac <arunisaac@systemreboot.net> skribis:

>>  - Also, I only put GPL2+ and GPL3+ as license (like in Gentoo and Nix),
>>    and not the complete list for every file (like in Debian).
>
> Is this a good idea? I always thought we go the Debian way and try to
> document every single license. I would love it if we only had to
> document the "main license" but I'm not sure that is consistent with how
> other Guix packages are written. Thoughts?

I added the other licenses to the package definition (I hope I didn't
miss anything).
Pushed as 151f3d416cff16d7e7d57dd24756dc4357384a1f.

Should this issue be closed, or left open for the remaining failing
tests?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#38149: [WIP] gnu: Add qgis.
  2020-03-24 10:52     ` Guillaume Le Vaillant
@ 2020-03-24 11:46       ` Arun Isaac
  0 siblings, 0 replies; 22+ messages in thread
From: Arun Isaac @ 2020-03-24 11:46 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 38149-done

[-- Attachment #1: Type: text/plain, Size: 469 bytes --]


> I added the other licenses to the package definition (I hope I didn't
> miss anything).

qgis' various parts are licensed differently in one giant mess. And,
it'll be hard to keep the license field up to date. But, let's hope. :-)

> Pushed as 151f3d416cff16d7e7d57dd24756dc4357384a1f.

Ok, thanks! :-)

> Should this issue be closed, or left open for the remaining failing
> tests?

I have closed this issue. Anyone improving the package can open a
separate issue.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2020-03-24 11:47 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-09 11:27 [bug#38149] [WIP] gnu: Add qgis Wiktor Żelazny
     [not found] ` <cu7eey1kl1x.fsf@systemreboot.net>
     [not found]   ` <20191123104752.gp6gafhjrs47dath@wz.localdomain>
2019-12-01 18:13     ` Arun Isaac
2019-12-02 14:31       ` Wiktor Żelazny
2019-12-03 17:45 ` Arun Isaac
2019-12-05 11:19   ` Arun Isaac
2019-12-07 10:51     ` Wiktor Żelazny
2019-12-10 17:08       ` Arun Isaac
2019-12-30 15:40         ` Wiktor Żelazny
2019-12-18  6:21     ` Björn Höfling
2019-12-18  8:59     ` Björn Höfling
2019-12-18  9:07     ` Björn Höfling
2019-12-20 16:52       ` Arun Isaac
2019-12-23  6:55         ` Danny Milosavljevic
2019-12-26 13:39           ` Arun Isaac
2019-12-26 14:53             ` Marius Bakke
2019-12-27  2:06               ` Arun Isaac
2020-01-27 22:48                 ` Marius Bakke
2020-01-28  5:05                   ` Arun Isaac
2020-03-22 15:45 ` Guillaume Le Vaillant
2020-03-23 21:00   ` Arun Isaac
2020-03-24 10:52     ` Guillaume Le Vaillant
2020-03-24 11:46       ` bug#38149: " Arun Isaac

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).