1 |
commit: f30f6ccddc4c4feffa3d40d8f5353d355df7bb2e |
2 |
Author: Piotr Karbowski <slashbeast <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Nov 1 19:28:54 2021 +0000 |
4 |
Commit: Piotr Karbowski <slashbeast <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Nov 1 19:32:14 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f30f6ccd |
7 |
|
8 |
x11-base/xorg-server: switch from autotools to meson in live ebuild. |
9 |
|
10 |
The meson integration is a bit wonky, we need to get the things into |
11 |
eclass ideally, as we move forward, maybe xorg-4 that has no autotools |
12 |
logic? |
13 |
|
14 |
kdrive is no more interfaced via configuration options, so dropping it |
15 |
from IUSE. |
16 |
|
17 |
Tested both with live ebuild as well as x11-base/xorg-server-1.20.13, |
18 |
works just fine (minus the libxcvt bit, of course) |
19 |
|
20 |
X symlink is no longer created so we create it now outside meson |
21 |
install. |
22 |
|
23 |
List of installes files metch minus example xfree86 config and cvt. |
24 |
|
25 |
Closes: https://bugs.gentoo.org/820845 |
26 |
Signed-off-by: Piotr Karbowski <slashbeast <AT> gentoo.org> |
27 |
|
28 |
x11-base/xorg-server/xorg-server-9999.ebuild | 112 +++++++++++---------------- |
29 |
1 file changed, 47 insertions(+), 65 deletions(-) |
30 |
|
31 |
diff --git a/x11-base/xorg-server/xorg-server-9999.ebuild b/x11-base/xorg-server/xorg-server-9999.ebuild |
32 |
index 428f4355da4..27d63ee09fb 100644 |
33 |
--- a/x11-base/xorg-server/xorg-server-9999.ebuild |
34 |
+++ b/x11-base/xorg-server/xorg-server-9999.ebuild |
35 |
@@ -5,8 +5,9 @@ EAPI=7 |
36 |
|
37 |
XORG_DOC=doc |
38 |
XORG_TARBALL_SUFFIX="xz" |
39 |
-inherit xorg-3 multilib flag-o-matic toolchain-funcs |
40 |
+inherit xorg-3 meson |
41 |
EGIT_REPO_URI="https://gitlab.freedesktop.org/xorg/xserver.git" |
42 |
+XORG_EAUTORECONF="no" |
43 |
|
44 |
DESCRIPTION="X.Org X servers" |
45 |
SLOT="0/${PV}" |
46 |
@@ -14,7 +15,7 @@ if [[ ${PV} != 9999* ]]; then |
47 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" |
48 |
fi |
49 |
|
50 |
-IUSE_SERVERS="kdrive xephyr xnest xorg xvfb" |
51 |
+IUSE_SERVERS="xephyr xnest xorg xvfb" |
52 |
IUSE="${IUSE_SERVERS} debug +elogind ipv6 minimal selinux suid systemd test +udev unwind xcsecurity" |
53 |
RESTRICT="!test? ( test )" |
54 |
|
55 |
@@ -36,10 +37,8 @@ CDEPEND=" |
56 |
>=x11-libs/pixman-0.27.2 |
57 |
>=x11-misc/xbitmaps-1.0.1 |
58 |
>=x11-misc/xkeyboard-config-2.4.1-r3 |
59 |
- kdrive? ( |
60 |
- >=x11-libs/libXext-1.0.5 |
61 |
- x11-libs/libXv |
62 |
- ) |
63 |
+ >=x11-libs/libXext-1.0.5 |
64 |
+ x11-libs/libXv |
65 |
xephyr? ( |
66 |
x11-libs/libxcb[xkb] |
67 |
x11-libs/xcb-util |
68 |
@@ -86,8 +85,7 @@ REQUIRED_USE="!minimal? ( |
69 |
|| ( ${IUSE_SERVERS} ) |
70 |
) |
71 |
elogind? ( udev ) |
72 |
- ?? ( elogind systemd ) |
73 |
- xephyr? ( kdrive )" |
74 |
+ ?? ( elogind systemd )" |
75 |
|
76 |
UPSTREAMED_PATCHES=( |
77 |
) |
78 |
@@ -105,83 +103,67 @@ src_configure() { |
79 |
# sysconfdir is used for the xorg.conf location; same applies |
80 |
# NOTE: fop is used for doc generating; and I have no idea if Gentoo |
81 |
# package it somewhere |
82 |
- local XORG_CONFIGURE_OPTIONS=( |
83 |
- $(use_enable ipv6) |
84 |
- $(use_enable debug) |
85 |
- $(use_enable kdrive) |
86 |
- $(use_enable test unit-tests) |
87 |
- $(use_enable unwind libunwind) |
88 |
- $(use_enable !minimal record) |
89 |
- $(use_enable !minimal xfree86-utils) |
90 |
- $(use_enable !minimal dri) |
91 |
- $(use_enable !minimal dri2) |
92 |
- $(use_enable !minimal dri3) |
93 |
- $(use_enable !minimal glamor) |
94 |
- $(use_enable !minimal glx) |
95 |
- $(use_enable xcsecurity) |
96 |
- $(use_enable xephyr) |
97 |
- $(use_enable xnest) |
98 |
- $(use_enable xorg) |
99 |
- $(use_enable xvfb) |
100 |
- $(use_enable udev config-udev) |
101 |
- $(use_with doc doxygen) |
102 |
- $(use_with doc xmlto) |
103 |
- $(use_with systemd systemd-daemon) |
104 |
- --disable-xwayland |
105 |
- --enable-libdrm |
106 |
- --sysconfdir="${EPREFIX}"/etc/X11 |
107 |
- --localstatedir="${EPREFIX}"/var |
108 |
- --with-fontrootdir="${EPREFIX}"/usr/share/fonts |
109 |
- --with-xkb-output="${EPREFIX}"/var/lib/xkb |
110 |
- --disable-config-hal |
111 |
- --disable-linux-acpi |
112 |
- --without-dtrace |
113 |
- --without-fop |
114 |
- --with-sha1=libcrypto |
115 |
- CPP="$(tc-getPROG CPP cpp)" |
116 |
+ |
117 |
+ local emesonargs=( |
118 |
+ --localstatedir "${EPREFIX}/var" |
119 |
+ --sysconfdir "${EPREFIX}/etc/X11" |
120 |
+ $(meson_use ipv6) |
121 |
+ $(meson_use debug) |
122 |
+ $(meson_use unwind libunwind) |
123 |
+ $(meson_use !minimal dri) |
124 |
+ $(meson_use !minimal dri2) |
125 |
+ $(meson_use !minimal dri3) |
126 |
+ $(meson_use !minimal glx) |
127 |
+ $(meson_use !minimal glamor) |
128 |
+ $(meson_use xcsecurity) |
129 |
+ $(meson_use xephyr) |
130 |
+ $(meson_use xnest) |
131 |
+ $(meson_use xorg) |
132 |
+ $(meson_use xvfb) |
133 |
+ $(meson_use udev) |
134 |
+ $(meson_use udev udev_kms) |
135 |
+ $(meson_use doc docs) |
136 |
+ -Ddrm=true |
137 |
+ -Dxwayland=false |
138 |
+ -Dxkb_output_dir="${EPREFIX}/var/lib/xkb" |
139 |
+ -Dhal=false |
140 |
+ -Dlinux_acpi=false |
141 |
+ -Ddtrace=false |
142 |
+ -Dsha1=libcrypto |
143 |
+ -Ddefault_font_path="${EPREFIX}"/usr/share/fonts |
144 |
) |
145 |
|
146 |
if use systemd || use elogind; then |
147 |
- XORG_CONFIGURE_OPTIONS+=( |
148 |
- --enable-systemd-logind |
149 |
- --disable-install-setuid |
150 |
- $(use_enable suid suid-wrapper) |
151 |
+ emesonargs+=( |
152 |
+ -Dsystemd_logind=true |
153 |
+ $(meson_use suid suid_wrapper) |
154 |
) |
155 |
else |
156 |
- XORG_CONFIGURE_OPTIONS+=( |
157 |
- --disable-systemd-logind |
158 |
- --disable-suid-wrapper |
159 |
- $(use_enable suid install-setuid) |
160 |
+ emesonargs+=( |
161 |
+ -Dsystemd_logind=false |
162 |
+ $(meson_use suid suid_wrapper) |
163 |
) |
164 |
fi |
165 |
|
166 |
- xorg-3_src_configure |
167 |
+ meson_src_configure |
168 |
} |
169 |
|
170 |
-server_based_install() { |
171 |
+src_install() { |
172 |
+ meson_src_install |
173 |
+ |
174 |
+ #The new meson build system do not leave X symlink |
175 |
+ ln -s Xorg "${ED}"/usr/bin/X |
176 |
+ |
177 |
if ! use xorg; then |
178 |
rm -f "${ED}"/usr/share/man/man1/Xserver.1x \ |
179 |
"${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \ |
180 |
"${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \ |
181 |
"${ED}"/usr/share/man/man1/Xserver.1x || die |
182 |
fi |
183 |
-} |
184 |
- |
185 |
-src_install() { |
186 |
- xorg-3_src_install |
187 |
- |
188 |
- server_based_install |
189 |
- |
190 |
- if ! use minimal && use xorg; then |
191 |
- # Install xorg.conf.example into docs |
192 |
- dodoc "${S}"/hw/xfree86/xorg.conf.example |
193 |
- fi |
194 |
|
195 |
# install the @x11-module-rebuild set for Portage |
196 |
insinto /usr/share/portage/config/sets |
197 |
newins "${FILESDIR}"/xorg-sets.conf xorg.conf |
198 |
- |
199 |
- find "${ED}"/var -type d -empty -delete || die |
200 |
} |
201 |
|
202 |
pkg_postrm() { |