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.3-r2.ebuild
Date: Mon, 23 Mar 2009 12:37:39
Message-Id: E1LljPN-0004Cv-6E@stork.gentoo.org
1 remi 09/03/23 12:37:37
2
3 Modified: ChangeLog
4 Added: mesa-7.3-r2.ebuild
5 Log:
6 media-libs/mesa: add another 60+ patches from the 7.4 branch (tarball now has 135 patches), use the -9999 ebuild from the overlay which has all kinds of fixes (thanks to scarabeus and magnus)
7 (Portage version: 2.2_rc26/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.194 media-libs/mesa/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/ChangeLog?rev=1.194&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/ChangeLog?rev=1.194&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/ChangeLog?r1=1.193&r2=1.194
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/media-libs/mesa/ChangeLog,v
19 retrieving revision 1.193
20 retrieving revision 1.194
21 diff -u -r1.193 -r1.194
22 --- ChangeLog 7 Mar 2009 13:35:22 -0000 1.193
23 +++ ChangeLog 23 Mar 2009 12:37:37 -0000 1.194
24 @@ -1,6 +1,13 @@
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.193 2009/03/07 13:35:22 remi Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/ChangeLog,v 1.194 2009/03/23 12:37:37 remi Exp $
29 +
30 +*mesa-7.3-r2 (23 Mar 2009)
31 +
32 + 23 Mar 2009; RĂ©mi Cardona <remi@g.o> +mesa-7.3-r2.ebuild:
33 + add another 60+ patches from the 7.4 branch (tarball now has 135 patches),
34 + use the -9999 ebuild from the overlay which has all kinds of fixes (thanks
35 + to scarabeus and magnus)
36
37 *mesa-7.3-r1 (07 Mar 2009)
38
39
40
41
42 1.1 media-libs/mesa/mesa-7.3-r2.ebuild
43
44 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/mesa-7.3-r2.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/mesa/mesa-7.3-r2.ebuild?rev=1.1&content-type=text/plain
46
47 Index: mesa-7.3-r2.ebuild
48 ===================================================================
49 # Copyright 1999-2009 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.3-r2.ebuild,v 1.1 2009/03/23 12:37:37 remi Exp $
52
53 EAPI="2"
54
55 EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
56
57 if [[ ${PV} = 9999* ]]; then
58 git_eclass="git"
59 drm_depend=">=x11-libs/libdrm-9999"
60 else
61 drm_depend=">=x11-libs/libdrm-2.4.3"
62 fi
63
64 inherit autotools multilib flag-o-matic ${git_eclass} portability
65
66 OPENGL_DIR="xorg-x11"
67
68 MY_PN="${PN/m/M}"
69 MY_P="${MY_PN}-${PV/_/-}"
70 MY_SRC_P="${MY_PN}Lib-${PV/_/-}"
71 DESCRIPTION="OpenGL-like graphic library for Linux"
72 HOMEPAGE="http://mesa3d.sourceforge.net/"
73
74 SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-02.tar.bz2"
75 if [[ $PV = *_rc* ]]; then
76 SRC_URI="http://www.mesa3d.org/beta/${MY_SRC_P}.tar.gz
77 ${SRC_PATCHES}"
78 elif [[ $PV = 9999* ]]; then
79 SRC_URI=""
80 else
81 SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2
82 ${SRC_PATCHES}"
83 fi
84
85 LICENSE="LGPL-2"
86 SLOT="0"
87 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
88 IUSE_VIDEO_CARDS="
89 video_cards_intel
90 video_cards_mach64
91 video_cards_mga
92 video_cards_none
93 video_cards_r128
94 video_cards_radeon
95 video_cards_s3virge
96 video_cards_savage
97 video_cards_sis
98 video_cards_sunffb
99 video_cards_tdfx
100 video_cards_trident
101 video_cards_via"
102 IUSE="${IUSE_VIDEO_CARDS}
103 debug
104 doc
105 pic
106 motif
107 nptl
108 xcb
109 kernel_FreeBSD"
110
111 RDEPEND="${drm_depend}
112 app-admin/eselect-opengl
113 dev-libs/expat
114 x11-libs/libX11[xcb=]
115 x11-libs/libXext
116 x11-libs/libXxf86vm
117 x11-libs/libXi
118 x11-libs/libXmu
119 x11-libs/libXdamage
120 x11-libs/libICE
121 motif? ( x11-libs/openmotif )
122 doc? ( app-doc/opengl-manpages )
123 !<=x11-base/xorg-x11-6.9"
124 DEPEND="${RDEPEND}
125 !<=x11-proto/xf86driproto-2.0.3
126 dev-util/pkgconfig
127 x11-misc/makedepend
128 x11-proto/inputproto
129 x11-proto/xextproto
130 !hppa? ( x11-proto/xf86driproto )
131 >=x11-proto/dri2proto-1.99.3
132 x11-proto/xf86vidmodeproto
133 >=x11-proto/glproto-1.4.8
134 motif? ( x11-proto/printproto )"
135
136 S="${WORKDIR}/${MY_P}"
137
138 # Think about: ggi, svga, fbcon, no-X configs
139
140 pkg_setup() {
141 if use debug; then
142 append-flags -g
143 fi
144
145 # gcc 4.2 has buggy ivopts
146 if [[ $(gcc-version) = "4.2" ]]; then
147 append-flags -fno-ivopts
148 fi
149
150 # recommended by upstream
151 append-flags -ffast-math
152 }
153
154 src_unpack() {
155 [[ $PV = 9999* ]] && git_src_unpack || unpack ${A}
156 }
157
158 src_prepare() {
159 # apply patches
160 [[ $PV = 9999* ]] || \
161 EPATCH_FORCE="yes" EPATCH_SOURCE="${WORKDIR}/patches" \
162 EPATCH_SUFFIX="patch" epatch
163 # FreeBSD 6.* doesn't have posix_memalign().
164 [[ ${CHOST} == *-freebsd6.* ]] && sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configure.ac
165
166 # Don't compile debug code with USE=-debug - bug #125004
167 if ! use debug; then
168 einfo "Removing DO_DEBUG defs in dri drivers..."
169 find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;
170 fi
171
172 eautoreconf
173 }
174
175 src_configure() {
176 local myconf
177
178 # This is where we might later change to build xlib/osmesa
179 myconf="${myconf} --with-driver=dri"
180
181 # Do we want thread-local storage (TLS)?
182 myconf="${myconf} $(use_enable nptl glx-tls)"
183
184 # Configurable DRI drivers
185 driver_enable swrast
186 driver_enable video_cards_intel i810 i915 i965
187 driver_enable video_cards_mach64 mach64
188 driver_enable video_cards_mga mga
189 driver_enable video_cards_r128 r128
190 driver_enable video_cards_radeon radeon r200 r300
191 driver_enable video_cards_s3virge s3v
192 driver_enable video_cards_savage savage
193 driver_enable video_cards_sis sis
194 driver_enable video_cards_sunffb ffb
195 driver_enable video_cards_tdfx tdfx
196 driver_enable video_cards_trident trident
197 driver_enable video_cards_via unichrome
198
199 # Set drivers to everything on which we ran driver_enable()
200 myconf="${myconf} --with-dri-drivers=${DRI_DRIVERS}"
201
202 # Deactivate assembly code for pic build
203 myconf="${myconf} $(use_enable !pic asm)"
204
205 # Sparc assembly code is not working
206 myconf="${myconf} $(use_enable !sparc asm)"
207
208 myconf="${myconf} --disable-glut"
209
210 myconf="${myconf} --without-demos"
211
212 myconf="${myconf} $(use_enable xcb)"
213
214 myconf="${myconf} $(use_enable motif glw)"
215 myconf="${myconf} $(use_enable motif)"
216
217 # Get rid of glut includes
218 rm -f "${S}"/include/GL/glut*h
219
220 # Get rid of glew includes
221 rm -f "${S}"/usr/include/GL/{glew,glxew,wglew}.h
222
223 econf ${myconf}
224 }
225
226 src_install() {
227 dodir /usr
228 emake DESTDIR="${D}" install || die "Installation failed"
229
230 if ! use motif; then
231 rm "${D}"/usr/include/GL/GLwMDrawA.h
232 fi
233
234 # Don't install private headers
235 rm -f "${D}"/usr/include/GL/GLw*P.h
236
237 fix_opengl_symlinks
238 dynamic_libgl_install
239
240 # Install libtool archives
241 insinto /usr/$(get_libdir)
242 # (#67729) Needs to be lib, not $(get_libdir)
243 doins "${FILESDIR}"/lib/libGLU.la
244 sed -e "s:\${libdir}:$(get_libdir):g" "${FILESDIR}"/lib/libGL.la \
245 > "${D}"/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
246
247 # On *BSD libcs dlopen() and similar functions are present directly in
248 # libc.so and does not require linking to libdl. portability eclass takes
249 # care of finding the needed library (if needed) witht the dlopen_lib
250 # function.
251 sed -i -e 's:-ldl:'$(dlopen_lib)':g' \
252 "${D}"/usr/$(get_libdir)/libGLU.la \
253 "${D}"/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
254
255 # libGLU doesn't get the plain .so symlink either
256 #dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so
257
258 # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to
259 # as the default libGL.so.1
260 }
261
262 pkg_postinst() {
263 switch_opengl_implem
264 }
265
266 fix_opengl_symlinks() {
267 # Remove invalid symlinks
268 local LINK
269 for LINK in $(find "${D}"/usr/$(get_libdir) \
270 -name libGL\.* -type l); do
271 rm -f ${LINK}
272 done
273 # Create required symlinks
274 if [[ ${CHOST} == *-freebsd* ]]; then
275 # FreeBSD doesn't use major.minor versioning, so the library is only
276 # libGL.so.1 and no libGL.so.1.2 is ever used there, thus only create
277 # libGL.so symlink and leave libGL.so.1 being the real thing
278 dosym libGL.so.1 /usr/$(get_libdir)/libGL.so
279 else
280 dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so
281 dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so.1
282 fi
283 }
284
285 dynamic_libgl_install() {
286 # next section is to setup the dynamic libGL stuff
287 ebegin "Moving libGL and friends for dynamic switching"
288 dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
289 local x=""
290 for x in "${D}"/usr/$(get_libdir)/libGL.so* \
291 "${D}"/usr/$(get_libdir)/libGL.la \
292 "${D}"/usr/$(get_libdir)/libGL.a; do
293 if [ -f ${x} -o -L ${x} ]; then
294 # libGL.a cause problems with tuxracer, etc
295 mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib
296 fi
297 done
298 # glext.h added for #54984
299 for x in "${D}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
300 if [ -f ${x} -o -L ${x} ]; then
301 mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include
302 fi
303 done
304 eend 0
305 }
306
307 switch_opengl_implem() {
308 # Switch to the xorg implementation.
309 # Use new opengl-update that will not reset user selected
310 # OpenGL interface ...
311 echo
312 eselect opengl set --use-old ${OPENGL_DIR}
313 }
314
315 # $1 - VIDEO_CARDS flag
316 # other args - names of DRI drivers to enable
317 driver_enable() {
318 case $# in
319 # for enabling unconditionally
320 1)
321 DRI_DRIVERS="${DRI_DRIVERS},$1"
322 ;;
323 *)
324 if use $1; then
325 shift
326 for i in $@; do
327 DRI_DRIVERS="${DRI_DRIVERS},${i}"
328 done
329 fi
330 ;;
331 esac
332 }