/[gentoo-x86]/x11-base/xorg-server/xorg-server-1.8.1.901.ebuild
Gentoo

Contents of /x11-base/xorg-server/xorg-server-1.8.1.901.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Thu Jun 10 21:14:55 2010 UTC (4 years, 4 months ago) by remi
Branch: MAIN
Changes since 1.1: +4 -1 lines
x11-base/xorg-server: add missing eselect-opengl call, fixes bug #321443
(Portage version: 2.2_rc67/cvs/Linux i686)

1 # Copyright 1999-2010 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.8.1.901.ebuild,v 1.1 2010/06/09 12:52:43 scarabeus Exp $
4
5 EAPI=3
6 XORG_EAUTORECONF="yes"
7 inherit xorg-2 multilib versionator
8 EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/xserver"
9
10 OPENGL_DIR="xorg-x11"
11
12 DESCRIPTION="X.Org X servers"
13 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
14
15 IUSE_SERVERS="dmx kdrive xorg"
16 IUSE="${IUSE_SERVERS} doc hal ipv6 minimal nptl tslib +udev"
17 RDEPEND=">=app-admin/eselect-opengl-1.0.8
18 dev-libs/openssl
19 media-libs/freetype
20 >=x11-apps/iceauth-1.0.2
21 >=x11-apps/rgb-1.0.3
22 >=x11-apps/xauth-1.0.3
23 x11-apps/xkbcomp
24 >=x11-libs/libpciaccess-0.10.3
25 >=x11-libs/libXau-1.0.4
26 >=x11-libs/libXdmcp-1.0.2
27 >=x11-libs/libXfont-1.3.3
28 >=x11-libs/libxkbfile-1.0.4
29 >=x11-libs/pixman-0.15.20
30 >=x11-libs/xtrans-1.2.2
31 >=x11-misc/xbitmaps-1.0.1
32 >=x11-misc/xkeyboard-config-1.4
33 dmx? (
34 x11-libs/libXt
35 >=x11-libs/libdmx-1.0.99.1
36 >=x11-libs/libX11-1.1.5
37 >=x11-libs/libXaw-1.0.4
38 >=x11-libs/libXext-1.0.5
39 >=x11-libs/libXfixes-4.0.3
40 >=x11-libs/libXi-1.2.99.1
41 >=x11-libs/libXmu-1.0.3
42 >=x11-libs/libXres-1.0.3
43 >=x11-libs/libXtst-1.0.3
44 )
45 !udev? ( hal? ( sys-apps/hal ) )
46 kdrive? (
47 >=x11-libs/libXext-1.0.5
48 )
49 !minimal? (
50 >=x11-libs/libX11-1.1.5
51 >=x11-libs/libXext-1.0.5
52 >=media-libs/mesa-7.8_rc[nptl=]
53 )
54 tslib? ( >=x11-libs/tslib-1.0 x11-proto/xcalibrateproto )
55 udev? ( sys-fs/udev )"
56
57 DEPEND="${RDEPEND}
58 !!net-dialup/dtrace
59 !<x11-apps/xinit-1.2.1-r1
60 sys-devel/flex
61 >=x11-proto/bigreqsproto-1.1.0
62 >=x11-proto/compositeproto-0.4
63 >=x11-proto/damageproto-1.1
64 >=x11-proto/fixesproto-4.1
65 >=x11-proto/fontsproto-2.0.2
66 >=x11-proto/glproto-1.4.11
67 >=x11-proto/inputproto-1.9.99.902
68 >=x11-proto/kbproto-1.0.3
69 >=x11-proto/randrproto-1.2.99.3
70 >=x11-proto/recordproto-1.13.99.1
71 >=x11-proto/renderproto-0.11
72 >=x11-proto/resourceproto-1.0.2
73 >=x11-proto/scrnsaverproto-1.1
74 >=x11-proto/trapproto-3.4.3
75 >=x11-proto/videoproto-2.2.2
76 >=x11-proto/xcmiscproto-1.2.0
77 >=x11-proto/xextproto-7.0.99.3
78 >=x11-proto/xf86dgaproto-2.0.99.1
79 >=x11-proto/xf86rushproto-1.1.2
80 >=x11-proto/xf86vidmodeproto-2.2.99.1
81 >=x11-proto/xineramaproto-1.1.3
82 >=x11-proto/xproto-7.0.13
83 dmx? ( >=x11-proto/dmxproto-2.2.99.1 )
84 doc? ( >=app-doc/doxygen-1.6.1 )
85 !minimal? (
86 >=x11-proto/xf86driproto-2.1.0
87 >=x11-proto/dri2proto-2.1
88 >=x11-libs/libdrm-2.3.0
89 )"
90
91 PDEPEND="
92 >=x11-apps/xinit-1.2.1-r1
93 xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
94
95 EPATCH_FORCE="yes"
96 EPATCH_SUFFIX="patch"
97
98 # These have been sent upstream
99 #UPSTREAMED_PATCHES=(
100 # "${WORKDIR}/patches/"
101 # )
102
103 PATCHES=(
104 "${UPSTREAMED_PATCHES[@]}"
105 "${FILESDIR}"/${PN}-disable-acpi.patch
106 )
107
108 pkg_setup() {
109 local myconf
110
111 xorg-2_pkg_setup
112
113 use minimal || ensure_a_server_is_building
114
115 # HAL shebang
116 if use hal; then
117 ewarn "Usage of hal is strongly discouraged. Please migrate to udev."
118 ewarn "From next major release on the hal support will be fully disabled."
119 fi
120 if use hal && use udev; then
121 ewarn "Both hal and udev flags are enabled."
122 ewarn "Enabling only udev!"
123 myconf="
124 $(use_enable udev config-udev)
125 --disable-config-hal
126 "
127 else
128 myconf="
129 $(use_enable hal config-hal)
130 $(use_enable udev config-udev)
131 "
132 fi
133
134 # localstatedir is used for the log location; we need to override the default
135 # from ebuild.sh
136 # sysconfdir is used for the xorg.conf location; same applies
137 # --enable-install-setuid needed because sparcs default off
138 CONFIGURE_OPTIONS="
139 $(use_enable ipv6)
140 $(use_enable dmx)
141 $(use_enable kdrive)
142 $(use_enable tslib)
143 $(use_enable tslib xcalibrate)
144 $(use_enable !minimal xvfb)
145 $(use_enable !minimal xnest)
146 $(use_enable !minimal record)
147 $(use_enable !minimal xfree86-utils)
148 $(use_enable !minimal install-libxf86config)
149 $(use_enable !minimal dri)
150 $(use_enable !minimal dri2)
151 $(use_enable !minimal glx)
152 $(use_enable xorg)
153 $(use_enable nptl glx-tls)
154 $(use_with doc doxygen)
155 ${myconf}
156 --sysconfdir=/etc/X11
157 --localstatedir=/var
158 --enable-install-setuid
159 --with-fontrootdir=/usr/share/fonts
160 --with-xkb-output=/var/lib/xkb
161 --without-dtrace
162 --with-os-vendor=Gentoo
163 ${conf_opts}"
164
165 # Due to the limitations of CONFIGURE_OPTIONS, we have to export this.
166 mkdir -p "${T}/mesa-symlinks/GL"
167 pushd "${T}/mesa-symlinks/GL" &> /dev/null
168 for i in gl glx glxmd glxproto glxtokens; do
169 ln -s "${EROOT}usr/$(get_libdir)/opengl/xorg-x11/include/$i.h" $i.h
170 done
171 for i in glext glxext; do
172 ln -s "${EROOT}usr/$(get_libdir)/opengl/global/include/$i.h" $i.h
173 done
174 popd &> /dev/null
175 export CPPFLAGS="${CPPFLAGS:+${CPPFLAGS} }-I${T}/mesa-symlinks"
176
177 # (#121394) Causes window corruption
178 filter-flags -fweb
179
180 # Incompatible with GCC 3.x SSP on x86, bug #244352
181 if use x86 ; then
182 if [[ $(gcc-major-version) -lt 4 ]]; then
183 filter-flags -fstack-protector
184 fi
185 fi
186
187 # Incompatible with GCC 3.x CPP, bug #314615
188 if [[ $(gcc-major-version) -lt 4 ]]; then
189 ewarn "GCC 3.x C preprocessor may cause build failures. Use GCC 4.x"
190 ewarn "or set CPP=cpp-4.3.4 (replace with the actual installed version)"
191 fi
192
193 # detect if we should inform user about ebuild breakage
194 if ! has_version "x11-base/xorg-server" ||
195 has_version "<x11-base/xorg-server-$(get_version_component_range 1-2)"; then
196 INFO="yes"
197 fi
198 }
199
200 src_install() {
201 xorg-2_src_install
202
203 dynamic_libgl_install
204
205 server_based_install
206
207 if ! use minimal && use xorg; then
208 # Install xorg.conf.example into docs
209 dodoc hw/xfree86/xorg.conf.example \
210 || die "couldn't install xorg.conf.example"
211 fi
212
213 # install the xdm.init
214 cp "${FILESDIR}"/xdm.initd "${T}"
215 if use hal && ! use udev; then
216 sed -i \
217 -e "s/@HALD_DEPEND@/need hald/g" \
218 "${T}"/xdm.initd \
219 || die "sed failed"
220 else
221 sed -i \
222 -e "/@HALD_DEPEND@/ d" \
223 "${T}"/xdm.initd \
224 || die "sed failed"
225 fi
226 newinitd "${T}"/xdm.initd xdm || die "initd file install failed"
227 newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup || die
228 newconfd "${FILESDIR}"/xdm.confd-3 xdm || die
229 }
230
231 pkg_postinst() {
232 # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
233 eselect opengl set --use-old xorg-x11
234
235 if [[ ${INFO} = yes ]]; then
236 einfo "You should consider reading upgrade guide for this release:"
237 einfo " http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-$(get_version_component_range 1-2)-upgrade-guide.xml"
238 echo
239 ewarn "You must rebuild all drivers if upgrading from <xorg-server-$(get_version_component_range 1-2)"
240 ewarn "because the ABI changed. If you cannot start X because"
241 ewarn "of module version mismatch errors, this is your problem."
242
243 echo
244 ewarn "You can generate a list of all installed packages in the x11-drivers"
245 ewarn "category using this command:"
246 ewarn " emerge portage-utils; qlist -I -C x11-drivers/"
247 fi
248 }
249
250 pkg_postrm() {
251 # Get rid of module dir to ensure opengl-update works properly
252 if ! has_version x11-base/xorg-server; then
253 if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then
254 rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules
255 fi
256 fi
257 }
258
259 dynamic_libgl_install() {
260 # next section is to setup the dynamic libGL stuff
261 ebegin "Moving GL files for dynamic switching"
262 dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
263 local x=""
264 for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/lib{glx,dri,dri2}*; do
265 if [ -f ${x} -o -L ${x} ]; then
266 mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
267 fi
268 done
269 eend 0
270 }
271
272 server_based_install() {
273 if ! use xorg; then
274 rm "${D}"/usr/share/man/man1/Xserver.1x \
275 "${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \
276 "${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
277 "${D}"/usr/share/man/man1/Xserver.1x
278 fi
279 }
280
281 ensure_a_server_is_building() {
282 for server in ${IUSE_SERVERS}; do
283 use ${server} && return;
284 done
285 eerror "You need to specify at least one server to build."
286 eerror "Valid servers are: ${IUSE_SERVERS}."
287 die "No servers were specified to build."
288 }

  ViewVC Help
Powered by ViewVC 1.1.20