Magellan Linux

Contents of /smage/trunk/core/xorg-server/xorg-server-1.8.0-r4.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 590 - (show annotations) (download)
Wed Oct 13 21:29:23 2010 UTC (13 years, 6 months ago) by niro
File size: 7219 byte(s)
-enabled opengl, composite, dri, dri2 and xinerama
1 # $Id: xorg-server-1.8.0-r2.smage2 419 2010-05-06 23:13:19Z niro $
2
3 PNAME="xorg-server"
4 PVER="1.8.0"
5 PBUILD="r4"
6
7 PCATEGORIE="x11-base"
8 STATE="unstable"
9
10 DESCRIPTION="Modular X.Org X Server."
11 HOMEPAGE="http://xorg.freedesktop.org"
12
13 # mesa sources are needed to compile opengl extensions
14 MESA_PVER="7.8.1"
15 MESA_SRCFILE="MesaLib-${MESA_PVER/_/-}.tar.gz"
16 MESA_SRCDIR="${BUILDDIR}/MesaLib-${MESA_PVER/_/-}"
17
18 PROVIDE="virtual/x11"
19
20 DEPEND=">= x11-libs/libXfont-1.4.1
21 >= x11-libs/libXau-1.0.5
22 >= x11-libs/libXext-1.1
23 >= x11-libs/libX11-1.3.1
24 >= x11-libs/libxkbfile-1.0.6
25 >= x11-libs/libXdmcp-1.0.3
26 >= x11-libs/libXmu-1.0.5
27 >= x11-libs/libXrender-0.9.5
28 >= x11-libs/libXi-1.3
29 >= media-libs/freetype-2.3.9
30 >= media-fonts/font-misc-misc-1
31 >= media-fonts/font-cursor-misc-1
32 >= x11-libs/libXpm-3.5.8
33 >= x11-libs/libXinerama-1.1
34 >= sys-fs/udev-151
35 >= x11-libs/pixman-0.16.2
36 >= x11-libs/libpciaccess-0.10.9
37 >= dev-libs/libsha1-0.2
38 == media-libs/mesa-${MESA_PVER}
39 >= x11-base/opengl-update-magellan-2.2.10
40 >= x11-libs/libXxf86misc-1.0.2
41 >= x11-libs/libXxf86vm-1.1.0"
42 # >= x11-misc/xbitmaps-1.1.0
43 # >= x11-misc/xkeyboard-config-1.7
44 # >= x11-apps/iceauth-1.0.3
45 # >= x11-apps/rgb-1.0.3
46 # >= x11-apps/xauth-1.0.4
47 # >= x11-apps/xinit-1.1.1
48 # >= x11-libs/libXaw-1.0.7
49 # >= x11-libs/libdmx-1.1.0
50 # >= x11-libs/libXtst-1.1.0
51 # >= x11-libs/libXres-1.0.4
52 # >= x11-libs/libxkbui-1.0.2
53
54 SDEPEND=">= x11-libs/xtrans-1.2.5
55 >= x11-proto/randrproto-1.3.1
56 >= x11-proto/renderproto-0.11
57 >= x11-proto/fixesproto-4.1.1
58 >= x11-proto/damageproto-1.2.0
59 >= x11-proto/xextproto-7.1.1
60 >= x11-proto/xproto-7.0.16
61 >= x11-proto/xf86dgaproto-2.1
62 >= x11-proto/xf86miscproto-0.9.3
63 >= x11-proto/xf86vidmodeproto-2.3
64 >= x11-proto/xf86bigfontproto-1.2.0
65 >= x11-proto/recordproto-1.14
66 >= x11-proto/resourceproto-1.1.0
67 >= x11-proto/videoproto-2.3.0
68 >= x11-proto/scrnsaverproto-1.2.0
69 >= x11-proto/evieext-1.1.0
70 >= x11-proto/fontsproto-2.1.0
71 >= x11-proto/kbproto-1.0.4
72 >= x11-proto/inputproto-2.0
73 >= x11-proto/bigreqsproto-1.1.0
74 >= x11-proto/xcmiscproto-1.2.0
75 >= x11-apps/mkfontdir-1.0.5
76 >= x11-apps/mkfontscale-1.0.7
77 >= x11-misc/xbitmaps-1.1.0
78 >= x11-proto/compositeproto-0.4.1
79 >= x11-proto/xineramaproto-1.2
80 >= x11-proto/glproto-1.4.10
81 >= x11-proto/xf86driproto-2.1.0
82 >= x11-proto/dri2proto-2.1
83 >= x11-libs/libdrm-2.4.15"
84
85 #??? >= x11-libs/libXv-1.0.5"
86 # >= x11-proto/dmxproto-2.3
87
88 # base files
89 MCORE_ONLY_KEEP="etc/X11
90 usr/bin/Xorg
91 usr/$(mlibdir)/xorg/protocol.txt
92 var/lib/xkb/README.compiled"
93
94 # generic modules
95 MCORE_ONLY_KEEP+=" usr/$(mlibdir)/xorg/modules/libvgahw.so
96 usr/$(mlibdir)/xorg/modules/libvbe.so
97 usr/$(mlibdir)/xorg/modules/libshadow.so
98 usr/$(mlibdir)/xorg/modules/libexa.so
99 usr/$(mlibdir)/xorg/modules/libxaa.so
100 usr/$(mlibdir)/xorg/modules/libint10.so
101 usr/$(mlibdir)/xorg/modules/libfb.so
102 usr/$(mlibdir)/xorg/modules/libshadowfb.so"
103
104 # generic extensions
105 MCORE_ONLY_KEEP+=" usr/$(mlibdir)/xorg/modules/extensions/libextmod.so
106 usr/$(mlibdir)/xorg/modules/extensions/libdbe.so"
107
108 sminclude xorg mtools mcore-split
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}-1.4-fpic-libxf86config.patch
116 mirror://${PNAME}/${PNAME}-1.2.0-die-ugly-pattern-die-die-die.patch
117 mirror://${PNAME}/${PNAME}-${PVER}-match-only-sane-devices.patch
118 mirror://${PNAME}/${PNAME}-${PVER}-kdrive-default-mode.patch
119 mirror://${PNAME}/${PNAME}-${PVER}-kdrive-evdev-with-valid-mouse-devices.patch
120 )
121
122 UP2SUBDIR="xserver"
123 UP2DATE="updatecmd_xorg ${PNAME}"
124
125 src_prepare()
126 {
127 munpack ${SRCFILE} || die
128 cd ${SRCDIR}
129
130 # fixes fpic issues with libxf86config on 64bit systems
131 mpatch ${PNAME}-1.4-fpic-libxf86config.patch || die
132
133 # adopted from redhat; use a black background
134 mpatch ${PNAME}-1.2.0-die-ugly-pattern-die-die-die.patch || die
135
136 # only match sane devices in 10-evdev.conf
137 # having a generic catchall also adds devices like accelerometers. These
138 # devices make X unusable, hence restrict matching to "known sane" devices
139 # like pointers, touchpads, keyboards, tablets and touchscreens.
140 mpatch ${PNAME}-${PVER}-match-only-sane-devices.patch || die
141
142 # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz
143 mpatch ${PNAME}-${PVER}-kdrive-default-mode.patch || die
144
145 # fix new evdev event devices (event4 and event5)
146 mpatch ${PNAME}-${PVER}-kdrive-evdev-with-valid-mouse-devices.patch || die
147
148 # fix build issues, some wrapper files which should be generated
149 # at build time exist and the makefile doesn't whipe them. we patch
150 # the makefile to clean them and whipe these wrapper files
151 rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
152
153 # fix xorg.conf.d location
154 sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
155 sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
156
157 autoreconf --verbose --install --force || die
158 }
159
160 src_compile()
161 {
162 cd ${SRCDIR}
163
164 xorg_src_configure \
165 --with-mesa-source=${MESA_SRCDIR} \
166 --sysconfdir=/etc \
167 --localstatedir=/var \
168 --with-xkb-output=/var/lib/xkb \
169 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
170 --enable-install-setuid \
171 --disable-ipv6 \
172 --disable-dmx \
173 --disable-xvfb \
174 --disable-xnest \
175 --enable-dri \
176 --enable-dri2 \
177 --enable-xorg \
178 --enable-xtrap \
179 --enable-xevie \
180 --disable-xprint \
181 --enable-glx-tls \
182 --enable-glx \
183 --disable-static \
184 --disable-config-dbus \
185 --disable-config-hal \
186 --enable-config-udev \
187 --enable-composite \
188 --enable-xinerama \
189 --with-sha1=libsha1 \
190 || die
191
192 mmake || die
193 }
194
195 mcore_generic_src_install()
196 {
197 xorg_src_install || die
198
199 # needed directories
200 minstalldir /usr/bin || die
201 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
202
203 # dynamic opengl setup
204 local i
205 for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
206 ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
207 do
208 if [ -f ${i} -o -L ${i} ]
209 then
210 mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
211 fi
212 done
213
214 # missing symlink
215 mlink Xorg /usr/bin/X || die
216 }
217
218 preinstall()
219 {
220 # fix some deprecated symlinks from ancient xorg-1.5 servers
221 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
222 then
223 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
224 fi
225
226 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
227 then
228 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
229 fi
230
231 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
232 then
233 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
234 fi
235
236 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
237 then
238 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
239 fi
240 }
241
242 postinstall()
243 {
244 ${MROOT}/usr/sbin/opengl-update --use-old xorg
245 }
246
247 postremove()
248 {
249 # get rid of module dir to ensure opengl-update works properbly
250 if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
251 then
252 if [[ -z $(magequery -n xorg-server) ]]
253 then
254 rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
255 fi
256 fi
257 }