Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 171578 Details for
Bug 204755
app-emulation/emul-linux-x86-xlibs-20071230 opengl crashes X with Intel 965GM chipset
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
multilib mesa-7.2
mesa-7.2.ebuild (text/plain), 9.90 KB, created by
Bernd Buschinski
on 2008-11-12 21:36:18 UTC
(
hide
)
Description:
multilib mesa-7.2
Filename:
MIME Type:
Creator:
Bernd Buschinski
Created:
2008-11-12 21:36:18 UTC
Size:
9.90 KB
patch
obsolete
># Copyright 1999-2007 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 ># $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.0.2.ebuild,v 1.6 2007/11/16 18:16:30 dberkholz Exp $ > >GIT= >if [[ ${PV} = 9999* ]]; then > EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa" > GIT="git" >fi > >inherit autotools multilib flag-o-matic ${GIT} portability toolchain-funcs > >OPENGL_DIR="xorg-x11" >#non rc >MY_PN="${PN/m/M}" >MY_P="${MY_PN}-${PV//_}" >MY_SRC_P="${MY_PN}Lib-${PV//_}" > >#rc >#MY_PN="${PN/m/M}" >#MY_P="${MY_PN}-${PV//_/-}" >#MY_SRC_P="${MY_PN}Lib-${PV/_/-}" > >DESCRIPTION="OpenGL-like graphic library for Linux" >HOMEPAGE="http://mesa3d.sourceforge.net/" >if [[ $PV = *_rc* ]]; then > SRC_URI="http://www.mesa3d.org/beta/${MY_SRC_P}.tar.gz" >elif [[ $PV = 9999 ]]; then > SRC_URI="" >else > SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2" >fi >LICENSE="LGPL-2" >SLOT="0" >KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" >EMULTILIB_PKG="true" > >IUSE_VIDEO_CARDS=" > video_cards_intel > video_cards_mach64 > video_cards_mga > video_cards_none > video_cards_r128 > video_cards_radeon > video_cards_s3virge > video_cards_savage > video_cards_sis > video_cards_sunffb > video_cards_tdfx > video_cards_trident > video_cards_via" >IUSE="${IUSE_VIDEO_CARDS} > debug > doc > pic > motif > nptl > xcb > kernel_FreeBSD > multilib" > >RDEPEND="app-admin/eselect-opengl > dev-libs/expat > x11-libs/libX11 > x11-libs/libXext > x11-libs/libXxf86vm > x11-libs/libXi > x11-libs/libXmu > x11-libs/libXdamage > >=x11-libs/libdrm-2.3.1-r1 > x11-libs/libICE > motif? ( virtual/motif ) > doc? ( app-doc/opengl-manpages ) > !<=x11-base/xorg-x11-6.9" >DEPEND="${RDEPEND} > !<=x11-proto/xf86driproto-2.0.3 > dev-util/pkgconfig > x11-misc/makedepend > x11-proto/inputproto > x11-proto/xextproto > !hppa? ( x11-proto/xf86driproto ) > x11-proto/dri2proto > x11-proto/xf86vidmodeproto > >=x11-proto/glproto-1.4.8 > motif? ( x11-proto/printproto )" > >S="${WORKDIR}/${MY_P}" > ># Think about: ggi, svga, fbcon, no-X configs > >pkg_setup() { > if use xcb; then > if ! built_with_use x11-libs/libX11 xcb; then > msg="You must build libX11 with xcb enabled." > eerror ${msg} > die ${msg} > fi > fi > > if use debug; then > strip-flags > append-flags -g > fi > > # gcc 4.2 has buggy ivopts > if [[ $(gcc-version) = "4.2" ]]; then > append-flags -fno-ivopts > fi >} > >src_unpack() { ># git_src_unpack > unpack "${A}" > cd "${S}" > > # FreeBSD 6.* doesn't have posix_memalign(). > [[ ${CHOST} == *-freebsd6.* ]] && sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configure.ac > > # Don't compile debug code with USE=-debug - bug #125004 > if ! use debug; then > einfo "Removing DO_DEBUG defs in dri drivers..." > 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/" ; > fi > > eautoreconf >} > >mesa_src_compile() { > local myconf > local OCFLAGS="" > local OCXXFLAGS="" > local OCHOST="" > CC="$(tc-getCC)" > CXX="$(tc-getCXX)" > > if has_multilib_profile ; then > OCFLAGS="${CFLAGS}" > OCXXFLAGS="${CXXFLAGS}" > OCHOST="${CHOST}" > if use amd64 || use ppc64 ; then > case ${ABI} in > x86) CHOST="i686-${OCHOST#*-}" > CFLAGS="${OCFLAGS} -m32" > CXXFLAGS="${OCXXFLAGS} -m32" > ;; > amd64) CHOST="x86_64-${OCHOST#*-}" > CFLAGS="${OCFLAGS} -m64" > CXXFLAGS="${CXXFLAGS} -m64" > ;; > ppc) CHOST="powerpc-${OCHOST#*-}" > CFLAGS="${OCFLAGS} -m32" > CXXFLAGS="${OCXXFLAGS} -m32" > ;; > ppc64) CHOST="powerpc64-${OCHOST#*-}" > CFLAGS="${OCFLAGS} -m64" > CXXFLAGS="${OCXXFLAGS} -m64" > ;; > *) die "Unknown ABI" > ;; > esac > fi > fi > > # This is where we might later change to build xlib/osmesa > myconf="${myconf} --with-driver=dri" > > # Do we want thread-local storage (TLS)? > myconf="${myconf} $(use_enable nptl glx-tls)" > > # Configurable DRI drivers > driver_enable swrast > driver_enable video_cards_intel i810 i915 i965 > driver_enable video_cards_mach64 mach64 > driver_enable video_cards_mga mga > driver_enable video_cards_r128 r128 > driver_enable video_cards_radeon radeon r200 r300 > driver_enable video_cards_s3virge s3v > driver_enable video_cards_savage savage > driver_enable video_cards_sis sis > driver_enable video_cards_sunffb ffb > driver_enable video_cards_tdfx tdfx > driver_enable video_cards_trident trident > driver_enable video_cards_via unichrome > > # Set drivers to everything on which we ran driver_enable() > myconf="${myconf} --with-dri-drivers=${DRI_DRIVERS}" > > # Deactivate assembly code for pic build > myconf="${myconf} $(use_enable pic asm)" > > # Sparc assembly code is not working > myconf="${myconf} $(use_enable sparc asm)" > > myconf="${myconf} --disable-glut" > > myconf="${myconf} --without-demos" > > # xcb is not yet used for the binary 32bit compatibility libs > if is_final_abi ; then > myconf="${myconf} $(use_enable xcb)" > fi > > # Get rid of glut includes > rm -f "${S}"/include/GL/glut*h > > myconf="${myconf} $(use_enable motif glw)" > > # Create seperate build dir for each ABI since the Mesa build system > # doesn't handle building both ABIs in the same tree > cp -al ${S} ${WORKDIR}/builddir.${ABI} > cd ${WORKDIR}/builddir.${ABI} > > econf ${myconf} || die > > emake || die > if has_multilib_profile; then > CFLAGS="${OCFLAGS}" > CXXFLAGS="${OCXXFLAGS}" > CHOST="${OCHOST}" > fi >} > >src_compile() { > if [[ -z ${OABI} ]] ; then > local abilist="" > if has_multilib_profile ; then > abilist=$(get_install_abis) > einfo "Building multilib Mesa for ABIs: ${abilist}" > elif is_crosscompile || tc-is-cross-compiler ; then > abilist=${DEFAULT_ABI} > fi > if [[ -n ${abilist} ]] ; then > OABI=${ABI} > for ABI in ${abilist} ; do > export ABI > src_compile > done > ABI=${OABI} > unset OABI > return 0 > fi > fi > mesa_src_compile >} > >mesa_src_install() { > einfo "Installing Mesa ${ABI} ..." > cd ${WORKDIR}/builddir.${ABI} > > dodir /usr > emake \ > DESTDIR="${D}" \ > install || die "Installation failed" > > fix_opengl_symlinks > dynamic_libgl_install > > # Install libtool archives > sed -e "s:\/usr\/lib:/usr/$(get_libdir):g" "${FILESDIR}"/lib/libGLU.la \ > > "${D}"/usr/$(get_libdir)/libGLU.la > sed -e "s:\${libdir}:$(get_libdir):g" "${FILESDIR}"/lib/libGL.la \ > > "${D}"/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la > > # On *BSD libcs dlopen() and similar functions are present directly in > # libc.so and does not require linking to libdl. portability eclass takes > # care of finding the needed library (if needed) witht the dlopen_lib > # function. > sed -i -e 's:-ldl:'$(dlopen_lib)':g' \ > "${D}"/usr/$(get_libdir)/libGLU.la \ > "${D}"/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la > > is_final_abi || return 0 > > # libGLU doesn't get the plain .so symlink either > #dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so > > if ! use motif; then > rm "${D}"/usr/include/GL/GLwMDrawA.h > fi > > # Don't install private headers > rm -f "${D}"/usr/include/GL/GLw*P.h > > # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to > # as the default libGL.so.1 >} > >src_install() { > if [[ -z ${OABI} ]] ; then > local abilist="" > if has_multilib_profile ; then > abilist=$(get_install_abis) > einfo "Installing multilib Mesa for ABIs: ${abilist}" > elif is_crosscompile || tc-is-cross-compiler ; then > abilist=${DEFAULT_ABI} > fi > if [[ -n ${abilist} ]] ; then > OABI=${ABI} > for ABI in ${abilist} ; do > export ABI > src_install > done > ABI=${OABI} > unset OABI > return 0 > fi > fi > > mesa_src_install >} > >pkg_postinst() { > switch_opengl_implem > > # We need the outer check, because xorg-server may not be installed > # first, and built_with_use() dies if the package isn't installed. > if has_version x11-base/xorg-server; then > if built_with_use x11-base/xorg-server nptl; then > ewarn "Rebuild x11-base/xorg-server without USE=nptl" > ewarn "or AIGLX (compiz, etc.) will not work." > ewarn "This is because of a bug in the Mesa NPTL assembly code" > ewarn "in all Mesa 7.0.x versions (Mesa 6.x is OK)." > fi > fi >} > >fix_opengl_symlinks() { > # Remove invalid symlinks > local LINK > for LINK in $(find "${D}"/usr/$(get_libdir) \ > -name libGL\.* -type l); do > rm -f ${LINK} > done > # Create required symlinks > if [[ ${CHOST} == *-freebsd* ]]; then > # FreeBSD doesn't use major.minor versioning, so the library is only > # libGL.so.1 and no libGL.so.1.2 is ever used there, thus only create > # libGL.so symlink and leave libGL.so.1 being the real thing > dosym libGL.so.1 /usr/$(get_libdir)/libGL.so > else > dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so > dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so.1 > fi >} > >dynamic_libgl_install() { > # next section is to setup the dynamic libGL stuff > ebegin "Moving libGL and friends for dynamic switching" > dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include} > local x="" > for x in "${D}"/usr/$(get_libdir)/libGL.so* \ > "${D}"/usr/$(get_libdir)/libGL.la \ > "${D}"/usr/$(get_libdir)/libGL.a; do > if [ -f ${x} -o -L ${x} ]; then > # libGL.a cause problems with tuxracer, etc > mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib > fi > done > # glext.h added for #54984 > for x in "${D}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do > if [ -f ${x} -o -L ${x} ]; then > mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include > fi > done > eend 0 >} > >switch_opengl_implem() { > # Switch to the xorg implementation. > # Use new opengl-update that will not reset user selected > # OpenGL interface ... > echo > eselect opengl set --use-old ${OPENGL_DIR} >} > ># $1 - VIDEO_CARDS flag ># other args - names of DRI drivers to enable >driver_enable() { > case $# in > # for enabling unconditionally > 1) > DRI_DRIVERS="${DRI_DRIVERS},$1" > ;; > *) > if use $1; then > shift > for i in $@; do > DRI_DRIVERS="${DRI_DRIVERS},${i}" > done > fi > ;; > esac >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 204755
:
154545
|
154653
|
154655
|
154661
|
154663
|
154695
|
154697
|
154763
|
158747
|
164909
|
164910
|
171577
|
171578
|
173365
|
174019
|
177093
|
181869
|
181870