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

