Contents of /trunk/extras/xorg-server/xorg-server-1.15.2-r2.smage2
Parent Directory | Revision Log
Revision 22617 -
(show annotations)
(download)
Mon Oct 27 09:35:51 2014 UTC (9 years, 10 months ago) by niro
File size: 9372 byte(s)
Mon Oct 27 09:35:51 2014 UTC (9 years, 10 months ago) by niro
File size: 9372 byte(s)
-added font-util sdep to be able to run autoconf
1 | # $Id$ |
2 | |
3 | PNAME="xorg-server" |
4 | PVER="1.15.2" |
5 | PBUILD="r2" |
6 | |
7 | SPLIT_PACKAGES="xorg-server kdrive xephyr xdmx xnest xvfb" |
8 | |
9 | PCAT="x11-base" |
10 | HOMEPAGE="http://xorg.freedesktop.org" |
11 | |
12 | sminclude xorg mtools |
13 | |
14 | # mesa sources are needed to compile opengl extensions |
15 | MESA_PVER="10.2.9" |
16 | MESA_SRCFILE="MesaLib-${MESA_PVER/_/-}.tar.bz2" |
17 | MESA_SRCDIR="${BUILDDIR}/MesaLib-${MESA_PVER/_/-}" |
18 | |
19 | PROVIDE="virtual/x11" |
20 | |
21 | # see hw/xfree86/common/xf86Module.h for ABI versions |
22 | # or installed pkg-config file |
23 | XORG_SERVER_PROVIDE="virtual/X-ABI-VIDEODRV-15 virtual/X-ABI-XINPUT-20 virtual/X-ABI-EXTENSION-8" |
24 | |
25 | # common depends |
26 | COMMON_DEPEND=">= x11-libs/libXfont-1.4 |
27 | >= x11-libs/libXau-1.0.8 |
28 | >= x11-libs/libXdmcp-1.1 |
29 | >= x11-libs/pixman-0.32 |
30 | >= media-libs/freetype-2.5 |
31 | >= media-fonts/font-misc-misc-1 |
32 | >= media-fonts/font-cursor-misc-1 |
33 | >= app-crypt/libgcrypt-1.6 |
34 | >= app-crypt/libgpg-error-1.12 |
35 | >= sys-fs/udev-216 |
36 | >= sys-apps/dbus-x11-1.8" |
37 | LIBXEXT_DEPEND=">= x11-libs/libXext-1.3" |
38 | LIBX11_DEPEND=">= x11-libs/libX11-1.6" |
39 | LIBXI_DEPEND=">= x11-libs/libXi-1.7" |
40 | MESA_DEPEND="== media-libs/mesa-${MESA_PVER}" |
41 | |
42 | XORG_DEPEND="${COMMON_DEPEND} |
43 | ${MESA_DEPEND} |
44 | >= x11-libs/libxshmfence-1.1 |
45 | >= x11-misc/xkeyboard-config-2.12 |
46 | >= x11-apps/iceauth-1.0.6 |
47 | >= x11-apps/rgb-1.0.5 |
48 | >= x11-apps/xauth-1.0.9 |
49 | >= x11-apps/xinit-1.3 |
50 | >= x11-base/opengl-update-2.3.10 |
51 | >= x11-libs/libpciaccess-0.13.2" |
52 | |
53 | KDRIVE_DEPEND="${COMMON_DEPEND}" |
54 | |
55 | XEPHYR_DEPEND="${COMMON_DEPEND} |
56 | ${LIBXEXT_DEPEND} |
57 | ${LIBX11_DEPEND} |
58 | ${LIBXI_DEPEND} |
59 | ${MESA_DEPEND} |
60 | >= x11-libs/libXv-1.0.10 |
61 | >= x11-libs/libXmu-1.1" |
62 | |
63 | XNEST_DEPEND="${COMMON_DEPEND} |
64 | ${LIBXEXT_DEPEND} |
65 | ${LIBX11_DEPEND}" |
66 | |
67 | XDMX_DEPEND="${COMMON_DEPEND} |
68 | ${LIBXEXT_DEPEND} |
69 | ${LIBX11_DEPEND} |
70 | ${LIBXI_DEPEND} |
71 | >= x11-libs/libdmx-1.1.3 |
72 | >= x11-libs/libXaw-1.0.12 |
73 | >= x11-libs/libXfixes-5 |
74 | >= x11-libs/libXrender-0.9.8" |
75 | |
76 | XVFB_DEPEND="${COMMON_DEPEND}" |
77 | |
78 | SDEPEND="${XORG_DEPEND} |
79 | ${KDRIVE_DEPEND} |
80 | ${XEPHYR_DEPEND} |
81 | ${XNEST_DEPEND} |
82 | ${XDMX_DEPEND} |
83 | ${XVFB_DEPEND} |
84 | >= media-fonts/font-util-1.3 |
85 | == x11-proto/xorg-protos-7.7.${PVER} |
86 | >= x11-libs/libdrm-2.4.58 |
87 | >= x11-libs/libXtst-1.2 |
88 | >= x11-libs/libXres-1.0.7 |
89 | >= x11-libs/xcb-util-image-0.3.9 |
90 | >= x11-libs/xcb-util-keysyms-0.3.8 |
91 | >= x11-libs/xcb-util-wm-0.3.8" |
92 | |
93 | SRC_URI=( ${SRC_URI[*]} |
94 | mirror://${PNAME}/${SRCFILE} |
95 | ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE} |
96 | #sourceforge://mesa3d/${MESA_SRCFILE} |
97 | mirror://mesa/${MESA_SRCFILE} |
98 | mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch |
99 | mirror://${PNAME}/${PNAME}-1.12.3-kdrive-default-mode.patch |
100 | mirror://${PNAME}/${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch |
101 | ) |
102 | |
103 | UP2SUBDIR="xserver" |
104 | UP2DATE="updatecmd_xorg ${PNAME}" |
105 | |
106 | split_info_xorg-server() |
107 | { |
108 | DESCRIPTION="Modular X.Org X Server." |
109 | DEPEND="${XORG_DEPEND}" |
110 | PROVIDE+=" ${XORG_SERVER_PROVIDE}" |
111 | } |
112 | |
113 | split_info_kdrive() |
114 | { |
115 | DESCRIPTION="Tiny X.Org X Server." |
116 | DEPEND="${KDRIVE_DEPEND}" |
117 | } |
118 | |
119 | split_info_xephyr() |
120 | { |
121 | DESCRIPTION="A nested X11 server with opengl support." |
122 | DEPEND="${XEPHYR_DEPEND}" |
123 | } |
124 | |
125 | split_info_xnest() |
126 | { |
127 | DESCRIPTION="A nested X11 server." |
128 | DEPEND="${XNEST_DEPEND}" |
129 | } |
130 | |
131 | split_info_xdmx() |
132 | { |
133 | DESCRIPTION="A distributed multihead X11 Server." |
134 | DEPEND="${XDMX_DEPEND}" |
135 | } |
136 | |
137 | split_info_xvfb() |
138 | { |
139 | DESCRIPTION="A virtual framebuffer X11 server." |
140 | DEPEND="${XVFB_DEPEND}" |
141 | } |
142 | |
143 | src_prepare() |
144 | { |
145 | # must use mesa as opengl-headers! |
146 | [[ $(opengl-update --get-implementation) != xorg ]] && |
147 | die "please change to xorg opengl-headers: opengl-update xorg" |
148 | |
149 | munpack ${SRCFILE} || die |
150 | munpack ${MESA_SRCFILE} || die |
151 | cd ${SRCDIR} |
152 | |
153 | # adopted from redhat; use a black background |
154 | mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die |
155 | |
156 | # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz |
157 | mpatch ${PNAME}-1.12.3-kdrive-default-mode.patch || die |
158 | |
159 | # fix new evdev event devices (event4 and event5) |
160 | mpatch ${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch || die |
161 | |
162 | # fix build issues, some wrapper files which should be generated |
163 | # at build time exist and the makefile doesn't whipe them. we patch |
164 | # the makefile to clean them and whipe these wrapper files |
165 | rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die |
166 | |
167 | # fix xorg.conf.d location |
168 | sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die |
169 | sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die |
170 | |
171 | mautoreconf || die |
172 | } |
173 | |
174 | src_compile() |
175 | { |
176 | cd ${SRCDIR} |
177 | |
178 | xorg_src_configure \ |
179 | --with-mesa-source=${MESA_SRCDIR} \ |
180 | --sysconfdir=/etc \ |
181 | --localstatedir=/var \ |
182 | --with-xkb-output=/var/lib/xkb \ |
183 | --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \ |
184 | --enable-install-setuid \ |
185 | --enable-ipv6 \ |
186 | --enable-xorg \ |
187 | --enable-kdrive \ |
188 | --enable-xephyr \ |
189 | --enable-dmx \ |
190 | --enable-xvfb \ |
191 | --enable-xnest \ |
192 | --enable-dri \ |
193 | --enable-dri2 \ |
194 | --enable-dri3 \ |
195 | --enable-xtrap \ |
196 | --enable-xevie \ |
197 | --enable-xcsecurity \ |
198 | --disable-xprint \ |
199 | --enable-glx-tls \ |
200 | --disable-static \ |
201 | --disable-config-dbus \ |
202 | --disable-config-hal \ |
203 | --enable-config-udev \ |
204 | --enable-kdrive-kbd \ |
205 | --enable-kdrive-mouse \ |
206 | --enable-kdrive-evdev \ |
207 | || die |
208 | |
209 | mmake || die |
210 | } |
211 | |
212 | src_install_xorg-server() |
213 | { |
214 | xorg_src_install || die |
215 | |
216 | # needed directories |
217 | minstalldir /usr/bin || die |
218 | minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die |
219 | |
220 | # dynamic opengl setup |
221 | local i |
222 | for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \ |
223 | ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri* |
224 | do |
225 | if [ -f ${i} -o -L ${i} ] |
226 | then |
227 | mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}" |
228 | fi |
229 | done |
230 | |
231 | # missing symlink |
232 | mlink Xorg /usr/bin/X || die |
233 | |
234 | # remove stuff included in other packages |
235 | # xfbdev |
236 | mdelete /usr/bin/Xfbdev || die |
237 | # xephyr |
238 | mdelete /usr/bin/Xephyr || die |
239 | mdelete /usr/share/man/man1/Xephyr.1 || die |
240 | # xnest |
241 | mdelete /usr/bin/Xnest || die |
242 | mdelete /usr/share/man/man1/Xnest.1 || die |
243 | # xdmx |
244 | mdelete /usr/bin/Xdmx || die |
245 | mdelete /usr/share/man/man1/Xdmx.1 || die |
246 | mdelete /usr/bin/dmxaddinput || die |
247 | mdelete /usr/bin/dmxaddscreen || die |
248 | mdelete /usr/bin/dmxreconfig || die |
249 | mdelete /usr/bin/dmxresize || die |
250 | mdelete /usr/bin/dmxrminput || die |
251 | mdelete /usr/bin/dmxrmscreen || die |
252 | mdelete /usr/bin/dmxwininfo || die |
253 | mdelete /usr/bin/dmxinfo || die |
254 | mdelete /usr/bin/dmxtodmx || die |
255 | mdelete /usr/share/man/man1/dmxtodmx.1 || die |
256 | mdelete /usr/bin/vdltodmx || die |
257 | mdelete /usr/share/man/man1/vdltodmx.1 || die |
258 | mdelete /usr/bin/xdmxconfig || die |
259 | mdelete /usr/share/man/man1/xdmxconfig.1 || die |
260 | # xvfb |
261 | mdelete /usr/bin/Xvfb || die |
262 | mdelete /usr/share/man/man1/Xvfb.1 || die |
263 | } |
264 | |
265 | src_install_kdrive() |
266 | { |
267 | cd ${SRCDIR} |
268 | |
269 | minstallexec hw/kdrive/fbdev/Xfbdev || die |
270 | #minstallman hw/kdrive/fbdev/Xfbdev.1 || die |
271 | |
272 | # suid all tinyX servers |
273 | mchmod 4755 /usr/bin/X\* || die |
274 | |
275 | # needed directory |
276 | mkeepdir /usr/share/X11/xkb/compiled || die |
277 | } |
278 | |
279 | src_install_xephyr() |
280 | { |
281 | cd ${SRCDIR} |
282 | |
283 | minstallexec hw/kdrive/ephyr/Xephyr || die |
284 | minstallman hw/kdrive/ephyr/man/Xephyr.1 || die |
285 | |
286 | # suid all tinyX servers |
287 | mchmod 4755 /usr/bin/X\* || die |
288 | |
289 | # needed directory |
290 | mkeepdir /usr/share/X11/xkb/compiled || die |
291 | } |
292 | |
293 | src_install_xnest() |
294 | { |
295 | cd ${SRCDIR} |
296 | |
297 | minstallexec hw/xnest/Xnest || die |
298 | minstallman hw/xnest/man/Xnest.1 || die |
299 | |
300 | # needed directory |
301 | mkeepdir /usr/share/X11/xkb/compiled || die |
302 | } |
303 | |
304 | src_install_xdmx() |
305 | { |
306 | cd ${SRCDIR} |
307 | |
308 | minstallexec hw/dmx/Xdmx || die |
309 | minstallman hw/dmx/man/Xdmx.1 || die |
310 | |
311 | minstallexec hw/dmx/examples/dmxaddinput || die |
312 | minstallexec hw/dmx/examples/dmxaddscreen || die |
313 | minstallexec hw/dmx/examples/dmxreconfig || die |
314 | minstallexec hw/dmx/examples/dmxresize || die |
315 | minstallexec hw/dmx/examples/dmxrminput || die |
316 | minstallexec hw/dmx/examples/dmxrmscreen || die |
317 | minstallexec hw/dmx/examples/dmxwininfo || die |
318 | minstallexec hw/dmx/examples/dmxinfo || die |
319 | |
320 | minstallexec hw/dmx/config/dmxtodmx || die |
321 | minstallman hw/dmx/config/man/dmxtodmx.1 || die |
322 | |
323 | minstallexec hw/dmx/config/vdltodmx || die |
324 | minstallman hw/dmx/config/man/vdltodmx.1 || die |
325 | |
326 | minstallexec hw/dmx/config/xdmxconfig || die |
327 | minstallman hw/dmx/config/man/xdmxconfig.1 || die |
328 | |
329 | # needed directory |
330 | mkeepdir /usr/share/X11/xkb/compiled || die |
331 | } |
332 | |
333 | src_install_xvfb() |
334 | { |
335 | cd ${SRCDIR} |
336 | |
337 | minstallexec hw/vfb/Xvfb || die |
338 | minstallman hw/vfb/man/Xvfb.1 || die |
339 | |
340 | # needed directory |
341 | mkeepdir /usr/share/X11/xkb/compiled || die |
342 | } |
343 | |
344 | preinstall_xorg-server() |
345 | { |
346 | # fix some deprecated symlinks from ancient xorg-1.5 servers |
347 | if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ] |
348 | then |
349 | rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so |
350 | fi |
351 | |
352 | if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ] |
353 | then |
354 | rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so |
355 | fi |
356 | |
357 | if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ] |
358 | then |
359 | rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so |
360 | fi |
361 | |
362 | if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ] |
363 | then |
364 | rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so |
365 | fi |
366 | } |
367 | |
368 | postinstall_xorg-server() |
369 | { |
370 | ${MROOT}/usr/sbin/opengl-update --use-old xorg |
371 | } |
372 | |
373 | postremove_xorg-server() |
374 | { |
375 | # get rid of module dir to ensure opengl-update works properly |
376 | if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ] |
377 | then |
378 | if [[ -z $(magequery -n xorg-server) ]] |
379 | then |
380 | rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules |
381 | fi |
382 | fi |
383 | } |