diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 178a5d95ba..149ea1bb69 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2987,3 +2987,49 @@ file."))) (synopsis "Primitive drawing library for Wayland") (description "wld is a drawing library that targets Wayland.") (license license:expat)))) + +(define-public swc + (let ((commit "a7b615567f83d9e48d585251015048c441ca0239") + (revision "1")) + (package + (name "swc") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/michaelforney/swc") + (commit commit))) + (sha256 + (base32 + "19rpbwpi81pm92fkhsmbx7pzagpah5m9ih5h5k3m8dy6r8ihdh35")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no tests + #:make-flags (list (string-append "CC=" + ,(cc-for-target)) + (string-append "PREFIX=" %output)) + #:phases (modify-phases %standard-phases + (delete 'configure)))) + (inputs (list libdrm + libinput + libxcb + libxkbcommon + wayland + wayland-protocols + wld + xcb-util-wm)) + (native-inputs (list pkg-config)) + (home-page "https://github.com/michaelforney/swc") + (synopsis "Library for making a simple Wayland compositor") + (description + "swc is a small Wayland compositor implemented as a library. + +It has been designed primarily with tiling window managers in mind. Additionally, +notable features include: +@itemize +@item Easy to follow code base +@item XWayland support +@item Can place borders around windows +@end itemize") + (license license:expat))))