add herbstluftwm window manager package (v0.7.2) to guix (gnu/packages/wm.scm)

  • Done
  • quality assurance status badge
Details
2 participants
  • Kyle Andrews
  • Ludovic Courtès
Owner
unassigned
Submitted by
Kyle Andrews
Severity
normal

Debbugs page

Kyle Andrews wrote 5 years ago
(address . guix-patches@gnu.org)
beacfef9e838c33b60ba3d3ba9808c33a9d2160f.camel@gmail.com
I'd like to provide a package definition for the herbstluftwm window
manager so that it may be included into guix. Please see the attached
patch.

Regards,

Kyle Andrews
From 2d8537fc42c3424024d2f20aeb618e2ad1b5998c Mon Sep 17 00:00:00 2001
From: Kyle Andrews <kyle.c.andrews@gmail.com>
Date: Sat, 14 Sep 2019 15:43:53 -0400
Subject: [PATCH] Add herbstluftwm to the list of available window managers.

---
gnu/packages/wm.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)

Toggle diff (82 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index c4b15cc755..d81a916ff3 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -89,6 +89,7 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages logging)
#:use-module (gnu packages serialization)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages commencement) ; TODO remove when default gcc version >=7
#:use-module (guix download)
#:use-module (guix git-download))
@@ -128,6 +129,67 @@
the leaves of a full binary tree.")
(license license:bsd-2)))
+
+(define-public herbstluftwm
+ (package
+ (name "herbstluftwm")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://herbstluftwm.org/tarballs/herbstluftwm-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1kc18aj9j3nfz6fj4qxg9s3gg4jvn6kzi3ii24hfm0vqdpy17xnz"))
+ (file-name (string-append "herbstluftwm-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (inputs `(("dzen" ,dzen)
+ ("dmenu" ,dmenu)
+ ("glib" ,glib)
+ ("glibmm" ,glibmm)
+ ("xterm" ,xterm)
+ ("bash" ,bash)
+ ("xsetroot" ,xsetroot)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxinerama" ,libxinerama)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check)
+ (add-after 'install 'install-xsession
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (xsessions (string-append out "/share/xsessions")))
+ (mkdir-p xsessions)
+ (call-with-output-file
+ (string-append xsessions "/herbstluftwm.desktop")
+ (lambda (port)
+ (format port "~
+ [Desktop Entry]~@
+ Name=herbstluftwm~@
+ Comment=Manual tiling window manager~@
+ Exec=~a/bin/herbstluftwm~@
+ Type=XSession~%" out)))))))
+ #:tests? #f
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list "CC=gcc"
+ (string-append "PREFIX=''")
+ (string-append "DESTDIR=" out)
+ (string-append "BASHCOMPLETIONDIR=" out
+ "/etc/bash_completion.d")))))
+ (synopsis "Herbstluftwm Window Manager for X11")
+ (description "X11 Tiling Window Manager")
+ (home-page "https://herbstluftwm.org")
+ (license license:bsd-2)))
+
+
(define-public i3status
(package
(name "i3status")
--
2.23.0
Ludovic Courtès wrote 5 years ago
(name . Kyle Andrews)(address . kyle.c.andrews@gmail.com)(address . 37404-done@debbugs.gnu.org)
87d0g0d3ee.fsf@gnu.org
Hello Kyle,

Kyle Andrews <kyle.c.andrews@gmail.com> skribis:

Toggle quote (9 lines)
> From 2d8537fc42c3424024d2f20aeb618e2ad1b5998c Mon Sep 17 00:00:00 2001
> From: Kyle Andrews <kyle.c.andrews@gmail.com>
> Date: Sat, 14 Sep 2019 15:43:53 -0400
> Subject: [PATCH] Add herbstluftwm to the list of available window managers.
>
> ---
> gnu/packages/wm.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 62 insertions(+)

I’ve applied it with the minor changes below: removing tabs as reported
by ‘guix lint’, providing a description as per
removing the Bash input since it’s already there by default, returning a
Boolean from the phase, and adding a copyright line and a commit log.

if anything is unclear.

Thank you!

Ludo’.
Toggle diff (97 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index d81a916ff3..e19c6c1438 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -89,7 +90,6 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages logging)
#:use-module (gnu packages serialization)
- #:use-module (gnu packages bash)
#:use-module (gnu packages commencement) ; TODO remove when default gcc version >=7
#:use-module (guix download)
#:use-module (guix git-download))
@@ -129,7 +129,6 @@
the leaves of a full binary tree.")
(license license:bsd-2)))
-
(define-public herbstluftwm
(package
(name "herbstluftwm")
@@ -138,19 +137,18 @@ the leaves of a full binary tree.")
(origin
(method url-fetch)
(uri (string-append "https://herbstluftwm.org/tarballs/herbstluftwm-"
- version
- ".tar.gz"))
+ version ".tar.gz"))
(sha256
(base32
"1kc18aj9j3nfz6fj4qxg9s3gg4jvn6kzi3ii24hfm0vqdpy17xnz"))
(file-name (string-append "herbstluftwm-" version ".tar.gz"))))
(build-system gnu-build-system)
- (inputs `(("dzen" ,dzen)
+ (inputs
+ `(("dzen" ,dzen)
("dmenu" ,dmenu)
("glib" ,glib)
("glibmm" ,glibmm)
("xterm" ,xterm)
- ("bash" ,bash)
("xsetroot" ,xsetroot)
("libx11" ,libx11)
("libxext" ,libxext)
@@ -175,7 +173,8 @@ the leaves of a full binary tree.")
Name=herbstluftwm~@
Comment=Manual tiling window manager~@
Exec=~a/bin/herbstluftwm~@
- Type=XSession~%" out)))))))
+ Type=XSession~%" out)))
+ #t))))
#:tests? #f
#:make-flags
(let ((out (assoc-ref %outputs "out")))
@@ -184,12 +183,32 @@ the leaves of a full binary tree.")
(string-append "DESTDIR=" out)
(string-append "BASHCOMPLETIONDIR=" out
"/etc/bash_completion.d")))))
- (synopsis "Herbstluftwm Window Manager for X11")
- (description "X11 Tiling Window Manager")
+ (synopsis "Tiling window manager for X11")
+ (description "herbstluftwm is a manual tiling window manager for X11 using
+Xlib and GLib. Its main features are:
+
+@itemize
+@item
+The layout is based on splitting frames into subframes which can be split
+again or can be filled with windows (similar to i3 or musca).
+
+@item
+Tags (or workspaces or virtual desktops or …) can be added/removed at runtime.
+Each tag contains an own layout.
+
+@item
+Exactly one tag is viewed on each monitor. The tags are monitor independent
+(similar to Xmonad).
+
+@item
+It is configured at runtime via IPC calls from @command{herbstclient}. So the
+configuration file is just a script which is run on startup (similar to wmii
+or musca).
+
+@end itemize")
(home-page "https://herbstluftwm.org")
(license license:bsd-2)))
-
(define-public i3status
(package
(name "i3status")
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 37404@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 37404
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help