unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#58162] [PATCH] gnu: Add qdmr
@ 2022-09-29  1:57 Ryan Tolboom
  2022-09-29 17:50 ` ( via Guix-patches via
  2022-09-29 21:12 ` Ryan Tolboom
  0 siblings, 2 replies; 6+ messages in thread
From: Ryan Tolboom @ 2022-09-29  1:57 UTC (permalink / raw)
  To: 58162; +Cc: Ryan Tolboom

---
 gnu/packages/radio.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 2968f9d390..72a8b726e5 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 ;;; Copyright © 2022 Sheng Yang <styang@fastmail.com>
 ;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2022 Ryan Tolboom <ryan@using.tech>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -89,6 +90,7 @@ (define-module (gnu packages radio)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages serialization)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tcl)
@@ -2668,3 +2670,42 @@ (define-public gnss-sdr
 position fixes) the signals of the BeiDou, Galileo, GLONASS and GPS Global
 Navigation Satellite System.")
     (license license:gpl3+)))
+
+(define-public qdmr
+  (package
+    (name "qdmr")
+    (version "0.10.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/hmatuschek/qdmr")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "037vkwk974zrwacxafslkb3mbw9258v9sdpwdvb23msjzbc3snrn"))))
+    (build-system cmake-build-system)
+    (native-inputs (list qttools-5))
+    (inputs (list qtbase-5 qtserialport qtlocation yaml-cpp libusb))
+    (arguments
+     `(#:tests? #f ;No tests
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'fix-paths
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (substitute* "lib/CMakeLists.txt"
+                        (("DESTINATION \"/etc/udev/")
+                         (string-append "DESTINATION \""
+                                        (assoc-ref outputs "out") "/lib/udev/"))))))))
+    (synopsis "GUI application and command line tool to program DMR radios")
+    (description
+     "qdmr is a graphical user interface (GUI) application that allows one to
+program several types of DMR radios.  To this end, it aims at being a more
+universal codeplug programming software (CPS) compared to the device and even
+revision specific CPSs provided by the manufacturers.  The goal of this project
+is to provide a single, comfortable, well-documented and platform-independent
+CPS for several types of (mainly Chinese) DMR radios.
+
+To install the qdmr udev rules, you must extend @code{udev-service-type} with this
+package.  E.g.: @code{(udev-rules-service 'qdmr qdmr)}")
+    (home-page "https://dm3mat.darc.de/qdmr/")
+    (license license:gpl3+)))
-- 
2.37.3





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

* [bug#58162] [PATCH] gnu: Add qdmr
  2022-09-29  1:57 [bug#58162] [PATCH] gnu: Add qdmr Ryan Tolboom
@ 2022-09-29 17:50 ` ( via Guix-patches via
  2022-09-29 21:20   ` Ryan Tolboom
  2022-09-29 21:12 ` Ryan Tolboom
  1 sibling, 1 reply; 6+ messages in thread
From: ( via Guix-patches via @ 2022-09-29 17:50 UTC (permalink / raw)
  To: Ryan Tolboom, 58162

Hey!

On Thu Sep 29, 2022 at 2:57 AM BST, Ryan Tolboom wrote:
> +    (native-inputs (list qttools-5))
> +    (inputs (list qtbase-5 qtserialport qtlocation yaml-cpp libusb))

Usually inputs and native-inputs come after arguments.

> +    (arguments
> +     `(#:tests? #f ;No tests
> +       #:phases (modify-phases %standard-phases
> +                  (add-after 'unpack 'fix-paths
> +                    (lambda* (#:key outputs #:allow-other-keys)
> +                      (substitute* "lib/CMakeLists.txt"
> +                        (("DESTINATION \"/etc/udev/")
> +                         (string-append "DESTINATION \""
> +                                        (assoc-ref outputs "out") "/lib/udev/"))))))))

Try using the new gexp style for arguments:

  (arguments
   (list #:tests? #f ;no tests
         #:phases
         #~(modify-phases %standard-phases
             (add-after 'unpack 'patch-paths
               (lambda _
                 (substitute* "lib/CMakeLists.txt"
                   (("(DESTINATION \")/etc/udev/" _ directive)
                    (string-append directive #$output "/lib/udev/"))))))))

> +    (description
> +     "qdmr is a graphical user interface (GUI) application that allows one to
> +program several types of DMR radios.  To this end, it aims at being a more
> +universal codeplug programming software (CPS) compared to the device and even
> +revision specific CPSs provided by the manufacturers.  The goal of this project
> +is to provide a single, comfortable, well-documented and platform-independent
> +CPS for several types of (mainly Chinese) DMR radios.
> +
> +To install the qdmr udev rules, you must extend @code{udev-service-type} with this
> +package.  E.g.: @code{(udev-rules-service 'qdmr qdmr)}")

IMO this is too long and markety :) Also, I don't think you should mention
services in a package description.

> +    (home-page "https://dm3mat.darc.de/qdmr/")

Home-page usually goes directly before synopsis.

    -- (




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

* [bug#58162] [PATCH] gnu: Add qdmr
  2022-09-29  1:57 [bug#58162] [PATCH] gnu: Add qdmr Ryan Tolboom
  2022-09-29 17:50 ` ( via Guix-patches via
@ 2022-09-29 21:12 ` Ryan Tolboom
  2022-09-29 21:21   ` ( via Guix-patches via
  1 sibling, 1 reply; 6+ messages in thread
From: Ryan Tolboom @ 2022-09-29 21:12 UTC (permalink / raw)
  To: 58162; +Cc: Ryan Tolboom

---
 gnu/packages/radio.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 2968f9d390..5237d48fbe 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 ;;; Copyright © 2022 Sheng Yang <styang@fastmail.com>
 ;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2022 Ryan Tolboom <ryan@using.tech>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -89,6 +90,7 @@ (define-module (gnu packages radio)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages serialization)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tcl)
@@ -2668,3 +2670,40 @@ (define-public gnss-sdr
 position fixes) the signals of the BeiDou, Galileo, GLONASS and GPS Global
 Navigation Satellite System.")
     (license license:gpl3+)))
+
+(define-public qdmr
+  (package
+    (name "qdmr")
+    (version "0.10.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/hmatuschek/qdmr")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "037vkwk974zrwacxafslkb3mbw9258v9sdpwdvb23msjzbc3snrn"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:tests? #f ;no tests
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-paths
+                 (lambda _
+                   (substitute* "lib/CMakeLists.txt"
+                     (("(DESTINATION \")/etc/udev/" _ directive)
+                      (string-append directive #$output "/lib/udev/"))))))))
+    (inputs (list qtbase-5 qtserialport qtlocation yaml-cpp libusb))
+    (native-inputs (list qttools-5))
+    (home-page "https://dm3mat.darc.de/qdmr/")
+    (synopsis "GUI application and command line tool to program DMR radios")
+    (description
+     "qdmr is a graphical user interface (GUI) application that allows one to
+program several types of DMR radios.  It is comparable to the Customer
+Programming Software (CPS) bundled with these radios but aims to be a more
+universal tool.
+
+To install the qdmr udev rules, you must extend @code{udev-service-type} with this
+package.  E.g.: @code{(udev-rules-service 'qdmr qdmr)}")
+    (license license:gpl3+)))
-- 
2.37.3





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

* [bug#58162] [PATCH] gnu: Add qdmr
  2022-09-29 17:50 ` ( via Guix-patches via
@ 2022-09-29 21:20   ` Ryan Tolboom
  0 siblings, 0 replies; 6+ messages in thread
From: Ryan Tolboom @ 2022-09-29 21:20 UTC (permalink / raw)
  To: (; +Cc: 58162

Hello,

Thank you very much for your comments! I apologize for my brevity, I'm
still trying to work out the whole 'git send-email' workflow so my
patches arrive without comments. I did leave some comments through the
web interface, but I'm not seeing them show up.

I was using the 'Hello World' package example initially:
https://guix.gnu.org/cookbook/en/html_node/A-_0060_0060Hello-World_0027_0027-package.html
Do you think I should submit a patch to move home-page to the correct
place in that example?

Regarding the description, I was on the fence about it. I took it from
the GitHub page for the project and wasn't quite sure if it was too
wordy. Also regarding mentioning services in the description, several
other packages in radio.scm do it as well: rtl-sdr, airspyhf, hackrf,
and rfcat. I actually found it quite useful when setting things up,
does it have to be removed?

Anyway the new patch implements all your changes, which BTW
g-expressions are really neat, with the exception of removing the
service line from the description.

Let me know your thoughts,

Ryan


On Thu, Sep 29, 2022 at 1:51 PM ( <paren@disroot.org> wrote:
>
> Hey!
>
> On Thu Sep 29, 2022 at 2:57 AM BST, Ryan Tolboom wrote:
> > +    (native-inputs (list qttools-5))
> > +    (inputs (list qtbase-5 qtserialport qtlocation yaml-cpp libusb))
>
> Usually inputs and native-inputs come after arguments.
>
> > +    (arguments
> > +     `(#:tests? #f ;No tests
> > +       #:phases (modify-phases %standard-phases
> > +                  (add-after 'unpack 'fix-paths
> > +                    (lambda* (#:key outputs #:allow-other-keys)
> > +                      (substitute* "lib/CMakeLists.txt"
> > +                        (("DESTINATION \"/etc/udev/")
> > +                         (string-append "DESTINATION \""
> > +                                        (assoc-ref outputs "out") "/lib/udev/"))))))))
>
> Try using the new gexp style for arguments:
>
>   (arguments
>    (list #:tests? #f ;no tests
>          #:phases
>          #~(modify-phases %standard-phases
>              (add-after 'unpack 'patch-paths
>                (lambda _
>                  (substitute* "lib/CMakeLists.txt"
>                    (("(DESTINATION \")/etc/udev/" _ directive)
>                     (string-append directive #$output "/lib/udev/"))))))))
>
> > +    (description
> > +     "qdmr is a graphical user interface (GUI) application that allows one to
> > +program several types of DMR radios.  To this end, it aims at being a more
> > +universal codeplug programming software (CPS) compared to the device and even
> > +revision specific CPSs provided by the manufacturers.  The goal of this project
> > +is to provide a single, comfortable, well-documented and platform-independent
> > +CPS for several types of (mainly Chinese) DMR radios.
> > +
> > +To install the qdmr udev rules, you must extend @code{udev-service-type} with this
> > +package.  E.g.: @code{(udev-rules-service 'qdmr qdmr)}")
>
> IMO this is too long and markety :) Also, I don't think you should mention
> services in a package description.
>
> > +    (home-page "https://dm3mat.darc.de/qdmr/")
>
> Home-page usually goes directly before synopsis.
>
>     -- (



-- 
Ryan Tolboom
Using Tech LLC




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

* [bug#58162] [PATCH] gnu: Add qdmr
  2022-09-29 21:12 ` Ryan Tolboom
@ 2022-09-29 21:21   ` ( via Guix-patches via
  2022-09-30 10:56     ` bug#58162: " Guillaume Le Vaillant
  0 siblings, 1 reply; 6+ messages in thread
From: ( via Guix-patches via @ 2022-09-29 21:21 UTC (permalink / raw)
  To: Ryan Tolboom, 58162

v2 LGTM :)

    -- (




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

* bug#58162: [PATCH] gnu: Add qdmr
  2022-09-29 21:21   ` ( via Guix-patches via
@ 2022-09-30 10:56     ` Guillaume Le Vaillant
  0 siblings, 0 replies; 6+ messages in thread
From: Guillaume Le Vaillant @ 2022-09-30 10:56 UTC (permalink / raw)
  To: Ryan Tolboom; +Cc: (, 58162-done

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

Patch pushed as df485be2f7d939b5c2b83a3a467cdff4d5a93851 with
a completed commit message.
Thanks.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

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

end of thread, other threads:[~2022-09-30 10:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-29  1:57 [bug#58162] [PATCH] gnu: Add qdmr Ryan Tolboom
2022-09-29 17:50 ` ( via Guix-patches via
2022-09-29 21:20   ` Ryan Tolboom
2022-09-29 21:12 ` Ryan Tolboom
2022-09-29 21:21   ` ( via Guix-patches via
2022-09-30 10:56     ` bug#58162: " 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).