gui-libs/wlroots: add new category and package
authorAaron Bauman <bman@gentoo.org>
Fri, 22 Feb 2019 22:31:52 +0000 (17:31 -0500)
committerAaron Bauman <bman@gentoo.org>
Fri, 22 Feb 2019 22:31:52 +0000 (17:31 -0500)
Signed-off-by: Aaron Bauman <bman@gentoo.org>
gui-libs/wlroots/Manifest [new file with mode: 0644]
gui-libs/wlroots/metadata.xml [new file with mode: 0644]
gui-libs/wlroots/wlroots-0.2.ebuild [new file with mode: 0644]
gui-libs/wlroots/wlroots-0.3.ebuild [new file with mode: 0644]
gui-libs/wlroots/wlroots-9999.ebuild [new file with mode: 0644]

diff --git a/gui-libs/wlroots/Manifest b/gui-libs/wlroots/Manifest
new file mode 100644 (file)
index 0000000..a4c642c
--- /dev/null
@@ -0,0 +1,2 @@
+DIST wlroots-0.2.tar.gz 437638 BLAKE2B dd7ca737ba2dfc00e30c83e973616cefb77fccb793161794361422a2fcbdf7299aacea8d794b910fdf06c9a191a89f7f1530d312545d08d126a729be41eeb424 SHA512 b7727b29ed7e5188d5fa6099687f8e6f48b6b3f17f7a6e136956ad6b607054595de3779118bffd4b9730115eaca2f00c2d30d52f4915b2753a749432ec0c3f2a
+DIST wlroots-0.3.tar.gz 473490 BLAKE2B 552bcc5d8bb847dbac5caaddeac830a4de25b4cc80abb6c8b8e610b5e40cc20ff50a145fdfb6bb5f0aa53d218400777ca7a5982c74eb01bd973109b2f8fd7938 SHA512 ccec1426e6ac86fa63f82763d123162fca5be25fb37bbb44a5de651a7764f5325ef21cbe2cf698cb315f0de4719a6bac8eb0ceeffe2111de7c9f4b59e019aaaa
diff --git a/gui-libs/wlroots/metadata.xml b/gui-libs/wlroots/metadata.xml
new file mode 100644 (file)
index 0000000..5fb5999
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>bman@gentoo.org</email>
+               <name>Aaron Bauman</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>speedjack95@gmail.com</email>
+               <name>Niccolò Scatena</name>
+       </maintainer>
+       <longdescription lang="en">
+               Pluggable, composable, unopinionated modules for building a Wayland
+               compositor.
+
+               wlroots implements a huge variety of Wayland compositor features and
+               implements them right. By using wlroots, you get high performance,
+               excellent hardware compatibility, broad support for many wayland
+               interfaces, and comfortable development tools.
+
+               wlroots is developed under the direction of the <pkg>dev-libs/sway</pkg> project.
+       </longdescription>
+       <use>
+               <flag name="elogind">Enable support for rootless session via elogind</flag>
+               <flag name="icccm">Use xcb-icccm (from <pkg>x11-libs/xcb-util-wm</pkg>) util library for improved Xwayland introspection</flag>
+               <flag name="rootston">Build the rootston example compositor</flag>
+               <flag name="x11-backend">Enable support for handling input/output devices through <pkg>x11-libs/libxcb</pkg></flag>
+               <flag name="X">Enable support for X11 applications (XWayland)</flag>
+       </use>
+       <upstream>
+               <remote-id type="github">swaywm/wlroots</remote-id>
+               <maintainer status="active">
+                       <email>sir@cmpwn.com</email>
+                       <name>Drew DeVault</name>
+               </maintainer>
+               <bugs-to>https://github.com/swaywm/wlroots/issues</bugs-to>
+               <doc>https://github.com/swaywm/wlroots/wiki</doc>
+               <changelog>https://github.com/swaywm/wlroots/releases</changelog>
+       </upstream>
+</pkgmetadata>
diff --git a/gui-libs/wlroots/wlroots-0.2.ebuild b/gui-libs/wlroots/wlroots-0.2.ebuild
new file mode 100644 (file)
index 0000000..a3427d6
--- /dev/null
@@ -0,0 +1,101 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit fcaps meson
+
+DESCRIPTION="Pluggable, composable, unopinionated modules for building a Wayland compositor"
+HOMEPAGE="https://github.com/swaywm/wlroots"
+
+if [[ ${PV} == 9999 ]]; then
+       EGIT_REPO_URI="https://github.com/swaywm/${PN}.git"
+       inherit git-r3
+else
+       SRC_URI="https://github.com/swaywm/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="elogind icccm rootston systemd x11-backend X"
+REQUIRED_USE="?? ( elogind systemd )"
+
+DEPEND="
+       >=dev-libs/libinput-1.7.0:0=
+       >=dev-libs/wayland-1.16.0
+       media-libs/mesa[egl,gles2,gbm]
+       virtual/libudev
+       x11-libs/libdrm
+       x11-libs/libxkbcommon
+       x11-libs/pixman
+       elogind? ( >=sys-auth/elogind-237 )
+       icccm? ( x11-libs/xcb-util-wm )
+       systemd? ( >=sys-apps/systemd-237 )
+       x11-backend? ( x11-libs/libxcb:0= )
+       X? (
+               x11-base/xorg-server[wayland]
+               x11-libs/libxcb:0=
+               x11-libs/xcb-util-image
+       )
+"
+RDEPEND="
+       ${DEPEND}
+"
+BDEPEND="
+       >=dev-libs/wayland-protocols-1.15
+       virtual/pkgconfig
+"
+
+FILECAPS=( cap_sys_admin usr/bin/rootston )
+
+src_configure() {
+       # xcb-util-errors is not on Gentoo Repository (and upstream seems inactive?)
+       local emesonargs=(
+               "-Dxcb-errors=disabled"
+               -Dlibcap=$(usex filecaps enabled disabled)
+               -Dxcb-icccm=$(usex icccm enabled disabled)
+               -Dxwayland=$(usex X enabled disabled)
+               -Dx11-backend=$(usex x11-backend enabled disabled)
+               $(meson_use rootston)
+               "-Dexamples=false"
+               "-Dwerror=false"
+       )
+       if use systemd; then
+               emesonargs+=("-Dlogind=enabled" "-Dlogind-provider=systemd")
+       elif use elogind; then
+               emesonargs+=("-Dlogind=enabled" "-Dlogind-provider=elogind")
+       else
+               emesonargs+=("-Dlogind=disabled")
+       fi
+
+       meson_src_configure
+}
+
+src_install() {
+       if use rootston; then
+               dobin "${BUILD_DIR}"/rootston/rootston
+               newdoc rootston/rootston.ini.example rootston.ini
+       fi
+
+       meson_src_install
+}
+
+pkg_postinst() {
+       elog "You must be in the input group to allow your compositor"
+       elog "to access input devices via libinput."
+       if use rootston; then
+               elog ""
+               elog "You should copy (and decompress) the example configuration file"
+               elog "from ${EROOT:-${ROOT}}/usr/share/doc/${PF}/rootston.ini"
+               elog "to the working directory from where you launch rootston"
+               elog "(or pass the '-C path-to-config' option to rootston)."
+               if ! use systemd && ! use elogind; then
+                       elog ""
+                       elog "If you use ConsoleKit2, remember to launch rootston using:"
+                       elog "exec ck-launch-session rootston"
+
+                       fcaps_pkg_postinst
+               fi
+       fi
+}
diff --git a/gui-libs/wlroots/wlroots-0.3.ebuild b/gui-libs/wlroots/wlroots-0.3.ebuild
new file mode 100644 (file)
index 0000000..c96b1fc
--- /dev/null
@@ -0,0 +1,101 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit fcaps meson
+
+DESCRIPTION="Pluggable, composable, unopinionated modules for building a Wayland compositor"
+HOMEPAGE="https://github.com/swaywm/wlroots"
+
+if [[ ${PV} == 9999 ]]; then
+       EGIT_REPO_URI="https://github.com/swaywm/${PN}.git"
+       inherit git-r3
+else
+       SRC_URI="https://github.com/swaywm/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="elogind icccm rootston systemd x11-backend X"
+REQUIRED_USE="?? ( elogind systemd )"
+
+DEPEND="
+       >=dev-libs/libinput-1.7.0:0=
+       >=dev-libs/wayland-1.16.0
+       media-libs/mesa[egl,gles2,gbm]
+       virtual/libudev
+       x11-libs/libdrm
+       x11-libs/libxkbcommon
+       x11-libs/pixman
+       elogind? ( >=sys-auth/elogind-237 )
+       icccm? ( x11-libs/xcb-util-wm )
+       systemd? ( >=sys-apps/systemd-237 )
+       x11-backend? ( x11-libs/libxcb:0= )
+       X? (
+               x11-base/xorg-server[wayland]
+               x11-libs/libxcb:0=
+               x11-libs/xcb-util-image
+       )
+"
+RDEPEND="
+       ${DEPEND}
+"
+BDEPEND="
+       >=dev-libs/wayland-protocols-1.16
+       virtual/pkgconfig
+"
+
+FILECAPS=( cap_sys_admin usr/bin/rootston )
+
+src_configure() {
+       # xcb-util-errors is not on Gentoo Repository (and upstream seems inactive?)
+       local emesonargs=(
+               "-Dxcb-errors=disabled"
+               -Dlibcap=$(usex filecaps enabled disabled)
+               -Dxcb-icccm=$(usex icccm enabled disabled)
+               -Dxwayland=$(usex X enabled disabled)
+               -Dx11-backend=$(usex x11-backend enabled disabled)
+               $(meson_use rootston)
+               "-Dexamples=false"
+               "-Dwerror=false"
+       )
+       if use systemd; then
+               emesonargs+=("-Dlogind=enabled" "-Dlogind-provider=systemd")
+       elif use elogind; then
+               emesonargs+=("-Dlogind=enabled" "-Dlogind-provider=elogind")
+       else
+               emesonargs+=("-Dlogind=disabled")
+       fi
+
+       meson_src_configure
+}
+
+src_install() {
+       if use rootston; then
+               dobin "${BUILD_DIR}"/rootston/rootston
+               newdoc rootston/rootston.ini.example rootston.ini
+       fi
+
+       meson_src_install
+}
+
+pkg_postinst() {
+       elog "You must be in the input group to allow your compositor"
+       elog "to access input devices via libinput."
+       if use rootston; then
+               elog ""
+               elog "You should copy (and decompress) the example configuration file"
+               elog "from ${EROOT:-${ROOT}}/usr/share/doc/${PF}/rootston.ini"
+               elog "to the working directory from where you launch rootston"
+               elog "(or pass the '-C path-to-config' option to rootston)."
+               if ! use systemd && ! use elogind; then
+                       elog ""
+                       elog "If you use ConsoleKit2, remember to launch rootston using:"
+                       elog "exec ck-launch-session rootston"
+
+                       fcaps_pkg_postinst
+               fi
+       fi
+}
diff --git a/gui-libs/wlroots/wlroots-9999.ebuild b/gui-libs/wlroots/wlroots-9999.ebuild
new file mode 100644 (file)
index 0000000..c96b1fc
--- /dev/null
@@ -0,0 +1,101 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit fcaps meson
+
+DESCRIPTION="Pluggable, composable, unopinionated modules for building a Wayland compositor"
+HOMEPAGE="https://github.com/swaywm/wlroots"
+
+if [[ ${PV} == 9999 ]]; then
+       EGIT_REPO_URI="https://github.com/swaywm/${PN}.git"
+       inherit git-r3
+else
+       SRC_URI="https://github.com/swaywm/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="elogind icccm rootston systemd x11-backend X"
+REQUIRED_USE="?? ( elogind systemd )"
+
+DEPEND="
+       >=dev-libs/libinput-1.7.0:0=
+       >=dev-libs/wayland-1.16.0
+       media-libs/mesa[egl,gles2,gbm]
+       virtual/libudev
+       x11-libs/libdrm
+       x11-libs/libxkbcommon
+       x11-libs/pixman
+       elogind? ( >=sys-auth/elogind-237 )
+       icccm? ( x11-libs/xcb-util-wm )
+       systemd? ( >=sys-apps/systemd-237 )
+       x11-backend? ( x11-libs/libxcb:0= )
+       X? (
+               x11-base/xorg-server[wayland]
+               x11-libs/libxcb:0=
+               x11-libs/xcb-util-image
+       )
+"
+RDEPEND="
+       ${DEPEND}
+"
+BDEPEND="
+       >=dev-libs/wayland-protocols-1.16
+       virtual/pkgconfig
+"
+
+FILECAPS=( cap_sys_admin usr/bin/rootston )
+
+src_configure() {
+       # xcb-util-errors is not on Gentoo Repository (and upstream seems inactive?)
+       local emesonargs=(
+               "-Dxcb-errors=disabled"
+               -Dlibcap=$(usex filecaps enabled disabled)
+               -Dxcb-icccm=$(usex icccm enabled disabled)
+               -Dxwayland=$(usex X enabled disabled)
+               -Dx11-backend=$(usex x11-backend enabled disabled)
+               $(meson_use rootston)
+               "-Dexamples=false"
+               "-Dwerror=false"
+       )
+       if use systemd; then
+               emesonargs+=("-Dlogind=enabled" "-Dlogind-provider=systemd")
+       elif use elogind; then
+               emesonargs+=("-Dlogind=enabled" "-Dlogind-provider=elogind")
+       else
+               emesonargs+=("-Dlogind=disabled")
+       fi
+
+       meson_src_configure
+}
+
+src_install() {
+       if use rootston; then
+               dobin "${BUILD_DIR}"/rootston/rootston
+               newdoc rootston/rootston.ini.example rootston.ini
+       fi
+
+       meson_src_install
+}
+
+pkg_postinst() {
+       elog "You must be in the input group to allow your compositor"
+       elog "to access input devices via libinput."
+       if use rootston; then
+               elog ""
+               elog "You should copy (and decompress) the example configuration file"
+               elog "from ${EROOT:-${ROOT}}/usr/share/doc/${PF}/rootston.ini"
+               elog "to the working directory from where you launch rootston"
+               elog "(or pass the '-C path-to-config' option to rootston)."
+               if ! use systemd && ! use elogind; then
+                       elog ""
+                       elog "If you use ConsoleKit2, remember to launch rootston using:"
+                       elog "exec ck-launch-session rootston"
+
+                       fcaps_pkg_postinst
+               fi
+       fi
+}