summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rwxr-xr-xwm-addons/wlroots/BUILD2
-rwxr-xr-xwm-addons/wlroots/CONFIGURE7
-rwxr-xr-xwm-addons/wlroots/DEPENDS39
-rwxr-xr-xwm-addons/wlroots/DETAILS42
-rw-r--r--wm-addons/wlroots/HISTORY2
-rwxr-xr-xwm-addons/wlroots/PREPARE2
7 files changed, 97 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 247787a963..6b696cfdab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2018-12-23 Pavel Vinogradov <public@sourcemage.org>
+ * wm-addons/wlroots: new spell, a modular Wayland compositor
+
2018-12-16 Florian Franzmann <siflfran@hawo.stw.uni-erlangen.de>
* libs/libxlsxwriter: new spell, a C library for writing Excel files
diff --git a/wm-addons/wlroots/BUILD b/wm-addons/wlroots/BUILD
new file mode 100755
index 0000000000..5d863aaf49
--- /dev/null
+++ b/wm-addons/wlroots/BUILD
@@ -0,0 +1,2 @@
+OPTS+=" ${WLROOTS_OPTS}" &&
+default_build
diff --git a/wm-addons/wlroots/CONFIGURE b/wm-addons/wlroots/CONFIGURE
new file mode 100755
index 0000000000..2ac45d01f2
--- /dev/null
+++ b/wm-addons/wlroots/CONFIGURE
@@ -0,0 +1,7 @@
+. "${GRIMOIRE}/MESON_CONFIGURE" &&
+
+config_query_option WLROOTS_OPTS "Build the rootston example compositor?" \
+ "n" "rootston=true" "rootston=false" &&
+
+config_query_option WLROOTS_OPTS "Build examples?" \
+ "n" "examples=true" "examples=false"
diff --git a/wm-addons/wlroots/DEPENDS b/wm-addons/wlroots/DEPENDS
new file mode 100755
index 0000000000..f7b903f9ae
--- /dev/null
+++ b/wm-addons/wlroots/DEPENDS
@@ -0,0 +1,39 @@
+if [[ "${WLROOTS_BRANCH}" == "scm" ]]; then
+ depends git
+fi &&
+
+depends meson &&
+depends python3 &&
+depends ninja-build-system &&
+depends DEVICE-MANAGER &&
+depends libdrm &&
+depends libinput &&
+depends libxkbcommon &&
+depends OPENGL &&
+depends pixman &&
+depends wayland &&
+depends wayland-protocols &&
+
+optional_depends libcap \
+ "libcap=enabled" \
+ "libcap=disabled" \
+ "to enable rootless session support" &&
+
+optional_depends libxcb \
+ "x11-backend=enabled" \
+ "x11-backend=disabled" \
+ "enable X11 backend" &&
+
+optional_depends LOGIN-DAEMON \
+ "logind=enabled" \
+ "logind=disabled" \
+ "rootless session via logind" &&
+
+if [[ "$(get_spell_provider ${SPELL} LOGIN-DAEMON)" == "elogind" ]]; then
+ list_add WLROOTS_OPTS "logind-provider=elogind"
+fi &&
+
+optional_depends -sub "XWAYLAND" XSERVER \
+ "xwayland=enabled" \
+ "xwayland=disabled" \
+ "XWayland support"
diff --git a/wm-addons/wlroots/DETAILS b/wm-addons/wlroots/DETAILS
new file mode 100755
index 0000000000..974512b151
--- /dev/null
+++ b/wm-addons/wlroots/DETAILS
@@ -0,0 +1,42 @@
+. "${GRIMOIRE}/MESON_FUNCTIONS"
+ SPELL="wlroots"
+if [[ "${WLROOTS_BRANCH}" == "scm" ]]; then
+ VERSION="$(get_scm_version)"
+ SOURCE="${SPELL}-git.tar.xz"
+ FORCE_DOWNLOAD="on"
+ SOURCE_URL[0]="git://github.com/swaywm/${SPELL}:${SPELL}-git"
+ SOURCE_IGNORE="volatile"
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-git"
+else
+ VERSION="0.2"
+ SOURCE_HASH="sha512:b7727b29ed7e5188d5fa6099687f8e6f48b6b3f17f7a6e136956ad6b607054595de3779118bffd4b9730115eaca2f00c2d30d52f4915b2753a749432ec0c3f2a"
+ SOURCE="${SPELL}-${VERSION}.tar.gz"
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ SOURCE_URL[0]="https://github.com/swaywm/${SPELL}/archive/${VERSION}.tar.gz"
+fi
+ LICENSE[0]="MIT"
+ WEB_SITE="https://swaywm.org"
+ ENTERED="20181223"
+ SHORT="a modular Wayland compositor"
+cat << EOF
+Pluggable, composable, unopinionated modules for building a Wayland compositor;
+or about 50,000 lines of code you were going to write anyway.
+
+ * wlroots provides backends that abstract the underlying display and input
+hardware, including KMS/DRM, libinput, Wayland, X11, and headless backends,
+plus any custom backends you choose to write, which can all be created or
+destroyed at runtime and used in concert with each other.
+ * wlroots provides unopinionated, mostly standalone implementations of many
+Wayland interfaces, both from wayland.xml and various protocol extensions.
+We also promote the standardization of portable extensions across many
+compositors.
+ * wlroots provides several powerful, standalone, and optional tools that
+implement components common to many compositors, such as the arrangement of
+outputs in physical space.
+ * wlroots provides an Xwayland abstraction that allows you to have excellent
+Xwayland support without worrying about writing your own X11 window manager on
+top of writing your compositor.
+ * wlroots provides a renderer abstraction that simple compositors can use to
+avoid writing GL code directly, but which steps out of the way when your needs
+demand custom rendering code.
+EOF
diff --git a/wm-addons/wlroots/HISTORY b/wm-addons/wlroots/HISTORY
new file mode 100644
index 0000000000..a48c27cf6e
--- /dev/null
+++ b/wm-addons/wlroots/HISTORY
@@ -0,0 +1,2 @@
+2018-12-23 Pavel Vinogradov <public@sourcemage.org>
+ * BUILD, CONFIGURE, DEPENDS, DETAILS, PREPARE: created spell
diff --git a/wm-addons/wlroots/PREPARE b/wm-addons/wlroots/PREPARE
new file mode 100755
index 0000000000..e38d86f7e9
--- /dev/null
+++ b/wm-addons/wlroots/PREPARE
@@ -0,0 +1,2 @@
+. "${GRIMOIRE}/FUNCTIONS" &&
+prepare_select_branch stable scm