gnu: Add cl-ana.statistical-learning.
[jackhill/guix/guix.git] / gnu / packages / ham-radio.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
3 ;;; Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages ham-radio)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix packages)
23 #:use-module (guix download)
24 #:use-module (guix git-download)
25 #:use-module (gnu packages gtk)
26 #:use-module (gnu packages image)
27 #:use-module (gnu packages libusb)
28 #:use-module (gnu packages pkg-config)
29 #:use-module (gnu packages pulseaudio)
30 #:use-module (gnu packages python)
31 #:use-module (gnu packages python-xyz)
32 #:use-module (gnu packages xml)
33 #:use-module (guix build-system cmake)
34 #:use-module (guix build-system gnu)
35 #:use-module (guix build-system python))
36
37 (define-public rtl-sdr
38 (package
39 (name "rtl-sdr")
40 (version "0.6.0")
41 (source
42 (origin
43 (method git-fetch)
44 (uri (git-reference
45 (url "git://git.osmocom.org/rtl-sdr.git")
46 (commit version)))
47 (file-name (git-file-name name version))
48 (sha256
49 (base32
50 "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k"))))
51 (build-system cmake-build-system)
52 (inputs
53 `(("libusb" ,libusb)))
54 (native-inputs
55 `(("pkg-config" ,pkg-config)))
56 (arguments
57 `(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON")
58 #:tests? #f)) ; No tests
59 (home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr")
60 (synopsis "Software defined radio driver for Realtek RTL2832U")
61 (description "DVB-T dongles based on the Realtek RTL2832U can be used as a
62 cheap software defined radio, since the chip allows transferring the raw I/Q
63 samples to the host. @code{rtl-sdr} provides drivers for this purpose.")
64 (license license:gpl2+)))
65
66 (define-public chirp
67 (package
68 (name "chirp")
69 (version "20181205")
70 (source
71 (origin
72 (method url-fetch)
73 (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-"
74 version "/chirp-daily-" version ".tar.gz"))
75 (sha256
76 (base32
77 "1cp280b95j39xaxs50zn55jigg7pyfpm9n098hmsyxrplqn8z43c"))))
78 (build-system python-build-system)
79 (inputs
80 `(("python2-libxml2" ,python2-libxml2)
81 ("python2-pygtk" ,python2-pygtk)
82 ("python2-pyserial" ,python2-pyserial)))
83 (arguments
84 `(#:python ,python-2))
85 (home-page "https://chirp.danplanet.com")
86 (synopsis "Cross-radio programming tool")
87 (description "Chirp is a cross-radio programming tool. It supports a
88 growing list of radios across several manufacturers and allows transferring of
89 memory contents between them.")
90 (license (list license:gpl3+
91 license:lgpl3+)))) ; chirp/elib_intl.py
92
93 (define-public aptdec
94 (package
95 (name "aptdec")
96 (version "1.7")
97 (source
98 (origin
99 (method git-fetch)
100 (uri (git-reference
101 (url "https://github.com/csete/aptdec")
102 (commit (string-append "v" version))))
103 (file-name (git-file-name name version))
104 (sha256
105 (base32
106 "1hf0zb51qc6fyhdjxyij1n3vgwnw3cwksc3r11szbhkml14qjnzk"))))
107 (build-system gnu-build-system)
108 (inputs
109 `(("libpng" ,libpng)
110 ("libsndfile" ,libsndfile)))
111 (arguments
112 `(#:make-flags (list "CC=gcc")
113 #:tests? #f ; no tests
114 #:phases
115 (modify-phases %standard-phases
116 (delete 'configure)
117 (replace 'install
118 (lambda* (#:key outputs #:allow-other-keys)
119 (let ((out (assoc-ref outputs "out")))
120 (install-file "atpdec" (string-append out "/bin")))
121 #t)))))
122 (home-page "https://github.com/csete/aptdec")
123 (synopsis "NOAA Automatic Picture Transmission (APT) decoder")
124 (description "Aptdec decodes Automatic Picture Transmission (APT) images.
125 These are medium resolution images of the Earth transmitted by, among other
126 satellites, the POES NOAA weather satellite series. These transmissions are
127 on a frequency of 137 MHz. They can be received using an inexpensive antenna
128 and a dedicated receiver.")
129 (license license:gpl2+)))