[PATCH] gnu: add j4-dmenu-desktop

  • Done
  • quality assurance status badge
Details
2 participants
  • Alex McGrath
  • Marius Bakke
Owner
unassigned
Submitted by
Alex McGrath
Severity
normal
A
A
Alex McGrath wrote on 28 Apr 2020 12:37
(address . guix-patches@gnu.org)(name . Alex McGrath)(address . amk@amk.ie)
20200428103705.22597-1-amk@amk.ie
---
gnu/packages/xdisorg.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index bc2c9c4622..02997dcbf1 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -35,6 +35,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Damien Cassou <damien@cassou.me>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
+;;; Copyright © 2020 Alex McGrath <amk@amk.ie>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2286,3 +2287,25 @@ to find all available clips and launches @command{dmenu} (or @command{rofi},
depending on the value of @code{CM_LAUNCHER}) to let the user select a clip.
After selection, the clip is put onto the PRIMARY and CLIPBOARD X selections.")
(license license:public-domain))))
+
+(define-public j4-dmenu-desktop
+ (package
+ (name "j4-dmenu-desktop")
+ (version "2.17")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/enkore/j4-dmenu-desktop.git")
+ (commit (string-append "r" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0v23fimkn83dcm5p53y2ymhklff3kwppxhf75sm8xmswrzkixpgc"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release" "-DWITH_GIT_CACHE=off" "-DWITH_TESTS=off")
+ #:tests? #f)) ;; tests fetch an external git repo
+ (synopsis "A fast desktop menu")
+ (description "j4-dmenu-desktop is a replacement for i3-dmenu-desktop. It's purpose is to find desktop files and offer you a menu to start an application using dmenu.")
+ (home-page "https://github.com/enkore/j4-dmenu-desktop")
+ (license license:gpl3+)))
--
2.26.1
A
A
Alex McGrath wrote on 29 Apr 2020 09:52
[PATCH v2] gnu: add j4-dmenu-desktop
(address . 40931@debbugs.gnu.org)(name . Alex McGrath)(address . amk@amk.ie)
20200429075231.6699-1-amk@amk.ie
* gnu/packages/xdisorg.scm (j4-dmenu-desktop): New variable.

gnu/packages/xdisorg.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index bc2c9c4622..02997dcbf1 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -35,6 +35,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Damien Cassou <damien@cassou.me>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
+;;; Copyright © 2020 Alex McGrath <amk@amk.ie>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2286,3 +2287,25 @@ to find all available clips and launches @command{dmenu} (or @command{rofi},
depending on the value of @code{CM_LAUNCHER}) to let the user select a clip.
After selection, the clip is put onto the PRIMARY and CLIPBOARD X selections.")
(license license:public-domain))))
+
+(define-public j4-dmenu-desktop
+ (package
+ (name "j4-dmenu-desktop")
+ (version "2.17")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/enkore/j4-dmenu-desktop.git")
+ (commit (string-append "r" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0v23fimkn83dcm5p53y2ymhklff3kwppxhf75sm8xmswrzkixpgc"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release" "-DWITH_GIT_CACHE=off" "-DWITH_TESTS=off")
+ #:tests? #f)) ;; tests fetch an external git repo
+ (synopsis "A fast desktop menu")
+ (description "j4-dmenu-desktop is a replacement for i3-dmenu-desktop. It's purpose is to find desktop files and offer you a menu to start an application using dmenu.")
+ (home-page "https://github.com/enkore/j4-dmenu-desktop")
+ (license license:gpl3+)))
--
2.26.1
M
M
Marius Bakke wrote on 2 May 2020 16:18
(name . Alex McGrath)(address . amk@amk.ie)
87sggi2zfa.fsf@devup.no
Alex McGrath <amk@amk.ie> writes:

Toggle quote (2 lines)
> * gnu/packages/xdisorg.scm (j4-dmenu-desktop): New variable.

Thanks! Unfortunately the patch no longer applies, can you rebase it on
the current master branch?

[...]

Toggle quote (17 lines)
> +(define-public j4-dmenu-desktop
> + (package
> + (name "j4-dmenu-desktop")
> + (version "2.17")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/enkore/j4-dmenu-desktop.git")
> + (commit (string-append "r" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "0v23fimkn83dcm5p53y2ymhklff3kwppxhf75sm8xmswrzkixpgc"))))
> + (build-system cmake-build-system)
> + (arguments
> + `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release" "-DWITH_GIT_CACHE=off" "-DWITH_TESTS=off")

Note that cmake-build-system exposes #:build-type, so you don't have to
pass "-DCMAKE_BUILD_TYPE". By default it uses RelWithDebugInfo which is
better because it adds debug information. There are cases where we
want "Release" instead (size or performance concerns), but it probably
is fine for this package?

Toggle quote (2 lines)
> + #:tests? #f)) ;; tests fetch an external git repo

Is it possible to provide this repo as a native-input? See e.g. 'ghc'.
Don't stress it if it's not possible, though.

Toggle quote (2 lines)
> + (synopsis "A fast desktop menu")

Just "Fast desktop menu" ('./pre-inst-env guix lint j4-dmenu-desktop'
should warn about this).

Toggle quote (2 lines)
> + (description "j4-dmenu-desktop is a replacement for i3-dmenu-desktop. It's purpose is to find desktop files and offer you a menu to start an application using dmenu.")

Use two spaces between sentences, and try to wrap lines at ~78
characters. 'guix lint' will warn about this, too. :-)

Can you send an updated patch? Thanks in advance!
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl6tgSkACgkQoqBt8qM6
VPpBgggAp7f7NzWe1/tIFRiLeFIVJ+VwCcRrLmG0SznWxM9JeoZhou7XmrN6kyC4
5A8vIgPMDugHH2tuBUW+qLkhC8XCUpE0B519LYCg3t7cZpFWvN7daA5Kngt/7+2+
l8eg7H1ILi9ssqpgk/v9xEUpu4zBVhXg7g81stBnN/rNMB97f9SVeYn/uszPt8Bx
cCHUQ/qRKIeow/kjB+AcshyXA0n8cEGh+bsamWxujjyem6QhdVuoMNB1P4oyGYlM
+WwEsGh+bScJF+q8MoV+DfmDEU4L+NBsXRi1qRlvqFbuRtL6hDqXS/g3I/joGAPG
YAvDQ3r1YN42qXsswUenPORkvwlnpQ==
=MOIQ
-----END PGP SIGNATURE-----

A
A
Alex McGrath wrote on 2 May 2020 19:51
[PATCH v3] gnu: add j4-dmenu-desktop
(address . 40931@debbugs.gnu.org)(name . Alex McGrath)(address . amk@amk.ie)
20200502175155.21507-1-amk@amk.ie
* gnu/packages/xdisorg.scm (j4-dmenu-desktop): New variable.
---
gnu/packages/xdisorg.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index df61a95cbb..99b3f765d2 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2020 Damien Cassou <damien@cassou.me>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Boris A. Dekshteyn <boris.dekshteyn@gmail.com>
+;;; Copyright © 2020 Alex McGrath <amk@amk.ie>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2324,3 +2325,34 @@ some kind of chat (in native language).
@command{kbdd} also supports D-Bus signals, which makes it possible to
create layout indicator widgets.")
(license license:bsd-2)))
+
+(define-public j4-dmenu-desktop
+ (package
+ (name "j4-dmenu-desktop")
+ (version "2.17")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/enkore/j4-dmenu-desktop.git")
+ (commit (string-append "r" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0v23fimkn83dcm5p53y2ymhklff3kwppxhf75sm8xmswrzkixpgc"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("catch2" ,catch-framework2)))
+ (arguments
+ `(#:configure-flags '("-DWITH_GIT_CATCH=off")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "./j4-dmenu-tests" "exclude:SearchPath/XDG_DATA_HOME"))))
+ #:tests? #t))
+ (synopsis "Fast desktop menu")
+ (description "j4-dmenu-desktop is a replacement for
+i3-dmenu-desktop. It's purpose is to find desktop files and offer you a menu
+to start an application using dmenu.")
+ (home-page "https://github.com/enkore/j4-dmenu-desktop")
+ (license license:gpl3+)))
--
2.26.2
A
A
Alex McGrath wrote on 2 May 2020 19:57
Re: [bug#40931] [PATCH v2] gnu: add j4-dmenu-desktop
(name . 40931)(address . 40931@debbugs.gnu.org)
E1jUwOd-0001nl-PQ@rmmprod06.runbox
Howdy,

I think I've addressed the comments (ran guix lint etc) and I enabled all the tests except for one, as it checks for a directory that doesnt exist on guix and fails as a result

Thanks for the review!
Alex
M
M
Marius Bakke wrote on 4 May 2020 16:33
87pnbj22ji.fsf@devup.no
"Alex McGrath" <amk@amk.ie> writes:

Toggle quote (4 lines)
> Howdy,
>
> I think I've addressed the comments (ran guix lint etc) and I enabled all the tests except for one, as it checks for a directory that doesnt exist on guix and fails as a result

Excellent, LGTM!

I've applied the patch with minor adjustments (removed redundant
#:tests? #t, and formatted description with @file and @command markup
where appropriate).

Pushed in c65e243463c704698288bad787cd6f5292280bba, thanks!
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl6wJ6EACgkQoqBt8qM6
VPoIwwgA0j0Ug8yYiykViRUs40lhhsa57/CJLAIe9PdbiLgVX1Gz5LISAjqnlhWC
QuKQW+dbGIr2aTDX6yP4sjX/Wo2T8RisRjClaBT2XHCOplyDLJ+fZyozpCzTRzN/
i1ojjVqZ9E+etoWLwvniMCRj3lmRmDZorNWrwMxIKEWq5IqHTgk+ghtsT7ulEQB0
zoP4y8rqqia0C2wHE5kKwi40jUbjETNPJ1+SxZ+Bpj5IvUTET7xO0sWN+pWo0H21
gfkN825XE2zL39FKE3IY73rajsEtnIA0HKlV4wUiN6/kAMgOioVywZSCLypdjWPh
lqRhgc1EFweJEmN6Md0CwVX9twxeMw==
=gApD
-----END PGP SIGNATURE-----

Closed
?