Magellan Linux

Contents of /smage/branches/alx07x-unstable/core/xorg-server/xorg-server-1.18.0-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8074 - (show annotations) (download)
Wed Dec 30 12:25:56 2015 UTC (8 years, 4 months ago) by niro
File size: 8254 byte(s)
-release branches/alx07x-unstable
1 # $Id$
2
3 PNAME="xorg-server"
4 PVER="1.18.0"
5 PBUILD="r2"
6
7 PCAT="x11-base"
8
9 DESCRIPTION="Modular X.Org X Server."
10 HOMEPAGE="http://xorg.freedesktop.org"
11
12 # mesa sources are needed to compile opengl extensions
13 MESA_PVER="11.0.6"
14 MESA_SRCFILE="mesa-${MESA_PVER/_/-}.tar.xz"
15 MESA_SRCDIR="${BUILDDIR}/mesa-${MESA_PVER/_/-}"
16
17 PROVIDE="virtual/x11"
18
19 # see hw/xfree86/common/xf86Module.h for ABI versions
20 # or installed pkg-config file
21 PROVIDE+=" virtual/X-ABI-VIDEODRV-20 virtual/X-ABI-XINPUT-22.1 virtual/X-ABI-EXTENSION-9.0"
22
23 DEPEND=">= x11-libs/libXfont-1.5
24 >= x11-libs/libXau-1.0.8
25 >= x11-libs/libXdmcp-1.1
26 >= x11-libs/pixman-0.32
27 >= media-libs/freetype-2.6
28 >= media-fonts/font-misc-misc-1
29 >= dev-libs/openssl-1.0.2
30 >= sys-libs/libsystemd-220
31 >= sys-fs/udev-220
32 >= sys-apps/dbus-x11-1.8
33 >= x11-libs/libXext-1.3
34 >= x11-libs/libX11-1.6
35 >= x11-libs/libXi-1.7
36 == media-libs/mesa-${MESA_PVER}
37 >= media-libs/libepoxy-1.2
38 >= sys-libs/libunwind-1.1
39 >= x11-libs/libxshmfence-1.2
40 >= x11-misc/xkeyboard-config-2.15
41 >= x11-apps/iceauth-1.0.7
42 >= x11-apps/rgb-1.0.6
43 >= x11-apps/xauth-1.0.9
44 >= x11-base/opengl-update-2.3.11
45 >= x11-libs/libpciaccess-0.13.2"
46 #>= media-fonts/font-cursor-misc-1
47 # >= x11-apps/xinit-1.3
48
49 ALX_DEV_DEPEND="== x11-proto/xorg-protos-7.7.${PVER}
50 >= x11-libs/pixman-dev-0.32
51 >= x11-libs/libpciaccess-dev-0.13.2
52 >= x11-libs/libdrm-dev-2.4.61
53 == media-libs/mesa-dev-${MESA_PVER}
54 >= x11-libs/libxkbfile-dev-1
55 >= x11-libs/libXfont-dev-1.5
56 >= sys-libs/libunwind-dev-1.1
57 >= dev-libs/openssl-dev-1.0.2
58 >= x11-apps/rgb-dev-1.0.6"
59
60 SDEPEND=">= media-fonts/font-util-1.3
61 >= x11-libs/libdrm-2.4.61
62 >= x11-libs/libXtst-1.2
63 >= x11-libs/libXres-1.0.7
64 >= x11-libs/xcb-util-image-0.4
65 >= x11-libs/xcb-util-keysyms-0.4
66 >= x11-libs/xcb-util-wm-0.3.9
67 >= x11-libs/libxkbfile-1
68 ${ALX_DEV_DEPEND}
69 >= x11-libs/libXau-dev-1.0.8
70 >= x11-libs/libXdmcp-dev-1.1
71 >= media-libs/freetype-dev-2.6
72 >= sys-apps/systemd-dev-220
73 >= sys-fs/udev-dev-220
74 >= sys-apps/dbus-dev-1.8
75 >= x11-libs/libXext-dev-1.3
76 >= x11-libs/libX11-dev-1.6
77 >= x11-libs/libXi-dev-1.7
78 >= media-libs/libepoxy-dev-1.2
79 >= x11-libs/libxshmfence-dev-1.2
80 >= x11-libs/libXtst-dev-1.2
81 >= x11-libs/libXres-dev-1.0.7
82 >= x11-libs/xcb-util-image-dev-0.4
83 >= x11-libs/xcb-util-keysyms-dev-0.4
84 >= x11-libs/xcb-util-wm-dev-0.3.9"
85
86 # base files
87 ALX_PKG_KEEP="etc/X11
88 usr/bin/X
89 usr/bin/Xorg*
90 usr/$(mlibdir)/${PNAME}
91 usr/$(mlibdir)/xorg/protocol.txt
92 var/lib/xkb/README.compiled"
93
94 # generic modules
95 ALX_PKG_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 usr/$(mlibdir)/xorg/modules/libglamoregl.so
104 usr/$(mlibdir)/xorg/modules/libfbdevhw.so"
105
106 # generic extensions
107 ALX_PKG_KEEP+=" usr/$(mlibdir)/xorg/modules/extensions/libextmod.so
108 usr/$(mlibdir)/xorg/modules/extensions/libdbe.so
109 usr/$(mlibdir)/xorg/modules/extensions/libglx.so
110 usr/$(mlibdir)/xorg/modules/extensions/libdri.so
111 usr/$(mlibdir)/xorg/modules/extensions/libdri2.so
112 usr/$(mlibdir)/xorg/modules/extensions/librecord.so"
113
114 # opengl
115 ALX_PKG_KEEP+=" usr/$(mlibdir)/opengl/xorg/extensions"
116
117 # other drivers
118 ALX_PKG_KEEP+=" usr/$(mlibdir)/xorg/modules/drivers
119 usr/$(mlibdir)/xorg/modules/drivers/extensions
120 usr/$(mlibdir)/xorg/modules/drivers/input
121 usr/$(mlibdir)/xorg/modules/drivers/linux
122 usr/$(mlibdir)/xorg/modules/drivers/multimedia"
123
124 # libwfb module is needed by the proprietary nvidia-drivers
125 ALX_PKG_KEEP+=" usr/$(mlibdir)/xorg/modules/libwfb.so"
126
127 # keep cvt and gtf for modline calculating
128 ALX_PKG_KEEP+=" usr/bin/cvt usr/bin/gtf"
129
130 UP2SUBDIR="xserver"
131 sminclude xorg mtools alx-split
132
133 SRC_URI=( ${SRC_URI[*]}
134 mirror://${PNAME}/${SRCFILE}
135 ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE}
136 #sourceforge://mesa3d/${MESA_SRCFILE}
137 mirror://mesa/${MESA_SRCFILE}
138 mirror://${PNAME}/xvfb-run
139 mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch
140 mirror://${PNAME}/${PNAME}-1.12.3-kdrive-default-mode.patch
141 mirror://${PNAME}/${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch
142 mirror://${PNAME}/${PNAME}-${PVER}-v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
143 )
144
145 pkg_setup()
146 {
147 # must use mesa as opengl-headers!
148 if [[ $(opengl-update --get-implementation) != xorg ]]
149 then
150 die "please change to xorg opengl-headers: opengl-update xorg"
151 fi
152 }
153
154 src_prepare()
155 {
156 munpack ${SRCFILE} || die
157 munpack ${MESA_SRCFILE} || die
158 cd ${SRCDIR}
159
160 # fix kms detection without root permissions
161 mpatch ${PNAME}-${PVER}-v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch || die
162
163 # adopted from redhat; use a black background
164 mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die
165
166 # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz
167 mpatch ${PNAME}-1.12.3-kdrive-default-mode.patch || die
168
169 # fix new evdev event devices (event4 and event5)
170 mpatch ${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch || die
171
172 # fix build issues, some wrapper files which should be generated
173 # at build time exist and the makefile doesn't whipe them. we patch
174 # the makefile to clean them and whipe these wrapper files
175 rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
176
177 # fix xorg.conf.d location
178 sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
179 sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
180
181 mautoreconf || die
182 }
183
184 src_compile()
185 {
186 cd ${SRCDIR}
187
188 xorg_src_configure \
189 --with-mesa-source=${MESA_SRCDIR} \
190 --sysconfdir=/etc \
191 --localstatedir=/var \
192 --libexecdir=/usr/$(mlibdir)/${PNAME} \
193 --with-xkb-output=/var/lib/xkb \
194 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
195 --disable-install-setuid \
196 --enable-suid-wrapper \
197 --enable-ipv6 \
198 --enable-xorg \
199 --disable-dmx \
200 --enable-xvfb \
201 --disable-xnest \
202 --enable-dri \
203 --enable-dri2 \
204 --enable-dri3 \
205 --enable-glamor \
206 --enable-xtrap \
207 --enable-xevie \
208 --enable-xcsecurity \
209 --enable-libunwind \
210 --disable-xprint \
211 --enable-glx-tls \
212 --enable-glx \
213 --disable-static \
214 --disable-config-dbus \
215 --disable-config-hal \
216 --enable-config-udev \
217 --enable-composite \
218 --enable-xinerama \
219 --enable-systemd-logind \
220 || die
221
222 mmake || die
223 }
224
225 alx_generic_src_install()
226 {
227 xorg_src_install || die
228
229 # needed directories
230 minstalldir /usr/bin || die
231 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
232
233 # dynamic opengl setup
234 local i
235 for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
236 ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
237 do
238 if [ -f ${i} -o -L ${i} ]
239 then
240 mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
241 fi
242 done
243
244 # missing symlink
245 mlink Xorg /usr/bin/X || die
246
247 # xvfb-run script to ease things
248 minstallexec -s xvfb-run || die
249 }
250
251 preinstall()
252 {
253 # fix some deprecated symlinks from ancient xorg-1.5 servers
254 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
255 then
256 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
257 fi
258
259 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
260 then
261 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
262 fi
263
264 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
265 then
266 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
267 fi
268
269 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
270 then
271 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
272 fi
273 }
274
275 postinstall()
276 {
277 # provided by xf86-input-evdev now
278 if [ -f ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf ]
279 then
280 rm ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf
281 fi
282
283 # opengl setup
284 ${MROOT}/usr/sbin/opengl-update --use-old xorg
285 }
286
287 postremove_xorg-server()
288 {
289 # get rid of module dir to ensure opengl-update works properly
290 if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
291 then
292 if [[ -z $(magequery -n xorg-server) ]]
293 then
294 rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
295 fi
296 fi
297 }