Gentoo Archives: gentoo-commits

From: Piotr Karbowski <slashbeast@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/
Date: Mon, 01 Nov 2021 19:32:25
Message-Id: 1635795134.f30f6ccddc4c4feffa3d40d8f5353d355df7bb2e.slashbeast@gentoo
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() {