HackRF Shell Guix Definition

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Christopher Howard <christopher@librehacker.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages hackrfshell)
  #:use-module (guix)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix utils)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages algebra)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages hackrf)
  #:use-module (gnu packages pkg-config))

(define-public hackrfshell
  (package
    (name "hackrfshell")
    (version "0.0.1")
    (source
     (origin (method url-fetch)
             (uri (string-append
                   "ftp://git.librehacker.com/hackrfshell/hackrfshell-"
                   version ".tar.gz"))
             (file-name (string-append "hackrfshell-" version "-tar.gz"))
             (sha256
              (base32 "0iqnd1jbhq5wjrp30d9i0yy9jqshyy00nzsmh78dnxp1yjm2wppa"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (inputs
     `(("hackrf" ,hackrf)
       ("glib" ,glib)
       ("guile-2.2" ,guile-2.2)
       ("fftwf", fftwf)))
    (home-page "https://librehacker.com")
    (synopsis
     "Program which loads HackRF control procedures into a Scheme shell")
    (description
     "This is a C program loads up a Guile Scheme shell with primitive
HackRF control functions, as well as some other useful core functions
for Software Defined Radio (SDR) data processing.  This is something
that maybe could be done with a FFI interface, but this approach works
also and arguably has one or two advantages.")
    (license license:gpl3+)))

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s