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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Wed May 19 07:47:45 2010 UTC (4 years, 2 months ago) by scarabeus
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
Apply fixes per bug #320475. Thx to Andrew Brouwers for testing.
(Portage version: 2.2_rc67/cvs/Linux x86_64)

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.ebuild,v 1.1 2010/05/15 20:59:56 remi 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[extras] )"
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 )
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 # "${FILESDIR}/1.8.0-no-hardcoded-etc.patch"
107 # "${FILESDIR}/1.8.0-match-only-sane-devices.patch"
108 )
109
110 pkg_setup() {
111 local myconf
112
113 xorg-2_pkg_setup
114
115 use minimal || ensure_a_server_is_building
116
117 # HAL shebang
118 if use hal; then
119 ewarn "Usage of hal is strongly discouraged. Please migrate to udev."
120 ewarn "From next major release on the hal support will be fully disabled."
121 fi
122 if use hal && use udev; then
123 ewarn "Both hal and udev flags are enabled."
124 ewarn "Enabling only udev!"
125 myconf="
126 $(use_enable udev config-udev)
127 --disable-config-hal
128 "
129 else
130 myconf="
131 $(use_enable hal config-hal)
132 $(use_enable udev config-udev)
133 "
134 fi
135
136 # localstatedir is used for the log location; we need to override the default
137 # from ebuild.sh
138 # sysconfdir is used for the xorg.conf location; same applies
139 # --enable-install-setuid needed because sparcs default off
140 CONFIGURE_OPTIONS="
141 $(use_enable ipv6)
142 $(use_enable dmx)
143 $(use_enable kdrive)
144 $(use_enable tslib)
145 $(use_enable tslib xcalibrate)
146 $(use_enable !minimal xvfb)
147 $(use_enable !minimal xnest)
148 $(use_enable !minimal record)
149 $(use_enable !minimal xfree86-utils)
150 $(use_enable !minimal install-libxf86config)
151 $(use_enable !minimal dri)
152 $(use_enable !minimal dri2)
153 $(use_enable !minimal glx)
154 $(use_enable xorg)
155 $(use_enable nptl glx-tls)
156 $(use_with doc doxygen)
157 ${myconf}
158 --sysconfdir=/etc/X11
159 --localstatedir=/var
160 --enable-install-setuid
161 --with-fontrootdir=/usr/share/fonts
162 --with-xkb-output=/var/lib/xkb
163 --without-dtrace
164 --with-os-vendor=Gentoo
165 ${conf_opts}"
166
167 # Due to the limitations of CONFIGURE_OPTIONS, we have to export this.
168 mkdir -p "${T}/mesa-symlinks/GL"
169 pushd "${T}/mesa-symlinks/GL" &> /dev/null
170 for i in gl glx glxmd glxproto glxtokens; do
171 ln -s "${EROOT}usr/$(get_libdir)/opengl/xorg-x11/include/$i.h" $i.h
172 done
173 for i in glext glxext; do
174 ln -s "${EROOT}usr/$(get_libdir)/opengl/global/include/$i.h" $i.h
175 done
176 popd &> /dev/null
177 export CPPFLAGS="${CPPFLAGS:+${CPPFLAGS} }-I${T}/mesa-symlinks"
178
179 # (#121394) Causes window corruption
180 filter-flags -fweb
181
182 # Incompatible with GCC 3.x SSP on x86, bug #244352
183 if use x86 ; then
184 if [[ $(gcc-major-version) -lt 4 ]]; then
185 filter-flags -fstack-protector
186 fi
187 fi
188
189 # Incompatible with GCC 3.x CPP, bug #314615
190 if [[ $(gcc-major-version) -lt 4 ]]; then
191 ewarn "GCC 3.x C preprocessor may cause build failures. Use GCC 4.x"
192 ewarn "or set CPP=cpp-4.3.4 (replace with the actual installed version)"
193 fi
194
195 # detect if we should inform user about ebuild breakage
196 if ! has_version "x11-base/xorg-server" ||
197 has_version "<x11-base/xorg-server-$(get_version_component_range 1-2)"; then
198 INFO="yes"
199 fi
200 }
201
202 src_install() {
203 xorg-2_src_install
204
205 dynamic_libgl_install
206
207 server_based_install
208
209 if ! use minimal && use xorg; then
210 # Install xorg.conf.example (see bugs #151421 and #151670)
211 insinto /etc/X11
212 doins hw/xfree86/xorg.conf.example \
213 || die "couldn't install xorg.conf.example"
214 fi
215
216 # install the xdm.init
217 cp "${FILESDIR}"/xdm.initd "${T}"
218 if use hal && ! use udev; then
219 sed -i \
220 -e "s/@HALD_DEPEND@/need hald/g" \
221 "${T}"/xdm.initd \
222 || die "sed failed"
223 else
224 sed -i \
225 -e "/@HALD_DEPEND@/ d" \
226 "${T}"/xdm.initd \
227 || die "sed failed"
228 fi
229 newinitd "${T}"/xdm.initd xdm || die "initd file install failed"
230 newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup || die
231 newconfd "${FILESDIR}"/xdm.confd-3 xdm || die
232 }
233
234 pkg_postinst() {
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