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 ;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2024 Brice Waegeneire <brice@waegenei.re>
(define-module (nongnu packages radio) (define-module (nongnu packages radio)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages radio) #:use-module (gnu packages radio)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
@ -16,21 +18,64 @@
#:use-module (nonguix build-system binary) #:use-module (nonguix build-system binary)
#:use-module (nonguix licenses)) #: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 (define-public sdrplay
(package (package
(name "sdrplay") (name "sdrplay")
(version "3.07.1") (version "3.15.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.sdrplay.com/software/" (uri (string-append "https://www.sdrplay.com/software/"
"SDRplay_RSP_API-Linux-" version ".run")) "SDRplay_RSP_API-Linux-" version ".run"))
(sha256 (sha256
(base32 "1a25c7rsdkcjxr7ffvx2lwj7fxdbslg9qhr8ghaq1r53rcrqgzmf")))) (base32 "0520722j9w8yv523pbvyq08q3lpnjsiy5qd15svd3kqpbnzk4dq9"))))
(build-system binary-build-system) (build-system binary-build-system)
(supported-systems '("i686-linux" "x86_64-linux")) (supported-systems '("i686-linux" "x86_64-linux"))
(inputs (inputs
`(("eudev" ,eudev) `(("eudev" ,eudev)
("libusb" ,libusb)
("gcc:lib" ,gcc "lib"))) ("gcc:lib" ,gcc "lib")))
(arguments (arguments
(let ((arch (match (or (%current-target-system) (let ((arch (match (or (%current-target-system)
@ -46,9 +91,10 @@
(list (string-append #$arch "/libsdrplay_api.so." #$major-minor) (list (string-append #$arch "/libsdrplay_api.so." #$major-minor)
'("gcc:lib")) '("gcc:lib"))
(list (string-append #$arch "/sdrplay_apiService") (list (string-append #$arch "/sdrplay_apiService")
'("eudev" "gcc:lib"))) '("eudev" "gcc:lib" "libusb")))
#:install-plan #: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") '("inc" "include")
(list (string-append #$arch "/libsdrplay_api.so." #$major-minor) (list (string-append #$arch "/libsdrplay_api.so." #$major-minor)
(string-append "lib/libsdrplay_api.so." #$major-minor)) (string-append "lib/libsdrplay_api.so." #$major-minor))
@ -65,6 +111,10 @@
(invoke "sh" source-script (invoke "sh" source-script
"--noexec" "--target" "source") "--noexec" "--target" "source")
(chdir "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 (add-after 'install 'create-library-links
(lambda _ (lambda _
(let* ((lib (string-append #$output "/lib/libsdrplay_api.so")) (let* ((lib (string-append #$output "/lib/libsdrplay_api.so"))