Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/wlroots/
Date: Tue, 30 Oct 2018 10:34:05
Message-Id: 1540895545.f691b4642a268fe36aaa30ba0427289a0e16121d.mgorny@gentoo
1 commit: f691b4642a268fe36aaa30ba0427289a0e16121d
2 Author: Niccolò Scatena <speedjack95 <AT> gmail <DOT> com>
3 AuthorDate: Mon Oct 22 12:24:04 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Tue Oct 30 10:32:25 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f691b464
7
8 dev-libs/wlroots: new package (version 0.1)
9
10 wlroots is a library used to build a Wayland compositor. It is part of
11 the swaywm project and is required for >=sway-1.0. Sway is an
12 i3-compatible Wayland compositor.
13
14 Closes: https://bugs.gentoo.org/669256
15 Signed-off-by: Niccolò Scatena <speedjack95 <AT> gmail.com>
16 Package-Manager: Portage-2.3.51, Repoman-2.3.11
17 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
18
19 dev-libs/wlroots/Manifest | 1 +
20 dev-libs/wlroots/metadata.xml | 40 ++++++++++++++++
21 dev-libs/wlroots/wlroots-0.1.ebuild | 96 +++++++++++++++++++++++++++++++++++++
22 3 files changed, 137 insertions(+)
23
24 diff --git a/dev-libs/wlroots/Manifest b/dev-libs/wlroots/Manifest
25 new file mode 100644
26 index 00000000000..9ea97695e85
27 --- /dev/null
28 +++ b/dev-libs/wlroots/Manifest
29 @@ -0,0 +1 @@
30 +DIST wlroots-0.1.tar.gz 436459 BLAKE2B 8545adb7a9ffe1c4b071ddad1093472f45b24638b29b3c2898b4aa3629c364936be7bec348c9aac5a7d3ecda677df108361fbef08cda8fca9c6bb21639883c86 SHA512 43897ac5a512ea26ad9703182dab5de9c714a087449b108472f638148538a632a67cfc778edf3e77940fdd7bdba91d64a4dc4e4ed1903a150f13ca59237ce01e
31
32 diff --git a/dev-libs/wlroots/metadata.xml b/dev-libs/wlroots/metadata.xml
33 new file mode 100644
34 index 00000000000..b97edbb562b
35 --- /dev/null
36 +++ b/dev-libs/wlroots/metadata.xml
37 @@ -0,0 +1,40 @@
38 +<?xml version="1.0" encoding="UTF-8"?>
39 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
40 +<pkgmetadata>
41 + <maintainer type="person">
42 + <email>speedjack95@×××××.com</email>
43 + <name>Niccolò Scatena</name>
44 + </maintainer>
45 + <maintainer type="project">
46 + <email>proxy-maint@g.o</email>
47 + <name>Proxy Maintainers</name>
48 + </maintainer>
49 + <longdescription>
50 + Pluggable, composable, unopinionated modules for building a Wayland
51 + compositor.
52 +
53 + wlroots implements a huge variety of Wayland compositor features and
54 + implements them right. By using wlroots, you get high performance,
55 + excellent hardware compatibility, broad support for many wayland
56 + interfaces, and comfortable development tools.
57 +
58 + wlroots is developed under the direction of the <pkg>dev-libs/sway</pkg> project.
59 + </longdescription>
60 + <use>
61 + <flag name="elogind">Enable support for rootless session via elogind</flag>
62 + <flag name="icccm">Use xcb-icccm (from <pkg>x11-libs/xcb-util-wm</pkg>) util library for improved Xwayland introspection</flag>
63 + <flag name="rootston">Build the rootston example compositor</flag>
64 + <flag name="x11-backend">Enable support for handling input/output devices through <pkg>x11-libs/libxcb</pkg></flag>
65 + <flag name="X">Enable support for X11 applications (XWayland)</flag>
66 + </use>
67 + <upstream>
68 + <remote-id type="github">swaywm/wlroots</remote-id>
69 + <maintainer status="active">
70 + <email>sir@×××××.com</email>
71 + <name>Drew DeVault</name>
72 + </maintainer>
73 + <bugs-to>https://github.com/swaywm/wlroots/issues</bugs-to>
74 + <doc>https://github.com/swaywm/wlroots/wiki</doc>
75 + <changelog>https://github.com/swaywm/wlroots/releases</changelog>
76 + </upstream>
77 +</pkgmetadata>
78
79 diff --git a/dev-libs/wlroots/wlroots-0.1.ebuild b/dev-libs/wlroots/wlroots-0.1.ebuild
80 new file mode 100644
81 index 00000000000..eae2493458c
82 --- /dev/null
83 +++ b/dev-libs/wlroots/wlroots-0.1.ebuild
84 @@ -0,0 +1,96 @@
85 +# Copyright 1999-2018 Gentoo Authors
86 +# Distributed under the terms of the GNU General Public License v2
87 +
88 +EAPI=7
89 +
90 +if [[ ${PV} == 9999 ]] ; then
91 + EGIT_REPO_URI="https://github.com/swaywm/wlroots.git"
92 + inherit git-r3
93 +else
94 + SRC_URI="https://github.com/swaywm/wlroots/archive/${PV}.tar.gz -> ${P}.tar.gz"
95 + KEYWORDS="~amd64 ~x86"
96 +fi
97 +
98 +inherit fcaps meson
99 +
100 +DESCRIPTION="Pluggable, composable, unopinionated modules for building a Wayland compositor"
101 +HOMEPAGE="https://github.com/swaywm/wlroots"
102 +
103 +LICENSE="MIT"
104 +SLOT="0"
105 +IUSE="elogind icccm rootston systemd x11-backend X"
106 +REQUIRED_USE="?? ( elogind systemd )"
107 +
108 +RDEPEND=">=dev-libs/libinput-1.7.0:0=
109 + >=dev-libs/wayland-1.16.0
110 + >=dev-libs/wayland-protocols-1.15
111 + media-libs/mesa[egl,gles2,gbm]
112 + virtual/libudev
113 + x11-libs/libdrm
114 + x11-libs/libxkbcommon
115 + x11-libs/pixman
116 + elogind? ( >=sys-auth/elogind-237 )
117 + icccm? ( x11-libs/xcb-util-wm )
118 + systemd? ( >=sys-apps/systemd-237 )
119 + x11-backend? ( x11-libs/libxcb:0=[xkb] )
120 + X? (
121 + x11-base/xorg-server[wayland]
122 + x11-libs/libxcb:0=
123 + )"
124 +DEPEND="${RDEPEND}"
125 +BDEPEND=">=dev-util/meson-0.48
126 + virtual/pkgconfig"
127 +
128 +FILECAPS=( cap_sys_admin usr/bin/rootston )
129 +
130 +src_configure() {
131 + # xcb-util-errors is not on Gentoo Repository (and upstream seems inactive?)
132 + local emesonargs=(
133 + "-Dxcb-errors=disabled"
134 + -Dlibcap=$(usex filecaps enabled disabled)
135 + -Dxcb-icccm=$(usex icccm enabled disabled)
136 + -Dxcb-xkb=$(usex x11-backend enabled disabled)
137 + -Dxwayland=$(usex X enabled disabled)
138 + -Dx11-backend=$(usex x11-backend enabled disabled)
139 + -Drootston=$(usex rootston true false)
140 + "-Dexamples=false"
141 + "-Dwerror=false"
142 + )
143 + if use systemd ; then
144 + emesonargs+=("-Dlogind=enabled" "-Dlogind-provider=systemd")
145 + elif use elogind ; then
146 + emesonargs+=("-Dlogind=enabled" "-Dlogind-provider=elogind")
147 + else
148 + emesonargs+=("-Dlogind=disabled")
149 + fi
150 +
151 + meson_src_configure
152 +}
153 +
154 +src_install() {
155 + if use rootston ; then
156 + dobin "${BUILD_DIR}"/rootston/rootston
157 + newdoc rootston/rootston.ini.example rootston.ini
158 + fi
159 +
160 + meson_src_install
161 +}
162 +
163 +pkg_postinst() {
164 + elog "You must be in the input group to allow your compositor"
165 + elog "to access input devices via libinput."
166 + if use rootston ; then
167 + elog ""
168 + elog "You should copy (and decompress) the example configuration file"
169 + elog "from ${EROOT:-${ROOT}}/usr/share/doc/${PF}/rootston.ini"
170 + elog "to the working directory from where you launch rootston"
171 + elog "(or pass the '-C path-to-config' option to rootston)."
172 + if ! use systemd && ! use elogind ; then
173 + elog ""
174 + elog "If you use ConsoleKit2, remember to launch rootston using:"
175 + elog "exec ck-launch-session rootston"
176 +
177 + fcaps_pkg_postinst
178 + fi
179 + fi
180 +}