Magellan Linux

Contents of /trunk/core/xorg-server/xorg-server-1.11.4-r3.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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