summaryrefslogtreecommitdiff
path: root/gnu/packages/wm.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/wm.scm')
-rw-r--r--gnu/packages/wm.scm208
1 files changed, 115 insertions, 93 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 52d7042806..d79af78db2 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -31,6 +31,8 @@
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Noodles! <nnoodle@chiru.no>
;;; Copyright © 2019 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -95,10 +97,10 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages serialization)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages suckless)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
- #:use-module (gnu packages version-control)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
@@ -868,89 +870,108 @@ experience.")
(define-public awesome
(package
(name "awesome")
- (version "4.2")
+ (version "4.3")
(source
- (origin (method url-fetch)
- (uri (string-append
- "https://github.com/awesomeWM/awesome-releases/raw/"
- "master/awesome-" version ".tar.xz"))
- (sha256
- (base32
- "0kwpbls9h1alxcmvxh5g9qb995fds5b2ngcr44w0ibazkyls2pdc"))
- (modules '((guix build utils)
- (srfi srfi-19)))
- (snippet '(begin
- ;; Remove non-reproducible timestamp and use the date
- ;; of the source file instead.
- (substitute* "common/version.c"
- (("__DATE__ \" \" __TIME__")
- (date->string
- (time-utc->date
- (make-time time-utc 0
- (stat:mtime (stat "awesome.c"))))
- "\"~c\"")))
- #t))
- (patches (search-patches "awesome-reproducible-png.patch"))))
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/awesomeWM/awesome-releases/raw/master/"
+ "awesome-" version ".tar.xz"))
+ (sha256
+ (base32 "0lqpw401mkkmp9wgbvrmm45bqq2j9357l4irwdqv6l1305pls9kq"))
+ (modules '((guix build utils)
+ (srfi srfi-19)))
+ (snippet
+ '(begin
+ ;; Remove non-reproducible timestamp and use the date of
+ ;; the source file instead.
+ (substitute* "common/version.c"
+ (("__DATE__ \" \" __TIME__")
+ (date->string
+ (time-utc->date
+ (make-time time-utc 0 (stat:mtime (stat "awesome.c"))))
+ "\"~c\"")))
+ #t))
+ (patches
+ (search-patches "awesome-reproducible-png.patch"))))
(build-system cmake-build-system)
- (native-inputs `(("asciidoc" ,asciidoc)
- ("docbook-xsl" ,docbook-xsl)
- ("doxygen" ,doxygen)
- ("gperf" ,gperf)
- ("imagemagick" ,imagemagick)
- ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
- ("pkg-config" ,pkg-config)
- ("xmlto" ,xmlto)))
- (inputs `(("cairo" ,cairo)
- ("dbus" ,dbus)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)
- ("imlib2" ,imlib2)
- ("libev" ,libev)
- ("libxcb" ,libxcb)
- ("libxcursor" ,libxcursor)
- ("libxdg-basedir" ,libxdg-basedir)
- ("libxkbcommon" ,libxkbcommon)
- ("lua" ,lua)
- ("lua-lgi" ,lua-lgi)
- ("pango" ,pango)
- ("startup-notification" ,startup-notification)
- ("xcb-util" ,xcb-util)
- ("xcb-util-cursor" ,xcb-util-cursor)
- ("xcb-util-image" ,xcb-util-image)
- ("xcb-util-keysyms" ,xcb-util-keysyms)
- ("xcb-util-renderutil" ,xcb-util-renderutil)
- ("xcb-util-xrm" ,xcb-util-xrm)
- ("xcb-util-wm" ,xcb-util-wm)))
+ (native-inputs
+ `(("asciidoc" ,asciidoc)
+ ("docbook-xsl" ,docbook-xsl)
+ ("doxygen" ,doxygen)
+ ("gperf" ,gperf)
+ ("imagemagick" ,imagemagick)
+ ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
+ ("lua-ldoc" ,lua-ldoc)
+ ("pkg-config" ,pkg-config)
+ ("xmlto" ,xmlto)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("dbus" ,dbus)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("imlib2" ,imlib2)
+ ("libev" ,libev)
+ ("libxcb" ,libxcb)
+ ("libxcursor" ,libxcursor)
+ ("libxdg-basedir" ,libxdg-basedir)
+ ("libxkbcommon" ,libxkbcommon)
+ ("lua" ,lua)
+ ("lua-lgi" ,lua-lgi)
+ ("pango" ,pango)
+ ("startup-notification" ,startup-notification)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-cursor" ,xcb-util-cursor)
+ ("xcb-util-image" ,xcb-util-image)
+ ("xcb-util-keysyms" ,xcb-util-keysyms)
+ ("xcb-util-renderutil" ,xcb-util-renderutil)
+ ("xcb-util-xrm" ,xcb-util-xrm)
+ ("xcb-util-wm" ,xcb-util-wm)))
(arguments
- `(;; Let compression happen in our 'compress-documentation' phase so that
- ;; '--no-name' is used, which removes timestamps from gzip output.
- #:configure-flags '("-DCOMPRESS_MANPAGES=off")
-
- ;; Building awesome in its source dir is no longer supported.
+ `(#:modules ((guix build cmake-build-system)
+ (guix build utils)
+ (ice-9 match))
+ ;; Let compression happen in our 'compress-documentation' phase
+ ;; so that '--no-name' is used, which removes timestamps from
+ ;; gzip output.
+ #:configure-flags
+ '("-DCOMPRESS_MANPAGES=off")
+ ;; Building awesome in its source directory is no longer
+ ;; supported.
#:out-of-source? #t
-
#:phases
(modify-phases %standard-phases
- (add-before 'build 'xmlto-skip-validation
- (lambda _
- ;; We can't download the necessary schema, so so skip
- ;; validation and assume they're valid.
- (substitute* "../build/CMakeFiles/man.dir/build.make"
- (("/xmlto")
- (string-append "/xmlto --skip-validation")))
- #t))
- (add-before 'configure 'set-lua-paths
+ (add-before 'configure 'set-paths
(lambda* (#:key inputs #:allow-other-keys)
- ;; The build process needs to load cairo dynamically.
- (let* ((cairo (string-append
- (assoc-ref inputs "cairo") "/lib" ))
- (lua-lgi (assoc-ref inputs "lua-lgi") ))
- (setenv "LD_LIBRARY_PATH" cairo )
- (setenv "LUA_PATH" (string-append lua-lgi
- "/share/lua/5.2/?.lua"))
- (setenv "LUA_CPATH" (string-append lua-lgi
- "/lib/lua/5.2/?.so"))
+ ;; The build process needs to load Cairo dynamically.
+ (let* ((cairo (string-append (assoc-ref inputs "cairo") "/lib"))
+ (lua-version ,(version-major+minor (package-version lua)))
+ (lua-dependencies
+ (filter (match-lambda
+ ((label . _) (string-prefix? "lua-" label)))
+ inputs))
+ (lua-path
+ (string-join
+ (map (match-lambda
+ ((_ . dir)
+ (string-append
+ dir "/share/lua/" lua-version "/?.lua;"
+ dir "/share/lua/" lua-version "/?/?.lua")))
+ lua-dependencies)
+ ";"))
+ (lua-cpath
+ (string-join
+ (map (match-lambda
+ ((_ . dir)
+ (string-append
+ dir "/lib/lua/" lua-version "/?.so;"
+ dir "/lib/lua/" lua-version "/?/?.so")))
+ lua-dependencies)
+ ";")))
+ (setenv "LD_LIBRARY_PATH" cairo)
+ (setenv "LUA_PATH" (string-append "?.lua;" lua-path))
+ (setenv "LUA_CPATH" lua-cpath)
#t)))
(replace 'check
(lambda _
@@ -967,22 +988,23 @@ experience.")
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((awesome (assoc-ref outputs "out"))
- (cairo (string-append
- (assoc-ref inputs "cairo") "/lib" ))
- (lua-lgi (assoc-ref inputs "lua-lgi") ))
+ (cairo (string-append (assoc-ref inputs "cairo") "/lib"))
+ (lua-version ,(version-major+minor (package-version lua)))
+ (lua-lgi (assoc-ref inputs "lua-lgi")))
(wrap-program (string-append awesome "/bin/awesome")
+ `("LUA_PATH" suffix
+ (,(format #f "~a/share/lua/~a/?.lua" lua-lgi lua-version)))
+ `("LUA_CPATH" suffix
+ (,(format #f "~a/lib/lua/~a/?.so" lua-lgi lua-version)))
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))
- `("LD_LIBRARY_PATH" suffix (, cairo))
- `("LUA_PATH" suffix (,(string-append lua-lgi
- "/share/lua/5.2/?.lua")))
- `("LUA_CPATH" suffix (,(string-append
- lua-lgi "/lib/lua/5.2/?.so"))))))))))
+ `("LD_LIBRARY_PATH" suffix (,cairo)))
+ #t))))))
+ (home-page "https://awesomewm.org/")
(synopsis "Highly configurable window manager")
(description
"Awesome has been designed as a framework window manager. It is fast, small,
dynamic and extensible using the Lua programming language.")
- (license license:gpl2+)
- (home-page "https://awesomewm.org/")))
+ (license license:gpl2+)))
(define-public menumaker
(package
@@ -1272,6 +1294,9 @@ its size
("xcb-util-xrm" ,xcb-util-xrm)))
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("python-sphinx" ,python-sphinx) ; for the manual
+ ;; XXX: "python" input must be located after "python-2", or the package
+ ;; fails to build with "missing required python module: xcbgen".
("python-2" ,python-2) ; lib/xpp depends on python 2
("python" ,python))) ; xcb-proto depends on python 3
(home-page "https://polybar.github.io/")
@@ -1367,8 +1392,7 @@ modules for building a Wayland compositor.")
("swaybg" ,swaybg)
("wayland" ,wayland)
("wlroots" ,wlroots)))
- (native-inputs `(("git" ,git)
- ("libcap" ,libcap)
+ (native-inputs `(("libcap" ,libcap)
("linux-pam" ,linux-pam)
("mesa" ,mesa)
("pkg-config" ,pkg-config)
@@ -1424,8 +1448,7 @@ modules for building a Wayland compositor.")
("libxkbcommon" ,libxkbcommon)
;("linux-pam" ,linux-pam) ; FIXME: Doesn't work.
("wayland" ,wayland)))
- (native-inputs `(("git" ,git)
- ("pango" ,pango)
+ (native-inputs `(("pango" ,pango)
("pkg-config" ,pkg-config)
("scdoc" ,scdoc)
("wayland-protocols" ,wayland-protocols)))
@@ -1451,8 +1474,7 @@ modules for building a Wayland compositor.")
(inputs `(("cairo" ,cairo)
("gdk-pixbuf" ,gdk-pixbuf)
("wayland" ,wayland)))
- (native-inputs `(("git" ,git)
- ("pkg-config" ,pkg-config)
+ (native-inputs `(("pkg-config" ,pkg-config)
("scdoc" ,scdoc)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://github.com/swaywm/sway")