diff mbox series

[bug#35169] gnu: Add urh.

Message ID cu7lfzyx7yy.fsf@systemreboot.net
State Accepted
Headers show
Series [bug#35169] gnu: Add urh. | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Arun Isaac April 25, 2019, 6:20 p.m. UTC
Finally got it working!

Comments

Tobias Geerinckx-Rice April 25, 2019, 6:45 p.m. UTC | #1
Arun,

Arun Isaac wrote:
> +    (home-page "https://github.com/mossmann/hackrf")
> +    (synopsis "Driver for HackRF, a general purpose software 
> defined radio")
> +    (description "@code{hackrf} provides drivers for HackRF, a 
> general purpose
> +software defined radio (SDR).")

Drivers for…  Linux?  CUSE?  Something else?  (URH?)

Kind regards,

T G-R
Arun Isaac April 26, 2019, 7 a.m. UTC | #2
>> +    (synopsis "Driver for HackRF, a general purpose software 
>> defined radio")
>> +    (description "@code{hackrf} provides drivers for HackRF, a 
>> general purpose
>> +software defined radio (SDR).")
>
> Drivers for…  Linux?  CUSE?  Something else?  (URH?)

Actually, this package provides a library that uses libusb to interface
with the HackRF software defined radio. Shall I rewrite the synopsis and
description as follows, replacing "driver" with "library"? Or, should I
say "userspace driver" instead of "library"?

synopsis:

Interface library for the HackRF software defined radio

description:

@code{hackrf} provides a library to interface with HackRF, a general
purpose software defined radio.
Simon Tournier April 7, 2022, 12:41 p.m. UTC | #3
Hi,

Looking at old patch submission, I hit this:

        <http://issues.guix.gnu.org/issue/35169>

and I miss why it is not merged…

On Fri, 26 Apr 2019 at 12:30, Arun Isaac <arunisaac@systemreboot.net> wrote:
>>> +    (synopsis "Driver for HackRF, a general purpose software
>>> defined radio")
>>> +    (description "@code{hackrf} provides drivers for HackRF, a
>>> general purpose
>>> +software defined radio (SDR).")
>>
>> Drivers for…  Linux?  CUSE?  Something else?  (URH?)
>
> Actually, this package provides a library that uses libusb to interface
> with the HackRF software defined radio. Shall I rewrite the synopsis and
> description as follows, replacing "driver" with "library"? Or, should I
> say "userspace driver" instead of "library"?
>
> synopsis:
>
> Interface library for the HackRF software defined radio
>
> description:
>
> @code{hackrf} provides a library to interface with HackRF, a general
> purpose software defined radio.

…I mean, description and synopsis are important but they should not be a
blocker here. :-)

Arun, could you rebase and merge it?


Cheers,
simon
Arun Isaac April 19, 2022, 10:09 a.m. UTC | #4
Hi zimoun,

Sorry for the very late response! hackrf is already packaged for Guix
thanks to an unrelated commit by Christopher Howard in
79c4fb4f366cff3ad75982b4a09c6bd82e604674. urh is many new versions ahead
and my old patch no longer works. On casual inspection, I found that it
might take significantly more work to get working again. But, I'm not
using urh any longer and I'm not interested in it any more. Would it be
ok to close this issue without merging?

Regards,
Arun
diff mbox series

Patch

From 4693278e0b249d3edb0556d507d8eeb6ee5d2c4b Mon Sep 17 00:00:00 2001
From: Arun Isaac <arunisaac@systemreboot.net>
Date: Sat, 6 Apr 2019 14:44:44 +0530
Subject: [PATCH 2/2] gnu: Add urh.

* gnu/packages/ham-radio.scm (urh): New variable.
---
 gnu/packages/ham-radio.scm | 68 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/ham-radio.scm b/gnu/packages/ham-radio.scm
index e9521032cc..58a8161851 100644
--- a/gnu/packages/ham-radio.scm
+++ b/gnu/packages/ham-radio.scm
@@ -20,12 +20,15 @@ 
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages xml)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system python))
@@ -115,3 +118,68 @@  memory contents between them.")
     (description "@code{hackrf} provides drivers for HackRF, a general purpose
 software defined radio (SDR).")
     (license license:gpl2+)))
+
+(define-public urh
+  (package
+    (name "urh")
+    (version "2.5.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jopohl/urh")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "110fwlj2fw8jgrsgqfkha7lx8f06w0ymh51mgpckx8a0wycznhcy"))))
+    (build-system python-build-system)
+    (inputs
+     `(("hackrf" ,hackrf)
+       ("python-numpy" ,python-numpy)
+       ("python-psutil" ,python-psutil)
+       ("python-pyqt" ,python-pyqt)
+       ("python-pyzmq" ,python-pyzmq)
+       ("rtl-sdr" ,rtl-sdr)))
+    (native-inputs
+     `(("python-cython" ,python-cython)
+       ("python-pytest" ,python-pytest)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'configure-compiler
+           (lambda _
+             ;; Use gcc as compiler
+             (substitute* "src/urh/dev/native/ExtensionHelper.py"
+               (("compiler = ccompiler\\.new_compiler\\(\\)\n" all)
+                (string-append
+                 all "    compiler.set_executables(compiler='gcc',"
+                 " compiler_so='gcc', linker_exe='gcc', linker_so='gcc -shared')\n")))
+             #t))
+         (replace 'build
+           (lambda _
+             (invoke "python" "setup.py" "build" "build_ext")
+             (invoke "python" "src/urh/cythonext/build.py")))
+         (replace 'check
+           (lambda _
+             ;; Run X server tests offscreen in headless mode
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             (setenv "HOME" "/tmp")
+             ;; Fix permissions
+             (with-directory-excursion "tests/data"
+               (for-each (lambda (file)
+                           (chmod file #o755))
+                         (list "decode.py" "encode.py")))
+             ;; Run tests
+             (invoke "pytest"))))))
+    (home-page "https://github.com/jopohl/urh")
+    (synopsis "Investigate unknown wireless protocols")
+    (description "The Universal Radio Hacker (URH) is a software for
+investigating unknown wireless protocols.  Features include hardware
+interfaces for common software defined radios, easy demodulation of signals,
+assigning participants to keep an overview of your data, customizable
+decodings to crack even sophisticated encodings like CC1101 data whitening,
+assigning labels to reveal the logic of the protocol, a fuzzing component to
+find security leaks, modulation support to inject data back into the system
+and a simulation environment to perform stateful attacks.")
+    (license license:gpl3+)))
-- 
2.21.0