Magellan Linux

Contents of /trunk/extras/xorg-server/xorg-server-1.14.3-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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