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.scm148
1 files changed, 148 insertions, 0 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 96ef06bc15..4a6fc62069 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -18,6 +18,7 @@
 ;;; 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 © 2019 Rutger Helling <rhelling@mykolab.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,6 +43,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (gnu packages haskell)
@@ -77,6 +79,10 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages suckless)
   #:use-module (gnu packages mpd)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages man)
   #:use-module (guix download)
   #:use-module (guix git-download))
 
@@ -1102,3 +1108,145 @@ its size
 customizable status bars for their desktop environment.  It has built-in
 functionality to display information about the most commonly used services.")
     (license license:expat)))
+
+(define-public wlroots
+  (package
+    (name "wlroots")
+    (version "0.5.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/swaywm/wlroots.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1phiidyddzgaxy4gbqwmykxn0y8za6y5mp66l9dpd9i6fml153yq"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags '("-Dlogind-provider=elogind")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'hardcode-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "xwayland/xwayland.c"
+               (("Xwayland") (string-append (assoc-ref inputs
+                                                       "xorg-server-xwayland")
+                                            "/bin/Xwayland")))
+             #t)))))
+    (inputs `(("elogind" ,elogind)
+              ("eudev" ,eudev)
+              ("libinput" ,libinput)
+              ("libxkbcommon" ,libxkbcommon)
+              ("mesa" ,mesa)
+              ("pixman" ,pixman)
+              ("wayland" ,wayland)
+              ("xorg-server-xwayland" ,xorg-server-xwayland)))
+    (native-inputs `(("ffmpeg" ,ffmpeg)
+                     ("libcap" ,libcap)
+                     ("libpng" ,libpng)
+                     ("pkg-config" ,pkg-config)
+                     ("wayland-protocols" ,wayland-protocols)))
+    (home-page "https://github.com/swaywm/wlroots")
+    (synopsis "Pluggable, composable, unopinionated modules for building a
+Wayland compositor")
+    (description "wlroots is a set of pluggable, composable, unopinionated
+modules for building a Wayland compositor.")
+    (license license:expat)))  ; MIT license
+
+(define-public sway
+  (package
+    (name "sway")
+    (version "1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/swaywm/sway.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "09cndc2nl39d3l7g5634xp0pxcz60pvc5277mfw89r22mh0j78rx"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'hardcode-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("scdoc.get_pkgconfig_variable..scdoc..")
+                (string-append "'" (assoc-ref inputs "scdoc")
+                               "/bin/scdoc'")))
+             #t)))))
+    (inputs `(("cairo" ,cairo)
+              ("elogind" ,elogind)
+              ("gdk-pixbuf" ,gdk-pixbuf)
+              ("json-c" ,json-c)
+              ("libinput" ,libinput)
+              ("libxkbcommon" ,libxkbcommon)
+              ("pango" ,pango)
+              ("wayland" ,wayland)
+              ("wlroots" ,wlroots)))
+    (native-inputs `(("git" ,git)
+                     ("libcap" ,libcap)
+                     ("linux-pam" ,linux-pam)
+                     ("mesa" ,mesa)
+                     ("pkg-config" ,pkg-config)
+                     ("scdoc" ,scdoc)
+                     ("wayland-protocols" ,wayland-protocols)))
+    (home-page "https://github.com/swaywm/sway")
+    (synopsis "Wayland compositor compatible with i3")
+    (description "Sway is a i3-compatible Wayland compositor.")
+    (license license:expat)))       ; MIT license
+
+(define-public swayidle
+  (package
+    (name "swayidle")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/swaywm/swayidle.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0b65flajwn2i6k2kdxxgw25w7ikzzmm595f4j5x1wac1rb0yah9w"))))
+    (build-system meson-build-system)
+    (inputs `(("wayland" ,wayland)))
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("scdoc" ,scdoc)
+                     ("wayland-protocols" ,wayland-protocols)))
+    (home-page "https://github.com/swaywm/sway")
+    (synopsis "Idle management daemon for Wayland compositors")
+    (description "Swayidle is a idle management daemon for Wayland compositors.")
+    (license license:expat))) ; MIT license
+
+(define-public swaylock
+  (package
+    (name "swaylock")
+    (version "1.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/swaywm/swaylock.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "093nv1y9wyg48rfxhd36qdljjry57v1vkzrlc38mkf6zvsq8j7wb"))))
+    (build-system meson-build-system)
+    (inputs `(("cairo" ,cairo)
+              ("gdk-pixbuf" ,gdk-pixbuf)
+              ("libxkbcommon" ,libxkbcommon)
+              ;("linux-pam" ,linux-pam) ; FIXME: Doesn't work.
+              ("wayland" ,wayland)))
+    (native-inputs `(("git" ,git)
+                     ("pango" ,pango)
+                     ("pkg-config" ,pkg-config)
+                     ("scdoc" ,scdoc)
+                     ("wayland-protocols" ,wayland-protocols)))
+    (home-page "https://github.com/swaywm/sway")
+    (synopsis "Screen locking utility for Wayland compositors")
+    (description "Swaylock is a screen locking utility for Wayland compositors.")
+    (license license:expat))) ; MIT license