unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#38650] hackrf: new package
@ 2019-12-17 14:45 Christopher Howard
  2019-12-23  8:00 ` Danny Milosavljevic
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Christopher Howard @ 2019-12-17 14:45 UTC (permalink / raw)
  To: 38650

[-- Attachment #1: Type: text/plain, Size: 820 bytes --]

Patch is attached for new package `hackrf'. Installing this package
installs the userspace hackrf utilities and C library. To install the
hackrf udev rules, you must add this package as a system service via
modify-services. E.g.:

'''
  (services
   (modify-services
    (append
     #| your other services |#
    (udev-service-type config =>
     (udev-configuration (inherit config)
      (rules (cons hackrf
                   (udev-configuration-rules config)))))))
'''

And also you need to add your local user to the `dialout' group. I did
a simple test with my HackRF One and hackrf_info was able to detect the
board, indicating that package works on x86_64.

-- 
Christopher Howard
p: +1 (907) 374-0257
w: https://librehacker.com
social: https://gnusocial.club/librehacker
gpg: ADDEAADE5D607C8D (keys.gnupg.net)

[-- Attachment #2: 0001-hackrf-new-package.patch --]
[-- Type: text/x-patch, Size: 3391 bytes --]

From 68c43c038675b142deddfa5cf8f4c4d62125ed11 Mon Sep 17 00:00:00 2001
From: Christopher Howard <christopher@librehacker.com>
Date: Tue, 17 Dec 2019 05:22:52 -0900
Subject: [PATCH] hackrf: new package

---
 gnu/packages/hackrf.scm | 72 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 gnu/packages/hackrf.scm

diff --git a/gnu/packages/hackrf.scm b/gnu/packages/hackrf.scm
new file mode 100644
index 0000000000..9b225573a2
--- /dev/null
+++ b/gnu/packages/hackrf.scm
@@ -0,0 +1,72 @@
+;;; 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 hackrf)
+  #: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 cmake)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages algebra)
+  #:use-module (gnu packages libusb)
+  #:use-module (gnu packages pkg-config))
+
+(define-public hackrf
+  ;; Using a git commit because there have been many many commits
+  ;; since the relase two years ago
+  (let ((commit "e9c6c2d2e6f9c2e903c1e69de9a48aa4b28a1e55")
+        (revision "0"))
+    (package
+     (name "hackrf")
+     (version (git-version "2018.01.1" revision commit))
+     (source
+      (origin (method git-fetch)
+	      (uri (git-reference
+		    (url "https://github.com/mossmann/hackrf.git")
+		    (commit commit)))
+	      (file-name (git-file-name name version))
+	      (sha256
+	       (base32 "0vqlr0nph9r7wpqn81ghhdbb131803b8wi328iaz37304mrr6hkw"))))
+     (build-system cmake-build-system)
+     (arguments
+      '(#:configure-flags
+        (list "-DUDEV_RULES_GROUP=dialout"
+	      (string-append "-DUDEV_RULES_PATH="
+                             (assoc-ref %outputs "out")
+			     "/lib/udev/rules.d"))
+        #:phases
+	(modify-phases %standard-phases
+	  (add-before 'configure 'enter-source-directory
+		      (lambda _ (chdir "host") #t))
+	  (add-before 'install-license-files 'leave-source-directory
+		      (lambda _ (chdir "..") #t)))
+        #:tests? #f))                  ; no test suite
+     (native-inputs
+      `(("pkg-config" ,pkg-config)))
+     (inputs
+      `(("fftw" ,fftw)
+        ("fftwf" ,fftwf)
+	("libusb" ,libusb)))
+     (home-page "https://greatscottgadgets.com/hackrf/")
+     (synopsis "User-space library and utilities for HackRF SDR")
+     (description
+      "Command line utilities and a C library for controlling the HackRF
+Software Defined Radio (SDR) over USB.")
+     (license license:gpl2))))
-- 
2.24.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-04-28  8:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-17 14:45 [bug#38650] hackrf: new package Christopher Howard
2019-12-23  8:00 ` Danny Milosavljevic
2019-12-24  7:05   ` Christopher Howard
2020-03-31 20:22     ` Christopher Baines
2020-04-01  0:12       ` Christopher Howard
2020-04-01 17:22         ` Christopher Baines
2019-12-23 21:17 ` [bug#38650] hackrf.scm add to gnu/local.mk Jack Hill
2020-04-26 11:06 ` [bug#38650] [PATCH] gnu: adds hackrf Christopher Howard
2020-04-27 15:33   ` Guillaume Le Vaillant
2020-04-28  0:20     ` Christopher Howard
2020-04-28  8:29       ` bug#38650: " Guillaume Le Vaillant

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).