/[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 - (hide annotations) (download)
Thu Jun 10 21:14:55 2010 UTC (3 years, 10 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 scarabeus 1.1 # Copyright 1999-2010 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3 remi 1.2 # $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 scarabeus 1.1
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 remi 1.2 # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
233     eselect opengl set --use-old xorg-x11
234    
235 scarabeus 1.1 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