Message ID | 20220929015726.26821-1-ryan@using.tech |
---|---|
State | Accepted |
Headers | show |
Series | [bug#58162] gnu: Add qdmr | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git-branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
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. -- (
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. > > -- (
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+)))