me
/
guix
Archived
1
0
Fork 0

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.
master
Maxim Cournoyer 2022-09-15 19:45:04 -04:00
parent 011dab59d8
commit f7a12f9224
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
1 changed files with 76 additions and 95 deletions

View File

@ -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