summary refs log tree commit diff
path: root/gnu/packages/wm.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/wm.scm')
-rw-r--r--gnu/packages/wm.scm92
1 files changed, 90 insertions, 2 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index f0589e98f1..90bc7fc883 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -17,9 +17,10 @@
 ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
-;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
+;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
 ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -85,6 +86,10 @@
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages man)
   #:use-module (gnu packages textutils)
+  #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages logging)
+  #:use-module (gnu packages serialization)
+  #:use-module (gnu packages commencement) ; TODO remove when default gcc version >=7
   #:use-module (guix download)
   #:use-module (guix git-download))
 
@@ -1201,6 +1206,12 @@ modules for building a Wayland compositor.")
        (modify-phases %standard-phases
          (add-before 'configure 'hardcode-paths
            (lambda* (#:key inputs #:allow-other-keys)
+             ;; Hardcode path to swaybg.
+             (substitute* "sway/config.c"
+               (("strdup..swaybg..")
+                (string-append "strdup(\"" (assoc-ref inputs "swaybg")
+                               "/bin/swaybg\")")))
+             ;; Hardcode path to scdoc.
              (substitute* "meson.build"
                (("scdoc.get_pkgconfig_variable..scdoc..")
                 (string-append "'" (assoc-ref inputs "scdoc")
@@ -1214,6 +1225,7 @@ modules for building a Wayland compositor.")
               ("libinput" ,libinput)
               ("libxkbcommon" ,libxkbcommon)
               ("pango" ,pango)
+              ("swaybg" ,swaybg)
               ("wayland" ,wayland)
               ("wlroots" ,wlroots)))
     (native-inputs `(("git" ,git)
@@ -1242,7 +1254,10 @@ modules for building a Wayland compositor.")
        (sha256
         (base32 "04agcbhc473jkk7npb40i94ny8naykxzpjcw2lvl05kxv65y5d9v"))))
     (build-system meson-build-system)
-    (inputs `(("wayland" ,wayland)))
+    (arguments
+     `(#:configure-flags '("-Dlogind-provider=elogind")))
+    (inputs `(("elogind" ,elogind)
+              ("wayland" ,wayland)))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("scdoc" ,scdoc)
                      ("wayland-protocols" ,wayland-protocols)))
@@ -1305,3 +1320,76 @@ modules for building a Wayland compositor.")
     (synopsis "Screen wallpaper utility for Wayland compositors")
     (description "Swaybg is a wallpaper utility for Wayland compositors.")
     (license license:expat))) ; MIT license
+
+(define-public waybar
+  (package
+    (name "waybar")
+    (version "0.6.8")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Alexays/Waybar.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0wyp1p9r1k8jnjq8clp2fx8xa3f4lfrgbp67fxrjh9718p4br0ab"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list (string-append "-Dout=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         ;; TODO remove when issue #30756 is resolved
+         (add-before 'configure 'fix-gcc
+           (lambda _
+             (unsetenv "C_INCLUDE_PATH")
+             (unsetenv "CPLUS_INCLUDE_PATH")
+             #t)))))
+    (inputs `(("fmt" ,fmt)
+              ("gtkmm" ,gtkmm)
+              ("jsoncpp" ,jsoncpp)
+              ("libdbusmenu" ,libdbusmenu)
+              ("libinput" ,libinput)
+              ("libmpdclent" ,libmpdclient)
+              ("libnl" ,libnl)
+              ("pulseaudio" ,pulseaudio)
+              ("spdlog" ,spdlog)
+              ("wayland" ,wayland)))
+    (native-inputs `(("gcc-toolchain" ,gcc-toolchain-7) ; TODO remove when default gcc version >=7
+                     ("glib:bin" ,glib "bin")
+                     ("pkg-config" ,pkg-config)
+                     ("wayland-protocols" ,wayland-protocols)))
+    (home-page "https://github.com/Alexays/Waybar")
+    (synopsis "Wayland bar for Sway and Wlroots based compositors.")
+    (description "Waybar is a highly customisable Wayland bar for Sway and
+Wlroots based compositors.")
+    (license license:expat))) ; MIT license
+
+(define-public mako
+  (package
+    (name "mako")
+    (version "1.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emersion/mako.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "17azdc37xsbmx13fkfp23vg9lznrv9fh6nhagn64wdq3nhsxm3b6"))))
+    (build-system meson-build-system)
+    (inputs `(("cairo" ,cairo)
+              ("elogind" ,elogind)
+              ("gdk-pixbuf" ,gdk-pixbuf)
+              ("pango" ,pango)
+              ("wayland" ,wayland)))
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("scdoc" ,scdoc)
+                     ("wayland-protocols" ,wayland-protocols)))
+    (home-page "https://wayland.emersion.fr/mako")
+    (synopsis "Lightweight Wayland notification daemon")
+    (description "Mako is a lightweight notification daemon for Wayland
+compositors that support the layer-shell protocol.")
+    (license license:expat))) ; MIT license