(address . guix-patches@gnu.org)(address . glv@posteo.net)
* gnu/packages/radio.scm (viz1090): New variable.
Change-Id: I1bee79df0906075728d0faee80eb0ccbbdb368dc
---
gnu/packages/radio.scm | 141 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 141 insertions(+)
Toggle diff (163 lines)
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index f34511b352..f8b10e7061 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2022 Ryan Tolboom <ryan@using.tech>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2024 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1890,6 +1891,146 @@ (define-public dump1090
(home-page "https://github.com/flightaware/dump1090")
(license license:gpl2+)))
+(define-public viz1090
+ (let ((commit "ec055e1220f897b393f033a4cee02771c69dadc3")
+ (revision "0"))
+ (package
+ (name "viz1090")
+ ;; There are no "releases" of this program yet.
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://www.github.com/nmatsuda/viz1090")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0gksr6dsaa4rffwrfcbhhnclmj5yabrv0dc8mb8q7hmbv8znd232"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ; No test suite
+ #:make-flags
+ #~(list (string-append "CXXFLAGS=-I"
+ #$(this-package-input "sdl-union")
+ "/include/SDL2")
+ (string-append "CC=" #+(cc-for-target)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; No ./configure script
+ (add-before 'build 'build-map-data
+ (lambda _
+ (let* ((share (string-append #$output "/share/viz1090")))
+ ;; Disable the build-time maps downloader and adjust the
+ ;; decompression procedure accordingly.
+ (substitute* "getmap.sh"
+ (("wget") "#wget")
+ (("unzip.*")
+ (string-append
+ "unzip " #$(this-package-native-input "political-maps") " && \n"
+ "unzip " #$(this-package-native-input "population-maps") " && \n"
+ "unzip " #$(this-package-native-input "airports-map") " && \n"
+ "unzip " #$(this-package-native-input "arcgis-data") " && \n")))
+ ;; Adjust the run-time paths of the map data
+ (substitute* "Map.cpp"
+ (("mapdata.bin")
+ (string-append share "/mapdata.bin"))
+ (("airportdata.bin")
+ (string-append share "/airportdata.bin"))
+ (("\\\(\"mapnames")
+ (string-append "\(\"" share "/mapnames"))
+ (("\\\(\"airportnames")
+ (string-append "\(\"" share "/airportnames")))
+ (invoke "./getmap.sh"))))
+ (add-before 'build 'patch-font-path
+ (lambda _
+ (substitute* "View.cpp"
+ (("font\\/")
+ (string-append #$output "/font/")))))
+ (replace 'install ; No install target
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((bin (string-append #$output "/bin"))
+ (share (string-append #$output "/share/viz1090"))
+ (doc (string-append share "-" #$(package-version this-package) "/doc"))
+ (fonts (string-append #$output "/font")))
+ (install-file "viz1090" bin)
+ (install-file "mapdata.bin" share)
+ (install-file "airportdata.bin" share)
+ (install-file "mapnames" share)
+ (install-file "airportnames" share)
+ (install-file "README.md" doc)
+ (mkdir fonts)
+ (copy-recursively "font" fonts)))))))
+ (native-inputs
+ `(("political-maps"
+ ;; version 5.1.1 of this data
+ ;; The upstream site does not version the URL for the most recent
+ ;; release, so we store them on archive.org to create a stable URL.
+ ;; See 'getmap.sh' in the viz1090 source distribution.
+ ,(origin
+ (method url-fetch)
+ (uri
+ "https://archive.org/download/ne_10m_admin_1_states_provinces/ne_10m_admin_1_states_provinces.zip")
+ ;"https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_1_states_provinces.zip")
+ (sha256
+ (base32
+ "019bp9ccna1xxrk3c1af6k6pjcb7jvf0l8a6jj7ha8vk6ck9gigg"))))
+ ("population-maps"
+ ;; version 5.1.2 of this data
+ ;; The upstream site does not version the URL for the most recent
+ ;; release, so we store them on archive.org to create a stable URL.
+ ;; See 'getmap.sh' in the viz1090 source distribution.
+ ,(origin
+ (method url-fetch)
+ (uri
+ "https://archive.org/download/ne_10m_populated_places/ne_10m_populated_places.zip")
+ ;"https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_populated_places.zip")
+ (sha256
+ (base32
+ "0yqxqkydzlwylh2j6fidqc57sdd4h2wrk8qd87h069ixy239256d"))))
+ ("airports-map"
+ ;; version 5.0.0 of this data
+ ;; The upstream site does not version the URL for the most recent
+ ;; release, so we store them on archive.org to create a stable URL.
+ ;; See 'getmap.sh' in the viz1090 source distribution.
+ ,(origin
+ (method url-fetch)
+ (uri
+ "https://archive.org/download/ne_10m_airports/ne_10m_airports.zip")
+ ;"https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_airports.zip")
+ (sha256
+ (base32
+ "1cvxgp141i7jy9fd49xxfz3g2k07szh745zd3l9lq7kynrf377m2"))))
+ ("arcgis-data"
+ ;; See 'getmap.sh' in the viz1090 source distribution.
+ ,(origin
+ (method url-fetch)
+ (uri
+ "https://opendata.arcgis.com/datasets/4d8fa46181aa470d809776c57a8ab1f6_0.zip")
+ (sha256
+ (base32
+ "1aqa7dc3xp1mcz7zm3v5m2qjdkzgyzgzlif4cvqsba2l2flc3v74"))))
+ ;; For building the map data
+ ("unzip" ,unzip)
+ ("python" ,python)
+ ("python-numpy" ,python-numpy)
+ ("python-tqdm" ,python-tqdm)))
+ (inputs
+ (list gdal
+ rtl-sdr
+ (sdl-union (list sdl2 sdl2-ttf sdl2-gfx))
+ python-fiona
+ python-shapely
+ python-requests))
+ (synopsis "Visualizer for dump1090 ADS-B data")
+ (description "Viz1090 provides a visual map-based display of
+@acronym{ADS-B, Automatic Dependent Surveillance–Broadcast} data that is
+broadcast from airborne aircraft. It reads data provided by @code{dump1090} as
+described in @file{README.md} to show nearby aircraft on a map.")
+ (home-page "https://github.com/nmatsuda/viz1090")
+ (license license:bsd-2))))
+
(define-public rtl-433
(package
(name "rtl-433")
base-commit: f7c0ccb1866b559dc2ce0c538d10a150822824c8
--
2.41.0