gnu: Add qmapshack.
* gnu/packages/geo.scm (qmapshack): New variable.
This commit is contained in:
parent
30fa6b1636
commit
bccbeeceef
1 changed files with 80 additions and 0 deletions
|
@ -36,6 +36,7 @@ (define-module (gnu packages geo)
|
|||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (guix download)
|
||||
|
@ -1379,3 +1380,82 @@ (define-public routino
|
|||
@url{https://www.OpenStreetMap.org}.")
|
||||
(home-page "https://www.routino.org/")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public qmapshack
|
||||
(package
|
||||
(name "qmapshack")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Maproom/qmapshack.git")
|
||||
(commit (string-append "V_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07c2hrq9sn456w7l3gdr599rmjfv2k6mh159zza7p1py8r7ywksa"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("qttools" ,qttools)))
|
||||
(inputs
|
||||
`(("gdal" ,gdal)
|
||||
("libjpeg-turbo" ,libjpeg-turbo)
|
||||
("proj" ,proj)
|
||||
("qtbase" ,qtbase)
|
||||
("qtdeclarative" ,qtdeclarative)
|
||||
("qtlocation" ,qtlocation)
|
||||
("qtwebchannel" ,qtwebchannel)
|
||||
("qtwebengine" ,qtwebengine)
|
||||
("quazip" ,quazip)
|
||||
("routino" ,routino)
|
||||
("sqlite" ,sqlite-with-column-metadata) ; See wrap phase
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-cmake-modules
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("find_package\\(Qt5PrintSupport REQUIRED\\)" all)
|
||||
(string-append all "\nfind_package(Qt5Positioning REQUIRED)")))
|
||||
(substitute* "cmake/Modules/FindROUTINO.cmake"
|
||||
(("/usr/local")
|
||||
(assoc-ref inputs "routino")))
|
||||
;; The following fixes are included as patches in the sources
|
||||
;; of QMapShack, but they are not applied by default, for
|
||||
;; some reason...
|
||||
(invoke "patch" "-p1" "-i" "FindPROJ4.patch")
|
||||
(invoke "patch" "-p1" "-i" "FindQuaZip5.patch")
|
||||
#t))
|
||||
(add-after 'install 'wrap
|
||||
;; The program fails to run with the error:
|
||||
;; undefined symbol: sqlite3_column_table_name16
|
||||
;; Forcing the program to use sqlite-with-column-metadata instead
|
||||
;; of sqlite using LD_LIBRARY_PATH solves the problem.
|
||||
;;
|
||||
;; The program also fails to find the QtWebEngineProcess program,
|
||||
;; so we set QTWEBENGINEPROCESS_PATH to help it.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))
|
||||
(qtwebengineprocess (string-append
|
||||
(assoc-ref inputs "qtwebengine")
|
||||
"/lib/qt5/libexec/QtWebEngineProcess"))
|
||||
(sqlite-lib (string-append (assoc-ref inputs "sqlite")
|
||||
"/lib")))
|
||||
(for-each (lambda (program)
|
||||
(wrap-program program
|
||||
`("LD_LIBRARY_PATH" ":" prefix (,sqlite-lib))
|
||||
`("QTWEBENGINEPROCESS_PATH" =
|
||||
(,qtwebengineprocess))))
|
||||
(find-files bin ".*")))
|
||||
#t)))))
|
||||
(synopsis "GPS mapping application")
|
||||
(description
|
||||
"QMapShack can be used to plan your next outdoor trip or to visualize and
|
||||
archive all the GPS recordings of your past trips. It is the successor of the
|
||||
QLandkarte GT application.")
|
||||
(home-page "https://github.com/Maproom/qmapshack/wiki")
|
||||
(license license:gpl3+)))
|
||||
|
|
Loading…
Reference in a new issue