* [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
* [bug#38650] hackrf: new package
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
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
2 siblings, 1 reply; 11+ messages in thread
From: Danny Milosavljevic @ 2019-12-23 8:00 UTC (permalink / raw)
To: Christopher Howard; +Cc: 38650
[-- Attachment #1: Type: text/plain, Size: 1007 bytes --]
Hi,
thanks for the patch!
Please, if possible, ask upstream to provide a release.
It's not a good idea to use a random git commit in an official GNU distribution--
much better to just have them release a version.
On Tue, 17 Dec 2019 05:45:14 -0900
Christopher Howard <christopher@librehacker.com> wrote:
> 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.
Please document that in the description so it's not lost (description
can do texinfo markup).
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#38650] hackrf.scm add to gnu/local.mk
2019-12-17 14:45 [bug#38650] hackrf: new package Christopher Howard
2019-12-23 8:00 ` Danny Milosavljevic
@ 2019-12-23 21:17 ` Jack Hill
2020-04-26 11:06 ` [bug#38650] [PATCH] gnu: adds hackrf Christopher Howard
2 siblings, 0 replies; 11+ messages in thread
From: Jack Hill @ 2019-12-23 21:17 UTC (permalink / raw)
To: 38650; +Cc: Christopher Howard
Hi,
I believe that the new gnu/packages/hackrf.scm file also need to be added
to gnu/local.mk
Best,
Jack
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#38650] hackrf: new package
2019-12-23 8:00 ` Danny Milosavljevic
@ 2019-12-24 7:05 ` Christopher Howard
2020-03-31 20:22 ` Christopher Baines
0 siblings, 1 reply; 11+ messages in thread
From: Christopher Howard @ 2019-12-24 7:05 UTC (permalink / raw)
To: Danny Milosavljevic; +Cc: 38650
HackRF team says they are preparing a new release, but it may be a few
weeks yet.
--
Christopher Howard
p: +1 (907) 374-0257
w: https://librehacker.com
social: https://gnusocial.club/librehacker
gpg: ADDEAADE5D607C8D (keys.gnupg.net)
On Mon, 2019-12-23 at 09:00 +0100, Danny Milosavljevic wrote:
> Hi,
>
> thanks for the patch!
>
> Please, if possible, ask upstream to provide a release.
>
> It's not a good idea to use a random git commit in an official GNU
> distribution--
> much better to just have them release a version.
>
> On Tue, 17 Dec 2019 05:45:14 -0900
> Christopher Howard <christopher@librehacker.com> wrote:
>
> > 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.
>
> Please document that in the description so it's not lost (description
> can do texinfo markup).
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#38650] hackrf: new package
2019-12-24 7:05 ` Christopher Howard
@ 2020-03-31 20:22 ` Christopher Baines
2020-04-01 0:12 ` Christopher Howard
0 siblings, 1 reply; 11+ messages in thread
From: Christopher Baines @ 2020-03-31 20:22 UTC (permalink / raw)
To: Christopher Howard; +Cc: Danny Milosavljevic, 38650
[-- Attachment #1: Type: text/plain, Size: 302 bytes --]
Christopher Howard <christopher@librehacker.com> writes:
> HackRF team says they are preparing a new release, but it may be a few
> weeks yet.
Looks like there's been a new release now:
https://github.com/mossmann/hackrf/releases/tag/v2018.01.1
Just letting you know in case you don't :)
Chris
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#38650] hackrf: new package
2020-03-31 20:22 ` Christopher Baines
@ 2020-04-01 0:12 ` Christopher Howard
2020-04-01 17:22 ` Christopher Baines
0 siblings, 1 reply; 11+ messages in thread
From: Christopher Howard @ 2020-04-01 0:12 UTC (permalink / raw)
To: Christopher Baines; +Cc: Danny Milosavljevic, 38650
Hi, that is the release from two years ago.
--
Christopher Howard
p: +1 (907) 374-0257
w: https://librehacker.com
social: https://gnusocial.club/librehacker
gpg: ADDEAADE5D607C8D (keys.gnupg.net)
On Tue, 2020-03-31 at 21:22 +0100, Christopher Baines wrote:
> Christopher Howard <christopher@librehacker.com> writes:
>
> > HackRF team says they are preparing a new release, but it may be a
> > few
> > weeks yet.
>
> Looks like there's been a new release now:
>
> https://github.com/mossmann/hackrf/releases/tag/v2018.01.1
>
> Just letting you know in case you don't :)
>
> Chris
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#38650] hackrf: new package
2020-04-01 0:12 ` Christopher Howard
@ 2020-04-01 17:22 ` Christopher Baines
0 siblings, 0 replies; 11+ messages in thread
From: Christopher Baines @ 2020-04-01 17:22 UTC (permalink / raw)
To: Christopher Howard; +Cc: Danny Milosavljevic, 38650
[-- Attachment #1: Type: text/plain, Size: 159 bytes --]
Christopher Howard <christopher@librehacker.com> writes:
> Hi, that is the release from two years ago.
Ah, sorry, I saw January and didn't notice the year!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#38650] [PATCH] gnu: adds hackrf
2019-12-17 14:45 [bug#38650] hackrf: new package Christopher Howard
2019-12-23 8:00 ` Danny Milosavljevic
2019-12-23 21:17 ` [bug#38650] hackrf.scm add to gnu/local.mk Jack Hill
@ 2020-04-26 11:06 ` Christopher Howard
2020-04-27 15:33 ` Guillaume Le Vaillant
2 siblings, 1 reply; 11+ messages in thread
From: Christopher Howard @ 2020-04-26 11:06 UTC (permalink / raw)
To: 38650
[-- Attachment #1: Type: text/plain, Size: 923 bytes --]
I have asked many times about the new release over the last few months,
and each time hackrf team says it is a week or so away. But their last
git commit was in February. Requesting to please proceed with the
latest commit as represented in this patch. I have added information to
the description as requested.
Using the old 2018 release would be unsatisfactory due to an annoying
bug related to maintaining connections to hackrf devices.
As an additional motivation for adding this, I believe you need
libhackrf installed to use hackrf with gnuradio, through the osmocom
interface. (I'm not at the moment quite clear on what exactly you have
to enable in the gnuradio package definitions to link those together.)
E.g., https://packages.debian.org/stretch/gr-osmosdr
--
Christopher Howard
p: +1 (907) 374-0257
w: https://librehacker.com
social: https://gnusocial.club/librehacker
gpg: ADDEAADE5D607C8D (keys.gnupg.net)
[-- Attachment #2: 0001-gnu-adds-hackrf.patch --]
[-- Type: text/x-patch, Size: 2725 bytes --]
From 7567d155fd3922fe27a3aaa3d155dc4f9db0a329 Mon Sep 17 00:00:00 2001
From: Christopher Howard <christopher@librehacker.com>
Date: Sun, 26 Apr 2020 02:52:48 -0800
Subject: [PATCH] gnu: adds hackrf
---
gnu/packages/radio.scm | 57 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index fff68cf657..91908d47b5 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -654,6 +654,63 @@ for correctness.")
(home-page "http://www.w1hkj.com/")
(license license:gpl3+)))
+(define-public hackrf
+ ;; Using a git commit because there have been many many commits
+ ;; since the relase two years ago, but no sign of a promised
+ ;; release for many months now.
+ (let ((commit "43e6f99fe8543094d18ff3a6550ed2066c398862")
+ (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 "0avnv693xi0zsnrvkbfn0ln1r3s1iyj0bz7sc3gxay909av0pvbc"))))
+ (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. 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.:
+
+@lisp
+(services
+ (modify-services
+ %desktop-services
+ (udev-service-type config =>
+ (udev-configuration (inherit config)
+ (rules (cons hackrf
+ (udev-configuration-rules config)))))))
+@end lisp")
+ (license license:gpl2))))
+
(define-public hamlib
(package
(name "hamlib")
--
2.26.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [bug#38650] [PATCH] gnu: adds hackrf
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
0 siblings, 1 reply; 11+ messages in thread
From: Guillaume Le Vaillant @ 2020-04-27 15:33 UTC (permalink / raw)
To: 38650; +Cc: christopher
[-- Attachment #1: Type: text/plain, Size: 1421 bytes --]
Hi,
Christopher Howard <christopher.howard@qlfiles.net> skribis:
> I have asked many times about the new release over the last few months,
> and each time hackrf team says it is a week or so away. But their last
> git commit was in February. Requesting to please proceed with the
> latest commit as represented in this patch. I have added information to
> the description as requested.
>
> Using the old 2018 release would be unsatisfactory due to an annoying
> bug related to maintaining connections to hackrf devices.
I noticed that the package definition builds 'lib/libhackrf.a';
installing static libraries is usually disabled for Guix packages.
Also, some of the lines of the package definition are indented with tabs
instead of spaces, and the commit message is missing the
" * gnu/packages/radio.scm (hackrf): New variable." line.
> As an additional motivation for adding this, I believe you need
> libhackrf installed to use hackrf with gnuradio, through the osmocom
> interface. (I'm not at the moment quite clear on what exactly you have
> to enable in the gnuradio package definitions to link those together.)
> E.g., https://packages.debian.org/stretch/gr-osmosdr
In theory, adding the hackrf package as input of the gnuradio-osmosdr
package should be enough (the library should be auto-detected when
compiling and the support activated).
However, I don't have the hardware to test if it really works.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* [bug#38650] [PATCH] gnu: adds hackrf
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
0 siblings, 1 reply; 11+ messages in thread
From: Christopher Howard @ 2020-04-28 0:20 UTC (permalink / raw)
To: Guillaume Le Vaillant, 38650
Can those minor tweaks be added by whomever is applying the patch, or
do I need to submit a new patch?
--
Christopher Howard
p: +1 (907) 374-0257
w: https://librehacker.com
social: https://gnusocial.club/librehacker
gpg: ADDEAADE5D607C8D (keys.gnupg.net)
On Mon, 2020-04-27 at 17:33 +0200, Guillaume Le Vaillant wrote:
> Hi,
>
> Christopher Howard <christopher.howard@qlfiles.net> skribis:
>
> > I have asked many times about the new release over the last few
> > months,
> > and each time hackrf team says it is a week or so away. But their
> > last
> > git commit was in February. Requesting to please proceed with the
> > latest commit as represented in this patch. I have added
> > information to
> > the description as requested.
> >
> > Using the old 2018 release would be unsatisfactory due to an
> > annoying
> > bug related to maintaining connections to hackrf devices.
>
> I noticed that the package definition builds 'lib/libhackrf.a';
> installing static libraries is usually disabled for Guix packages.
> Also, some of the lines of the package definition are indented with
> tabs
> instead of spaces, and the commit message is missing the
> " * gnu/packages/radio.scm (hackrf): New variable." line.
>
> > As an additional motivation for adding this, I believe you need
> > libhackrf installed to use hackrf with gnuradio, through the
> > osmocom
> > interface. (I'm not at the moment quite clear on what exactly you
> > have
> > to enable in the gnuradio package definitions to link those
> > together.)
> > E.g., https://packages.debian.org/stretch/gr-osmosdr
>
> In theory, adding the hackrf package as input of the gnuradio-osmosdr
> package should be enough (the library should be auto-detected when
> compiling and the support activated).
> However, I don't have the hardware to test if it really works.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#38650: [PATCH] gnu: adds hackrf
2020-04-28 0:20 ` Christopher Howard
@ 2020-04-28 8:29 ` Guillaume Le Vaillant
0 siblings, 0 replies; 11+ messages in thread
From: Guillaume Le Vaillant @ 2020-04-28 8:29 UTC (permalink / raw)
To: 38650-done; +Cc: Christopher Howard
[-- Attachment #1: Type: text/plain, Size: 454 bytes --]
Christopher Howard <christopher@librehacker.com> 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?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [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).