dev-libs/wlroots: new package (version 0.1)
authorNiccolò Scatena <speedjack95@gmail.com>
Mon, 22 Oct 2018 12:24:04 +0000 (14:24 +0200)
committerMichał Górny <mgorny@gentoo.org>
Tue, 30 Oct 2018 10:32:25 +0000 (11:32 +0100)
wlroots is a library used to build a Wayland compositor. It is part of
the swaywm project and is required for >=sway-1.0. Sway is an
i3-compatible Wayland compositor.

Closes: https://bugs.gentoo.org/669256
Signed-off-by: Niccolò Scatena <speedjack95@gmail.com>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Signed-off-by: Michał Górny <mgorny@gentoo.org>
dev-libs/wlroots/Manifest [new file with mode: 0644]
dev-libs/wlroots/metadata.xml [new file with mode: 0644]
dev-libs/wlroots/wlroots-0.1.ebuild [new file with mode: 0644]

diff --git a/dev-libs/wlroots/Manifest b/dev-libs/wlroots/Manifest
new file mode 100644 (file)
index 0000000..9ea9769
--- /dev/null
@@ -0,0 +1 @@
+DIST wlroots-0.1.tar.gz 436459 BLAKE2B 8545adb7a9ffe1c4b071ddad1093472f45b24638b29b3c2898b4aa3629c364936be7bec348c9aac5a7d3ecda677df108361fbef08cda8fca9c6bb21639883c86 SHA512 43897ac5a512ea26ad9703182dab5de9c714a087449b108472f638148538a632a67cfc778edf3e77940fdd7bdba91d64a4dc4e4ed1903a150f13ca59237ce01e
diff --git a/dev-libs/wlroots/metadata.xml b/dev-libs/wlroots/metadata.xml
new file mode 100644 (file)
index 0000000..b97edbb
--- /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>speedjack95@gmail.com</email>
+               <name>Niccolò Scatena</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <longdescription>
+               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/dev-libs/wlroots/wlroots-0.1.ebuild b/dev-libs/wlroots/wlroots-0.1.ebuild
new file mode 100644 (file)
index 0000000..eae2493
--- /dev/null
@@ -0,0 +1,96 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} == 9999 ]] ; then
+       EGIT_REPO_URI="https://github.com/swaywm/wlroots.git"
+       inherit git-r3
+else
+       SRC_URI="https://github.com/swaywm/wlroots/archive/${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+inherit fcaps meson
+
+DESCRIPTION="Pluggable, composable, unopinionated modules for building a Wayland compositor"
+HOMEPAGE="https://github.com/swaywm/wlroots"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="elogind icccm rootston systemd x11-backend X"
+REQUIRED_USE="?? ( elogind systemd )"
+
+RDEPEND=">=dev-libs/libinput-1.7.0:0=
+       >=dev-libs/wayland-1.16.0
+       >=dev-libs/wayland-protocols-1.15
+       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=[xkb] )
+       X? (
+               x11-base/xorg-server[wayland]
+               x11-libs/libxcb:0=
+       )"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-util/meson-0.48
+       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)
+               -Dxcb-xkb=$(usex x11-backend enabled disabled)
+               -Dxwayland=$(usex X enabled disabled)
+               -Dx11-backend=$(usex x11-backend enabled disabled)
+               -Drootston=$(usex rootston true false)
+               "-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
+}