From 0f7b8a7f09bd2e6a4cd780a9698c3c78e57499d3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 14 Jul 2019 21:00:46 +0300 Subject: [PATCH] gnu: Add xygrib. * gnu/packages/geo.scm (xygrib): New variable. --- gnu/packages/geo.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 4cccd97643..e4b6a262c7 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018 Julien Lepiller ;;; Copyright © 2019 Guillaume Le Vaillant +;;; Copyright © 2019 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (gnu packages astronomy) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages check) @@ -44,6 +46,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages datastructures) #:use-module (gnu packages documentation) + #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -57,6 +60,7 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) #:use-module (gnu packages web) #:use-module (gnu packages webkit) @@ -902,3 +906,67 @@ given GPS coordinates,draws a GPS track, and points of interest on a moving map display. Downloads map data from a number of websites, including @url{https://www.openstreetmap.org}.") (license license:gpl2+))) + +(define-public xygrib + (package + (name "xygrib") + (version "1.2.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/opengribs/XyGrib.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qzaaavil2c7mkkai5mg54cv8r452i7psy7cg75qjja96d2d7rbd")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "data/fonts") #t)))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-directories + (lambda* (#:key inputs #:allow-other-keys) + (let ((jpeg (assoc-ref inputs "openjpeg")) + (font (assoc-ref inputs "font-liberation"))) + (substitute* "CMakeLists.txt" + ;; Find libjpeg. + (("/usr") jpeg) + ;; Fix install locations. + (("set\\(PREFIX_BIN.*") "set(PREFIX_BIN \"bin\")\n") + (("set\\(PREFIX_PKGDATA.*") "set(PREFIX_PKGDATA \"share/${PROJECT_NAME}\")\n") + ;; Skip looking for the static library. + (("\"libnova.a\"") "")) + ;; Don't use the bundled font-liberation. + (substitute* "src/util/Font.cpp" + (("Util::pathFonts\\(\\)\\+\"liberation-fonts/\"") + (string-append "\"" font "/share/fonts/truetype/\""))) + (substitute* "src/util/Util.h" + (("pathData\\(\\)\\+\"data/fonts/\"") + (string-append "\"" font "/share/fonts/\"")))) + #t))) + #:tests? #f)) ; no tests + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("bzip2" ,bzip2) + ("font-liberation" ,font-liberation) + ("libnova" ,libnova) + ("libpng" ,libpng) + ("openjpeg" ,openjpeg) + ("proj.4" ,proj.4) + ("qtbase" ,qtbase) + ("zlib" ,zlib))) + (synopsis "Weather Forecast Visualization") + (description + "XyGrib is a Grib file reader and visualizes meteorological data providing +an off-line capability to analyse weather forecasts or hindcasts. It is +intended to be used as a capable weather work station for anyone with a serious +interest in examining weather. This would include members of the sailing +community, private and sport aviators, farmers, weather buffs and many more. +XyGrib is the continuation of the zyGrib software package with a new team of +volunteers.") + (home-page "https://opengribs.org") + (license license:gpl3+)))