Merge branch 'sdrplay-3.15.1' into 'master'

nongnu: sdrplay: Update to 3.15.1.

See merge request nonguix/nonguix!494
This commit is contained in:
bricewge 2025-01-18 16:58:32 +00:00
commit 6e51eabab4

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"))
@ -85,20 +135,18 @@ package. E.g.: @code{(udev-rules-service 'sdrplay sdrplay)}")
"/license.txt"))))) "/license.txt")))))
(define-public soapysdrplay3 (define-public soapysdrplay3
(let ((commit "9e5c80c45454db56b8b10bb997369f37e750631b")
(revision "1"))
(package (package
(name "soapysdrplay3") (name "soapysdrplay3")
(version (git-version "0.4.1" revision commit)) (version "0.5.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/pothosware/SoapySDRPlay3") (url "https://github.com/pothosware/SoapySDRPlay3")
(commit commit))) (commit (string-append "soapy-sdrplay3-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1sl3i1id0fily7qfm0yihxsaqy4f4gr85vl5ip05azhhbrnmnayx")))) (base32 "15mhgqr5whpyn0q7svwd7zz38karfdgnyi6mgl6bpprz2994ww75"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
(list sdrplay soapysdr)) (list sdrplay soapysdr))
@ -108,4 +156,4 @@ package. E.g.: @code{(udev-rules-service 'sdrplay sdrplay)}")
(synopsis "SoapySDR SDRplay module") (synopsis "SoapySDR SDRplay module")
(description "This package provides SDRplay devices support to the (description "This package provides SDRplay devices support to the
SoapySDR library.") SoapySDR library.")
(license expat)))) (license expat)))