diff options
Diffstat (limited to 'gnu/packages/weather.scm')
| -rw-r--r-- | gnu/packages/weather.scm | 113 |
1 files changed, 90 insertions, 23 deletions
diff --git a/gnu/packages/weather.scm b/gnu/packages/weather.scm index 18f392ccf5..5fc1a367c5 100644 --- a/gnu/packages/weather.scm +++ b/gnu/packages/weather.scm @@ -1,6 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2024 Leo Famulari <leo@famulari.name> ;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com> +;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,13 +23,16 @@ (define-module (gnu packages weather) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system go) - #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-xyz) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages xml)) @@ -60,35 +66,96 @@ range---felt and measured---, wind speed and direction, viewing distance, precipitation amount and probability.") (license license:isc))) +(define-public wfetch + (let ((commit "e1cfa37814aebc9eb56ce994ebe877b6a6f9a715") + (revision "2")) + (package + (name "wfetch") + (version (git-version "0.1-pre" revision commit)) + (home-page "https://github.com/Gcat101/Wfetch") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dmr85plx8zr6s14ym3r32g6crwxghkval5a24ah90ijx4dbn5q5")))) + (build-system pyproject-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (delete 'build) + (replace 'install + (lambda _ + (let ((bin (string-append #$output "/bin")) + (share (string-append #$output "/share"))) + (mkdir-p share) + (substitute* "wfetch/wfetch.py" + (("os.sep, 'opt', 'wfetch'") + (string-append "'" share "'"))) + ;; The documentation expects the executable to be named + ;; 'wfetch', not 'wfetch.py'. + (rename-file "wfetch/wfetch.py" "wfetch/wfetch") + (install-file "wfetch/wfetch" bin) + (copy-recursively "wfetch/icons" share))))))) + (native-inputs + (list python-setuptools)) + (inputs + (list python-pyowm + python-fire + python-termcolor + python-requests)) + (synopsis "Command-line tool to display weather info") + (description + "This package provides a tool similar to Neofetch/pfetch, but for +weather: it can display the weather condition, temperature, humidity, etc. + +To use it, you must first run: + +@example +export WEATHER_CLI_API=@var{your OpenWeatherMap API key} +@end example +") + (license license:gpl3+)))) + (define-public meteo-qt (package (name "meteo-qt") (version "4.2") (source - (origin (method git-fetch) - (uri (git-reference (url "https://github.com/dglent/meteo-qt") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1cvmh5rq50dncd2fmp4amjb2hhl2mryb2ywg0zdzhz89dkjq0kdk")))) - (build-system python-build-system) - (native-inputs (list python-pyqt-6)) - (propagated-inputs (list python-lxml python-pyqt-6 python-sip)) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dglent/meteo-qt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cvmh5rq50dncd2fmp4amjb2hhl2mryb2ywg0zdzhz89dkjq0kdk")))) + (build-system pyproject-build-system) (arguments - (list #:phases - #~(modify-phases %standard-phases - (add-before 'build 'remove-translations - (lambda _ - ;; Translation processing is broken because Guix thinks lprodump - ;; is in qtbase, not qttools. So, we'll skip it and exclude - ;; qttools from the native input list until it is fixed. - (substitute* "setup.py" - (("/usr") #$output) - (("^.+lrelease-pro-qt6.+$") "") - (("^.+meteo_qt/translations.+$") ""))))))) + (list + #:tests? #f ; No tests. + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'remove-translations + (lambda _ + ;; Translation processing is broken because Guix thinks lprodump + ;; is in qtbase, not qttools. So, we'll skip it and exclude + ;; qttools from the native input list until it is fixed. + (substitute* "setup.py" + (("/usr") #$output) + (("^.+lrelease-pro-qt6.+$") "") + (("^.+meteo_qt/translations.+$") ""))))))) + (native-inputs (list python-pyqt-6 python-setuptools)) + (propagated-inputs (list python-lxml python-pyqt-6 python-sip)) (home-page "https://github.com/dglent/meteo-qt") (synopsis "Weather application for the system tray") - (description "meteo-qt is an application to display weather information in -desktop panels, desktop notifictions and its own window. Weather information is + (description + "meteo-qt is an application to display weather information in desktop +panels, desktop notifictions and its own window. Weather information is retrieved from OpenWeatherMap.") (license license:gpl3))) |
