#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages cups)
(define-public gnome-maps
(package
(name "gnome-maps")
- (version "42.2")
+ (version "43.0") ;for libsoup 3 support
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1cb9s2zz1zib3f33c035lmgshpl679isbzdd3alrx4yclw61nvay"))))
+ "1r1l6ajs6zz316m8zac5r0l3qgdv616xh376bfn2fflcnz7wys08"))))
(build-system meson-build-system)
(arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true"))))
- (add-after 'unpack 'patch-dbus-service
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "data/org.gnome.Maps.service.in"
- (("@pkgdatadir@/org.gnome.Maps")
- (string-append (assoc-ref outputs "out")
- "/bin/gnome-maps")))))
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (geocode-glib-path (string-append
- (assoc-ref inputs "geocode-glib")
- "/lib"))
- (goa-path (string-append
- (assoc-ref inputs "gnome-online-accounts:lib")
- "/lib"))
- (gdk-pixbuf-path (string-append
- (assoc-ref inputs "gdk-pixbuf")
- "/lib"))
- (webkitgtk-path (string-append
- (assoc-ref inputs "webkitgtk")
- "/lib")))
- (wrap-program (string-append out "/bin/gnome-maps")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
-
- ;; There seems to be no way to embed the path of
- ;; libgoa-1.0.so.0, libwebkit2gtk-4.0.so.37,
- ;; libgdk_pixbuf-2.0.so, libjavascriptcoregtk-4.0.so.18, and
- ;; libgeocode-glib.so.0
- `("LD_LIBRARY_PATH" ":" prefix (,goa-path
- ,webkitgtk-path
- ,gdk-pixbuf-path
- ,geocode-glib-path)))
- #t))))))
+ (list
+ #:glib-or-gtk? #t
+ #:meson meson-0.63
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'skip-cache-and-database-updates
+ (lambda _
+ (substitute* "meson.build"
+ (("([a-z_]*): true" all option)
+ (cond ; cond rather than match saves an import
+ ((member option '("gtk_update_icon_cache"
+ "update_desktop_database"))
+ (string-append option ": false"))
+ (else all))))))
+ (add-after 'install 'wrap
+ (lambda _
+ (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+ (substitute* (string-append #$output "/share/gnome-maps/"
+ "org.gnome.Maps")
+ (("imports\\.package\\.init" all)
+ (string-append "'" gi-typelib-path "'.split(':').forEach("
+ "path => imports.gi.GIRepository.Repository."
+ "prepend_search_path(path));\n"
+ all)))))))))
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
+ (list gettext-minimal
+ `(,glib "bin")
+ gobject-introspection
+ pkg-config))
(inputs
- `(("evolution-data-server" ,evolution-data-server)
- ("folks" ,folks)
- ("libchamplain" ,libchamplain)
- ("libgee" ,libgee)
- ("libhandy" ,libhandy)
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup-minimal-2)
- ("libgweather" ,libgweather4)
- ("libxml2" ,libxml2)
- ("librsvg" ,librsvg)
- ("glib-networking" ,glib-networking)
- ("geoclue" ,geoclue)
- ("geocode-glib" ,geocode-glib)
- ("gfbgraph" ,gfbgraph)
- ("gjs" ,gjs)
- ("glib" ,glib)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("rest" ,rest)
- ("webkitgtk" ,webkitgtk-with-libsoup2)))
+ (list folks
+ evolution-data-server
+ geoclue
+ geocode-glib
+ gfbgraph
+ gjs
+ glib
+ glib-networking
+ gnome-online-accounts
+ gsettings-desktop-schemas
+ gtk+
+ libadwaita
+ libgee
+ libgweather4
+ libhandy
+ librsvg
+ libsecret
+ libshumate
+ libsoup
+ libxml2
+ pango-next ;TODO: remove when it's the default
+ rest-next
+ webkitgtk))
(synopsis "Graphical map viewer and wayfinding program")
(description "GNOME Maps is a graphical map viewer. It uses map data from
the OpenStreetMap project. It can provide directions for walking, bicycling,
(arguments
`(#:configure-flags
'("--enable-rttopo=yes")
+ ;; FIXME: Several tests fail with Proj 9.
+ #:tests? #f
#:phases
(modify-phases %standard-phases
;; 1 test is failing, ignore it:
(license license:expat)))
(define-public mapnik
- (package
- (name "mapnik")
- (version "3.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mapnik/mapnik/releases/download/v"
- version "/mapnik-v" version ".tar.bz2"))
- (sha256
- (base32
- "0qb2irykja5qhr9apz9r230pcxap9v3j85fi98mj2xd9sa163ms3"))))
- (build-system scons-build-system)
- (inputs
- (list boost
- cairo
- freetype
- harfbuzz
- icu4c
- libjpeg-turbo
- libpng
- libtiff
- libwebp
- libxml2
- proj.4
- sqlite
- zlib))
- (native-inputs
- (list pkg-config postgresql))
- (arguments
- `(#:scons-flags
- (list "CC=gcc"
- (string-append "PREFIX=" %output)
- (string-append "CUSTOM_LDFLAGS=-Wl,-rpath=" %output "/lib"))))
- (home-page "https://mapnik.org/")
- (synopsis "Toolkit for developing mapping applications")
- (description "Mapnik is a toolkit for developing mapping applications. It
+ ;; There hasn't been a release since early 2021, and it fails to build with
+ ;; Boost 1.77+.
+ (let ((commit "81103491b467e17218140f50bc0bb9dc8c1f0317")
+ (revision "0"))
+ (package
+ (name "mapnik")
+ (version (git-version "3.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mapnik/mapnik")
+ (commit commit)
+ ;; TODO: Un-bundle mapbox dependencies (not yet packaged).
+ (recursive? #t))) ;for mapbox dependencies and test data
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "094nam57bdd5nak88qy33z2p3kjahk3vk2nk56m5jkcr5d3hlnx2"))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ #:cmake cmake ;for FIND_PACKAGE_ARGS
+ #:configure-flags
+ #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
+ #$(this-package-native-input "catch2")
+ "/include/catch2"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-system-catch2
+ (lambda _
+ (substitute* "test/CMakeLists.txt"
+ (("GIT_TAG.*v2.13.7" all)
+ (string-append all "\n"
+ " FIND_PACKAGE_ARGS NAMES Catch2"))
+ (("^include.*Catch2_SOURCE_DIR.*contrib/Catch.cmake.*")
+ "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 catch2
+ 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,
datasources, features, and geometries. At its core is a C++ shared library
providing algorithms and patterns for spatial data access and visualization.
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
development.")
- (license (list license:lgpl2.1+
- ;; demo/viewer, demo/python/rundemo.py
- license:gpl2+
- ;; deps/boost, deps/mapbox, deps/agg/include/agg_conv_offset.h
- license:boost1.0
- ;; deps/mapnik/sparsehash
- license:bsd-3
- ;; deps/agg
- (license:non-copyleft "file://deps/agg/copying")))))
+ (license (list license:lgpl2.1+
+ ;; demo/viewer, demo/python/rundemo.py
+ license:gpl2+
+ ;; deps/boost, deps/mapbox, deps/agg/include/agg_conv_offset.h
+ license:boost1.0
+ ;; deps/mapnik/sparsehash
+ license:bsd-3
+ ;; deps/agg
+ (license:non-copyleft "file://deps/agg/copying"))))))
(define-public spatialite-gui
(package
(version-major version) "/SAGA%20-%20" version
"/saga-" version ".tar.gz"))
(sha256
- (base32 "008izjs6gvj09abxf16ssl1xy0ay3ljq4jswbggp6wiiq459minv"))))
+ (base32 "008izjs6gvj09abxf16ssl1xy0ay3ljq4jswbggp6wiiq459minv"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "saga-gis/src/tools/docs/docs_pdf/doc_pdf.cpp"
+ (("^#include <hpdf\\.h>\n" all)
+ (string-append all "#include <hpdf_version.h>\n"))
+ (("\\bHPDF_PROJECTING_SCUARE_END\\b")
+ "HPDF_PROJECTING_SQUARE_END")))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config swig))