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