From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:41071) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iiLXT-000098-W6 for guix-patches@gnu.org; Fri, 20 Dec 2019 11:54:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iiLXP-000848-FA for guix-patches@gnu.org; Fri, 20 Dec 2019 11:54:07 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:41237) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iiLXO-00081i-3o for guix-patches@gnu.org; Fri, 20 Dec 2019 11:54:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iiLXO-0002Uc-21 for guix-patches@gnu.org; Fri, 20 Dec 2019 11:54:02 -0500 Subject: [bug#38149] [WIP] gnu: Add qgis. Resent-Message-ID: From: Arun Isaac In-Reply-To: <20191218100751.6edc13ce@alma-ubu> References: <20191109112702.14723-1-wz@freeshell.de> <20191218100751.6edc13ce@alma-ubu> Date: Fri, 20 Dec 2019 22:22:41 +0530 Message-ID: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: =?UTF-8?Q?Bj=C3=B6rn_?= =?UTF-8?Q?H=C3=B6fling?= Cc: 38149@debbugs.gnu.org, Wiktor =?UTF-8?Q?=C5=BBelazny?= --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain > 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. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=qgis-patcheset.patch Content-Transfer-Encoding: quoted-printable From=2077ac87f26e493f0e4a8eb2f4b38f8ae679e6765f Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- 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 =2D-- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -4,7 +4,7 @@ ;;; Copyright =C2=A9 2017, 2018 Bj=C3=B6rn H=C3=B6fling ;;; Copyright =C2=A9 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2018 Ricardo Wurmus =2D;;; Copyright =C2=A9 2018 Arun Isaac +;;; Copyright =C2=A9 2018, 2019 Arun Isaac ;;; Copyright =C2=A9 2018 Joshua Sierles, Nextjournal ;;; Copyright =C2=A9 2018, 2019 Julien Lepiller ;;; Copyright =C2=A9 2019 Guillaume Le Vaillant @@ -77,7 +77,7 @@ (define-public geos (package (name "geos") =2D (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 =2D "1312m02xk4sp6f1xdpb9w0ic0zbxg90p5y66qnwidl5fksscf1h0"))= )) + "1mb2v9fy1gnbjhcgv0xny11ggfb17vkzsajdyibigwsxr4ylq4cr")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases =2D-=20 2.23.0 From=20471bcacb79de672781a775cb475099c4c0e79927 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 5 Dec 2019 01:43:42 +0530 Subject: [PATCH 02/14] gnu: Add proj. * gnu/packages/geo.scm (proj): New variable. =2D-- 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 =2D-- 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)))) =20 +(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 anoth= er. +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 expos= es +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") =2D-=20 2.23.0 From=20e0d398a4c6e643b4f8079a318c3c2a0637e6a067 Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- 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 =2D-- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -569,7 +569,7 @@ development.") (define-public gdal (package (name "gdal") =2D (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 =2D "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") =2D-=20 2.23.0 From=2080ae71abb1a40d5b49b33ad2565b675561caad7b Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- 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 =2D-- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1048,16 +1048,16 @@ volunteers.") (define-public libspatialindex (package (name "libspatialindex") =2D (version "1.8.5") + (version "1.9.3") (source (origin (method url-fetch) =2D (uri (string-append "https://download.osgeo.org/libspatialindex/" =2D "spatialindex-src-" version ".tar.gz")) + (uri (string-append "https://github.com/libspatialindex/libspatiali= ndex/releases/download/" + version "/spatialindex-src-" version ".tar.bz2"= )) (sha256 (base32 =2D "1vxzm7kczwnb6qdmc0hb00z8ykx11zk3sb68gc7rch4vrfi4dakw")))) =2D (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: =2D-=20 2.23.0 From=2006c9c61daef220d16f0e5e8c1c5eb1a9da499457 Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- 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 =2D-- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -227,35 +227,30 @@ and driving.") (define-public libgeotiff (package (name "libgeotiff") =2D (version "1.4.3") + (version "1.5.1") (source (origin (method url-fetch) (uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/l= ibgeotiff-" version ".tar.gz")) (sha256 =2D (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$")) =2D ;; Now that we have removed the csv files, we need to modify = the Makefile. =2D (substitute* "Makefile.in" =2D (("^all-am: .*$") =2D "all-am: Makefile $(LTLIBRARIES) $(HEADERS) geo_config.h\n= ") =2D (("^install-data-am: .*$") =2D "install-data-am: install-includeHEADERS")) #t)))) (build-system gnu-build-system) (inputs `(("libjpeg-turbo" ,libjpeg-turbo) ("libtiff" ,libtiff) =2D ("proj.4" ,proj.4) + ("proj" ,proj) ("zlib" ,zlib))) (arguments =2D `(#:configure-flags + `(#:tests? #f + #:configure-flags (list (string-append "--with-zlib") (string-append "--with-jpeg") (string-append "--with-libtiff=3D" (assoc-ref %build-inputs "= libtiff"))))) =2D-=20 2.23.0 From=20f7fc3ed9cea3be242ff39c85ffba1961874b10e7 Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- guix/licenses.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/guix/licenses.scm b/guix/licenses.scm index 41d4fefad2..24e69ac1c5 100644 =2D-- 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 packag= e's tree." "http://directory.fsf.org/wiki/License:Freetype" "https://www.gnu.org/licenses/license-list.html#freetype")) =20 +(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" =2D-=20 2.23.0 From=2037481bb118f3d3a4e3c6b525d50c7558ddd69e20 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 5 Dec 2019 16:30:09 +0530 Subject: [PATCH 07/14] licenses: Add Open Government Licence for Public Sec= tor Information. * guix/licenses.scm (ogl-psi1.0): New variable. =2D-- guix/licenses.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/guix/licenses.scm b/guix/licenses.scm index 24e69ac1c5..3b79e7c1c3 100644 =2D-- 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 packag= e's tree." "https://svn.nmap.org/nmap/COPYING" "https://fedoraproject.org/wiki/Licensing/Nmap")) =20 +(define ogl-psi1.0 + (license "Open Government Licence for Public Sector Information" + "https://www.nationalarchives.gov.uk/doc/open-government-licenc= e/version/1/" + #f)) + (define openssl (license "OpenSSL" "http://directory.fsf.org/wiki/License:OpenSSL" =2D-=20 2.23.0 From=20811ae1578e141e4508dfbde96f51c749f4ec9af1 Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- guix/licenses.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/guix/licenses.scm b/guix/licenses.scm index 3b79e7c1c3..80655b7ab4 100644 =2D-- 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 packag= e's tree." "http://directory.fsf.org/wiki/License:QPLv1.0" "http://www.gnu.org/licenses/license-list.html#QPL")) =20 +(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" =2D-=20 2.23.0 From=20641c650636b32142670f455da3f39990bd308c26 Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- 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 =2D-- 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") =2D (version "2.4.8") + (version "3.0.0") (source (origin (method url-fetch) (uri (string-append "https://download.osgeo.org/postgis/sour= ce/postgis-" version ".tar.gz")) (sha256 (base32 =2D "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) =2D ("proj.4" ,proj.4))) + ("proj" ,proj))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) =2D-=20 2.23.0 From=20f9dc84e6fc7ba0adb4bd80715f12ed70d531ac66 Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- 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 =2D-- 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\"") ""))))))) (inputs =2D `(("freexl" ,freexl) + `(("expat" ,expat) + ("freexl" ,freexl) ("geos" ,geos) ("giflib" ,giflib) ("json-c" ,json-c) =2D-=20 2.23.0 From=200bb22bac6a58141d918245654a7f6abd172204ca Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- 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 =2D-- 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") =2D-=20 2.23.0 From=2081f2314930100666a98f29a1c10a624e90bc74bc Mon Sep 17 00:00:00 2001 From: Arun Isaac 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. =2D-- 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 =2D-- 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) =2D-=20 2.23.0 From=20742ad584435ec3c3138a900043e3a00cfc9d39e4 Mon Sep 17 00:00:00 2001 From: Arun Isaac 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 =2D-enable-loadable-sqlite-extensions to #:configure-flags. =2D-- 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 =2D-- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -145,6 +145,7 @@ "--with-system-ffi" ;build ctypes "--with-ensurepip=3Dinstall" ;install pip and setup= tools "--enable-unicode=3Ducs4" + "--enable-loadable-sqlite-extensions" =20 ;; Prevent the installed _sysconfigdata.py from retaining a r= eference ;; to coreutils. =2D-=20 2.23.0 From=20c08492669cf43550f0797d83a0a5461ba1311e64 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 5 Dec 2019 16:32:49 +0530 Subject: [PATCH 14/14] gnu: Add qgis. * gnu/packages/geo.scm (qgis): New variable. =2D-- 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 =2D-- 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) =2D #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) =20 (define-public geos (package @@ -1329,3 +1336,275 @@ MaxMind DB files.") (description "Provides an API for the GeoIP2 web services and database= s. The API also works with MaxMind=E2=80=99s 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+qscinti= lla") + "/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=3D.*") "REV=3Dcurrentrev\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 pl= ugin +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-Gr= adients-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"))))) =2D-=20 2.23.0 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl38/FkACgkQLiXui2GA K7PKOAf/dhvF9955Ja1iAAuLrrXSXV60hU1Y3isQ5/6FPq1t/0iAokQURhcwouVf AFW34FQSDI9iD/Z1M5JdL29J6tWry2tPDeteq5hSde/3z8o75mcAccWpqx1r4Ljt ValUlka/TeU/Omw169+g+7IuyFcinAIwtl0VMgXnWZVTlH/TmbADfAZSwapafzAe Rp6jDSmpbfu0riHj+GWokVxSjGswGxZ2R4EItbppc1QK5/vDyd1zwrxi2g0kEKla IGv4w/kM6s5tfl02Dcl60DJNQNg4+dTN3cZRl36RoTVojDvn0A9SEx3VlbLyI+3f pByGY3pEgULr54/RZfIbWmc3WniCCw== =Cfy0 -----END PGP SIGNATURE----- --==-=-=--