diff options
author | Zhang Le <r0bertz@gentoo.org> | 2010-06-15 13:53:48 +0800 |
---|---|---|
committer | Zhang Le <r0bertz@gentoo.org> | 2010-06-15 13:53:48 +0800 |
commit | 5a7a004d9b60c3b184d6fe5f1ae72be10a05f425 (patch) | |
tree | 5b70885e22d3f08bd0b489ee05e44e5ee7f70aec | |
parent | rename xorg-server-1.8.1.901-loongson.patch (diff) | |
download | loongson-5a7a004d9b60c3b184d6fe5f1ae72be10a05f425.tar.gz loongson-5a7a004d9b60c3b184d6fe5f1ae72be10a05f425.tar.bz2 loongson-5a7a004d9b60c3b184d6fe5f1ae72be10a05f425.zip |
added mesa-7.8.1, remove it from package.mask
Signed-off-by: Zhang Le <r0bertz@gentoo.org>
-rw-r--r-- | media-libs/mesa/Manifest | 6 | ||||
-rw-r--r-- | media-libs/mesa/mesa-7.2.ebuild | 289 | ||||
-rw-r--r-- | media-libs/mesa/mesa-7.3.ebuild | 279 | ||||
-rw-r--r-- | media-libs/mesa/mesa-7.8.1.ebuild | 238 | ||||
-rw-r--r-- | profiles/package.mask | 6 |
5 files changed, 240 insertions, 578 deletions
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index 97bc0ca..6c1467c 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -2,7 +2,5 @@ AUX 6.5.2-i965-wine-fix.patch 2888 RMD160 e899ac128933eb1a65e5c79de97408679beb2a AUX lib/libGL.la 755 RMD160 a60984e0d56d559c2c15bd4693e01404a7e0a408 SHA1 d6e231ffaccd1b13c3628744031cc761ffaf76d8 SHA256 b32ffd7f3f866da7dbae80ba78b1dc5b4924b33ab133b13397af9cda0a274f91 AUX lib/libGLU.la 752 RMD160 04de8835526a3472480d7c285dd33d497bcc0bd7 SHA1 12c57ac5e7e8a94d4d41b0f37b0fb3f470791c39 SHA256 e28519d7ae719bc106f7d4239799580474d1b69a2254ede3b2179a5e50655fe5 AUX mesa-loongson.patch 426 RMD160 00b0f76db3c0fec2768383ad35284905b4793b2d SHA1 0c29f74c34529481aaf165671f90e733ad31feb7 SHA256 8d0a3951b086c18ffdb171b9aea014a69b19d67a9020aa881fcc460ebbd90bf9 -DIST MesaLib-7.2.tar.bz2 3341919 RMD160 1e7c2cc6aa27ebaf7e726ac2086c10a5155d0832 SHA1 a6dce814cc56a562890ab79cf4e205f62459a29c SHA256 a9cc62ab760afeebcb1319a193508734a2d470cab8effab2776a2d3c65bd9cd2 -DIST MesaLib-7.3.tar.bz2 3368281 RMD160 ee0b06d375d1ea91dc26ae96c807918e1d3cb7c8 SHA1 24e6278a95f5913c6a6230ab50c32c5cb13b84dc SHA256 64e6e2ea556c44af7eaeea083a514a23e4f896b7856da4f006125ffc30c4379b -EBUILD mesa-7.2.ebuild 7316 RMD160 43f29f57894a90ac2cfe95f296fd5cec694493cd SHA1 0fe1940f10025996e54c6d39f9ea4869fd499903 SHA256 e5077f367be62eac8ddc1cfbc92d902bf0d3a72d764766cdade6368f1957594e -EBUILD mesa-7.3.ebuild 7113 RMD160 51b03a4e95035b9ebc331bb92fd5da1c1a11a11e SHA1 cdbca52ed3b1161c7dc3596d4753cd0ad3d75d3b SHA256 924971941d532af3022f30110db6059e08dba5eb1a3ff7784e763642daf07280 +DIST MesaLib-7.8.1.tar.bz2 5137426 RMD160 b7b989342dc80a2a12456c17882e652db7bd86cd SHA1 1c15c62f845ef9b648366aa804410f68f7f79172 SHA256 b0b46e5abfd75db44501e308125fa92bcf1c91d91e97a043a3b1764cfa0907fa +EBUILD mesa-7.8.1.ebuild 6572 RMD160 88798c02bd41b9f5c22a32352e53db7d72073ebf SHA1 d3a0445fd92c0ce80f6c752c0e390347b36ae2b7 SHA256 8775a7034292678bf6ecf9d52c2eaaa4b5ca1c2879447f6593025d8abfafd6f5 diff --git a/media-libs/mesa/mesa-7.2.ebuild b/media-libs/mesa/mesa-7.2.ebuild deleted file mode 100644 index 2a6ba9f..0000000 --- a/media-libs/mesa/mesa-7.2.ebuild +++ /dev/null @@ -1,289 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.2.ebuild,v 1.2 2008/10/22 15:43:18 remi 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 - -OPENGL_DIR="xorg-x11" - -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" -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 - dri - pic - motif - nptl - xcb - kernel_FreeBSD" - -RDEPEND=">=app-admin/eselect-opengl-1.0.6-r1 - dev-libs/expat - >=x11-libs/libX11-1.1.5 - >=x11-libs/libXext-1.0.4 - >=x11-libs/libXxf86vm-1.0.2 - >=x11-libs/libXi-1.1.3 - >=x11-libs/libXmu-1.0.3 - >=x11-libs/libXdamage-1.1.1 - dri? ( >=x11-libs/libdrm-2.3.1 ) - >=x11-libs/libICE-1.0.4 - motif? ( >=x11-libs/openmotif-2.3.1-r1 ) - doc? ( >=app-doc/opengl-manpages-20001215 ) - !<=x11-base/xorg-x11-6.9" -DEPEND="${RDEPEND} - dri? ( - !<=x11-proto/xf86driproto-2.0.3 - !hppa? ( >=x11-proto/xf86driproto-2.0.4 ) - ) - dev-util/pkgconfig - >=x11-misc/makedepend-1.0.1 - >=x11-proto/inputproto-1.4.4 - >=x11-proto/xextproto-7.0.3 - >=x11-proto/xf86vidmodeproto-2.2.2 - >=x11-proto/glproto-1.4.9 - motif? ( >=x11-proto/printproto-1.0.4 )" - -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 - append-flags -g - fi - - # gcc 4.2 has buggy ivopts - if [[ $(gcc-version) = "4.2" ]]; then - append-flags -fno-ivopts - fi - - # recommended by upstream - append-flags -ffast-math -} - -src_unpack() { - if [[ ${PV} = 9999* ]]; then - git_src_unpack - else - unpack ${A} - cd "${S}" - fi - - epatch ${FILESDIR}/${PN}-loongson.patch - - # 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 -} - -src_compile() { - local myconf - - # This is where we might later change to build xlib/osmesa - if use dri ; then - myconf="${myconf} --with-driver=dri" - else - myconf="${myconf} --with-driver=xlib" - fi - - # No TTM - myconf="${myconf} --disable-ttm-api" - - # 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" - - myconf="${myconf} $(use_enable xcb)" - - myconf="${myconf} $(use_enable debug)" - - # Get rid of glut includes - rm -f "${S}"/include/GL/glut*h - - myconf="${myconf} $(use_enable motif glw)" - myconf="${myconf} $(use_enable motif)" - - econf ${myconf} || die - emake || die -} - -src_install() { - dodir /usr - emake \ - DESTDIR="${D}" \ - install || die "Installation failed" - - 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 - - fix_opengl_symlinks - dynamic_libgl_install - - # Install libtool archives - insinto /usr/$(get_libdir) - # (#67729) Needs to be lib, not $(get_libdir) - doins "${FILESDIR}"/lib/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 - - # libGLU doesn't get the plain .so symlink either - #dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so - - # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to - # as the default libGL.so.1 -} - -pkg_postinst() { - switch_opengl_implem -} - -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 -} diff --git a/media-libs/mesa/mesa-7.3.ebuild b/media-libs/mesa/mesa-7.3.ebuild deleted file mode 100644 index ca1ebc7..0000000 --- a/media-libs/mesa/mesa-7.3.ebuild +++ /dev/null @@ -1,279 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.3.ebuild,v 1.2 2009/02/03 15:56:57 remi Exp $ - -GIT=$([[ ${PV} = 9999* ]] && echo "git") -EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa" - -inherit autotools multilib flag-o-matic ${GIT} portability - -OPENGL_DIR="xorg-x11" - -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" -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" - -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.4.3 - x11-libs/libICE - motif? ( x11-libs/openmotif ) - 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-1.99.3 - 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 - append-flags -g - fi - - # gcc 4.2 has buggy ivopts - if [[ $(gcc-version) = "4.2" ]]; then - append-flags -fno-ivopts - fi - - # recommended by upstream - append-flags -ffast-math -} - -src_unpack() { - if [[ $PV = 9999 ]]; then - git_src_unpack - else - unpack ${A} - fi - cd "${S}" - - # FreeBSD 6.* doesn't have posix_memalign(). - epatch ${FILESDIR}/${PN}-loongson.patch - - [[ ${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 -} - -src_compile() { - local myconf - - # 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" - - myconf="${myconf} $(use_enable xcb)" - - # Get rid of glut includes - rm -f "${S}"/include/GL/glut*h - - myconf="${myconf} $(use_enable motif glw)" - - econf ${myconf} || die - emake || die -} - -src_install() { - dodir /usr - emake \ - DESTDIR="${D}" \ - install || die "Installation failed" - - 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 - - fix_opengl_symlinks - dynamic_libgl_install - - # Install libtool archives - insinto /usr/$(get_libdir) - # (#67729) Needs to be lib, not $(get_libdir) - doins "${FILESDIR}"/lib/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 - - # libGLU doesn't get the plain .so symlink either - #dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so - - # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to - # as the default libGL.so.1 -} - -pkg_postinst() { - switch_opengl_implem -} - -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 -} diff --git a/media-libs/mesa/mesa-7.8.1.ebuild b/media-libs/mesa/mesa-7.8.1.ebuild new file mode 100644 index 0000000..ea97c02 --- /dev/null +++ b/media-libs/mesa/mesa-7.8.1.ebuild @@ -0,0 +1,238 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.8.1.ebuild,v 1.2 2010/05/17 19:37:19 scarabeus Exp $ + +EAPI=3 + +EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa" + +if [[ ${PV} = 9999* ]]; then + GIT_ECLASS="git" + EXPERIMENTAL="true" +fi + +inherit autotools multilib flag-o-matic toolchain-funcs ${GIT_ECLASS} portability + +OPENGL_DIR="xorg-x11" + +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/" + +#SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2" +if [[ $PV = 9999* ]]; then + SRC_URI="${SRC_PATCHES}" +else + SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${PV}/${MY_SRC_P}.tar.bz2 + ${SRC_PATCHES}" +fi + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" + +VIDEO_CARDS="intel mach64 mga none nouveau r128 radeon radeonhd savage sis svga tdfx via" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + debug +gallium motif +nptl pic selinux +xcb kernel_FreeBSD" + +# keep correct libdrm and dri2proto dep +# keep blocks in rdepend for binpkg +RDEPEND=" + !<x11-base/xorg-server-1.7 + !<=x11-proto/xf86driproto-2.0.3 + >=app-admin/eselect-opengl-1.1.1-r2 + dev-libs/expat + >=x11-libs/libdrm-2.4.19 + x11-libs/libICE + x11-libs/libX11[xcb?] + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXi + x11-libs/libXmu + x11-libs/libXxf86vm + motif? ( x11-libs/openmotif ) +" +DEPEND="${RDEPEND} + dev-util/pkgconfig + x11-misc/makedepend + >=x11-proto/dri2proto-2.2 + >=x11-proto/glproto-1.4.11 + x11-proto/inputproto + >=x11-proto/xextproto-7.0.99.1 + x11-proto/xf86driproto + x11-proto/xf86vidmodeproto +" + +S="${WORKDIR}/${MY_P}" + +# It is slow without texrels, if someone wants slow +# mesa without texrels +pic use is worth shot +QA_EXECSTACK="usr/lib*/opengl/xorg-x11/lib/libGL.so*" +QA_WX_LOAD="usr/lib*/opengl/xorg-x11/lib/libGL.so*" + +# Think about: ggi, svga, fbcon, no-X configs + +pkg_setup() { + # gcc 4.2 has buggy ivopts + if [[ $(gcc-version) = "4.2" ]]; then + append-flags -fno-ivopts + fi + + # recommended by upstream + append-flags -ffast-math +} + +src_unpack() { + [[ $PV = 9999* ]] && git_src_unpack || unpack ${A} +} + +src_prepare() { + # apply patches + if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then + EPATCH_FORCE="yes" \ + EPATCH_SOURCE="${WORKDIR}/patches" \ + EPATCH_SUFFIX="patch" \ + epatch + fi + # FreeBSD 6.* doesn't have posix_memalign(). + [[ ${CHOST} == *-freebsd6.* ]] && \ + sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configure.ac + + # In order for mesa to complete it's build process we need to use a tool + # that it compiles. When we cross compile this clearly does not work + # so we require mesa to be built on the host system first. -solar + if tc-is-cross-compiler; then + sed -i -e "s#^GLSL_CL = .*\$#GLSL_CL = glsl-compile#g" \ + "${S}"/src/mesa/shader/slang/library/Makefile || die + fi + + epatch ${FILESDIR}/${PN}-loongson.patch + + eautoreconf +} + +src_configure() { + local myconf r600 + + # 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 + # ATI has two implementations as video_cards + driver_enable video_cards_radeon radeon r200 r300 r600 + driver_enable video_cards_radeonhd r300 r600 + driver_enable video_cards_savage savage + driver_enable video_cards_sis sis + driver_enable video_cards_tdfx tdfx + driver_enable video_cards_via unichrome + + myconf="${myconf} $(use_enable gallium)" + if use gallium; then + elog "You have enabled gallium infrastructure." + elog "This infrastructure currently support these drivers:" + elog " Intel: works only i915." + elog " Nouveau: Support for nVidia NV30 and later cards." + elog " Radeon: Newest implementation of r300-r500 driver." + elog " Svga: VMWare Virtual GPU driver." + echo + myconf="${myconf} + --with-state-trackers=glx,dri,egl + $(use_enable video_cards_svga gallium-svga) + $(use_enable video_cards_nouveau gallium-nouveau) + $(use_enable video_cards_intel gallium-intel)" + if use video_cards_radeon || use video_cards_radeonhd; then + myconf="${myconf} --enable-gallium-radeon" + else + myconf="${myconf} --disable-gallium-radeon" + fi + else + if use video_cards_nouveau || use video_cards_svga; then + elog "SVGA and nouveau drivers are available only via gallium interface." + elog "Enable gallium useflag if you want to use them." + fi + fi + + # --with-driver=dri|xlib|osmesa || do we need osmesa? + econf \ + --disable-option-checking \ + --with-driver=dri \ + --disable-glut \ + --without-demos \ + $(use_enable debug) \ + $(use_enable motif glw) \ + $(use_enable motif) \ + $(use_enable nptl glx-tls) \ + $(use_enable xcb) \ + $(use_enable !pic asm) \ + --with-dri-drivers=${DRI_DRIVERS} \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install || die "Installation failed" + + # Save the glsl-compiler for later use + if ! tc-is-cross-compiler; then + dodir /usr/bin/ + cp "${S}"/src/glsl/apps/compile "${D}"/usr/bin/glsl-compile \ + || die "failed to copy the glsl compiler." + fi + # Remove redundant headers + # GLUT thing + rm -f "${D}"/usr/include/GL/glut*.h || die "Removing glut include failed." + # Glew includes + rm -f "${D}"/usr/include/GL/{glew,glxew,wglew}.h \ + || die "Removing glew includes failed." + + # Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib + # because user can eselect desired GL provider. + 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.{la,a,so*}; do + if [ -f ${x} -o -L ${x} ]; then + mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib \ + || die "Failed to move ${x}" + fi + done + 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 \ + || die "Failed to move ${x}" + fi + done + eend $? +} + +pkg_postinst() { + # Switch to the xorg implementation. + 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+=",$1" + ;; + *) + if use $1; then + shift + for i in $@; do + DRI_DRIVERS+=",${i}" + done + fi + ;; + esac +} diff --git a/profiles/package.mask b/profiles/package.mask deleted file mode 100644 index 75c37b3..0000000 --- a/profiles/package.mask +++ /dev/null @@ -1,6 +0,0 @@ -# Zhang Le <r0bertz@gentoo.org> (10 June 2010) -# -# only make sense on 2E box, but nearly not usable because it is too slow -# maybe removed from overlay in the future -# -media-libs/mesa |