Gentoo Archives: gentoo-commits

From: "Remi Cardona (remi)" <remi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in media-libs/mesa: ChangeLog mesa-7.4.4.ebuild
Date: Wed, 24 Jun 2009 17:43:46
Message-Id: E1MJWVc-0003Ei-3E@stork.gentoo.org
1 remi 09/06/24 17:43:44
2
3 Modified: ChangeLog
4 Added: mesa-7.4.4.ebuild
5 Log:
6 media-libs/mesa: bump to 7.4.4, hopefully fixing severe Intel bugs (see bugs #274981 and #275109)
7 (Portage version: 2.2_rc33/cvs/Linux i686)
8
9 Revision Changes Path
10 1.217 media-libs/mesa/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/ChangeLog?rev=1.217&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/ChangeLog?rev=1.217&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/ChangeLog?r1=1.216&r2=1.217
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/media-libs/mesa/ChangeLog,v
19 retrieving revision 1.216
20 retrieving revision 1.217
21 diff -u -r1.216 -r1.217
22 --- ChangeLog 23 Jun 2009 19:24:39 -0000 1.216
23 +++ ChangeLog 24 Jun 2009 17:43:43 -0000 1.217
24 @@ -1,6 +1,12 @@
25 # ChangeLog for media-libs/mesa
26 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/ChangeLog,v 1.216 2009/06/23 19:24:39 klausman Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/ChangeLog,v 1.217 2009/06/24 17:43:43 remi Exp $
29 +
30 +*mesa-7.4.4 (24 Jun 2009)
31 +
32 + 24 Jun 2009; RĂ©mi Cardona <remi@g.o> +mesa-7.4.4.ebuild:
33 + bump to 7.4.4, hopefully fixing severe Intel bugs (see bugs #274981 and
34 + #275109)
35
36 23 Jun 2009; Tobias Klausmann <klausman@g.o> mesa-7.4.2.ebuild:
37 Stable on alpha for xorg-server-1.5/xorg-x11-7.4
38
39
40
41 1.1 media-libs/mesa/mesa-7.4.4.ebuild
42
43 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/mesa-7.4.4.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/mesa-7.4.4.ebuild?rev=1.1&content-type=text/plain
45
46 Index: mesa-7.4.4.ebuild
47 ===================================================================
48 # Copyright 1999-2009 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.4.4.ebuild,v 1.1 2009/06/24 17:43:44 remi Exp $
51
52 EAPI="2"
53
54 EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
55
56 if [[ ${PV} = 9999* ]]; then
57 GIT_ECLASS="git"
58 EXPERIMENTAL="true"
59 IUSE_VIDEO_CARDS_UNSTABLE="video_cards_nouveau"
60 IUSE_UNSTABLE="gallium"
61 # User can also specify branch by simply adding MESA_LIVE_BRANCH="blesmrt"
62 # to the make.conf, where blesmrt is desired branch.
63 [[ -z ${MESA_LIVE_BRANCH} ]] || EGIT_BRANCH="${MESA_LIVE_BRANCH}"
64 fi
65
66 inherit autotools multilib flag-o-matic ${GIT_ECLASS} portability
67
68 OPENGL_DIR="xorg-x11"
69
70 MY_PN="${PN/m/M}"
71 MY_P="${MY_PN}-${PV/_/-}"
72 MY_SRC_P="${MY_PN}Lib-${PV/_/-}"
73 DESCRIPTION="OpenGL-like graphic library for Linux"
74 HOMEPAGE="http://mesa3d.sourceforge.net/"
75
76 #SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2"
77 if [[ $PV = *_rc* ]]; then
78 SRC_URI="http://www.mesa3d.org/beta/${MY_SRC_P}.tar.gz
79 ${SRC_PATCHES}"
80 elif [[ $PV = 9999* ]]; then
81 SRC_URI="${SRC_PATCHES}"
82 else
83 SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2
84 ${SRC_PATCHES}"
85 fi
86
87 LICENSE="LGPL-2"
88 SLOT="0"
89 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
90
91 IUSE_VIDEO_CARDS="${IUSE_VIDEO_CARDS_UNSTABLE}
92 video_cards_intel
93 video_cards_mach64
94 video_cards_mga
95 video_cards_none
96 video_cards_r128
97 video_cards_radeon
98 video_cards_radeonhd
99 video_cards_s3virge
100 video_cards_savage
101 video_cards_sis
102 video_cards_sunffb
103 video_cards_tdfx
104 video_cards_trident
105 video_cards_via"
106 IUSE="${IUSE_VIDEO_CARDS} ${IUSE_UNSTABLE}
107 debug doc motif nptl pic xcb kernel_FreeBSD"
108
109 # keep correct libdrm and dri2proto dep
110 # keep blocks in rdepend for binpkg
111 RDEPEND="!<=x11-base/xorg-x11-6.9
112 !<=x11-proto/xf86driproto-2.0.3
113 app-admin/eselect-opengl
114 dev-libs/expat
115 >=x11-libs/libdrm-2.4.6
116 x11-libs/libICE
117 x11-libs/libX11[xcb?]
118 x11-libs/libXdamage
119 x11-libs/libXext
120 x11-libs/libXi
121 x11-libs/libXmu
122 x11-libs/libXxf86vm
123 motif? ( x11-libs/openmotif )
124 doc? ( app-doc/opengl-manpages )
125 "
126 DEPEND="${RDEPEND}
127 dev-util/pkgconfig
128 x11-misc/makedepend
129 >=x11-proto/dri2proto-1.99.3
130 >=x11-proto/glproto-1.4.8
131 x11-proto/inputproto
132 x11-proto/xextproto
133 x11-proto/xf86vidmodeproto
134 x11-proto/xf86driproto
135 "
136 # glew depend on mesa and it is needed in runtime
137 PDEPEND=">=media-libs/glew-1.5.1"
138
139 S="${WORKDIR}/${MY_P}"
140
141 # Think about: ggi, svga, fbcon, no-X configs
142
143 pkg_setup() {
144 if use debug; then
145 append-flags -g
146 fi
147
148 # gcc 4.2 has buggy ivopts
149 if [[ $(gcc-version) = "4.2" ]]; then
150 append-flags -fno-ivopts
151 fi
152
153 # recommended by upstream
154 append-flags -ffast-math
155 }
156
157 src_unpack() {
158 [[ $PV = 9999* ]] && git_src_unpack || unpack ${A}
159 }
160
161 src_prepare() {
162 # apply patches
163 if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
164 EPATCH_FORCE="yes" \
165 EPATCH_SOURCE="${WORKDIR}/patches" \
166 EPATCH_SUFFIX="patch" \
167 epatch
168 fi
169 # FreeBSD 6.* doesn't have posix_memalign().
170 [[ ${CHOST} == *-freebsd6.* ]] && \
171 sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configure.ac
172
173 eautoreconf
174 }
175
176 src_configure() {
177 local myconf
178
179 # Configurable DRI drivers
180 driver_enable swrast
181 driver_enable video_cards_intel i810 i915 i965
182 driver_enable video_cards_mach64 mach64
183 driver_enable video_cards_mga mga
184 driver_enable video_cards_r128 r128
185 # ATI has two implementations as video_cards
186 driver_enable video_cards_radeon radeon r200 r300
187 driver_enable video_cards_radeonhd r300
188 driver_enable video_cards_s3virge s3v
189 driver_enable video_cards_savage savage
190 driver_enable video_cards_sis sis
191 driver_enable video_cards_sunffb ffb
192 driver_enable video_cards_tdfx tdfx
193 driver_enable video_cards_trident trident
194 driver_enable video_cards_via unichrome
195
196 # all live (experimental) stuff is wrapped around with experimental variable
197 # so the users cant get to this parts even with enabled useflags (downgrade
198 # from live to stable for example)
199 if [[ -n ${EXPERIMENTAL} ]]; then
200 # nouveau works only with gallium and intel, radeon, radeonhd can use
201 # gallium as alternative implementation (NOTE: THIS IS EXPERIMENTAL)
202 if use video_cards_nouveau && ! use gallium ; then
203 elog "Nouveau driver is available only via gallium interface."
204 elog "Enable gallium useflag if you want to use nouveau."
205 echo
206 fi
207 # state trackers, for now enable the one i want
208 # think about this bit more...
209 myconf="${myconf} $(use_enable gallium)"
210 if use gallium; then
211 elog "Warning gallium interface is highly experimental so use"
212 elog "it only if you feel really really brave."
213 elog
214 elog "Intel: works only i915."
215 elog "Nouveau: only available implementation, so no other choice"
216 elog "Radeon: not working, disabled."
217 echo
218 myconf="${myconf}
219 --with-state-trackers=glx,dri,egl
220 $(use_enable video_cards_nouveau gallium-nouveau)
221 $(use_enable video_cards_intel gallium-intel)"
222 #$(use_enable video_cards_radeon gallium-radeon)
223 #$(use_enable video_cards_radeonhd gallium-radeon)"
224 fi
225 fi
226
227 # Deactivate assembly code for pic build
228 # Sparc assembly code is not working
229 myconf="${myconf} $(use_enable !pic asm)"
230 myconf="${myconf} $(use_enable !sparc asm)"
231
232 # --with-driver=dri|xlib|osmesa ; might get changed later to something
233 # else than dri
234 econf \
235 --with-driver=dri \
236 --disable-glut \
237 --without-demos \
238 $(use_enable debug) \
239 $(use_enable motif glw) \
240 $(use_enable motif) \
241 $(use_enable nptl glx-tls) \
242 $(use_enable xcb) \
243 --with-dri-drivers=${DRI_DRIVERS} \
244 ${myconf}
245 }
246
247 src_install() {
248 dodir /usr
249 emake DESTDIR="${D}" install || die "Installation failed"
250
251 # Remove redundant headers
252 # GLUT thing
253 rm -f "${D}"/usr/include/GL/glut*.h || die "Removing glut include failed."
254 # Glew headers
255 rm -f "${D}"/usr/include/GL/{glew,glxew,wglew}.h \
256 || die "Removing glew includes failed."
257
258 # Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
259 # because user can eselect desired GL provider.
260 ebegin "Moving libGL and friends for dynamic switching"
261 dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
262 local x
263 for x in "${D}"/usr/$(get_libdir)/libGL.{la,a,so*}; do
264 if [ -f ${x} -o -L ${x} ]; then
265 mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib \
266 || die "Failed to move ${x}"
267 fi
268 done
269 for x in "${D}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
270 if [ -f ${x} -o -L ${x} ]; then
271 mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include \
272 || die "Failed to move ${x}"
273 fi
274 done
275 eend $?
276
277 # Install libtool archives
278 insinto /usr/$(get_libdir)
279 # Should this use the -L/usr/lib instead of -L/usr/$(get_libdir)?
280 # Please confirm and update this comment or the file.
281 doins "${FILESDIR}"/lib/libGLU.la || die "doins libGLU.la failed"
282 sed \
283 -e "s:\${libdir}:$(get_libdir):g" \
284 "${FILESDIR}"/lib/libGL.la \
285 > "${D}"/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
286
287 # On *BSD libcs dlopen() and similar functions are present directly in
288 # libc.so and does not require linking to libdl. portability eclass takes
289 # care of finding the needed library (if needed) witht the dlopen_lib
290 # function.
291 sed -i \
292 -e 's:-ldl:'$(dlopen_lib)':g' \
293 "${D}"/usr/$(get_libdir)/{libGLU.la,opengl/xorg-x11/lib/libGL.la} \
294 || die "sed dlopen failed"
295 }
296
297 pkg_postinst() {
298 # Switch to the xorg implementation.
299 echo
300 eselect opengl set --use-old ${OPENGL_DIR}
301 }
302
303 # $1 - VIDEO_CARDS flag
304 # other args - names of DRI drivers to enable
305 driver_enable() {
306 case $# in
307 # for enabling unconditionally
308 1)
309 DRI_DRIVERS="${DRI_DRIVERS},$1"
310 ;;
311 *)
312 if use $1; then
313 shift
314 for i in $@; do
315 DRI_DRIVERS="${DRI_DRIVERS},${i}"
316 done
317 fi
318 ;;
319 esac
320 }