Subject: bug#38650: closed (Re: [bug#38650] [PATCH] gnu: adds hackrf)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 28 Apr 2020 08:30:03 +0000

Your bug report

#38650: hackrf: new package

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
38650: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38650
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#38650] [PATCH] gnu: adds hackrf
From: Guillaume Le Vaillant <[email-masked]>
To: [email-masked]
Cc: Christopher Howard <[email-masked]>
Date: Tue, 28 Apr 2020 10:29:25 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Christopher Howard <[email-masked]> skribis:

> Can those minor tweaks be added by whomever is applying the patch, or
> do I need to submit a new patch?

I pushed the patch with the modifications
(commit 79c4fb4f366cff3ad75982b4a09c6bd82e604674).

I also added hackrf support to gnuradio-osmosdr (commit
62d45e463c3b1ecad90004c47356cba342dd23d8).
Could you test if it works with real hackrf hardware, and create a bug
report if it doesn't?

Subject: hackrf: new package
From: Christopher Howard <[email-masked]>
To: [email-masked]
Date: Tue, 17 Dec 2019 05:45:14 -0900
List-Id: <debbugs-submit.debbugs.gnu.org>

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)
From 68c43c038675b142deddfa5cf8f4c4d62125ed11 Mon Sep 17 00:00:00 2001
From: Christopher Howard <[email-masked]>
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 <[email-masked]>
+;;;
+;;; 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