gnu: Add flwrap.
[jackhill/guix/guix.git] / gnu / packages / radio.scm
CommitLineData
c5361b7c 1;;; GNU Guix --- Functional package management for GNU
7f1c69f5 2;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
0493ead6 3;;; Copyright © 2019 Christopher Howard <christopher@librehacker.com>
c4f96706 4;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com>
d042caf6
GLV
5;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
6;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
7;;; Copyright © 2020 Charlie Ritter <chewzerita@posteo.net>
c5361b7c
AI
8;;;
9;;; This file is part of GNU Guix.
10;;;
11;;; GNU Guix is free software; you can redistribute it and/or modify it
12;;; under the terms of the GNU General Public License as published by
13;;; the Free Software Foundation; either version 3 of the License, or (at
14;;; your option) any later version.
15;;;
16;;; GNU Guix is distributed in the hope that it will be useful, but
17;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;;; GNU General Public License for more details.
20;;;
21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
0493ead6 24(define-module (gnu packages radio)
c5361b7c
AI
25 #:use-module ((guix licenses) #:prefix license:)
26 #:use-module (guix packages)
27 #:use-module (guix download)
7f1c69f5 28 #:use-module (guix git-download)
d042caf6
GLV
29 #:use-module (gnu packages algebra)
30 #:use-module (gnu packages audio)
c4f96706
ES
31 #:use-module (gnu packages autotools)
32 #:use-module (gnu packages base)
bc94b75d 33 #:use-module (gnu packages bash)
d042caf6
GLV
34 #:use-module (gnu packages boost)
35 #:use-module (gnu packages check)
36 #:use-module (gnu packages documentation)
8e1e86b0 37 #:use-module (gnu packages engineering)
72f6ee0e 38 #:use-module (gnu packages fltk)
d042caf6
GLV
39 #:use-module (gnu packages ghostscript)
40 #:use-module (gnu packages glib)
41 #:use-module (gnu packages gstreamer)
e200de54 42 #:use-module (gnu packages gtk)
7f1c69f5 43 #:use-module (gnu packages image)
c5361b7c 44 #:use-module (gnu packages libusb)
d042caf6
GLV
45 #:use-module (gnu packages linux)
46 #:use-module (gnu packages logging)
47 #:use-module (gnu packages maths)
48 #:use-module (gnu packages multiprecision)
49 #:use-module (gnu packages networking)
c5361b7c 50 #:use-module (gnu packages pkg-config)
7f1c69f5 51 #:use-module (gnu packages pulseaudio)
e200de54 52 #:use-module (gnu packages python)
d042caf6 53 #:use-module (gnu packages python-science)
44d10b1f 54 #:use-module (gnu packages python-xyz)
d042caf6 55 #:use-module (gnu packages qt)
d042caf6
GLV
56 #:use-module (gnu packages sphinx)
57 #:use-module (gnu packages swig)
58 #:use-module (gnu packages tex)
59 #:use-module (gnu packages version-control)
e200de54 60 #:use-module (gnu packages xml)
d042caf6 61 #:use-module (gnu packages xorg)
e200de54 62 #:use-module (guix build-system cmake)
93299e61 63 #:use-module (guix build-system glib-or-gtk)
7f1c69f5 64 #:use-module (guix build-system gnu)
aa862c2c
GLV
65 #:use-module (guix build-system python)
66 #:use-module (guix build-system qt))
c5361b7c 67
0493ead6
GLV
68(define-public liquid-dsp
69 (package
70 (name "liquid-dsp")
71 (version "1.3.2")
72 (source
73 (origin (method git-fetch)
74 (uri (git-reference
75 (url "https://github.com/jgaeddert/liquid-dsp.git")
76 (commit (string-append "v" version))))
77 (file-name (git-file-name name version))
78 (sha256
79 (base32 "1n6dbg13q8ga5qhg1yiszwly4jj0rxqr6f1xwm9waaly5z493xsd"))))
80 (build-system gnu-build-system)
81 (native-inputs
82 `(("autoconf" ,autoconf)))
83 (inputs
84 `(("fftw" ,fftw)
85 ("fftwf" ,fftwf)))
86 (home-page "https://liquidsdr.org")
87 (synopsis "Signal processing library for software-defined radios")
88 (description
89 "Liquid DSP is a @dfn{digital signal processing} (DSP) library designed
90specifically for software-defined radios on embedded platforms. The aim is to
91provide a lightweight DSP library that does not rely on a myriad of external
92dependencies or proprietary and otherwise cumbersome frameworks. All signal
93processing elements are designed to be flexible, scalable, and dynamic,
94including filters, filter design, oscillators, modems, synchronizers, complex
95mathematical operations, and much more.")
96 (license license:expat)))
97
c5361b7c
AI
98(define-public rtl-sdr
99 (package
100 (name "rtl-sdr")
d7cefb0b 101 (version "0.6.0")
c5361b7c
AI
102 (source
103 (origin
d7cefb0b
ES
104 (method git-fetch)
105 (uri (git-reference
106 (url "git://git.osmocom.org/rtl-sdr.git")
107 (commit version)))
108 (file-name (git-file-name name version))
c5361b7c
AI
109 (sha256
110 (base32
d7cefb0b 111 "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k"))))
c5361b7c
AI
112 (build-system cmake-build-system)
113 (inputs
114 `(("libusb" ,libusb)))
115 (native-inputs
116 `(("pkg-config" ,pkg-config)))
117 (arguments
118 `(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON")
119 #:tests? #f)) ; No tests
120 (home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr")
121 (synopsis "Software defined radio driver for Realtek RTL2832U")
122 (description "DVB-T dongles based on the Realtek RTL2832U can be used as a
123cheap software defined radio, since the chip allows transferring the raw I/Q
124samples to the host. @code{rtl-sdr} provides drivers for this purpose.")
125 (license license:gpl2+)))
e200de54
AI
126
127(define-public chirp
128 (package
129 (name "chirp")
130 (version "20181205")
131 (source
132 (origin
133 (method url-fetch)
134 (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-"
135 version "/chirp-daily-" version ".tar.gz"))
136 (sha256
137 (base32
138 "1cp280b95j39xaxs50zn55jigg7pyfpm9n098hmsyxrplqn8z43c"))))
139 (build-system python-build-system)
140 (inputs
141 `(("python2-libxml2" ,python2-libxml2)
142 ("python2-pygtk" ,python2-pygtk)
143 ("python2-pyserial" ,python2-pyserial)))
144 (arguments
145 `(#:python ,python-2))
146 (home-page "https://chirp.danplanet.com")
147 (synopsis "Cross-radio programming tool")
148 (description "Chirp is a cross-radio programming tool. It supports a
149growing list of radios across several manufacturers and allows transferring of
150memory contents between them.")
151 (license (list license:gpl3+
152 license:lgpl3+)))) ; chirp/elib_intl.py
7f1c69f5
AI
153
154(define-public aptdec
155 (package
156 (name "aptdec")
157 (version "1.7")
158 (source
159 (origin
160 (method git-fetch)
161 (uri (git-reference
162 (url "https://github.com/csete/aptdec")
163 (commit (string-append "v" version))))
164 (file-name (git-file-name name version))
165 (sha256
166 (base32
167 "1hf0zb51qc6fyhdjxyij1n3vgwnw3cwksc3r11szbhkml14qjnzk"))))
168 (build-system gnu-build-system)
169 (inputs
170 `(("libpng" ,libpng)
171 ("libsndfile" ,libsndfile)))
172 (arguments
173 `(#:make-flags (list "CC=gcc")
174 #:tests? #f ; no tests
175 #:phases
176 (modify-phases %standard-phases
177 (delete 'configure)
178 (replace 'install
179 (lambda* (#:key outputs #:allow-other-keys)
180 (let ((out (assoc-ref outputs "out")))
181 (install-file "atpdec" (string-append out "/bin")))
182 #t)))))
183 (home-page "https://github.com/csete/aptdec")
184 (synopsis "NOAA Automatic Picture Transmission (APT) decoder")
185 (description "Aptdec decodes Automatic Picture Transmission (APT) images.
186These are medium resolution images of the Earth transmitted by, among other
187satellites, the POES NOAA weather satellite series. These transmissions are
188on a frequency of 137 MHz. They can be received using an inexpensive antenna
189and a dedicated receiver.")
190 (license license:gpl2+)))
c4f96706
ES
191
192(define-public redsea
193 (package
194 (name "redsea")
195 (version "0.18")
196 (source (origin
197 (method git-fetch)
198 (uri (git-reference
199 (url "https://github.com/windytan/redsea")
200 (commit (string-append "v" version))))
201 (file-name (git-file-name name version))
202 (sha256
203 (base32
204 "1y96g0ra2krjb2kypm8s5gdfia45yci4f36klsvyzg8d53v5cwhn"))))
205 (build-system gnu-build-system)
206 (arguments
207 `(#:phases
208 (modify-phases %standard-phases
209 ;; The configure.ac file does not explicitly link against libiconv
210 ;; except on Mac OS, causing the build to fail. This phase comments
211 ;; out the original AC_SUBST macro (located inside a conditional) and
212 ;; adds an explicit use of it underneath, so that libiconv is always
213 ;; linked against.
214 (add-after 'unpack 'patch-libiconv
215 (lambda _
216 (substitute* "configure.ac"
217 (("^ +AC_SUBST")
218 "# AC_SUBST")
219 (("esac")
220 "esac\nAC_SUBST([ICONV], [\"-liconv\"])"))
221 #t)))))
222 (inputs
223 `(("libiconv" ,libiconv)
224 ("libsndfile" ,libsndfile)
225 ("liquid-dsp" ,liquid-dsp)))
226 (native-inputs
227 `(("autoconf" ,autoconf)
228 ("automake" ,automake)))
229 (home-page "https://github.com/windytan/redsea")
230 (synopsis "Lightweight RDS to JSON decoder")
231 (description "redsea is a lightweight command-line @dfn{FM Radio Data
232System} (FM-RDS) decoder. Redsea can be used with any RTL-SDR USB radio stick
233with the rtl_fm tool, or any other @dfn{software-defined radio} (SDR) via
234csdr, for example. It can also decode raw ASCII bitstream, the hex format
235used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
236 (license license:expat)))
d042caf6
GLV
237
238(define-public gnuradio
239 (package
240 (name "gnuradio")
241 (version "3.8.0.0")
242 (source
243 (origin
244 (method url-fetch)
245 (uri (string-append "https://www.gnuradio.org/releases/gnuradio/"
246 "gnuradio-" version ".tar.xz"))
247 (sha256
8e1e86b0
GLV
248 (base32 "0aw55gf5549b0fz2qdi7vplcmaf92bj34h40s34b2ycnqasv900r"))
249 (modules '((guix build utils)))
250 (snippet
251 '(begin
252 ;; Delete bundled volk to use the shared one.
253 (delete-file-recursively "volk")
254 #t))))
d042caf6
GLV
255 (build-system cmake-build-system)
256 (native-inputs
257 `(("doxygen" ,doxygen)
258 ("git" ,git-minimal)
259 ("ghostscript" ,ghostscript)
260 ("orc" ,orc)
261 ("pkg-config" ,pkg-config)
262 ("python" ,python)
263 ("python-cheetah" ,python-cheetah)
264 ("python-mako" ,python-mako)
265 ("python-pyzmq" ,python-pyzmq)
266 ("python-scipy" ,python-scipy)
267 ("python-sphinx" ,python-sphinx)
268 ("swig" ,swig)
269 ("texlive" ,(texlive-union (list texlive-amsfonts
270 texlive-latex-amsmath
271 ;; TODO: Add newunicodechar.
272 texlive-latex-graphics)))
273 ("xorg-server" ,xorg-server-for-tests)))
274 (inputs
275 `(("alsa-lib" ,alsa-lib)
276 ("boost" ,boost)
277 ("cairo" ,cairo)
278 ("codec2" ,codec2)
279 ("cppzmq" ,cppzmq)
280 ("fftwf" ,fftwf)
281 ("gmp" ,gmp)
282 ("gsl" ,gsl)
283 ("gsm" ,gsm)
284 ("gtk+" ,gtk+)
285 ("jack" ,jack-1)
286 ("log4cpp" ,log4cpp)
287 ("pango" ,pango)
288 ("portaudio" ,portaudio)
289 ("python-click" ,python-click)
290 ("python-click-plugins" ,python-click-plugins)
291 ("python-lxml" ,python-lxml)
292 ("python-numpy" ,python-numpy)
293 ("python-pycairo" ,python-pycairo)
294 ("python-pygobject" ,python-pygobject)
295 ("python-pyqt" ,python-pyqt)
296 ("python-pyyaml" ,python-pyyaml)
297 ("qtbase" ,qtbase)
298 ("qwt" ,qwt)
8e1e86b0 299 ("volk" ,volk)
d042caf6
GLV
300 ("zeromq" ,zeromq)))
301 (arguments
302 `(#:modules ((guix build cmake-build-system)
93299e61 303 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
d042caf6 304 ((guix build python-build-system) #:prefix python:)
93299e61
GLV
305 (guix build utils)
306 (ice-9 match))
d042caf6 307 #:imported-modules (,@%cmake-build-system-modules
93299e61 308 (guix build glib-or-gtk-build-system)
d042caf6 309 (guix build python-build-system))
8e1e86b0
GLV
310 #:configure-flags
311 '("-DENABLE_INTERNAL_VOLK=OFF")
d042caf6
GLV
312 #:phases
313 (modify-phases %standard-phases
314 (add-after 'unpack 'fix-paths
315 (lambda* (#:key inputs #:allow-other-keys)
316 (let ((qwt (assoc-ref inputs "qwt")))
317 (substitute* "cmake/Modules/FindQwt.cmake"
318 (("/usr/include")
319 (string-append qwt "/include"))
320 (("/usr/lib")
321 (string-append qwt "/lib"))
322 (("qwt6-\\$\\{QWT_QT_VERSION\\}")
323 "qwt")))
324 (substitute* "cmake/Modules/GrPython.cmake"
325 (("dist-packages")
326 "site-packages"))
327 (substitute* '("gr-vocoder/swig/vocoder_swig.i"
328 "gr-vocoder/include/gnuradio/vocoder/codec2.h"
329 "gr-vocoder/include/gnuradio/vocoder/freedv_api.h")
330 (("<codec2/")
331 "<"))
332 #t))
333 (add-before 'check 'set-test-environment
334 (lambda* (#:key inputs #:allow-other-keys)
335 (setenv "HOME" "/tmp")
336 (system (string-append (assoc-ref inputs "xorg-server")
337 "/bin/Xvfb :1 &"))
338 (setenv "DISPLAY" ":1")
339 #t))
340 (add-after 'install 'wrap-python
93299e61
GLV
341 (assoc-ref python:%standard-phases 'wrap))
342 (add-after 'wrap-python 'wrap-glib-or-gtk
343 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
344 (add-after 'wrap-glib-or-gtk 'wrap-with-GI_TYPELIB_PATH
345 (lambda* (#:key inputs outputs #:allow-other-keys)
346 (let ((out (assoc-ref outputs "out"))
347 (paths (map (match-lambda
348 ((output . directory)
349 (let ((girepodir (string-append
350 directory
351 "/lib/girepository-1.0")))
352 (if (file-exists? girepodir)
353 girepodir
354 #f))))
355 inputs)))
356 (wrap-program (string-append out "/bin/gnuradio-companion")
357 `("GI_TYPELIB_PATH" ":" prefix ,(filter identity paths))))
358 #t)))))
d042caf6
GLV
359 (synopsis "Toolkit for software-defined radios")
360 (description
361 "GNU Radio is a development toolkit that provides signal processing blocks
362to implement software radios. It can be used with external RF hardware to
363create software-defined radios, or without hardware in a simulation-like
364environment.")
365 (home-page "https://www.gnuradio.org")
366 (license license:gpl3+)))
aa862c2c
GLV
367
368(define-public gnuradio-osmosdr
369 (package
370 (name "gnuradio-osmosdr")
371 (version "0.2.0")
372 (source
373 (origin
374 (method git-fetch)
375 (uri (git-reference
376 (url "https://git.osmocom.org/gr-osmosdr")
377 (commit (string-append "v" version))))
378 (file-name (git-file-name name version))
379 (sha256
380 (base32 "1rdx7fa0xiq0qmgrrbby7z1bblmqhl9qh9jqpsznzxkx91f17ypd"))))
381 (build-system cmake-build-system)
382 (native-inputs
383 `(("doxygen" ,doxygen)
384 ("git" ,git-minimal)
385 ("pkg-config" ,pkg-config)
386 ("python" ,python)
387 ("python-mako" ,python-mako)
388 ("python-six" ,python-six)
389 ("swig" ,swig)))
390 (inputs
391 `(("boost" ,boost)
392 ("fftwf" ,fftwf)
393 ("gmp" ,gmp)
394 ("gnuradio" ,gnuradio)
395 ("log4cpp" ,log4cpp)
396 ;; TODO: Add more drivers.
b3926202
GLV
397 ("rtl-sdr" ,rtl-sdr)
398 ("volk" ,volk)))
aa862c2c
GLV
399 (synopsis "GNU Radio block for interfacing with various radio hardware")
400 (description "This is a block for GNU Radio allowing to use a common API
401to access different radio hardware.")
402 (home-page "https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR")
403 (license license:gpl3+)))
bc94b75d
GLV
404
405(define-public libosmo-dsp
406 (package
407 (name "libosmo-dsp")
408 (version "0.4.0")
409 (source
410 (origin
411 (method git-fetch)
412 (uri (git-reference
413 (url "https://git.osmocom.org/libosmo-dsp")
414 (commit version)))
415 (file-name (git-file-name name version))
416 (sha256
417 (base32 "00plihnpym1gkfpflah8il9463qxzm9kx2f07jyvbkszpj8viq5g"))))
418 (build-system gnu-build-system)
419 (native-inputs
420 `(("autoconf" ,autoconf)
421 ("automake" ,automake)
422 ("bash-minimal" ,bash-minimal)
423 ("doxygen" ,doxygen)
424 ("git" ,git-minimal)
425 ("libtool" ,libtool)
426 ("pkg-config" ,pkg-config)
427 ("texlive" ,(texlive-union (list texlive-amsfonts
428 texlive-latex-amsmath
429 ;; TODO: Add newunicodechar.
430 texlive-latex-graphics)))))
431 (inputs
432 `(("fftwf" ,fftwf)))
433 (arguments
434 `(#:phases
435 (modify-phases %standard-phases
436 (add-after 'unpack 'fix-paths
437 (lambda* (#:key inputs #:allow-other-keys)
438 (substitute* "git-version-gen"
439 (("/bin/sh")
440 (string-append (assoc-ref inputs "bash")
441 "/bin/bash")))
442 #t)))))
443 (synopsis "DSP primitives for SDR")
444 (description
445 "This a C-language library for common DSP (Digital Signal Processing)
446primitives for SDR (Software Defined Radio).")
447 (home-page "https://osmocom.org/projects/libosmo-dsp")
448 (license license:gpl2+)))
77dc12a8
GLV
449
450(define-public gnuradio-iqbalance
451 (package
452 (name "gnuradio-iqbalance")
453 (version "0.38.1")
454 (source
455 (origin
456 (method git-fetch)
457 (uri (git-reference
458 (url "https://git.osmocom.org/gr-iqbal")
459 (commit (string-append "v" version))))
460 (file-name (git-file-name name version))
461 (sha256
462 (base32 "0ksagwz05p3b0702q7ljq7013xmp0ijp30my9z6s3p7ja8dj42s3"))))
463 (build-system cmake-build-system)
464 (native-inputs
465 `(("doxygen" ,doxygen)
466 ("pkg-config" ,pkg-config)
467 ("python" ,python)
468 ("python-numpy" ,python-numpy)
469 ("python-six" ,python-six)
470 ("swig" ,swig)))
471 (inputs
472 `(("boost" ,boost)
473 ("fftwf" ,fftwf)
474 ("gmp" ,gmp)
475 ("gnuradio" ,gnuradio)
476 ("libosmo-dsp" ,libosmo-dsp)
29cab668
GLV
477 ("log4cpp" ,log4cpp)
478 ("volk" ,volk)))
77dc12a8
GLV
479 (synopsis "GNU Radio block to correct IQ imbalance")
480 (description
481 "This is a GNU Radio block to correct IQ imbalance in quadrature
482receivers. It's composed of two main block:
483@itemize
484@item Fix: Given a phase and amplitude error, it will correct a complex signal.
485@item Optimize: Attempts to auto-detect the phase and amplitude error to feed
486to the fix block above.
487@end itemize")
488 (home-page "https://git.osmocom.org/gr-iqbal/")
489 (license license:gpl3+)))
f76ac21c
GLV
490
491(define-public gqrx
492 (package
493 (name "gqrx")
494 (version "2.12.1")
495 (source
496 (origin
497 (method git-fetch)
498 (uri (git-reference
499 (url "https://github.com/csete/gqrx.git")
500 (commit (string-append "v" version))))
501 (file-name (git-file-name name version))
502 (sha256
503 (base32 "00alf3q6y313xpx6p7v43vqsphd2x4am4q362lw21bcy9wc4jidw"))))
504 (build-system qt-build-system)
505 (native-inputs
506 `(("pkg-config" ,pkg-config)))
507 (inputs
508 `(("alsa-lib" ,alsa-lib)
509 ("boost" ,boost)
510 ("fftwf" ,fftwf)
511 ("gmp" ,gmp)
512 ("gnuradio" ,gnuradio)
513 ("gnuradio-iqbalance" ,gnuradio-iqbalance)
514 ("gnuradio-osmosdr" ,gnuradio-osmosdr)
515 ("jack" ,jack-1)
516 ("log4cpp" ,log4cpp)
517 ("portaudio" ,portaudio)
518 ("pulseaudio" ,pulseaudio)
519 ("qtbase" ,qtbase)
01e62a02
GLV
520 ("qtsvg" ,qtsvg)
521 ("volk" ,volk)))
f76ac21c
GLV
522 (arguments
523 `(#:tests? #f)) ; No tests
524 (synopsis "Software defined radio receiver")
525 (description "Gqrx is a software defined radio (SDR) receiver implemented
526using GNU Radio and the Qt GUI toolkit.")
527 (home-page "https://gqrx.dk/")
528 (license license:gpl3+)))
72f6ee0e
GLV
529
530(define-public fldigi
531 (package
532 (name "fldigi")
533 (version "4.1.11")
534 (source
535 (origin
536 (method url-fetch)
537 (uri (string-append "http://www.w1hkj.com/files/fldigi/fldigi-"
538 version ".tar.gz"))
539 (sha256
540 (base32 "1y62xn1pim38ibaf2mbl8b7aq20jdaac6lgggb9r402w9bj5b196"))))
541 (build-system gnu-build-system)
542 (native-inputs
543 `(("pkg-config" ,pkg-config)))
544 (inputs
545 `(("alsa-lib" ,alsa-lib)
546 ("fltk" ,fltk)
547 ("libpng" ,libpng)
548 ("libsamplerate" ,libsamplerate)
549 ("libx11" ,libx11)
550 ("libxext" ,libxext)
551 ("libxfixes" ,libxfixes)
552 ("libxft" ,libxft)
553 ("portaudio" ,portaudio)
554 ("pulseaudio" ,pulseaudio)))
555 (synopsis "Software modem for amateur radio use")
556 (description
557 "Fldigi is a software modem for amateur radio use. It is a sound card
558based program that is used for both transmitting and receiving data by
559connecting the microphone and headphone connections of a computer to some radio
560hardware.")
561 (home-page "http://www.w1hkj.com/")
562 (license license:gpl3+)))
8080c03d
GLV
563
564(define-public flrig
565 (package
566 (name "flrig")
567 (version "1.3.50")
568 (source
569 (origin
570 (method url-fetch)
571 (uri (string-append "http://www.w1hkj.com/files/flrig/flrig-"
572 version ".tar.gz"))
573 (sha256
574 (base32 "0fzrknzzi8kmzmrcfpc8rxr7v4a4ny6z6z5q5qwh95sp2kn2qzp9"))))
575 (build-system gnu-build-system)
576 (native-inputs
577 `(("pkg-config" ,pkg-config)))
578 (inputs
579 `(("fltk" ,fltk)
580 ("libx11" ,libx11)
581 ("libxext" ,libxext)
582 ("libxfixes" ,libxfixes)
583 ("libxft" ,libxft)))
584 (synopsis "Radio transceiver control program")
585 (description
586 "Flrig is a transceiver control program for amateur radio use.
587It provides computer aided control of various radios using a serial
588or USB connection.")
589 (home-page "http://www.w1hkj.com/")
590 (license license:gpl3+)))
660912a4
GLV
591
592(define-public flamp
593 (package
594 (name "flamp")
595 (version "2.2.05")
596 (source
597 (origin
598 (method url-fetch)
599 (uri (string-append "http://www.w1hkj.com/files/flamp/flamp-"
600 version ".tar.gz"))
601 (sha256
602 (base32 "19z1kghhdf7bq6hi2j0mzlsn2nhpn3gl1a623x3inmsk80yw3ck4"))))
603 (build-system gnu-build-system)
604 (native-inputs
605 `(("pkg-config" ,pkg-config)))
606 (inputs
607 `(("fltk" ,fltk)
608 ("libx11" ,libx11)
609 ("libxext" ,libxext)
610 ("libxfixes" ,libxfixes)
611 ("libxft" ,libxft)))
612 (synopsis "Tool for AMP file transfer")
613 (description
614 "FLAMP is a program for transfering files by radio waves using AMP
615(Amateur Multicast Protocol).")
616 (home-page "http://www.w1hkj.com/")
617 (license license:gpl3+)))
90ec7085
GLV
618
619(define-public flwrap
620 (package
621 (name "flwrap")
622 (version "1.3.5")
623 (source
624 (origin
625 (method url-fetch)
626 (uri (string-append "http://www.w1hkj.com/files/flwrap/flwrap-"
627 version ".tar.gz"))
628 (sha256
629 (base32 "0qqivqkkravcg7j45740xfky2q3k7czqpkj6y364qff424q2pppg"))))
630 (build-system gnu-build-system)
631 (native-inputs
632 `(("pkg-config" ,pkg-config)))
633 (inputs
634 `(("fltk" ,fltk)
635 ("libx11" ,libx11)
636 ("libxext" ,libxext)
637 ("libxfixes" ,libxfixes)
638 ("libxft" ,libxft)))
639 (synopsis "File encapsulation program")
640 (description
641 "Flwrap is a software utility for amateur radio use. Its purpose is to
642encapsulate both text and binary files in a way that allows them to be
643transmitted over any of several digital modes and verified at the receipt end
644for correctness.")
645 (home-page "http://www.w1hkj.com/")
646 (license license:gpl3+)))