nongnu: sdrplay: Update to 3.15.1.

* nongnu/packages/radio.scm (%sdrplay-hwdb, %sdrplay-udev-rules): New
variables...
(sdrplay): ...use them here. Update to 3.15.1.
This commit is contained in:
Brice Waegeneire 2024-07-10 22:09:50 +02:00
parent 9fe6f0751b
commit 4b13434cb0

View File

@ -1,8 +1,10 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2024 Brice Waegeneire <brice@waegenei.re>
(define-module (nongnu packages radio)
#:use-module (gnu packages gcc)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages radio)
#:use-module (guix build-system cmake)
@ -16,21 +18,64 @@
#:use-module (nonguix build-system binary)
#:use-module (nonguix licenses))
;; Extracted from sdrplay's install_lib.sh
(define %sdrplay-hwdb
(plain-file
"20-sdrplay.hwdb" "\
usb:v1DF7*
ID_VENDOR_FROM_DATABASE=SDRplay
usb:v1DF7p2500*
ID_MODEL_FROM_DATABASE=RSP1
usb:v1DF7p3000*
ID_MODEL_FROM_DATABASE=RSP1A
usb:v1DF7p3010*
ID_MODEL_FROM_DATABASE=RSP2/RSP2pro
usb:v1DF7p3020*
ID_MODEL_FROM_DATABASE=RSPduo
usb:v1DF7p3030*
ID_MODEL_FROM_DATABASE=RSPdx
usb:v1DF7p3050*
ID_MODEL_FROM_DATABASE=RSP1B
usb:v1DF7p3060*
ID_MODEL_FROM_DATABASE=RSPdxR2
"))
;; Extracted from sdrplay's install_lib.sh
(define %sdrplay-udev-rules
(plain-file
"66-sdrplay.rules" "\
SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"2500\",MODE:=\"0666\"
SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3000\",MODE:=\"0666\"
SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3010\",MODE:=\"0666\"
SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3020\",MODE:=\"0666\"
SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3030\",MODE:=\"0666\"
SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3050\",MODE:=\"0666\"
SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3060\",MODE:=\"0666\"
"))
(define-public sdrplay
(package
(name "sdrplay")
(version "3.07.1")
(version "3.15.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.sdrplay.com/software/"
"SDRplay_RSP_API-Linux-" version ".run"))
(sha256
(base32 "1a25c7rsdkcjxr7ffvx2lwj7fxdbslg9qhr8ghaq1r53rcrqgzmf"))))
(base32 "0520722j9w8yv523pbvyq08q3lpnjsiy5qd15svd3kqpbnzk4dq9"))))
(build-system binary-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(inputs
`(("eudev" ,eudev)
("libusb" ,libusb)
("gcc:lib" ,gcc "lib")))
(arguments
(let ((arch (match (or (%current-target-system)
@ -46,9 +91,10 @@
(list (string-append #$arch "/libsdrplay_api.so." #$major-minor)
'("gcc:lib"))
(list (string-append #$arch "/sdrplay_apiService")
'("eudev" "gcc:lib")))
'("eudev" "gcc:lib" "libusb")))
#:install-plan
#~(list '("66-mirics.rules" "lib/udev/rules.d/66-mirics.rules")
#~(list '("20-sdrplay.hwdb" "lib/udev/hwdb.d/20-sdrplay.hwdb")
'("66-sdrplay.rules" "lib/udev/rules.d/66-sdrplay.rules")
'("inc" "include")
(list (string-append #$arch "/libsdrplay_api.so." #$major-minor)
(string-append "lib/libsdrplay_api.so." #$major-minor))
@ -65,6 +111,10 @@
(invoke "sh" source-script
"--noexec" "--target" "source")
(chdir "source"))))
(add-after 'unpack 'create-udev-files
(lambda* (#:key inputs #:allow-other-keys)
(symlink #$%sdrplay-hwdb "20-sdrplay.hwdb")
(symlink #$%sdrplay-udev-rules "66-sdrplay.rules")))
(add-after 'install 'create-library-links
(lambda _
(let* ((lib (string-append #$output "/lib/libsdrplay_api.so"))