~ruther/guix-exprs

efd0dac7d134a0f215b68da22e3ca63abbb4c79d — Rutherther 8 days ago 17a3fe3
feat: add sdr++ with plutosdr support
1 files changed, 98 insertions(+), 0 deletions(-)

A modules/ruther/packages/radio.scm
A modules/ruther/packages/radio.scm => modules/ruther/packages/radio.scm +98 -0
@@ 0,0 1,98 @@
(define-module (ruther packages radio)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix build-system cmake)
  #:use-module (guix packages)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (guix git-download)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages flex)
  #:use-module (gnu packages bison)
  #:use-module (gnu packages python)
  #:use-module (gnu packages avahi)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages libusb)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages radio))

(define-public libiio
  (package
    (name "libiio")
    (version "0.24")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/analogdevicesinc/libiio")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "136n22macjz70bgxd7ix77gkv7zhbk3zzl340kwwpmb94z2fr4bk"))))
    (arguments
     (list
      #:tests? #f
      #:configure-flags
      #~(list
         (string-append "-DUDEV_RULES_INSTALL_DIR=" #$output "/lib/udev/rules.d")
         "-DOSX_PACKAGE=off"
         "-DOSX_FRAMEWORK=off"
         (string-append "-DPython_EXECUTABLE=" (search-input-file %build-inputs "/bin/python3"))
         "-DPYTHON_BINDINGS=on")))
    (native-inputs
     (list
      pkg-config
      flex
      bison
      python
      avahi
      libaio))
    (inputs
     (list
      libxml2
      libusb))
    (build-system cmake-build-system)
    (license (list
              license:lgpl2.1
              license:gpl2))
    (home-page "https://github.com/analogdevicesinc/libiio")
    (description #f)
    (synopsis "A cross platform library for interfacing with local and remote Linux IIO devices ")))

(define-public libad9361
  (package
    (name "libad9361")
    (version "0.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/analogdevicesinc/libad9361-iio")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1inv39xfg8gqz1v7k1n2a7p9zzlb6gq98gcnnpdcr9fa5alvmvpm"))))
    (inputs
     (list libiio))
    (build-system cmake-build-system)
    (license (list
              license:lgpl2.1
              license:gpl2))
    (home-page #f)
    (description #f)
    (synopsis #f)))

(define-public sdr++/pluto
  (package
    (inherit sdr++)
    (name "sdr++-pluto")

    (arguments
     (substitute-keyword-arguments (package-arguments sdr++)
       ((#:configure-flags flags '())
        #~(cons*
           "-DOPT_BUILD_PLUTOSDR_SOURCE=ON"
           (delete "-DOPT_BUILD_PLUTOSDR_SOURCE=OFF" #$flags)))))
    (inputs
     (modify-inputs (package-inputs sdr++)
       (append libad9361)
       (append libiio)))))

Do not follow this link