gnu: maknik: Update to 3.1.0-0.8110349 to fix build.
* gnu/packages/geo.scm (maknik): Update to 3.1.0-0.8110349. [source]: Fetch from git. [build-system]: Switch to qt-build-system. [cmake, configure-flags, phases]: New arguments. [native-inputs]: Add catch-framework2. [inputs]: Replace proj.4 with proj. (proj.4): Delete variable.
This commit is contained in:
		
							parent
							
								
									011dab59d8
								
							
						
					
					
						commit
						f7a12f9224
					
				
					 1 changed files with 76 additions and 95 deletions
				
			
		| 
						 | 
					@ -65,6 +65,7 @@
 | 
				
			||||||
  #:use-module (gnu packages boost)
 | 
					  #:use-module (gnu packages boost)
 | 
				
			||||||
  #:use-module (gnu packages build-tools)
 | 
					  #:use-module (gnu packages build-tools)
 | 
				
			||||||
  #:use-module (gnu packages check)
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages cmake)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages cpp)
 | 
					  #:use-module (gnu packages cpp)
 | 
				
			||||||
  #:use-module (gnu packages cups)
 | 
					  #:use-module (gnu packages cups)
 | 
				
			||||||
| 
						 | 
					@ -565,56 +566,6 @@ lets developers use the functionality of Proj in their own software.")
 | 
				
			||||||
             (substitute* "CMakeLists.txt"
 | 
					             (substitute* "CMakeLists.txt"
 | 
				
			||||||
               (("MAJOR 7 MINOR 2 PATCH 0") "MAJOR 7 MINOR 2 PATCH 1")))))))))
 | 
					               (("MAJOR 7 MINOR 2 PATCH 0") "MAJOR 7 MINOR 2 PATCH 1")))))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public proj.4
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "proj.4")
 | 
					 | 
				
			||||||
    (version "4.9.3")
 | 
					 | 
				
			||||||
    (source (origin
 | 
					 | 
				
			||||||
              (method url-fetch)
 | 
					 | 
				
			||||||
              (uri (string-append "http://download.osgeo.org/proj/proj-"
 | 
					 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					 | 
				
			||||||
              (sha256
 | 
					 | 
				
			||||||
               (base32
 | 
					 | 
				
			||||||
                "1xw5f427xk9p2nbsj04j6m5zyjlyd66sbvl2bkg8hd1kx8pm9139"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     `(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         (add-after 'unpack 'patch-test-paths
 | 
					 | 
				
			||||||
           (lambda _
 | 
					 | 
				
			||||||
             (substitute* '("nad/test27"
 | 
					 | 
				
			||||||
                            "nad/test83"
 | 
					 | 
				
			||||||
                            "nad/testvarious"
 | 
					 | 
				
			||||||
                            "nad/testdatumfile"
 | 
					 | 
				
			||||||
                            "nad/testflaky"
 | 
					 | 
				
			||||||
                            "nad/testIGNF")
 | 
					 | 
				
			||||||
               (("/bin/rm") (which "rm")))
 | 
					 | 
				
			||||||
             #t))
 | 
					 | 
				
			||||||
         ;; Precision problems on i686 and other platforms. See:
 | 
					 | 
				
			||||||
         ;; https://web.archive.org/web/20151006134301/http://trac.osgeo.org/proj/ticket/255
 | 
					 | 
				
			||||||
         ;; Disable failing test.
 | 
					 | 
				
			||||||
         (add-after 'patch-test-paths 'ignore-failing-tests
 | 
					 | 
				
			||||||
           (lambda _
 | 
					 | 
				
			||||||
             (substitute* '("nad/Makefile.in")
 | 
					 | 
				
			||||||
               (("\tPROJ_LIB.*" all) (string-append  "#" all)))
 | 
					 | 
				
			||||||
             #t)))))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     (list glib))
 | 
					 | 
				
			||||||
    (home-page "https://proj.org/")
 | 
					 | 
				
			||||||
    (synopsis "Cartographic Projections Library")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Proj.4 is a library for converting coordinates between cartographic
 | 
					 | 
				
			||||||
projections.")
 | 
					 | 
				
			||||||
    (license (list license:expat
 | 
					 | 
				
			||||||
                   ;; src/PJ_patterson.c
 | 
					 | 
				
			||||||
                   license:asl2.0
 | 
					 | 
				
			||||||
                   ;; src/geodesic.c/h
 | 
					 | 
				
			||||||
                   license:x11
 | 
					 | 
				
			||||||
                   ;; Embedded EPSG database.
 | 
					 | 
				
			||||||
                   (license:non-copyleft "http://www.epsg.org/TermsOfUse")
 | 
					 | 
				
			||||||
                   ;; cmake/*
 | 
					 | 
				
			||||||
                   license:boost1.0))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public python-pyproj
 | 
					(define-public python-pyproj
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-pyproj")
 | 
					    (name "python-pyproj")
 | 
				
			||||||
| 
						 | 
					@ -824,42 +775,72 @@ street bearings/orientations, and speed/travel time.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (license license:expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public mapnik
 | 
					(define-public mapnik
 | 
				
			||||||
  (package
 | 
					  ;; There hasn't been a release since early 2021, and it fails to build with
 | 
				
			||||||
    (name "mapnik")
 | 
					  ;; Boost 1.77+.
 | 
				
			||||||
    (version "3.1.0")
 | 
					  (let ((commit "81103491b467e17218140f50bc0bb9dc8c1f0317")
 | 
				
			||||||
    (source
 | 
					        (revision "0"))
 | 
				
			||||||
     (origin
 | 
					    (package
 | 
				
			||||||
       (method url-fetch)
 | 
					      (name "mapnik")
 | 
				
			||||||
       (uri (string-append "https://github.com/mapnik/mapnik/releases/download/v"
 | 
					      (version (git-version "3.1.0" revision commit))
 | 
				
			||||||
                           version "/mapnik-v" version ".tar.bz2"))
 | 
					      (source
 | 
				
			||||||
       (sha256
 | 
					       (origin
 | 
				
			||||||
        (base32
 | 
					         (method git-fetch)
 | 
				
			||||||
         "0qb2irykja5qhr9apz9r230pcxap9v3j85fi98mj2xd9sa163ms3"))))
 | 
					         (uri (git-reference
 | 
				
			||||||
    (build-system scons-build-system)
 | 
					               (url "https://github.com/mapnik/mapnik")
 | 
				
			||||||
    (inputs
 | 
					               (commit commit)
 | 
				
			||||||
     (list boost
 | 
					               ;; TODO: Un-bundle mapbox dependencies (not yet packaged).
 | 
				
			||||||
           cairo
 | 
					               (recursive? #t)))        ;for mapbox dependencies and test data
 | 
				
			||||||
           freetype
 | 
					         (file-name (git-file-name name version))
 | 
				
			||||||
           harfbuzz
 | 
					         (sha256
 | 
				
			||||||
           icu4c
 | 
					          (base32 "094nam57bdd5nak88qy33z2p3kjahk3vk2nk56m5jkcr5d3hlnx2"))))
 | 
				
			||||||
           libjpeg-turbo
 | 
					      (build-system qt-build-system)
 | 
				
			||||||
           libpng
 | 
					      (arguments
 | 
				
			||||||
           libtiff
 | 
					       (list
 | 
				
			||||||
           libwebp
 | 
					        #:cmake cmake                   ;for FIND_PACKAGE_ARGS
 | 
				
			||||||
           libxml2
 | 
					        #:configure-flags
 | 
				
			||||||
           proj.4
 | 
					        #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
 | 
				
			||||||
           sqlite
 | 
					                               #$(this-package-native-input "catch2")
 | 
				
			||||||
           zlib))
 | 
					                               "/include/catch2"))
 | 
				
			||||||
    (native-inputs
 | 
					        #:phases
 | 
				
			||||||
     (list pkg-config postgresql))
 | 
					        #~(modify-phases %standard-phases
 | 
				
			||||||
    (arguments
 | 
					            (add-after 'unpack 'use-system-catch2
 | 
				
			||||||
     `(#:scons-flags
 | 
					              (lambda _
 | 
				
			||||||
       (list "CC=gcc"
 | 
					                (substitute* "test/CMakeLists.txt"
 | 
				
			||||||
             (string-append "PREFIX=" %output)
 | 
					                  (("GIT_TAG.*v2.13.7" all)
 | 
				
			||||||
             (string-append "CUSTOM_LDFLAGS=-Wl,-rpath=" %output "/lib"))))
 | 
					                   (string-append all "\n"
 | 
				
			||||||
    (home-page "https://mapnik.org/")
 | 
					                                  "  FIND_PACKAGE_ARGS NAMES Catch2"))
 | 
				
			||||||
    (synopsis "Toolkit for developing mapping applications")
 | 
					                  (("^include.*Catch2_SOURCE_DIR.*contrib/Catch.cmake.*")
 | 
				
			||||||
    (description "Mapnik is a toolkit for developing mapping applications.  It
 | 
					                   "include(Catch)\n"))))
 | 
				
			||||||
 | 
					            (add-after 'unpack 'disable-problematic-tests
 | 
				
			||||||
 | 
					              (lambda _
 | 
				
			||||||
 | 
					                ;; The 'ogr' test fails for unknown reasons.  Mark it as
 | 
				
			||||||
 | 
					                ;; expected to fail (see:
 | 
				
			||||||
 | 
					                ;; https://github.com/mapnik/mapnik/issues/4329).
 | 
				
			||||||
 | 
					                (substitute* "/test/unit/datasource/ogr.cpp"
 | 
				
			||||||
 | 
					                  (("TEST_CASE\\(\"ogr\"" all)
 | 
				
			||||||
 | 
					                   (string-append all ", \"[!shouldfail]\""))))))))
 | 
				
			||||||
 | 
					      (native-inputs
 | 
				
			||||||
 | 
					       (list catch-framework2
 | 
				
			||||||
 | 
					             pkg-config
 | 
				
			||||||
 | 
					             postgresql))
 | 
				
			||||||
 | 
					      (inputs
 | 
				
			||||||
 | 
					       (list boost
 | 
				
			||||||
 | 
					             cairo
 | 
				
			||||||
 | 
					             freetype
 | 
				
			||||||
 | 
					             gdal
 | 
				
			||||||
 | 
					             harfbuzz
 | 
				
			||||||
 | 
					             icu4c
 | 
				
			||||||
 | 
					             libjpeg-turbo
 | 
				
			||||||
 | 
					             libpng
 | 
				
			||||||
 | 
					             libtiff
 | 
				
			||||||
 | 
					             libwebp
 | 
				
			||||||
 | 
					             libxml2
 | 
				
			||||||
 | 
					             proj
 | 
				
			||||||
 | 
					             sqlite
 | 
				
			||||||
 | 
					             zlib))
 | 
				
			||||||
 | 
					      (home-page "https://mapnik.org/")
 | 
				
			||||||
 | 
					      (synopsis "Toolkit for developing mapping applications")
 | 
				
			||||||
 | 
					      (description "Mapnik is a toolkit for developing mapping applications.  It
 | 
				
			||||||
is basically a collection of geographic objects like maps, layers,
 | 
					is basically a collection of geographic objects like maps, layers,
 | 
				
			||||||
datasources, features, and geometries.  At its core is a C++ shared library
 | 
					datasources, features, and geometries.  At its core is a C++ shared library
 | 
				
			||||||
providing algorithms and patterns for spatial data access and visualization.
 | 
					providing algorithms and patterns for spatial data access and visualization.
 | 
				
			||||||
| 
						 | 
					@ -867,15 +848,15 @@ The library does not rely on any specific windowing system and can be deployed
 | 
				
			||||||
to any server environment.  It is intended to play fair in a multi-threaded
 | 
					to any server environment.  It is intended to play fair in a multi-threaded
 | 
				
			||||||
environment and is aimed primarily, but not exclusively, at web-based
 | 
					environment and is aimed primarily, but not exclusively, at web-based
 | 
				
			||||||
development.")
 | 
					development.")
 | 
				
			||||||
    (license (list license:lgpl2.1+
 | 
					      (license (list license:lgpl2.1+
 | 
				
			||||||
                   ;; demo/viewer, demo/python/rundemo.py
 | 
					                     ;; demo/viewer, demo/python/rundemo.py
 | 
				
			||||||
                   license:gpl2+
 | 
					                     license:gpl2+
 | 
				
			||||||
                   ;; deps/boost, deps/mapbox, deps/agg/include/agg_conv_offset.h
 | 
					                     ;; deps/boost, deps/mapbox, deps/agg/include/agg_conv_offset.h
 | 
				
			||||||
                   license:boost1.0
 | 
					                     license:boost1.0
 | 
				
			||||||
                   ;; deps/mapnik/sparsehash
 | 
					                     ;; deps/mapnik/sparsehash
 | 
				
			||||||
                   license:bsd-3
 | 
					                     license:bsd-3
 | 
				
			||||||
                   ;; deps/agg
 | 
					                     ;; deps/agg
 | 
				
			||||||
                   (license:non-copyleft "file://deps/agg/copying")))))
 | 
					                     (license:non-copyleft "file://deps/agg/copying"))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public spatialite-gui
 | 
					(define-public spatialite-gui
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue