Gentoo Archives: gentoo-commits

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