* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2011-06-30 23:48 Chi-Thanh Christopher Nguyen
0 siblings, 0 replies; 17+ messages in thread
From: Chi-Thanh Christopher Nguyen @ 2011-06-30 23:48 UTC (permalink / raw
To: gentoo-commits
commit: ff7d0a3f799ff452ff51f8ad535c67b8fe862629
Author: Chi-Thanh Christopher Nguyen <chithanh <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 30 23:48:31 2011 +0000
Commit: Chi-Thanh Christopher Nguyen <chithanh <AT> cs <DOT> tu-berlin <DOT> de>
CommitDate: Thu Jun 30 23:48:31 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=ff7d0a3f
media-libs/mesa: adapt ebuild for configure changes, thanks to miknix in bug #372927. make i915g default.
---
...elect-mesa.conf.7.11 => eselect-mesa.conf.7.12} | 2 +-
media-libs/mesa/mesa-9999.ebuild | 72 +++++++++++---------
2 files changed, 41 insertions(+), 33 deletions(-)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.7.11 b/media-libs/mesa/files/eselect-mesa.conf.7.12
similarity index 97%
rename from media-libs/mesa/files/eselect-mesa.conf.7.11
rename to media-libs/mesa/files/eselect-mesa.conf.7.12
index 3a1b196..73b2752 100644
--- a/media-libs/mesa/files/eselect-mesa.conf.7.11
+++ b/media-libs/mesa/files/eselect-mesa.conf.7.12
@@ -16,7 +16,7 @@ declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not asso
MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)"
MESA_DRIVERS[i915,classicdriver]="i915_dri.so"
MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so"
-MESA_DRIVERS[i915,default]="classic"
+MESA_DRIVERS[i915,default]="gallium"
MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)"
MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 670fdc4..fe3f798 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -45,7 +45,7 @@ for card in ${VIDEO_CARDS}; do
done
IUSE="${IUSE_VIDEO_CARDS}
- bindist +classic d3d debug +egl +gallium gles +llvm motif +nptl openvg pic selinux shared-dricore wayland kernel_FreeBSD"
+ bindist +classic d3d debug +egl +gallium gles +llvm motif +nptl openvg pic selinux shared-dricore +shared-glapi wayland kernel_FreeBSD"
LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.24"
# not a runtime dependency of this package, but dependency of packages which
@@ -209,9 +209,11 @@ src_configure() {
$(use_enable gles gles2)
$(use_enable egl)
$(use_enable openvg)
- $(use_enable gallium)
"
- use egl && myconf+="--with-egl-platforms=$(use wayland && echo "wayland,")drm,x11"
+ if use egl; then
+ use shared-glapi || die "egl needs shared-glapi. Please either enable shared-glapi or disable the egl use flag ."
+ myconf+="--with-egl-platforms=$(use wayland && echo "wayland,")drm,x11"
+ fi
if use !gallium && use !classic; then
ewarn "You enabled neither classic nor gallium USE flags. No hardware"
@@ -221,36 +223,22 @@ src_configure() {
myconf+="
--with-state-trackers=glx,dri$(use egl && echo ",egl")$(use openvg && echo ",vega")$(use d3d && echo ",d3d1x")
$(use_enable llvm gallium-llvm)
- $(use_enable video_cards_vmware gallium-svga)
- $(use_enable video_cards_nouveau gallium-nouveau)
- $(use_enable video_cards_intel gallium-i915)
- $(use_enable video_cards_intel gallium-i965)
- $(use_enable video_cards_radeon gallium-r300)
- $(use_enable video_cards_radeon gallium-r600)
"
- if use video_cards_i915 || \
- use video_cards_intel; then
- myconf+=" --enable-gallium-i915"
- else
- myconf+=" --disable-gallium-i915"
- fi
- if use video_cards_i965 || \
- use video_cards_intel; then
- myconf+=" --enable-gallium-i965"
- else
- myconf+=" --disable-gallium-i965"
- fi
- if use video_cards_r300 || \
- use video_cards_radeon; then
- myconf+=" --enable-gallium-r300"
- else
- myconf+=" --disable-gallium-r300"
+ gallium_enable swrast
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_i915 i915
+ gallium_enable video_cards_i965 i965
+ if ! use video_cards_i915 && \
+ ! use video_cards_i965; then
+ gallium_enable video_cards_intel i915 i965
fi
- if use video_cards_r600 || \
- use video_cards_radeon; then
- myconf+=" --enable-gallium-r600"
- else
- myconf+=" --disable-gallium-r600"
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ if ! use video_cards_r300 && \
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
fi
else
if use video_cards_nouveau || use video_cards_vmware; then
@@ -272,7 +260,9 @@ src_configure() {
$(use_enable nptl glx-tls) \
$(use_enable !pic asm) \
$(use_enable shared-dricore) \
+ $(use_enable shared-glapi) \
--with-dri-drivers=${DRI_DRIVERS} \
+ --with-gallium-drivers=${GALLIUM_DRIVERS} \
${myconf}
}
@@ -296,7 +286,7 @@ src_install() {
# Install config file for eselect mesa
insinto /usr/share/mesa
- newins "${FILESDIR}/eselect-mesa.conf.7.11" eselect-mesa.conf || die
+ newins "${FILESDIR}/eselect-mesa.conf.7.12" eselect-mesa.conf || die
# Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
# because user can eselect desired GL provider.
@@ -370,6 +360,7 @@ pkg_postinst() {
# $1 - VIDEO_CARDS flag
# other args - names of DRI drivers to enable
+# TODO: avoid code duplication for a more elegant implementation
driver_enable() {
case $# in
# for enabling unconditionally
@@ -386,3 +377,20 @@ driver_enable() {
;;
esac
}
+
+gallium_enable() {
+ case $# in
+ # for enabling unconditionally
+ 1)
+ GALLIUM_DRIVERS+=",$1"
+ ;;
+ *)
+ if use $1; then
+ shift
+ for i in $@; do
+ GALLIUM_DRIVERS+=",${i}"
+ done
+ fi
+ ;;
+ esac
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2012-01-20 22:27 Matt Turner
0 siblings, 0 replies; 17+ messages in thread
From: Matt Turner @ 2012-01-20 22:27 UTC (permalink / raw
To: gentoo-commits
commit: 3e843e8ffd6a5387a3fc328a1f637a082916f5ed
Author: Matt Turner <mattst88 <AT> gmail <DOT> com>
AuthorDate: Fri Jan 20 22:26:32 2012 +0000
Commit: Matt Turner <mattst88 <AT> gmail <DOT> com>
CommitDate: Fri Jan 20 22:26:32 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=3e843e8f
media-libs/mesa: add mesa-8.0_rc1
---
...select-mesa.conf.7.12 => eselect-mesa.conf.8.0} | 0
.../mesa/{mesa-9999.ebuild => mesa-8.0_rc1.ebuild} | 5 +++--
media-libs/mesa/mesa-9999.ebuild | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.7.12 b/media-libs/mesa/files/eselect-mesa.conf.8.0
similarity index 100%
rename from media-libs/mesa/files/eselect-mesa.conf.7.12
rename to media-libs/mesa/files/eselect-mesa.conf.8.0
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-8.0_rc1.ebuild
similarity index 98%
copy from media-libs/mesa/mesa-9999.ebuild
copy to media-libs/mesa/mesa-8.0_rc1.ebuild
index 806eb32..91c0646 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-8.0_rc1.ebuild
@@ -156,7 +156,8 @@ src_prepare() {
fi
# fix for hardened pax_kernel, bug 240956
- [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
+ # FIXME: uncomment this when mesa-8.0 is moved to the main tree
+ #[[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
# Solaris needs some recent POSIX stuff in our case
if [[ ${CHOST} == *-solaris* ]] ; then
@@ -267,7 +268,7 @@ src_install() {
# Install config file for eselect mesa
insinto /usr/share/mesa
- newins "${FILESDIR}/eselect-mesa.conf.7.12" eselect-mesa.conf
+ newins "${FILESDIR}/eselect-mesa.conf.8.0" eselect-mesa.conf
# Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
# because user can eselect desired GL provider.
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 806eb32..eeb347b 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -267,7 +267,7 @@ src_install() {
# Install config file for eselect mesa
insinto /usr/share/mesa
- newins "${FILESDIR}/eselect-mesa.conf.7.12" eselect-mesa.conf
+ newins "${FILESDIR}/eselect-mesa.conf.8.0" eselect-mesa.conf
# Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
# because user can eselect desired GL provider.
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2012-02-10 18:32 Matt Turner
0 siblings, 0 replies; 17+ messages in thread
From: Matt Turner @ 2012-02-10 18:32 UTC (permalink / raw
To: gentoo-commits
commit: feb9ebc999f9a6256d7c1ee4938d284e104b43a9
Author: Matt Turner <mattst88 <AT> gmail <DOT> com>
AuthorDate: Fri Feb 10 18:31:17 2012 +0000
Commit: Matt Turner <mattst88 <AT> gmail <DOT> com>
CommitDate: Fri Feb 10 18:31:17 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=feb9ebc9
media-libs/mesa: relax r300's requirement of llvm, bug 380303
---
.../mesa-8.0-dont-require-llvm-for-r300.patch | 27 ++++++++++++++++++++
.../mesa-9999-dont-require-llvm-for-r300.patch | 27 ++++++++++++++++++++
media-libs/mesa/mesa-8.0.ebuild | 7 ++---
media-libs/mesa/mesa-9999.ebuild | 7 ++---
4 files changed, 60 insertions(+), 8 deletions(-)
diff --git a/media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch
new file mode 100644
index 0000000..6a20914
--- /dev/null
+++ b/media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch
@@ -0,0 +1,27 @@
+diff --git a/configure.ac b/configure.ac
+index 846b623..fbd05c1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1839,14 +1839,6 @@ gallium_check_st() {
+ fi
+ }
+
+-gallium_require_llvm() {
+- if test "x$MESA_LLVM" = x0; then
+- case "$host_cpu" in
+- i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
+- esac
+- fi
+-}
+-
+ dnl Gallium drivers
+ dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
+ if test "x$with_gallium_drivers" != x; then
+@@ -1868,7 +1860,6 @@ if test "x$with_gallium_drivers" != x; then
+ gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
+ ;;
+ xr300)
+- gallium_require_llvm "Gallium R300"
+ GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
+ gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300"
+ ;;
diff --git a/media-libs/mesa/files/mesa-9999-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-9999-dont-require-llvm-for-r300.patch
new file mode 100644
index 0000000..b294083
--- /dev/null
+++ b/media-libs/mesa/files/mesa-9999-dont-require-llvm-for-r300.patch
@@ -0,0 +1,27 @@
+diff --git a/configure.ac b/configure.ac
+index 846b623..fbd05c1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1839,14 +1839,6 @@ gallium_check_st() {
+ fi
+ }
+
+-gallium_require_llvm() {
+- if test "x$MESA_LLVM" = x0; then
+- case "$host_cpu" in
+- i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
+- esac
+- fi
+-}
+-
+ dnl Gallium drivers
+ dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
+ if test "x$with_gallium_drivers" != x; then
+@@ -1868,7 +1860,6 @@ if test "x$with_gallium_drivers" != x; then
+ ;;
+ xr300)
+ PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
+- gallium_require_llvm "Gallium R300"
+ GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
+ gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300"
+ ;;
diff --git a/media-libs/mesa/mesa-8.0.ebuild b/media-libs/mesa/mesa-8.0.ebuild
index 469c078..8c63cf4 100644
--- a/media-libs/mesa/mesa-8.0.ebuild
+++ b/media-libs/mesa/mesa-8.0.ebuild
@@ -55,10 +55,6 @@ REQUIRED_USE="
llvm? ( gallium )
openvg? ( egl gallium )
gbm? ( shared-glapi )
- gallium? (
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- )
g3dvl? ( || ( vdpau xvmc ) )
vdpau? ( g3dvl )
xvmc? ( g3dvl )
@@ -155,6 +151,9 @@ src_prepare() {
epatch
fi
+ # relax the requirement that r300 must have llvm, bug 380303
+ epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch
+
# fix for hardened pax_kernel, bug 240956
# FIXME: uncomment this when mesa-8.0 is moved to the main tree
#[[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 1f868f5..fea2d84 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -56,10 +56,6 @@ REQUIRED_USE="
llvm? ( gallium )
openvg? ( egl gallium )
gbm? ( shared-glapi )
- gallium? (
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- )
g3dvl? ( || ( vdpau xvmc ) )
vdpau? ( g3dvl )
xvmc? ( g3dvl )
@@ -156,6 +152,9 @@ src_prepare() {
epatch
fi
+ # relax the requirement that r300 must have llvm, bug 380303
+ epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch
+
# fix for hardened pax_kernel, bug 240956
[[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2012-02-10 18:55 Matt Turner
0 siblings, 0 replies; 17+ messages in thread
From: Matt Turner @ 2012-02-10 18:55 UTC (permalink / raw
To: gentoo-commits
commit: 4c934d060d16f8ebcd1d1efc1941e2c7d7e01ca0
Author: Matt Turner <mattst88 <AT> gmail <DOT> com>
AuthorDate: Fri Feb 10 18:55:04 2012 +0000
Commit: Matt Turner <mattst88 <AT> gmail <DOT> com>
CommitDate: Fri Feb 10 18:55:04 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=4c934d06
media-libs/mesa: move 8.0 to the main tree
---
.../mesa-8.0-dont-require-llvm-for-r300.patch | 27 --
media-libs/mesa/mesa-8.0.ebuild | 391 --------------------
2 files changed, 0 insertions(+), 418 deletions(-)
diff --git a/media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch
deleted file mode 100644
index 6a20914..0000000
--- a/media-libs/mesa/files/mesa-8.0-dont-require-llvm-for-r300.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 846b623..fbd05c1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1839,14 +1839,6 @@ gallium_check_st() {
- fi
- }
-
--gallium_require_llvm() {
-- if test "x$MESA_LLVM" = x0; then
-- case "$host_cpu" in
-- i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
-- esac
-- fi
--}
--
- dnl Gallium drivers
- dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block
- if test "x$with_gallium_drivers" != x; then
-@@ -1868,7 +1860,6 @@ if test "x$with_gallium_drivers" != x; then
- gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
- ;;
- xr300)
-- gallium_require_llvm "Gallium R300"
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
- gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300"
- ;;
diff --git a/media-libs/mesa/mesa-8.0.ebuild b/media-libs/mesa/mesa-8.0.ebuild
deleted file mode 100644
index 8c63cf4..0000000
--- a/media-libs/mesa/mesa-8.0.ebuild
+++ /dev/null
@@ -1,391 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=4
-
-EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
-
-if [[ ${PV} = 9999* ]]; then
- GIT_ECLASS="git-2"
- EXPERIMENTAL="true"
-fi
-
-inherit base autotools multilib flag-o-matic toolchain-funcs ${GIT_ECLASS}
-
-OPENGL_DIR="xorg-x11"
-
-MY_PN="${PN/m/M}"
-MY_P="${MY_PN}-${PV/_/-}"
-MY_SRC_P="${MY_PN}Lib-${PV/_/-}"
-
-FOLDER="${PV/_rc*/}"
-
-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/${FOLDER}/${MY_SRC_P}.tar.bz2
- ${SRC_PATCHES}"
-fi
-
-# Most of the code is MIT/X11.
-# ralloc is LGPL-3
-# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
-LICENSE="MIT LGPL-3 SGI-B-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
-
-INTEL_CARDS="i915 i965 intel"
-RADEON_CARDS="r100 r200 r300 r600 radeon"
-VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} nouveau vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- bindist +classic d3d debug +egl g3dvl +gallium gbm gles1 gles2 +llvm +nptl openvg osmesa pax_kernel pic selinux shared-dricore +shared-glapi vdpau wayland xvmc kernel_FreeBSD"
-
-REQUIRED_USE="
- d3d? ( gallium )
- g3dvl? ( gallium )
- llvm? ( gallium )
- openvg? ( egl gallium )
- gbm? ( shared-glapi )
- g3dvl? ( || ( vdpau xvmc ) )
- vdpau? ( g3dvl )
- xvmc? ( g3dvl )
- video_cards_intel? ( || ( classic gallium ) )
- video_cards_i915? ( || ( classic gallium ) )
- video_cards_i965? ( classic )
- video_cards_nouveau? ( || ( classic gallium ) )
- video_cards_radeon? ( || ( classic gallium ) )
- video_cards_r100? ( classic )
- video_cards_r200? ( classic )
- video_cards_r300? ( gallium )
- video_cards_r600? ( gallium )
- video_cards_vmware? ( gallium )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.31"
-# not a runtime dependency of this package, but dependency of packages which
-# depend on this package, bug #342393
-EXTERNAL_DEPEND="
- >=x11-proto/dri2proto-2.6
- >=x11-proto/glproto-1.4.15
-"
-# keep correct libdrm and dri2proto dep
-# keep blocks in rdepend for binpkg
-RDEPEND="${EXTERNAL_DEPEND}
- !<x11-base/xorg-server-1.7
- !<=x11-proto/xf86driproto-2.0.3
- classic? ( app-admin/eselect-mesa )
- gallium? ( app-admin/eselect-mesa )
- >=app-admin/eselect-opengl-1.2.2
- dev-libs/expat
- gbm? ( sys-fs/udev )
- >=x11-libs/libX11-1.3.99.901
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXxf86vm
- >=x11-libs/libxcb-1.8
- d3d? ( app-emulation/wine )
- vdpau? ( >=x11-libs/libvdpau-0.4.1 )
- wayland? ( dev-libs/wayland )
- xvmc? ( x11-libs/libXvMC )
- ${LIBDRM_DEPSTRING}[video_cards_nouveau?,video_cards_vmware?]
-"
-for card in ${INTEL_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
- "
-done
-
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-
-DEPEND="${RDEPEND}
- llvm? ( >=sys-devel/llvm-2.9 )
- =dev-lang/python-2*
- dev-libs/libxml2[python]
- dev-util/pkgconfig
- sys-devel/bison
- sys-devel/flex
- x11-misc/makedepend
- >=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 the 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, fbcon, no-X configs
-
-pkg_setup() {
- # workaround toc-issue wrt #386545
- use ppc64 && append-flags -mminimal-toc
-}
-
-src_unpack() {
- default
- [[ $PV = 9999* ]] && git-2_src_unpack
-}
-
-src_prepare() {
- # apply patches
- if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
- EPATCH_FORCE="yes" \
- EPATCH_SOURCE="${WORKDIR}/patches" \
- EPATCH_SUFFIX="patch" \
- epatch
- fi
-
- # relax the requirement that r300 must have llvm, bug 380303
- epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch
-
- # fix for hardened pax_kernel, bug 240956
- # FIXME: uncomment this when mesa-8.0 is moved to the main tree
- #[[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
-
- # Solaris needs some recent POSIX stuff in our case
- if [[ ${CHOST} == *-solaris* ]] ; then
- sed -i -e "s/-DSVR4/-D_POSIX_C_SOURCE=200112L/" configure.ac || die
- fi
-
- base_src_prepare
-
- eautoreconf
-}
-
-src_configure() {
- local myconf
-
- if use classic; then
- # Configurable DRI drivers
- driver_enable swrast
-
- # Intel code
- driver_enable video_cards_i915 i915
- driver_enable video_cards_i965 i965
- if ! use video_cards_i915 && \
- ! use video_cards_i965; then
- driver_enable video_cards_intel i915 i965
- fi
-
- # Nouveau code
- driver_enable video_cards_nouveau nouveau
-
- # ATI code
- driver_enable video_cards_r100 radeon
- driver_enable video_cards_r200 r200
- if ! use video_cards_r100 && \
- ! use video_cards_r200; then
- driver_enable video_cards_radeon radeon r200
- fi
- fi
-
- if use egl; then
- myconf+="
- --with-egl-platforms=x11$(use wayland && echo ",wayland")$(use gbm && echo ",drm")
- $(use_enable gallium gallium-egl)
- "
- fi
-
- if use gallium; then
- myconf+="
- $(use_enable d3d d3d1x)
- $(use_enable g3dvl gallium-g3dvl)
- $(use_enable llvm gallium-llvm)
- $(use_enable openvg)
- $(use_enable vdpau)
- $(use_enable xvmc)
- "
- gallium_enable swrast
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_i915 i915
- if ! use video_cards_i915; then
- gallium_enable video_cards_intel i915
- fi
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- if ! use video_cards_r300 && \
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
- fi
-
- # x86 hardened pax_kernel needs glx-rts, bug 240956
- if use pax_kernel; then
- myconf+="
- $(use_enable x86 glx-rts)
- "
- fi
-
- econf \
- --enable-dri \
- --enable-glx \
- $(use_enable !bindist texture-float) \
- $(use_enable debug) \
- $(use_enable egl) \
- $(use_enable gbm) \
- $(use_enable gles1) \
- $(use_enable gles2) \
- $(use_enable nptl glx-tls) \
- $(use_enable osmesa) \
- $(use_enable !pic asm) \
- $(use_enable shared-dricore) \
- $(use_enable shared-glapi) \
- --with-dri-drivers=${DRI_DRIVERS} \
- --with-gallium-drivers=${GALLIUM_DRIVERS} \
- ${myconf}
-}
-
-src_install() {
- base_src_install
-
- if use !bindist; then
- dodoc docs/patents.txt
- fi
-
- # Save the glsl-compiler for later use
- if ! tc-is-cross-compiler; then
- dobin "${S}"/src/glsl/glsl_compiler
- fi
-
- # Install config file for eselect mesa
- insinto /usr/share/mesa
- newins "${FILESDIR}/eselect-mesa.conf.8.0" eselect-mesa.conf
-
- # 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 "${ED}"/usr/$(get_libdir)/lib{EGL,GL,OpenVG}.{la,a,so*}; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f "${x}" "${ED}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib \
- || die "Failed to move ${x}"
- fi
- done
- for x in "${ED}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f "${x}" "${ED}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include \
- || die "Failed to move ${x}"
- fi
- done
- eend $?
-
- if use classic || use gallium; then
- ebegin "Moving DRI/Gallium drivers for dynamic switching"
- local gallium_drivers=( i915_dri.so i965_dri.so r300_dri.so r600_dri.so swrast_dri.so )
- keepdir /usr/$(get_libdir)/dri
- dodir /usr/$(get_libdir)/mesa
- for x in ${gallium_drivers[@]}; do
- if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
- mv -f "${ED}/usr/$(get_libdir)/dri/${x}" "${ED}/usr/$(get_libdir)/dri/${x/_dri.so/g_dri.so}" \
- || die "Failed to move ${x}"
- insinto "/usr/$(get_libdir)/dri/"
- if [ -f "${S}/$(get_libdir)/${x}" ]; then
- insopts -m0755
- doins "${S}/$(get_libdir)/${x}"
- fi
- fi
- done
- for x in "${ED}"/usr/$(get_libdir)/dri/*.so; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f "${x}" "${x/dri/mesa}" \
- || die "Failed to move ${x}"
- fi
- done
- pushd "${ED}"/usr/$(get_libdir)/dri || die "pushd failed"
- ln -s ../mesa/*.so . || die "Creating symlink failed"
- # remove symlinks to drivers known to eselect
- for x in ${gallium_drivers[@]}; do
- if [ -f ${x} -o -L ${x} ]; then
- rm "${x}" || die "Failed to remove ${x}"
- fi
- done
- popd
- eend $?
- fi
-}
-
-pkg_postinst() {
- # Switch to the xorg implementation.
- echo
- eselect opengl set --use-old ${OPENGL_DIR}
- # Select classic/gallium drivers
- if use classic || use gallium; then
- eselect mesa set --auto
- fi
-
- # warn about patent encumbered texture-float
- if use !bindist; then
- elog "USE=\"bindist\" was not set. Potentially patent encumbered code was"
- elog "enabled. Please see patents.txt for an explanation."
- fi
-
- local using_radeon r_flag
- for r_flag in ${RADEON_CARDS}; do
- if use video_cards_${r_flag}; then
- using_radeon=1
- break
- fi
- done
-
- if [[ ${using_radeon} = 1 ]] && ! has_version media-libs/libtxc_dxtn; then
- elog "Note that in order to have full S3TC support, it is necessary to install"
- elog "media-libs/libtxc_dxtn as well. This may be necessary to get nice"
- elog "textures in some apps, and some others even require this to run."
- fi
-}
-
-# $1 - VIDEO_CARDS flag
-# other args - names of DRI drivers to enable
-# TODO: avoid code duplication for a more elegant implementation
-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
-}
-
-gallium_enable() {
- case $# in
- # for enabling unconditionally
- 1)
- GALLIUM_DRIVERS+=",$1"
- ;;
- *)
- if use $1; then
- shift
- for i in $@; do
- GALLIUM_DRIVERS+=",${i}"
- done
- fi
- ;;
- esac
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2012-04-15 20:09 Chi-Thanh Christopher Nguyen
0 siblings, 0 replies; 17+ messages in thread
From: Chi-Thanh Christopher Nguyen @ 2012-04-15 20:09 UTC (permalink / raw
To: gentoo-commits
commit: 8437c90f8cfe02f0cd82f307e9e587350d19e883
Author: Chi-Thanh Christopher Nguyen <chithanh <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 15 20:09:48 2012 +0000
Commit: Chi-Thanh Christopher Nguyen <chithanh <AT> cs <DOT> tu-berlin <DOT> de>
CommitDate: Sun Apr 15 20:09:48 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=8437c90f
media-libs/mesa: re-add classic to eselect-mesa.conf for emul-linux-x86-mesa and because eselect-mesa barfs.
---
...eselect-mesa.conf.8.0 => eselect-mesa.conf.8.1} | 2 ++
media-libs/mesa/mesa-9999.ebuild | 2 +-
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.8.0 b/media-libs/mesa/files/eselect-mesa.conf.8.1
similarity index 94%
rename from media-libs/mesa/files/eselect-mesa.conf.8.0
rename to media-libs/mesa/files/eselect-mesa.conf.8.1
index 2fc9900..63a21aa 100644
--- a/media-libs/mesa/files/eselect-mesa.conf.8.0
+++ b/media-libs/mesa/files/eselect-mesa.conf.8.1
@@ -23,10 +23,12 @@ MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
MESA_DRIVERS[i965,default]="classic"
MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
+MESA_DRIVERS[r300,classicdriver]="r300_dri.so"
MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so"
MESA_DRIVERS[r300,default]="gallium"
MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern Islands)"
+MESA_DRIVERS[r600,classicdriver]="r600_dri.so"
MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so"
MESA_DRIVERS[r600,default]="gallium"
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 776c961..d5d5965 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -287,7 +287,7 @@ src_install() {
# Install config file for eselect mesa
insinto /usr/share/mesa
- newins "${FILESDIR}/eselect-mesa.conf.8.0" eselect-mesa.conf
+ newins "${FILESDIR}/eselect-mesa.conf.8.1" eselect-mesa.conf
# Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
# because user can eselect desired GL provider.
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-04-28 12:53 Chi-Thanh Christopher Nguyen
0 siblings, 0 replies; 17+ messages in thread
From: Chi-Thanh Christopher Nguyen @ 2013-04-28 12:53 UTC (permalink / raw
To: gentoo-commits
commit: 9af789d85685393d4a9c79897caaf67281a061da
Author: Chi-Thanh Christopher Nguyen <chithanh <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 28 12:53:27 2013 +0000
Commit: Chi-Thanh Christopher Nguyen <chithanh <AT> cs <DOT> tu-berlin <DOT> de>
CommitDate: Sun Apr 28 12:53:27 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=9af789d8
media-libs/mesa: add flags for building the ilo driver
---
media-libs/mesa/files/eselect-mesa.conf.8.1 | 38 ---------------------------
media-libs/mesa/mesa-9999.ebuild | 21 ++++++++------
2 files changed, 12 insertions(+), 47 deletions(-)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.8.1 b/media-libs/mesa/files/eselect-mesa.conf.8.1
deleted file mode 100644
index 63a21aa..0000000
--- a/media-libs/mesa/files/eselect-mesa.conf.8.1
+++ /dev/null
@@ -1,38 +0,0 @@
-# mesa classic/gallium implementations in this release
-
-# Syntax description:
-# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable
-# classic/gallium implementations.
-# * MESA_DRIVERS is an associative array, for each member "foo" of
-# MESA_IMPLEMENTATIONS it contains the following elements:
-# foo,description - Human-readable description of the driver
-# foo,classicdriver - Filename of the classic driver
-# foo,galliumdriver - Filename of the gallium driver
-# foo,default - which of classic or gallium is chosen by default
-
-MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw"
-declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not associative."
-
-MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)"
-MESA_DRIVERS[i915,classicdriver]="i915_dri.so"
-MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so"
-MESA_DRIVERS[i915,default]="gallium"
-
-MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)"
-MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
-MESA_DRIVERS[i965,default]="classic"
-
-MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
-MESA_DRIVERS[r300,classicdriver]="r300_dri.so"
-MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so"
-MESA_DRIVERS[r300,default]="gallium"
-
-MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern Islands)"
-MESA_DRIVERS[r600,classicdriver]="r600_dri.so"
-MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so"
-MESA_DRIVERS[r600,default]="gallium"
-
-MESA_DRIVERS[sw,description]="sw (Software renderer)"
-MESA_DRIVERS[sw,classicdriver]="swrast_dri.so"
-MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so"
-MESA_DRIVERS[sw,default]="gallium"
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 4c015b4..3d020b4 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -40,7 +40,7 @@ LICENSE="MIT SGI-B-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
-INTEL_CARDS="i915 i965 intel"
+INTEL_CARDS="i915 i965 ilo intel"
RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} nouveau vmware"
for card in ${VIDEO_CARDS}; do
@@ -64,7 +64,7 @@ REQUIRED_USE="
xorg? ( gallium )
video_cards_intel? ( || ( classic gallium ) )
video_cards_i915? ( || ( classic gallium ) )
- video_cards_i965? ( classic )
+ video_cards_i965? ( || ( classic gallium ) )
video_cards_nouveau? ( || ( classic gallium ) )
video_cards_radeon? ( || ( classic gallium ) )
video_cards_r100? ( classic )
@@ -75,7 +75,7 @@ REQUIRED_USE="
video_cards_vmware? ( gallium )
"
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.40"
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.44"
# keep correct libdrm and dri2proto dep
# keep blocks in rdepend for binpkg
RDEPEND="
@@ -189,8 +189,9 @@ src_configure() {
# Intel code
driver_enable video_cards_i915 i915
driver_enable video_cards_i965 i965
- if ! use video_cards_i915 && \
- ! use video_cards_i965; then
+ if ! use video_cards_i915 && \
+ ! use video_cards_i965 && \
+ ! use video_cards_ilo; then
driver_enable video_cards_intel i915 i965
fi
@@ -225,8 +226,10 @@ src_configure() {
gallium_enable video_cards_vmware svga
gallium_enable video_cards_nouveau nouveau
gallium_enable video_cards_i915 i915
- if ! use video_cards_i915; then
- gallium_enable video_cards_intel i915
+ gallium_enable video_cards_ilo ilo
+ if ! use video_cards_i915 && \
+ ! use video_cards_ilo; then
+ gallium_enable video_cards_intel i915 ilo
fi
gallium_enable video_cards_r300 r300
@@ -280,7 +283,7 @@ src_install() {
# Install config file for eselect mesa
insinto /usr/share/mesa
- newins "${FILESDIR}/eselect-mesa.conf.8.1" eselect-mesa.conf
+ newins "${FILESDIR}/eselect-mesa.conf.9.2" eselect-mesa.conf
# Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
# because user can eselect desired GL provider.
@@ -310,7 +313,7 @@ src_install() {
if use classic || use gallium; then
ebegin "Moving DRI/Gallium drivers for dynamic switching"
- local gallium_drivers=( i915_dri.so i965_dri.so r300_dri.so r600_dri.so swrast_dri.so )
+ local gallium_drivers=( i915_dri.so ilo_dri.so r300_dri.so r600_dri.so swrast_dri.so )
keepdir /usr/$(get_libdir)/dri
dodir /usr/$(get_libdir)/mesa
for x in ${gallium_drivers[@]}; do
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-05-06 17:37 Chi-Thanh Christopher Nguyen
0 siblings, 0 replies; 17+ messages in thread
From: Chi-Thanh Christopher Nguyen @ 2013-05-06 17:37 UTC (permalink / raw
To: gentoo-commits
commit: dc54c2234305050351d51de40bead4c30669f341
Author: Chi-Thanh Christopher Nguyen <chithanh <AT> gentoo <DOT> org>
AuthorDate: Mon May 6 17:35:36 2013 +0000
Commit: Chi-Thanh Christopher Nguyen <chithanh <AT> cs <DOT> tu-berlin <DOT> de>
CommitDate: Mon May 6 17:35:36 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=dc54c223
Revert "Add patch for multigpu in clover"
This reverts commit 5fc6d117965dd1cbc2abd547fcd3648935c13e71.
---
...ort-multiple-devices-in-clCreateContextFr.patch | 51 --------------------
media-libs/mesa/mesa-9999.ebuild | 1 -
2 files changed, 0 insertions(+), 52 deletions(-)
diff --git a/media-libs/mesa/files/0001-clover-Support-multiple-devices-in-clCreateContextFr.patch b/media-libs/mesa/files/0001-clover-Support-multiple-devices-in-clCreateContextFr.patch
deleted file mode 100644
index bd050ad..0000000
--- a/media-libs/mesa/files/0001-clover-Support-multiple-devices-in-clCreateContextFr.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 7ab4839745069e22ff2e2636fd27b463fa308838 Mon Sep 17 00:00:00 2001
-From: Tom Stellard <thomas.stellard@amd.com>
-Date: Thu, 11 Apr 2013 10:37:55 -0400
-Subject: [PATCH] clover: Support multiple devices in clCreateContextFromType()
-
----
- src/gallium/state_trackers/clover/api/context.cpp | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/src/gallium/state_trackers/clover/api/context.cpp b/src/gallium/state_trackers/clover/api/context.cpp
-index 99b9566..5caa48c 100644
---- a/src/gallium/state_trackers/clover/api/context.cpp
-+++ b/src/gallium/state_trackers/clover/api/context.cpp
-@@ -22,6 +22,7 @@
-
- #include "api/util.hpp"
- #include "core/context.hpp"
-+#include "core/platform.hpp"
-
- using namespace clover;
-
-@@ -63,18 +64,22 @@ clCreateContextFromType(const cl_context_properties *props,
- void *user_data, cl_int *errcode_ret) try {
- cl_platform_id platform;
- cl_uint num_platforms;
-- cl_device_id dev;
- cl_int ret;
-+ std::vector<cl_device_id> devs;
-
- ret = clGetPlatformIDs(1, &platform, &num_platforms);
- if (ret || !num_platforms)
- throw error(CL_INVALID_PLATFORM);
-
-- ret = clGetDeviceIDs(platform, type, 1, &dev, 0);
-- if (ret)
-+ if (platform->begin() == platform->end())
- throw error(CL_DEVICE_NOT_FOUND);
-
-- return clCreateContext(props, 1, &dev, pfn_notify, user_data, errcode_ret);
-+ for (clover::platform::iterator i = platform->begin(), e = platform->end();
-+ i != e; ++i) {
-+ devs.push_back(&*i);
-+ }
-+
-+ return clCreateContext(props, devs.size(), devs.data(), pfn_notify, user_data, errcode_ret);
-
- } catch(error &e) {
- ret_error(errcode_ret, e);
---
-1.8.1.5
-
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index b809ebf..b8a130d 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -175,7 +175,6 @@ src_prepare() {
# use non-NULL platform id
epatch "${FILESDIR}/${P}-use-a-struct-for-cl_platform_id.patch"
- epatch "${FILESDIR}/0001-clover-Support-multiple-devices-in-clCreateContextFr.patch"
# fix for hardened pax_kernel, bug 240956
[[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-05-06 17:37 Chi-Thanh Christopher Nguyen
0 siblings, 0 replies; 17+ messages in thread
From: Chi-Thanh Christopher Nguyen @ 2013-05-06 17:37 UTC (permalink / raw
To: gentoo-commits
commit: 6f4ee443484f56cda4b1d2bf75fbec4433e9b428
Author: Chi-Thanh Christopher Nguyen <chithanh <AT> gentoo <DOT> org>
AuthorDate: Mon May 6 17:35:35 2013 +0000
Commit: Chi-Thanh Christopher Nguyen <chithanh <AT> cs <DOT> tu-berlin <DOT> de>
CommitDate: Mon May 6 17:35:35 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=6f4ee443
Revert "Drop unneded patch"
This reverts commit 201ee7f354d412a56865d72e92f3d6b8c34f3b45.
---
...mesa-9999-use-a-struct-for-cl_platform_id.patch | 400 ++++++++++++++++++++
media-libs/mesa/mesa-9999.ebuild | 1 +
2 files changed, 401 insertions(+), 0 deletions(-)
diff --git a/media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch b/media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch
new file mode 100644
index 0000000..e5c7786
--- /dev/null
+++ b/media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch
@@ -0,0 +1,400 @@
+From 39d5479f931bfce9641fb43d99a50cea63952de6 Mon Sep 17 00:00:00 2001
+From: Francisco Jerez <currojerez@riseup.net>
+Date: Wed, 10 Apr 2013 19:16:43 +0000
+Subject: clover: Use a struct to represent cl_platform_id
+
+---
+diff --git a/src/gallium/state_trackers/clover/Makefile.am b/src/gallium/state_trackers/clover/Makefile.am
+index 33ff03d..b4c197a 100644
+--- a/src/gallium/state_trackers/clover/Makefile.am
++++ b/src/gallium/state_trackers/clover/Makefile.am
+@@ -50,6 +50,8 @@ libclover_la_SOURCES = \
+ core/format.cpp \
+ core/memory.hpp \
+ core/memory.cpp \
++ core/platform.hpp \
++ core/platform.cpp \
+ core/resource.hpp \
+ core/resource.cpp \
+ core/sampler.hpp \
+diff --git a/src/gallium/state_trackers/clover/api/context.cpp b/src/gallium/state_trackers/clover/api/context.cpp
+index 80afb6b..99b9566 100644
+--- a/src/gallium/state_trackers/clover/api/context.cpp
++++ b/src/gallium/state_trackers/clover/api/context.cpp
+@@ -41,8 +41,7 @@ clCreateContext(const cl_context_properties *props, cl_uint num_devs,
+ throw error(CL_INVALID_DEVICE);
+
+ for (auto p : mprops) {
+- if (!(p.first == CL_CONTEXT_PLATFORM &&
+- (cl_platform_id)p.second == NULL))
++ if (p.first != CL_CONTEXT_PLATFORM)
+ throw error(CL_INVALID_PROPERTY);
+ }
+
+@@ -61,17 +60,25 @@ clCreateContextFromType(const cl_context_properties *props,
+ cl_device_type type,
+ void (CL_CALLBACK *pfn_notify)(
+ const char *, const void *, size_t, void *),
+- void *user_data, cl_int *errcode_ret) {
++ void *user_data, cl_int *errcode_ret) try {
++ cl_platform_id platform;
++ cl_uint num_platforms;
+ cl_device_id dev;
+ cl_int ret;
+
+- ret = clGetDeviceIDs(0, type, 1, &dev, 0);
+- if (ret) {
+- ret_error(errcode_ret, ret);
+- return NULL;
+- }
++ ret = clGetPlatformIDs(1, &platform, &num_platforms);
++ if (ret || !num_platforms)
++ throw error(CL_INVALID_PLATFORM);
++
++ ret = clGetDeviceIDs(platform, type, 1, &dev, 0);
++ if (ret)
++ throw error(CL_DEVICE_NOT_FOUND);
+
+ return clCreateContext(props, 1, &dev, pfn_notify, user_data, errcode_ret);
++
++} catch(error &e) {
++ ret_error(errcode_ret, e);
++ return NULL;
+ }
+
+ PUBLIC cl_int
+diff --git a/src/gallium/state_trackers/clover/api/device.cpp b/src/gallium/state_trackers/clover/api/device.cpp
+index cf68d0f..dfb440d 100644
+--- a/src/gallium/state_trackers/clover/api/device.cpp
++++ b/src/gallium/state_trackers/clover/api/device.cpp
+@@ -21,29 +21,25 @@
+ //
+
+ #include "api/util.hpp"
++#include "core/platform.hpp"
+ #include "core/device.hpp"
+
+ using namespace clover;
+
+-static device_registry registry;
+-
+ PUBLIC cl_int
+ clGetDeviceIDs(cl_platform_id platform, cl_device_type device_type,
+ cl_uint num_entries, cl_device_id *devices,
+ cl_uint *num_devices) {
+ std::vector<cl_device_id> devs;
+
+- if (platform != NULL)
+- return CL_INVALID_PLATFORM;
+-
+ if ((!num_entries && devices) ||
+ (!num_devices && !devices))
+ return CL_INVALID_VALUE;
+
+ // Collect matching devices
+- for (device &dev : registry) {
++ for (device &dev : *platform) {
+ if (((device_type & CL_DEVICE_TYPE_DEFAULT) &&
+- &dev == ®istry.front()) ||
++ &dev == &platform->front()) ||
+ (device_type & dev.type()))
+ devs.push_back(&dev);
+ }
+@@ -223,13 +219,15 @@ clGetDeviceInfo(cl_device_id dev, cl_device_info param,
+ return string_property(buf, size, size_ret, "FULL_PROFILE");
+
+ case CL_DEVICE_VERSION:
+- return string_property(buf, size, size_ret, "OpenCL 1.1 MESA " PACKAGE_VERSION);
++ return string_property(buf, size, size_ret,
++ "OpenCL 1.1 MESA " PACKAGE_VERSION);
+
+ case CL_DEVICE_EXTENSIONS:
+ return string_property(buf, size, size_ret, "");
+
+ case CL_DEVICE_PLATFORM:
+- return scalar_property<cl_platform_id>(buf, size, size_ret, NULL);
++ return scalar_property<cl_platform_id>(buf, size, size_ret,
++ dev->platform);
+
+ case CL_DEVICE_HOST_UNIFIED_MEMORY:
+ return scalar_property<cl_bool>(buf, size, size_ret, CL_TRUE);
+diff --git a/src/gallium/state_trackers/clover/api/platform.cpp b/src/gallium/state_trackers/clover/api/platform.cpp
+index f99b694..90111c7 100644
+--- a/src/gallium/state_trackers/clover/api/platform.cpp
++++ b/src/gallium/state_trackers/clover/api/platform.cpp
+@@ -21,9 +21,12 @@
+ //
+
+ #include "api/util.hpp"
++#include "core/platform.hpp"
+
+ using namespace clover;
+
++static platform __platform;
++
+ PUBLIC cl_int
+ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
+ cl_uint *num_platforms) {
+@@ -34,7 +37,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
+ if (num_platforms)
+ *num_platforms = 1;
+ if (platforms)
+- *platforms = NULL;
++ *platforms = &__platform;
+
+ return CL_SUCCESS;
+ }
+@@ -42,7 +45,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
+ PUBLIC cl_int
+ clGetPlatformInfo(cl_platform_id platform, cl_platform_info param_name,
+ size_t size, void *buf, size_t *size_ret) {
+- if (platform != NULL)
++ if (platform != &__platform)
+ return CL_INVALID_PLATFORM;
+
+ switch (param_name) {
+diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp
+index d93a1f6..8c6a8a6 100644
+--- a/src/gallium/state_trackers/clover/core/device.cpp
++++ b/src/gallium/state_trackers/clover/core/device.cpp
+@@ -38,13 +38,16 @@ namespace {
+ }
+ }
+
+-_cl_device_id::_cl_device_id(pipe_loader_device *ldev) : ldev(ldev) {
++_cl_device_id::_cl_device_id(clover::platform *platform,
++ pipe_loader_device *ldev) :
++ platform(platform), ldev(ldev) {
+ pipe = pipe_loader_create_screen(ldev, PIPE_SEARCH_DIR);
+ if (!pipe || !pipe->get_param(pipe, PIPE_CAP_COMPUTE))
+ throw error(CL_INVALID_DEVICE);
+ }
+
+-_cl_device_id::_cl_device_id(_cl_device_id &&dev) : pipe(dev.pipe), ldev(dev.ldev) {
++_cl_device_id::_cl_device_id(_cl_device_id &&dev) :
++ platform(dev.platform), pipe(dev.pipe), ldev(dev.ldev) {
+ dev.ldev = NULL;
+ dev.pipe = NULL;
+ }
+@@ -56,6 +59,15 @@ _cl_device_id::~_cl_device_id() {
+ pipe_loader_release(&ldev, 1);
+ }
+
++void
++_cl_device_id::operator=(_cl_device_id &&dev) {
++ platform = dev.platform;
++ pipe = dev.pipe;
++ ldev = dev.ldev;
++ dev.ldev = NULL;
++ dev.pipe = NULL;
++}
++
+ cl_device_type
+ _cl_device_id::type() const {
+ switch (ldev->type) {
+@@ -179,16 +191,3 @@ _cl_device_id::ir_target() const {
+ PIPE_COMPUTE_CAP_IR_TARGET);
+ return { target.data() };
+ }
+-
+-device_registry::device_registry() {
+- int n = pipe_loader_probe(NULL, 0);
+- std::vector<pipe_loader_device *> ldevs(n);
+-
+- pipe_loader_probe(&ldevs.front(), n);
+-
+- for (pipe_loader_device *ldev : ldevs) {
+- try {
+- devs.emplace_back(ldev);
+- } catch (error &) {}
+- }
+-}
+diff --git a/src/gallium/state_trackers/clover/core/device.hpp b/src/gallium/state_trackers/clover/core/device.hpp
+index 5b92751..897a003 100644
+--- a/src/gallium/state_trackers/clover/core/device.hpp
++++ b/src/gallium/state_trackers/clover/core/device.hpp
+@@ -32,17 +32,21 @@
+
+ namespace clover {
+ typedef struct _cl_device_id device;
++ typedef struct _cl_platform_id platform;
+ class root_resource;
+ class hard_event;
+ }
+
+ struct _cl_device_id {
+ public:
+- _cl_device_id(pipe_loader_device *ldev);
++ _cl_device_id(clover::platform *platform, pipe_loader_device *ldev);
+ _cl_device_id(_cl_device_id &&dev);
+ _cl_device_id(const _cl_device_id &dev) = delete;
+ ~_cl_device_id();
+
++ void operator=(_cl_device_id &&dev);
++ void operator=(const _cl_device_id &dev) = delete;
++
+ cl_device_type type() const;
+ cl_uint vendor_id() const;
+ size_t max_images_read() const;
+@@ -70,41 +74,11 @@ public:
+ friend std::set<cl_image_format>
+ clover::supported_formats(cl_context, cl_mem_object_type);
+
++ clover::platform *platform;
++
+ private:
+ pipe_screen *pipe;
+ pipe_loader_device *ldev;
+ };
+
+-namespace clover {
+- ///
+- /// Container of all the compute devices that are available in the
+- /// system.
+- ///
+- class device_registry {
+- public:
+- typedef std::vector<device>::iterator iterator;
+-
+- device_registry();
+-
+- iterator begin() {
+- return devs.begin();
+- }
+-
+- iterator end() {
+- return devs.end();
+- }
+-
+- device &front() {
+- return devs.front();
+- }
+-
+- device &back() {
+- return devs.back();
+- }
+-
+- protected:
+- std::vector<device> devs;
+- };
+-}
+-
+ #endif
+diff --git a/src/gallium/state_trackers/clover/core/platform.cpp b/src/gallium/state_trackers/clover/core/platform.cpp
+new file mode 100644
+index 0000000..f557ef2
+--- a/dev/null
++++ b/src/gallium/state_trackers/clover/core/platform.cpp
+@@ -0,0 +1,38 @@
++//
++// Copyright 2012 Francisco Jerez
++//
++// Permission is hereby granted, free of charge, to any person obtaining a
++// copy of this software and associated documentation files (the "Software"),
++// to deal in the Software without restriction, including without limitation
++// the rights to use, copy, modify, merge, publish, distribute, sublicense,
++// and/or sell copies of the Software, and to permit persons to whom the
++// Software is furnished to do so, subject to the following conditions:
++//
++// The above copyright notice and this permission notice shall be included in
++// all copies or substantial portions of the Software.
++//
++// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++// THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
++// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++// SOFTWARE.
++//
++
++#include "core/platform.hpp"
++
++using namespace clover;
++
++_cl_platform_id::_cl_platform_id() {
++ int n = pipe_loader_probe(NULL, 0);
++ std::vector<pipe_loader_device *> ldevs(n);
++
++ pipe_loader_probe(&ldevs.front(), n);
++
++ for (pipe_loader_device *ldev : ldevs) {
++ try {
++ devs.emplace_back(this, ldev);
++ } catch (error &) {}
++ }
++}
+diff --git a/src/gallium/state_trackers/clover/core/platform.hpp b/src/gallium/state_trackers/clover/core/platform.hpp
+new file mode 100644
+index 0000000..eeb6d60
+--- a/dev/null
++++ b/src/gallium/state_trackers/clover/core/platform.hpp
+@@ -0,0 +1,66 @@
++//
++// Copyright 2013 Francisco Jerez
++//
++// Permission is hereby granted, free of charge, to any person obtaining a
++// copy of this software and associated documentation files (the "Software"),
++// to deal in the Software without restriction, including without limitation
++// the rights to use, copy, modify, merge, publish, distribute, sublicense,
++// and/or sell copies of the Software, and to permit persons to whom the
++// Software is furnished to do so, subject to the following conditions:
++//
++// The above copyright notice and this permission notice shall be included in
++// all copies or substantial portions of the Software.
++//
++// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++// THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
++// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++// SOFTWARE.
++//
++
++#ifndef __CORE_PLATFORM_HPP__
++#define __CORE_PLATFORM_HPP__
++
++#include <vector>
++
++#include "core/base.hpp"
++#include "core/device.hpp"
++
++namespace clover {
++ typedef struct _cl_platform_id platform;
++}
++
++struct _cl_platform_id {
++public:
++ typedef std::vector<clover::device>::iterator iterator;
++
++ _cl_platform_id();
++
++ ///
++ /// Container of all compute devices that are available in the platform.
++ ///
++ /// @{
++ iterator begin() {
++ return devs.begin();
++ }
++
++ iterator end() {
++ return devs.end();
++ }
++
++ clover::device &front() {
++ return devs.front();
++ }
++
++ clover::device &back() {
++ return devs.back();
++ }
++ /// @}
++
++protected:
++ std::vector<clover::device> devs;
++};
++
++#endif
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index face637..b809ebf 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -174,6 +174,7 @@ src_prepare() {
epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch
# use non-NULL platform id
+ epatch "${FILESDIR}/${P}-use-a-struct-for-cl_platform_id.patch"
epatch "${FILESDIR}/0001-clover-Support-multiple-devices-in-clCreateContextFr.patch"
# fix for hardened pax_kernel, bug 240956
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-05-06 17:37 Chi-Thanh Christopher Nguyen
0 siblings, 0 replies; 17+ messages in thread
From: Chi-Thanh Christopher Nguyen @ 2013-05-06 17:37 UTC (permalink / raw
To: gentoo-commits
commit: 291ed7747fe1028b547b68a83e071daa9e5a37ba
Author: Chi-Thanh Christopher Nguyen <chithanh <AT> gentoo <DOT> org>
AuthorDate: Mon May 6 17:35:37 2013 +0000
Commit: Chi-Thanh Christopher Nguyen <chithanh <AT> cs <DOT> tu-berlin <DOT> de>
CommitDate: Mon May 6 17:35:37 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=291ed774
Revert "Add patch to use non-null platform-id"
This reverts commit 80e8f10f730178ef1bc1e873fd8e8539136250a1.
---
...mesa-9999-clover-use-non-null-platform-id.patch | 87 --------------------
media-libs/mesa/mesa-9999.ebuild | 3 -
2 files changed, 0 insertions(+), 90 deletions(-)
diff --git a/media-libs/mesa/files/mesa-9999-clover-use-non-null-platform-id.patch b/media-libs/mesa/files/mesa-9999-clover-use-non-null-platform-id.patch
deleted file mode 100644
index 5be513d..0000000
--- a/media-libs/mesa/files/mesa-9999-clover-use-non-null-platform-id.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From: Tom Stellard <thomas.stellard at amd.com>
-
-Using a NULL value for the platform_id is legal according to the spec,
-however, passing a NULL value as the platform parameter to
-clGetPlatformInfo() results in implementation defined behavior.
-
-In order to avoid implementation defined behavior some apps require that
-the platfrom_id is non-NULL. To statisfy this requirement, we just need
-to hard-code clover's platform_id to something other than NULL.
-
-v2:
- - Handle platform check in clGetDeviceIDs()
- - Use a macro for MESA_PLATFORM_ID
-
-v3:
- - Use MESA_PLATFORM_ID when calling clGetDeviceIDs() from
- clCreateContextFromType()
----
- src/gallium/state_trackers/clover/api/context.cpp | 2 +-
- src/gallium/state_trackers/clover/api/device.cpp | 2 +-
- src/gallium/state_trackers/clover/api/platform.cpp | 4 ++--
- src/gallium/state_trackers/clover/api/util.hpp | 2 ++
- 4 files changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/src/gallium/state_trackers/clover/api/context.cpp b/src/gallium/state_trackers/clover/api/context.cpp
-index 80afb6b..d509619 100644
---- a/src/gallium/state_trackers/clover/api/context.cpp
-+++ b/src/gallium/state_trackers/clover/api/context.cpp
-@@ -65,7 +65,7 @@ clCreateContextFromType(const cl_context_properties *props,
- cl_device_id dev;
- cl_int ret;
-
-- ret = clGetDeviceIDs(0, type, 1, &dev, 0);
-+ ret = clGetDeviceIDs(MESA_PLATFORM_ID, type, 1, &dev, 0);
- if (ret) {
- ret_error(errcode_ret, ret);
- return NULL;
-diff --git a/src/gallium/state_trackers/clover/api/device.cpp b/src/gallium/state_trackers/clover/api/device.cpp
-index cf68d0f..d9b0223 100644
---- a/src/gallium/state_trackers/clover/api/device.cpp
-+++ b/src/gallium/state_trackers/clover/api/device.cpp
-@@ -33,7 +33,7 @@ clGetDeviceIDs(cl_platform_id platform, cl_device_type device_type,
- cl_uint *num_devices) {
- std::vector<cl_device_id> devs;
-
-- if (platform != NULL)
-+ if (platform != MESA_PLATFORM_ID)
- return CL_INVALID_PLATFORM;
-
- if ((!num_entries && devices) ||
-diff --git a/src/gallium/state_trackers/clover/api/platform.cpp b/src/gallium/state_trackers/clover/api/platform.cpp
-index f99b694..3a988a6 100644
---- a/src/gallium/state_trackers/clover/api/platform.cpp
-+++ b/src/gallium/state_trackers/clover/api/platform.cpp
-@@ -34,7 +34,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
- if (num_platforms)
- *num_platforms = 1;
- if (platforms)
-- *platforms = NULL;
-+ *platforms = MESA_PLATFORM_ID;
-
- return CL_SUCCESS;
- }
-@@ -42,7 +42,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
- PUBLIC cl_int
- clGetPlatformInfo(cl_platform_id platform, cl_platform_info param_name,
- size_t size, void *buf, size_t *size_ret) {
-- if (platform != NULL)
-+ if (platform != MESA_PLATFORM_ID)
- return CL_INVALID_PLATFORM;
-
- switch (param_name) {
-diff --git a/src/gallium/state_trackers/clover/api/util.hpp b/src/gallium/state_trackers/clover/api/util.hpp
-index 2f9ec1f..0e80cda 100644
---- a/src/gallium/state_trackers/clover/api/util.hpp
-+++ b/src/gallium/state_trackers/clover/api/util.hpp
-@@ -31,6 +31,8 @@
- #include "core/base.hpp"
- #include "pipe/p_compiler.h"
-
-+#define MESA_PLATFORM_ID ((cl_platform_id)0xc1c1c1c1)
-+
- namespace clover {
- ///
- /// Return a matrix (a container of containers) in \a buf with
---
-1.7.11.4
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 5892639..1d33cf4 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -173,9 +173,6 @@ src_prepare() {
# relax the requirement that r300 must have llvm, bug 380303
epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch
- # use non-NULL platform id
- epatch "${FILESDIR}/${P}-clover-use-non-null-platform-id.patch"
-
# fix for hardened pax_kernel, bug 240956
[[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-05-06 17:37 Chi-Thanh Christopher Nguyen
0 siblings, 0 replies; 17+ messages in thread
From: Chi-Thanh Christopher Nguyen @ 2013-05-06 17:37 UTC (permalink / raw
To: gentoo-commits
commit: 384dc5f81f583d3186c9cfbce16f5cde19201dc6
Author: Chi-Thanh Christopher Nguyen <chithanh <AT> gentoo <DOT> org>
AuthorDate: Mon May 6 17:35:36 2013 +0000
Commit: Chi-Thanh Christopher Nguyen <chithanh <AT> cs <DOT> tu-berlin <DOT> de>
CommitDate: Mon May 6 17:35:36 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=384dc5f8
Revert "Update patches"
This reverts commit cb2c78f3358ef8d77ae830a29c673378f036392f.
---
...mesa-9999-clover-use-non-null-platform-id.patch | 103 +++++
...mesa-9999-use-a-struct-for-cl_platform_id.patch | 400 --------------------
media-libs/mesa/mesa-9999.ebuild | 2 +-
3 files changed, 104 insertions(+), 401 deletions(-)
diff --git a/media-libs/mesa/files/mesa-9999-clover-use-non-null-platform-id.patch b/media-libs/mesa/files/mesa-9999-clover-use-non-null-platform-id.patch
new file mode 100644
index 0000000..1c2d065
--- /dev/null
+++ b/media-libs/mesa/files/mesa-9999-clover-use-non-null-platform-id.patch
@@ -0,0 +1,103 @@
+From cc0fb86ba8ca9c96806f05e71b70db3da5edf4fd Mon Sep 17 00:00:00 2001
+From: Tom Stellard <thomas.stellard@amd.com>
+Date: Fri, 5 Apr 2013 13:23:01 -0700
+Subject: [PATCH] clover: Use a non-NULL value to represent the platform_id v3
+
+Using a NULL value for the platform_id is legal according to the spec,
+however, passing a NULL value as the platform parameter to
+clGetPlatformInfo() results in implementation defined behavior.
+
+In order to avoid implementation defined behavior some apps require that
+the platfrom_id is non-NULL. To statisfy this requirement, we just need
+to hard-code clover's platform_id to something other than NULL.
+
+v2:
+ - Handle platform check in clGetDeviceIDs()
+ - Use a macro for MESA_PLATFORM_ID
+
+v3:
+ - Use MESA_PLATFORM_ID when calling clGetDeviceIDs() from
+ clCreateContextFromType()
+
+v4:
+ - Use MESA_PLATFORM_ID when checking the CL_CONTEXT_PLATFORM property
+---
+ src/gallium/state_trackers/clover/api/context.cpp | 4 ++--
+ src/gallium/state_trackers/clover/api/device.cpp | 2 +-
+ src/gallium/state_trackers/clover/api/platform.cpp | 4 ++--
+ src/gallium/state_trackers/clover/api/util.hpp | 2 ++
+ 4 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/src/gallium/state_trackers/clover/api/context.cpp b/src/gallium/state_trackers/clover/api/context.cpp
+index 80afb6b..f25856f 100644
+--- a/src/gallium/state_trackers/clover/api/context.cpp
++++ b/src/gallium/state_trackers/clover/api/context.cpp
+@@ -42,7 +42,7 @@ clCreateContext(const cl_context_properties *props, cl_uint num_devs,
+
+ for (auto p : mprops) {
+ if (!(p.first == CL_CONTEXT_PLATFORM &&
+- (cl_platform_id)p.second == NULL))
++ (cl_platform_id)p.second == MESA_PLATFORM_ID))
+ throw error(CL_INVALID_PROPERTY);
+ }
+
+@@ -65,7 +65,7 @@ clCreateContextFromType(const cl_context_properties *props,
+ cl_device_id dev;
+ cl_int ret;
+
+- ret = clGetDeviceIDs(0, type, 1, &dev, 0);
++ ret = clGetDeviceIDs(MESA_PLATFORM_ID, type, 1, &dev, 0);
+ if (ret) {
+ ret_error(errcode_ret, ret);
+ return NULL;
+diff --git a/src/gallium/state_trackers/clover/api/device.cpp b/src/gallium/state_trackers/clover/api/device.cpp
+index cf68d0f..d9b0223 100644
+--- a/src/gallium/state_trackers/clover/api/device.cpp
++++ b/src/gallium/state_trackers/clover/api/device.cpp
+@@ -33,7 +33,7 @@ clGetDeviceIDs(cl_platform_id platform, cl_device_type device_type,
+ cl_uint *num_devices) {
+ std::vector<cl_device_id> devs;
+
+- if (platform != NULL)
++ if (platform != MESA_PLATFORM_ID)
+ return CL_INVALID_PLATFORM;
+
+ if ((!num_entries && devices) ||
+diff --git a/src/gallium/state_trackers/clover/api/platform.cpp b/src/gallium/state_trackers/clover/api/platform.cpp
+index f99b694..3a988a6 100644
+--- a/src/gallium/state_trackers/clover/api/platform.cpp
++++ b/src/gallium/state_trackers/clover/api/platform.cpp
+@@ -34,7 +34,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
+ if (num_platforms)
+ *num_platforms = 1;
+ if (platforms)
+- *platforms = NULL;
++ *platforms = MESA_PLATFORM_ID;
+
+ return CL_SUCCESS;
+ }
+@@ -42,7 +42,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
+ PUBLIC cl_int
+ clGetPlatformInfo(cl_platform_id platform, cl_platform_info param_name,
+ size_t size, void *buf, size_t *size_ret) {
+- if (platform != NULL)
++ if (platform != MESA_PLATFORM_ID)
+ return CL_INVALID_PLATFORM;
+
+ switch (param_name) {
+diff --git a/src/gallium/state_trackers/clover/api/util.hpp b/src/gallium/state_trackers/clover/api/util.hpp
+index 2f9ec1f..0e80cda 100644
+--- a/src/gallium/state_trackers/clover/api/util.hpp
++++ b/src/gallium/state_trackers/clover/api/util.hpp
+@@ -31,6 +31,8 @@
+ #include "core/base.hpp"
+ #include "pipe/p_compiler.h"
+
++#define MESA_PLATFORM_ID ((cl_platform_id)0xc1c1c1c1)
++
+ namespace clover {
+ ///
+ /// Return a matrix (a container of containers) in \a buf with
+--
+1.8.1.5
+
diff --git a/media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch b/media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch
deleted file mode 100644
index e5c7786..0000000
--- a/media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch
+++ /dev/null
@@ -1,400 +0,0 @@
-From 39d5479f931bfce9641fb43d99a50cea63952de6 Mon Sep 17 00:00:00 2001
-From: Francisco Jerez <currojerez@riseup.net>
-Date: Wed, 10 Apr 2013 19:16:43 +0000
-Subject: clover: Use a struct to represent cl_platform_id
-
----
-diff --git a/src/gallium/state_trackers/clover/Makefile.am b/src/gallium/state_trackers/clover/Makefile.am
-index 33ff03d..b4c197a 100644
---- a/src/gallium/state_trackers/clover/Makefile.am
-+++ b/src/gallium/state_trackers/clover/Makefile.am
-@@ -50,6 +50,8 @@ libclover_la_SOURCES = \
- core/format.cpp \
- core/memory.hpp \
- core/memory.cpp \
-+ core/platform.hpp \
-+ core/platform.cpp \
- core/resource.hpp \
- core/resource.cpp \
- core/sampler.hpp \
-diff --git a/src/gallium/state_trackers/clover/api/context.cpp b/src/gallium/state_trackers/clover/api/context.cpp
-index 80afb6b..99b9566 100644
---- a/src/gallium/state_trackers/clover/api/context.cpp
-+++ b/src/gallium/state_trackers/clover/api/context.cpp
-@@ -41,8 +41,7 @@ clCreateContext(const cl_context_properties *props, cl_uint num_devs,
- throw error(CL_INVALID_DEVICE);
-
- for (auto p : mprops) {
-- if (!(p.first == CL_CONTEXT_PLATFORM &&
-- (cl_platform_id)p.second == NULL))
-+ if (p.first != CL_CONTEXT_PLATFORM)
- throw error(CL_INVALID_PROPERTY);
- }
-
-@@ -61,17 +60,25 @@ clCreateContextFromType(const cl_context_properties *props,
- cl_device_type type,
- void (CL_CALLBACK *pfn_notify)(
- const char *, const void *, size_t, void *),
-- void *user_data, cl_int *errcode_ret) {
-+ void *user_data, cl_int *errcode_ret) try {
-+ cl_platform_id platform;
-+ cl_uint num_platforms;
- cl_device_id dev;
- cl_int ret;
-
-- ret = clGetDeviceIDs(0, type, 1, &dev, 0);
-- if (ret) {
-- ret_error(errcode_ret, ret);
-- return NULL;
-- }
-+ ret = clGetPlatformIDs(1, &platform, &num_platforms);
-+ if (ret || !num_platforms)
-+ throw error(CL_INVALID_PLATFORM);
-+
-+ ret = clGetDeviceIDs(platform, type, 1, &dev, 0);
-+ if (ret)
-+ throw error(CL_DEVICE_NOT_FOUND);
-
- return clCreateContext(props, 1, &dev, pfn_notify, user_data, errcode_ret);
-+
-+} catch(error &e) {
-+ ret_error(errcode_ret, e);
-+ return NULL;
- }
-
- PUBLIC cl_int
-diff --git a/src/gallium/state_trackers/clover/api/device.cpp b/src/gallium/state_trackers/clover/api/device.cpp
-index cf68d0f..dfb440d 100644
---- a/src/gallium/state_trackers/clover/api/device.cpp
-+++ b/src/gallium/state_trackers/clover/api/device.cpp
-@@ -21,29 +21,25 @@
- //
-
- #include "api/util.hpp"
-+#include "core/platform.hpp"
- #include "core/device.hpp"
-
- using namespace clover;
-
--static device_registry registry;
--
- PUBLIC cl_int
- clGetDeviceIDs(cl_platform_id platform, cl_device_type device_type,
- cl_uint num_entries, cl_device_id *devices,
- cl_uint *num_devices) {
- std::vector<cl_device_id> devs;
-
-- if (platform != NULL)
-- return CL_INVALID_PLATFORM;
--
- if ((!num_entries && devices) ||
- (!num_devices && !devices))
- return CL_INVALID_VALUE;
-
- // Collect matching devices
-- for (device &dev : registry) {
-+ for (device &dev : *platform) {
- if (((device_type & CL_DEVICE_TYPE_DEFAULT) &&
-- &dev == ®istry.front()) ||
-+ &dev == &platform->front()) ||
- (device_type & dev.type()))
- devs.push_back(&dev);
- }
-@@ -223,13 +219,15 @@ clGetDeviceInfo(cl_device_id dev, cl_device_info param,
- return string_property(buf, size, size_ret, "FULL_PROFILE");
-
- case CL_DEVICE_VERSION:
-- return string_property(buf, size, size_ret, "OpenCL 1.1 MESA " PACKAGE_VERSION);
-+ return string_property(buf, size, size_ret,
-+ "OpenCL 1.1 MESA " PACKAGE_VERSION);
-
- case CL_DEVICE_EXTENSIONS:
- return string_property(buf, size, size_ret, "");
-
- case CL_DEVICE_PLATFORM:
-- return scalar_property<cl_platform_id>(buf, size, size_ret, NULL);
-+ return scalar_property<cl_platform_id>(buf, size, size_ret,
-+ dev->platform);
-
- case CL_DEVICE_HOST_UNIFIED_MEMORY:
- return scalar_property<cl_bool>(buf, size, size_ret, CL_TRUE);
-diff --git a/src/gallium/state_trackers/clover/api/platform.cpp b/src/gallium/state_trackers/clover/api/platform.cpp
-index f99b694..90111c7 100644
---- a/src/gallium/state_trackers/clover/api/platform.cpp
-+++ b/src/gallium/state_trackers/clover/api/platform.cpp
-@@ -21,9 +21,12 @@
- //
-
- #include "api/util.hpp"
-+#include "core/platform.hpp"
-
- using namespace clover;
-
-+static platform __platform;
-+
- PUBLIC cl_int
- clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
- cl_uint *num_platforms) {
-@@ -34,7 +37,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
- if (num_platforms)
- *num_platforms = 1;
- if (platforms)
-- *platforms = NULL;
-+ *platforms = &__platform;
-
- return CL_SUCCESS;
- }
-@@ -42,7 +45,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
- PUBLIC cl_int
- clGetPlatformInfo(cl_platform_id platform, cl_platform_info param_name,
- size_t size, void *buf, size_t *size_ret) {
-- if (platform != NULL)
-+ if (platform != &__platform)
- return CL_INVALID_PLATFORM;
-
- switch (param_name) {
-diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp
-index d93a1f6..8c6a8a6 100644
---- a/src/gallium/state_trackers/clover/core/device.cpp
-+++ b/src/gallium/state_trackers/clover/core/device.cpp
-@@ -38,13 +38,16 @@ namespace {
- }
- }
-
--_cl_device_id::_cl_device_id(pipe_loader_device *ldev) : ldev(ldev) {
-+_cl_device_id::_cl_device_id(clover::platform *platform,
-+ pipe_loader_device *ldev) :
-+ platform(platform), ldev(ldev) {
- pipe = pipe_loader_create_screen(ldev, PIPE_SEARCH_DIR);
- if (!pipe || !pipe->get_param(pipe, PIPE_CAP_COMPUTE))
- throw error(CL_INVALID_DEVICE);
- }
-
--_cl_device_id::_cl_device_id(_cl_device_id &&dev) : pipe(dev.pipe), ldev(dev.ldev) {
-+_cl_device_id::_cl_device_id(_cl_device_id &&dev) :
-+ platform(dev.platform), pipe(dev.pipe), ldev(dev.ldev) {
- dev.ldev = NULL;
- dev.pipe = NULL;
- }
-@@ -56,6 +59,15 @@ _cl_device_id::~_cl_device_id() {
- pipe_loader_release(&ldev, 1);
- }
-
-+void
-+_cl_device_id::operator=(_cl_device_id &&dev) {
-+ platform = dev.platform;
-+ pipe = dev.pipe;
-+ ldev = dev.ldev;
-+ dev.ldev = NULL;
-+ dev.pipe = NULL;
-+}
-+
- cl_device_type
- _cl_device_id::type() const {
- switch (ldev->type) {
-@@ -179,16 +191,3 @@ _cl_device_id::ir_target() const {
- PIPE_COMPUTE_CAP_IR_TARGET);
- return { target.data() };
- }
--
--device_registry::device_registry() {
-- int n = pipe_loader_probe(NULL, 0);
-- std::vector<pipe_loader_device *> ldevs(n);
--
-- pipe_loader_probe(&ldevs.front(), n);
--
-- for (pipe_loader_device *ldev : ldevs) {
-- try {
-- devs.emplace_back(ldev);
-- } catch (error &) {}
-- }
--}
-diff --git a/src/gallium/state_trackers/clover/core/device.hpp b/src/gallium/state_trackers/clover/core/device.hpp
-index 5b92751..897a003 100644
---- a/src/gallium/state_trackers/clover/core/device.hpp
-+++ b/src/gallium/state_trackers/clover/core/device.hpp
-@@ -32,17 +32,21 @@
-
- namespace clover {
- typedef struct _cl_device_id device;
-+ typedef struct _cl_platform_id platform;
- class root_resource;
- class hard_event;
- }
-
- struct _cl_device_id {
- public:
-- _cl_device_id(pipe_loader_device *ldev);
-+ _cl_device_id(clover::platform *platform, pipe_loader_device *ldev);
- _cl_device_id(_cl_device_id &&dev);
- _cl_device_id(const _cl_device_id &dev) = delete;
- ~_cl_device_id();
-
-+ void operator=(_cl_device_id &&dev);
-+ void operator=(const _cl_device_id &dev) = delete;
-+
- cl_device_type type() const;
- cl_uint vendor_id() const;
- size_t max_images_read() const;
-@@ -70,41 +74,11 @@ public:
- friend std::set<cl_image_format>
- clover::supported_formats(cl_context, cl_mem_object_type);
-
-+ clover::platform *platform;
-+
- private:
- pipe_screen *pipe;
- pipe_loader_device *ldev;
- };
-
--namespace clover {
-- ///
-- /// Container of all the compute devices that are available in the
-- /// system.
-- ///
-- class device_registry {
-- public:
-- typedef std::vector<device>::iterator iterator;
--
-- device_registry();
--
-- iterator begin() {
-- return devs.begin();
-- }
--
-- iterator end() {
-- return devs.end();
-- }
--
-- device &front() {
-- return devs.front();
-- }
--
-- device &back() {
-- return devs.back();
-- }
--
-- protected:
-- std::vector<device> devs;
-- };
--}
--
- #endif
-diff --git a/src/gallium/state_trackers/clover/core/platform.cpp b/src/gallium/state_trackers/clover/core/platform.cpp
-new file mode 100644
-index 0000000..f557ef2
---- a/dev/null
-+++ b/src/gallium/state_trackers/clover/core/platform.cpp
-@@ -0,0 +1,38 @@
-+//
-+// Copyright 2012 Francisco Jerez
-+//
-+// Permission is hereby granted, free of charge, to any person obtaining a
-+// copy of this software and associated documentation files (the "Software"),
-+// to deal in the Software without restriction, including without limitation
-+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+// and/or sell copies of the Software, and to permit persons to whom the
-+// Software is furnished to do so, subject to the following conditions:
-+//
-+// The above copyright notice and this permission notice shall be included in
-+// all copies or substantial portions of the Software.
-+//
-+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+// THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-+// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-+// SOFTWARE.
-+//
-+
-+#include "core/platform.hpp"
-+
-+using namespace clover;
-+
-+_cl_platform_id::_cl_platform_id() {
-+ int n = pipe_loader_probe(NULL, 0);
-+ std::vector<pipe_loader_device *> ldevs(n);
-+
-+ pipe_loader_probe(&ldevs.front(), n);
-+
-+ for (pipe_loader_device *ldev : ldevs) {
-+ try {
-+ devs.emplace_back(this, ldev);
-+ } catch (error &) {}
-+ }
-+}
-diff --git a/src/gallium/state_trackers/clover/core/platform.hpp b/src/gallium/state_trackers/clover/core/platform.hpp
-new file mode 100644
-index 0000000..eeb6d60
---- a/dev/null
-+++ b/src/gallium/state_trackers/clover/core/platform.hpp
-@@ -0,0 +1,66 @@
-+//
-+// Copyright 2013 Francisco Jerez
-+//
-+// Permission is hereby granted, free of charge, to any person obtaining a
-+// copy of this software and associated documentation files (the "Software"),
-+// to deal in the Software without restriction, including without limitation
-+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+// and/or sell copies of the Software, and to permit persons to whom the
-+// Software is furnished to do so, subject to the following conditions:
-+//
-+// The above copyright notice and this permission notice shall be included in
-+// all copies or substantial portions of the Software.
-+//
-+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+// THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-+// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-+// SOFTWARE.
-+//
-+
-+#ifndef __CORE_PLATFORM_HPP__
-+#define __CORE_PLATFORM_HPP__
-+
-+#include <vector>
-+
-+#include "core/base.hpp"
-+#include "core/device.hpp"
-+
-+namespace clover {
-+ typedef struct _cl_platform_id platform;
-+}
-+
-+struct _cl_platform_id {
-+public:
-+ typedef std::vector<clover::device>::iterator iterator;
-+
-+ _cl_platform_id();
-+
-+ ///
-+ /// Container of all compute devices that are available in the platform.
-+ ///
-+ /// @{
-+ iterator begin() {
-+ return devs.begin();
-+ }
-+
-+ iterator end() {
-+ return devs.end();
-+ }
-+
-+ clover::device &front() {
-+ return devs.front();
-+ }
-+
-+ clover::device &back() {
-+ return devs.back();
-+ }
-+ /// @}
-+
-+protected:
-+ std::vector<clover::device> devs;
-+};
-+
-+#endif
---
-cgit v0.9.0.2-2-gbebe
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index b8a130d..5892639 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -174,7 +174,7 @@ src_prepare() {
epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch
# use non-NULL platform id
- epatch "${FILESDIR}/${P}-use-a-struct-for-cl_platform_id.patch"
+ epatch "${FILESDIR}/${P}-clover-use-non-null-platform-id.patch"
# fix for hardened pax_kernel, bug 240956
[[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-05-23 21:30 David Heidelberger
0 siblings, 0 replies; 17+ messages in thread
From: David Heidelberger @ 2013-05-23 21:30 UTC (permalink / raw
To: gentoo-commits
commit: 72ba6f41a9759e713de73adc59f47ed7b45a2090
Author: David Heidelberger <david.heidelberger <AT> ixit <DOT> cz>
AuthorDate: Thu May 23 21:27:45 2013 +0000
Commit: David Heidelberger <d.okias <AT> gmail <DOT> com>
CommitDate: Thu May 23 21:27:45 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=72ba6f41
media-libs/mesa: fix eselect-mesa and let ilo depend on gallium
---
media-libs/mesa/files/eselect-mesa.conf.9.2 | 2 +-
media-libs/mesa/mesa-9999.ebuild | 1 +
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.9.2 b/media-libs/mesa/files/eselect-mesa.conf.9.2
index ff590f5..4058b68 100644
--- a/media-libs/mesa/files/eselect-mesa.conf.9.2
+++ b/media-libs/mesa/files/eselect-mesa.conf.9.2
@@ -20,7 +20,7 @@ MESA_DRIVERS[i915,default]="gallium"
MESA_DRIVERS[i965,description]="i965 (Intel GMA 965, G/Q3x, G/Q4x, HD)"
MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
-MESA_DRIVERS[i965,galliumdriver]="ilo_dri.so"
+MESA_DRIVERS[i965,galliumdriver]="i965g_dri.so"
MESA_DRIVERS[i965,default]="classic"
MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 072a01d..1994217 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -66,6 +66,7 @@ REQUIRED_USE="
video_cards_intel? ( || ( classic gallium ) )
video_cards_i915? ( || ( classic gallium ) )
video_cards_i965? ( || ( classic gallium ) )
+ video_cards_ilo? ( gallium )
video_cards_nouveau? ( || ( classic gallium ) )
video_cards_radeon? ( || ( classic gallium ) )
video_cards_r100? ( classic )
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-05-23 23:03 David Heidelberger
0 siblings, 0 replies; 17+ messages in thread
From: David Heidelberger @ 2013-05-23 23:03 UTC (permalink / raw
To: gentoo-commits
commit: 140c045fa14f0620f95ebe67f6df14d049897304
Author: David Heidelberger <david.heidelberger <AT> ixit <DOT> cz>
AuthorDate: Thu May 23 23:00:38 2013 +0000
Commit: David Heidelberger <d.okias <AT> gmail <DOT> com>
CommitDate: Thu May 23 23:00:38 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=140c045f
media-libs/mesa: revert to ilo_dri.so, not build i915g and ilo, when only i965 is selected
---
media-libs/mesa/files/eselect-mesa.conf.9.2 | 2 +-
media-libs/mesa/mesa-9999.ebuild | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.9.2 b/media-libs/mesa/files/eselect-mesa.conf.9.2
index 4058b68..ff590f5 100644
--- a/media-libs/mesa/files/eselect-mesa.conf.9.2
+++ b/media-libs/mesa/files/eselect-mesa.conf.9.2
@@ -20,7 +20,7 @@ MESA_DRIVERS[i915,default]="gallium"
MESA_DRIVERS[i965,description]="i965 (Intel GMA 965, G/Q3x, G/Q4x, HD)"
MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
-MESA_DRIVERS[i965,galliumdriver]="i965g_dri.so"
+MESA_DRIVERS[i965,galliumdriver]="ilo_dri.so"
MESA_DRIVERS[i965,default]="classic"
MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 1994217..0f02e71 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -65,7 +65,7 @@ REQUIRED_USE="
xorg? ( gallium )
video_cards_intel? ( || ( classic gallium ) )
video_cards_i915? ( || ( classic gallium ) )
- video_cards_i965? ( || ( classic gallium ) )
+ video_cards_i965? ( classic )
video_cards_ilo? ( gallium )
video_cards_nouveau? ( || ( classic gallium ) )
video_cards_radeon? ( || ( classic gallium ) )
@@ -239,7 +239,8 @@ src_configure() {
gallium_enable video_cards_i915 i915
gallium_enable video_cards_ilo ilo
if ! use video_cards_i915 && \
- ! use video_cards_ilo; then
+ ! use video_cards_i965 && \
+ ! use video_cards_ilo; then
gallium_enable video_cards_intel i915 ilo
fi
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-07-20 17:10 David Heidelberger
0 siblings, 0 replies; 17+ messages in thread
From: David Heidelberger @ 2013-07-20 17:10 UTC (permalink / raw
To: gentoo-commits
commit: d15bdd994c26ee21d527b124ffc67c0eca92d919
Author: David Heidelberger <david.heidelberger <AT> ixit <DOT> cz>
AuthorDate: Sat Jul 20 17:11:18 2013 +0000
Commit: David Heidelberger <d.okias <AT> gmail <DOT> com>
CommitDate: Sat Jul 20 17:11:18 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=d15bdd99
media-libs/mesa-9.1.5: bump
Package-Manager: portage-2.2.0_alpha188
---
media-libs/mesa/files/eselect-mesa.conf.8.1 | 38 ++
media-libs/mesa/files/glx_ro_text_segm.patch | 28 ++
.../mesa-8.1-dont-require-llvm-for-r300.patch | 25 ++
media-libs/mesa/mesa-9.1.5.ebuild | 419 +++++++++++++++++++++
media-libs/mesa/metadata.xml | 1 +
5 files changed, 511 insertions(+)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.8.1 b/media-libs/mesa/files/eselect-mesa.conf.8.1
new file mode 100644
index 0000000..63a21aa
--- /dev/null
+++ b/media-libs/mesa/files/eselect-mesa.conf.8.1
@@ -0,0 +1,38 @@
+# mesa classic/gallium implementations in this release
+
+# Syntax description:
+# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable
+# classic/gallium implementations.
+# * MESA_DRIVERS is an associative array, for each member "foo" of
+# MESA_IMPLEMENTATIONS it contains the following elements:
+# foo,description - Human-readable description of the driver
+# foo,classicdriver - Filename of the classic driver
+# foo,galliumdriver - Filename of the gallium driver
+# foo,default - which of classic or gallium is chosen by default
+
+MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw"
+declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not associative."
+
+MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)"
+MESA_DRIVERS[i915,classicdriver]="i915_dri.so"
+MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so"
+MESA_DRIVERS[i915,default]="gallium"
+
+MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)"
+MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
+MESA_DRIVERS[i965,default]="classic"
+
+MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
+MESA_DRIVERS[r300,classicdriver]="r300_dri.so"
+MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so"
+MESA_DRIVERS[r300,default]="gallium"
+
+MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern Islands)"
+MESA_DRIVERS[r600,classicdriver]="r600_dri.so"
+MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so"
+MESA_DRIVERS[r600,default]="gallium"
+
+MESA_DRIVERS[sw,description]="sw (Software renderer)"
+MESA_DRIVERS[sw,classicdriver]="swrast_dri.so"
+MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so"
+MESA_DRIVERS[sw,default]="gallium"
diff --git a/media-libs/mesa/files/glx_ro_text_segm.patch b/media-libs/mesa/files/glx_ro_text_segm.patch
new file mode 100644
index 0000000..495b7dc
--- /dev/null
+++ b/media-libs/mesa/files/glx_ro_text_segm.patch
@@ -0,0 +1,28 @@
+2011-02-09 Jeremy Huddleston <jeremyhu@freedesktop.org
+
+ #240956
+ * configure.ac add support to enable readonly test segment on x86
+
+--- configure.ac.orig 2008-11-17 23:19:38.000000000 +0100
++++ configure.ac 2008-11-17 23:20:17.000000000 +0100
+@@ -499,6 +499,20 @@
+ enable_xcb=no
+ fi
+
++
++dnl readonly text segment on x86 hardened platforms
++AC_ARG_ENABLE([glx_rts],
++ [AS_HELP_STRING([--enable-glx-rts],
++ [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
++ [enable_glx_rts="$enableval"],
++ [enable_glx_rts=no])
++if test "x$enable_glx_rts" = xyes; then
++ DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
++else
++ enable_glx_rts=no
++fi
++
++
+ dnl
+ dnl libGL configuration per driver
+ dnl
diff --git a/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch
new file mode 100644
index 0000000..9fe7e32
--- /dev/null
+++ b/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch
@@ -0,0 +1,25 @@
+--- a/configure.ac 2012-05-12 11:50:09.786970584 +0200
++++ b/configure.ac 2012-05-12 12:00:00.770582272 +0200
+@@ -1922,14 +1922,6 @@
+ fi
+ }
+
+-gallium_require_llvm() {
+- if test "x$MESA_LLVM" = x0; then
+- case "$host_cpu" in
+- i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
+- esac
+- fi
+-}
+-
+ gallium_require_drm_loader() {
+ if test "x$enable_gallium_loader" = xyes; then
+ PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
+@@ -1962,7 +1954,6 @@
+ ;;
+ xr300)
+ PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
+- gallium_require_llvm "Gallium R300"
+ GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
+ gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300"
+ ;;
diff --git a/media-libs/mesa/mesa-9.1.5.ebuild b/media-libs/mesa/mesa-9.1.5.ebuild
new file mode 100644
index 0000000..fea75b1
--- /dev/null
+++ b/media-libs/mesa/mesa-9.1.5.ebuild
@@ -0,0 +1,419 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-9.1.4.ebuild,v 1.1 2013/07/01 23:20:00 chithanh Exp $
+
+EAPI=5
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+PYTHON_COMPAT=( python{2_6,2_7} )
+
+inherit base autotools multilib flag-o-matic python-single-r1 toolchain-funcs ${GIT_ECLASS}
+
+OPENGL_DIR="xorg-x11"
+
+MY_PN="${PN/m/M}"
+MY_P="${MY_PN}-${PV/_rc/-rc}"
+MY_SRC_P="${MY_PN}Lib-${PV/_rc/-rc}"
+
+FOLDER="${PV/_rc*/}"
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+
+#SRC_PATCHES="mirror://gentoo/${PN}-9.1-gentoo-patches-05.tar.bz2"
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${MY_SRC_P}.tar.bz2
+ ${SRC_PATCHES}"
+fi
+
+# The code is MIT/X11.
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+
+INTEL_CARDS="i915 i965 intel"
+RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
+VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} nouveau vmware"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ bindist +classic debug +egl +gallium gbm gles1 gles2 +llvm +nptl
+ openvg osmesa pax_kernel pic r600-llvm-compiler selinux +shared-glapi vdpau
+ wayland xvmc xa xorg kernel_FreeBSD"
+
+REQUIRED_USE="
+ llvm? ( gallium )
+ openvg? ( egl gallium )
+ gbm? ( shared-glapi )
+ gles1? ( egl )
+ gles2? ( egl )
+ r600-llvm-compiler? ( gallium llvm || ( video_cards_r600 video_cards_radeon ) )
+ wayland? ( egl )
+ xa? ( gallium )
+ xorg? ( gallium )
+ video_cards_intel? ( || ( classic gallium ) )
+ video_cards_i915? ( || ( classic gallium ) )
+ video_cards_i965? ( classic )
+ video_cards_nouveau? ( || ( classic gallium ) )
+ video_cards_radeon? ( || ( classic gallium ) )
+ video_cards_r100? ( classic )
+ video_cards_r200? ( classic )
+ video_cards_r300? ( gallium )
+ video_cards_r600? ( gallium )
+ video_cards_radeonsi? ( gallium llvm )
+ video_cards_vmware? ( gallium )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.42"
+# 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
+ classic? ( app-admin/eselect-mesa )
+ gallium? ( app-admin/eselect-mesa )
+ >=app-admin/eselect-opengl-1.2.7
+ dev-libs/expat
+ gbm? ( virtual/udev )
+ >=x11-libs/libX11-1.3.99.901
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ >=x11-libs/libxcb-1.8.1
+ vdpau? ( >=x11-libs/libvdpau-0.4.1 )
+ wayland? ( >=dev-libs/wayland-1.0.3 )
+ xorg? (
+ x11-base/xorg-server:=[-minimal]
+ x11-libs/libdrm[libkms]
+ )
+ xvmc? ( >=x11-libs/libXvMC-1.0.6 )
+ ${LIBDRM_DEPSTRING}[video_cards_nouveau?,video_cards_vmware?]
+"
+for card in ${INTEL_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
+ "
+done
+
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+
+DEPEND="${RDEPEND}
+ llvm? (
+ >=sys-devel/llvm-2.9
+ r600-llvm-compiler? ( sys-devel/llvm[video_cards_radeon] )
+ video_cards_radeonsi? ( sys-devel/llvm[video_cards_radeon] )
+ )
+ ${PYTHON_DEPS}
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ >=x11-proto/dri2proto-2.6
+ >=x11-proto/glproto-1.4.15-r1
+ >=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 the 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, fbcon, no-X configs
+
+pkg_setup() {
+ # workaround toc-issue wrt #386545
+ use ppc64 && append-flags -mminimal-toc
+
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+ [[ $PV = 9999* ]] && git-2_src_unpack
+}
+
+src_prepare() {
+ # apply patches
+ if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
+ EPATCH_FORCE="yes" \
+ EPATCH_SOURCE="${WORKDIR}/patches" \
+ EPATCH_SUFFIX="patch" \
+ epatch
+ fi
+
+ # relax the requirement that r300 must have llvm, bug 380303
+ epatch "${FILESDIR}"/${PN}-8.1-dont-require-llvm-for-r300.patch
+
+ # fix for hardened pax_kernel, bug 240956
+ [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
+
+ # Solaris needs some recent POSIX stuff in our case
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ sed -i -e "s/-DSVR4/-D_POSIX_C_SOURCE=200112L/" configure.ac || die
+ fi
+
+ # Tests fail against python-3, bug #407887
+ sed -i 's|/usr/bin/env python|/usr/bin/env python2|' src/glsl/tests/compare_ir || die
+
+ base_src_prepare
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ if use classic; then
+ # Configurable DRI drivers
+ driver_enable swrast
+
+ # Intel code
+ driver_enable video_cards_i915 i915
+ driver_enable video_cards_i965 i965
+ if ! use video_cards_i915 && \
+ ! use video_cards_i965; then
+ driver_enable video_cards_intel i915 i965
+ fi
+
+ # Nouveau code
+ driver_enable video_cards_nouveau nouveau
+
+ # ATI code
+ driver_enable video_cards_r100 radeon
+ driver_enable video_cards_r200 r200
+ if ! use video_cards_r100 && \
+ ! use video_cards_r200; then
+ driver_enable video_cards_radeon radeon r200
+ fi
+ fi
+
+ if use egl; then
+ myconf+="
+ --with-egl-platforms=x11$(use wayland && echo ",wayland")$(use gbm && echo ",drm")
+ $(use_enable gallium gallium-egl)
+ "
+ fi
+
+ if use gallium; then
+ myconf+="
+ $(use_enable llvm gallium-llvm)
+ $(use_enable openvg)
+ $(use_enable r600-llvm-compiler)
+ $(use_enable vdpau)
+ $(use_enable xvmc)
+ "
+ gallium_enable swrast
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_i915 i915
+ if ! use video_cards_i915; then
+ gallium_enable video_cards_intel i915
+ fi
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 && \
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+ fi
+
+ # x86 hardened pax_kernel needs glx-rts, bug 240956
+ if use pax_kernel; then
+ myconf+="
+ $(use_enable x86 glx-rts)
+ "
+ fi
+
+ # build fails with BSD indent, bug #428112
+ use userland_GNU || export INDENT=cat
+
+ econf \
+ --enable-dri \
+ --enable-glx \
+ $(use_enable !bindist texture-float) \
+ $(use_enable debug) \
+ $(use_enable egl) \
+ $(use_enable gbm) \
+ $(use_enable gles1) \
+ $(use_enable gles2) \
+ $(use_enable nptl glx-tls) \
+ $(use_enable osmesa) \
+ $(use_enable !pic asm) \
+ $(use_enable shared-glapi) \
+ $(use_enable xa) \
+ $(use_enable xorg) \
+ --with-dri-drivers=${DRI_DRIVERS} \
+ --with-gallium-drivers=${GALLIUM_DRIVERS} \
+ PYTHON2="${PYTHON}" \
+ ${myconf}
+}
+
+src_install() {
+ base_src_install
+
+ find "${ED}" -name '*.la' -exec rm -f {} + || die
+
+ if use !bindist; then
+ dodoc docs/patents.txt
+ fi
+
+ # Install config file for eselect mesa
+ insinto /usr/share/mesa
+ newins "${FILESDIR}/eselect-mesa.conf.8.1" eselect-mesa.conf
+
+ # 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"
+ local x
+ local gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}/"
+ dodir ${gl_dir}/{lib,extensions,include/GL}
+ for x in "${ED}"/usr/$(get_libdir)/lib{EGL,GL*,OpenVG}.{la,a,so*}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f "${x}" "${ED}${gl_dir}"/lib \
+ || die "Failed to move ${x}"
+ fi
+ done
+ for x in "${ED}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f "${x}" "${ED}${gl_dir}"/include/GL \
+ || die "Failed to move ${x}"
+ fi
+ done
+ for x in "${ED}"/usr/include/{EGL,GLES*,VG,KHR}; do
+ if [ -d ${x} ]; then
+ mv -f "${x}" "${ED}${gl_dir}"/include \
+ || die "Failed to move ${x}"
+ fi
+ done
+ eend $?
+
+ if use classic || use gallium; then
+ ebegin "Moving DRI/Gallium drivers for dynamic switching"
+ local gallium_drivers=( i915_dri.so i965_dri.so r300_dri.so r600_dri.so swrast_dri.so )
+ keepdir /usr/$(get_libdir)/dri
+ dodir /usr/$(get_libdir)/mesa
+ for x in ${gallium_drivers[@]}; do
+ if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
+ mv -f "${ED}/usr/$(get_libdir)/dri/${x}" "${ED}/usr/$(get_libdir)/dri/${x/_dri.so/g_dri.so}" \
+ || die "Failed to move ${x}"
+ insinto "/usr/$(get_libdir)/dri/"
+ if [ -f "${S}/$(get_libdir)/${x}" ]; then
+ insopts -m0755
+ doins "${S}/$(get_libdir)/${x}"
+ fi
+ fi
+ done
+ for x in "${ED}"/usr/$(get_libdir)/dri/*.so; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f "${x}" "${x/dri/mesa}" \
+ || die "Failed to move ${x}"
+ fi
+ done
+ pushd "${ED}"/usr/$(get_libdir)/dri || die "pushd failed"
+ ln -s ../mesa/*.so . || die "Creating symlink failed"
+ # remove symlinks to drivers known to eselect
+ for x in ${gallium_drivers[@]}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ rm "${x}" || die "Failed to remove ${x}"
+ fi
+ done
+ popd
+ eend $?
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the xorg implementation.
+ echo
+ eselect opengl set --use-old ${OPENGL_DIR}
+
+ # switch to xorg-x11 and back if necessary, bug #374647 comment 11
+ OLD_IMPLEM="$(eselect opengl show)"
+ if [[ ${OPENGL_DIR}x != ${OLD_IMPLEM}x ]]; then
+ eselect opengl set ${OPENGL_DIR}
+ eselect opengl set ${OLD_IMPLEM}
+ fi
+
+ # Select classic/gallium drivers
+ if use classic || use gallium; then
+ eselect mesa set --auto
+ fi
+
+ # warn about patent encumbered texture-float
+ if use !bindist; then
+ elog "USE=\"bindist\" was not set. Potentially patent encumbered code was"
+ elog "enabled. Please see patents.txt for an explanation."
+ fi
+
+ local using_radeon r_flag
+ for r_flag in ${RADEON_CARDS}; do
+ if use video_cards_${r_flag}; then
+ using_radeon=1
+ break
+ fi
+ done
+
+ if [[ ${using_radeon} = 1 ]] && ! has_version media-libs/libtxc_dxtn; then
+ elog "Note that in order to have full S3TC support, it is necessary to install"
+ elog "media-libs/libtxc_dxtn as well. This may be necessary to get nice"
+ elog "textures in some apps, and some others even require this to run."
+ fi
+}
+
+# $1 - VIDEO_CARDS flag
+# other args - names of DRI drivers to enable
+# TODO: avoid code duplication for a more elegant implementation
+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
+}
+
+gallium_enable() {
+ case $# in
+ # for enabling unconditionally
+ 1)
+ GALLIUM_DRIVERS+=",$1"
+ ;;
+ *)
+ if use $1; then
+ shift
+ for i in $@; do
+ GALLIUM_DRIVERS+=",${i}"
+ done
+ fi
+ ;;
+ esac
+}
diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml
index bb27bfa..837da73 100644
--- a/media-libs/mesa/metadata.xml
+++ b/media-libs/mesa/metadata.xml
@@ -8,6 +8,7 @@
<flag name='egl'>Enable EGL support.</flag>
<flag name='gallium'>Build drivers based on Gallium3D, the new architecture for 3D graphics drivers.</flag>
<flag name='gbm'>Enable the Graphics Buffer Manager for EGL on KMS.</flag>
+ <flag name='shared-glapi'>Enable sharing of common code for the OpenGL API.</flag>
<flag name='gles1'>Enable GLESv1 support.</flag>
<flag name='gles2'>Enable GLESv2 support.</flag>
<flag name='llvm'>Enable LLVM backend for Gallium3D.</flag>
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-07-29 15:26 Chi-Thanh Christopher Nguyen
0 siblings, 0 replies; 17+ messages in thread
From: Chi-Thanh Christopher Nguyen @ 2013-07-29 15:26 UTC (permalink / raw
To: gentoo-commits
commit: a6f8007128a12b7e88e50a5a04838a902f296e18
Author: Chi-Thanh Christopher Nguyen <chithanh <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 29 15:26:13 2013 +0000
Commit: Chi-Thanh Christopher Nguyen <chithanh <AT> cs <DOT> tu-berlin <DOT> de>
CommitDate: Mon Jul 29 15:26:13 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=a6f80071
media-libs/mesa: in g-x86
---
media-libs/mesa/files/eselect-mesa.conf.8.1 | 38 --
media-libs/mesa/files/glx_ro_text_segm.patch | 28 --
.../mesa-8.1-dont-require-llvm-for-r300.patch | 25 --
media-libs/mesa/mesa-9.1.5.ebuild | 419 ---------------------
media-libs/mesa/metadata.xml | 1 -
5 files changed, 511 deletions(-)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.8.1 b/media-libs/mesa/files/eselect-mesa.conf.8.1
deleted file mode 100644
index 63a21aa..0000000
--- a/media-libs/mesa/files/eselect-mesa.conf.8.1
+++ /dev/null
@@ -1,38 +0,0 @@
-# mesa classic/gallium implementations in this release
-
-# Syntax description:
-# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable
-# classic/gallium implementations.
-# * MESA_DRIVERS is an associative array, for each member "foo" of
-# MESA_IMPLEMENTATIONS it contains the following elements:
-# foo,description - Human-readable description of the driver
-# foo,classicdriver - Filename of the classic driver
-# foo,galliumdriver - Filename of the gallium driver
-# foo,default - which of classic or gallium is chosen by default
-
-MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw"
-declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not associative."
-
-MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)"
-MESA_DRIVERS[i915,classicdriver]="i915_dri.so"
-MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so"
-MESA_DRIVERS[i915,default]="gallium"
-
-MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)"
-MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
-MESA_DRIVERS[i965,default]="classic"
-
-MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
-MESA_DRIVERS[r300,classicdriver]="r300_dri.so"
-MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so"
-MESA_DRIVERS[r300,default]="gallium"
-
-MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern Islands)"
-MESA_DRIVERS[r600,classicdriver]="r600_dri.so"
-MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so"
-MESA_DRIVERS[r600,default]="gallium"
-
-MESA_DRIVERS[sw,description]="sw (Software renderer)"
-MESA_DRIVERS[sw,classicdriver]="swrast_dri.so"
-MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so"
-MESA_DRIVERS[sw,default]="gallium"
diff --git a/media-libs/mesa/files/glx_ro_text_segm.patch b/media-libs/mesa/files/glx_ro_text_segm.patch
deleted file mode 100644
index 495b7dc..0000000
--- a/media-libs/mesa/files/glx_ro_text_segm.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-2011-02-09 Jeremy Huddleston <jeremyhu@freedesktop.org
-
- #240956
- * configure.ac add support to enable readonly test segment on x86
-
---- configure.ac.orig 2008-11-17 23:19:38.000000000 +0100
-+++ configure.ac 2008-11-17 23:20:17.000000000 +0100
-@@ -499,6 +499,20 @@
- enable_xcb=no
- fi
-
-+
-+dnl readonly text segment on x86 hardened platforms
-+AC_ARG_ENABLE([glx_rts],
-+ [AS_HELP_STRING([--enable-glx-rts],
-+ [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
-+ [enable_glx_rts="$enableval"],
-+ [enable_glx_rts=no])
-+if test "x$enable_glx_rts" = xyes; then
-+ DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
-+else
-+ enable_glx_rts=no
-+fi
-+
-+
- dnl
- dnl libGL configuration per driver
- dnl
diff --git a/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch
deleted file mode 100644
index 9fe7e32..0000000
--- a/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/configure.ac 2012-05-12 11:50:09.786970584 +0200
-+++ b/configure.ac 2012-05-12 12:00:00.770582272 +0200
-@@ -1922,14 +1922,6 @@
- fi
- }
-
--gallium_require_llvm() {
-- if test "x$MESA_LLVM" = x0; then
-- case "$host_cpu" in
-- i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
-- esac
-- fi
--}
--
- gallium_require_drm_loader() {
- if test "x$enable_gallium_loader" = xyes; then
- PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
-@@ -1962,7 +1954,6 @@
- ;;
- xr300)
- PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
-- gallium_require_llvm "Gallium R300"
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
- gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300"
- ;;
diff --git a/media-libs/mesa/mesa-9.1.5.ebuild b/media-libs/mesa/mesa-9.1.5.ebuild
deleted file mode 100644
index fea75b1..0000000
--- a/media-libs/mesa/mesa-9.1.5.ebuild
+++ /dev/null
@@ -1,419 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-9.1.4.ebuild,v 1.1 2013/07/01 23:20:00 chithanh Exp $
-
-EAPI=5
-
-EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
-
-if [[ ${PV} = 9999* ]]; then
- GIT_ECLASS="git-2"
- EXPERIMENTAL="true"
-fi
-
-PYTHON_COMPAT=( python{2_6,2_7} )
-
-inherit base autotools multilib flag-o-matic python-single-r1 toolchain-funcs ${GIT_ECLASS}
-
-OPENGL_DIR="xorg-x11"
-
-MY_PN="${PN/m/M}"
-MY_P="${MY_PN}-${PV/_rc/-rc}"
-MY_SRC_P="${MY_PN}Lib-${PV/_rc/-rc}"
-
-FOLDER="${PV/_rc*/}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="http://mesa3d.sourceforge.net/"
-
-#SRC_PATCHES="mirror://gentoo/${PN}-9.1-gentoo-patches-05.tar.bz2"
-if [[ $PV = 9999* ]]; then
- SRC_URI="${SRC_PATCHES}"
-else
- SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${MY_SRC_P}.tar.bz2
- ${SRC_PATCHES}"
-fi
-
-# The code is MIT/X11.
-# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
-
-INTEL_CARDS="i915 i965 intel"
-RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
-VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} nouveau vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- bindist +classic debug +egl +gallium gbm gles1 gles2 +llvm +nptl
- openvg osmesa pax_kernel pic r600-llvm-compiler selinux +shared-glapi vdpau
- wayland xvmc xa xorg kernel_FreeBSD"
-
-REQUIRED_USE="
- llvm? ( gallium )
- openvg? ( egl gallium )
- gbm? ( shared-glapi )
- gles1? ( egl )
- gles2? ( egl )
- r600-llvm-compiler? ( gallium llvm || ( video_cards_r600 video_cards_radeon ) )
- wayland? ( egl )
- xa? ( gallium )
- xorg? ( gallium )
- video_cards_intel? ( || ( classic gallium ) )
- video_cards_i915? ( || ( classic gallium ) )
- video_cards_i965? ( classic )
- video_cards_nouveau? ( || ( classic gallium ) )
- video_cards_radeon? ( || ( classic gallium ) )
- video_cards_r100? ( classic )
- video_cards_r200? ( classic )
- video_cards_r300? ( gallium )
- video_cards_r600? ( gallium )
- video_cards_radeonsi? ( gallium llvm )
- video_cards_vmware? ( gallium )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.42"
-# 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
- classic? ( app-admin/eselect-mesa )
- gallium? ( app-admin/eselect-mesa )
- >=app-admin/eselect-opengl-1.2.7
- dev-libs/expat
- gbm? ( virtual/udev )
- >=x11-libs/libX11-1.3.99.901
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXxf86vm
- >=x11-libs/libxcb-1.8.1
- vdpau? ( >=x11-libs/libvdpau-0.4.1 )
- wayland? ( >=dev-libs/wayland-1.0.3 )
- xorg? (
- x11-base/xorg-server:=[-minimal]
- x11-libs/libdrm[libkms]
- )
- xvmc? ( >=x11-libs/libXvMC-1.0.6 )
- ${LIBDRM_DEPSTRING}[video_cards_nouveau?,video_cards_vmware?]
-"
-for card in ${INTEL_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
- "
-done
-
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-
-DEPEND="${RDEPEND}
- llvm? (
- >=sys-devel/llvm-2.9
- r600-llvm-compiler? ( sys-devel/llvm[video_cards_radeon] )
- video_cards_radeonsi? ( sys-devel/llvm[video_cards_radeon] )
- )
- ${PYTHON_DEPS}
- dev-libs/libxml2[python,${PYTHON_USEDEP}]
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- >=x11-proto/dri2proto-2.6
- >=x11-proto/glproto-1.4.15-r1
- >=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 the 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, fbcon, no-X configs
-
-pkg_setup() {
- # workaround toc-issue wrt #386545
- use ppc64 && append-flags -mminimal-toc
-
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- default
- [[ $PV = 9999* ]] && git-2_src_unpack
-}
-
-src_prepare() {
- # apply patches
- if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
- EPATCH_FORCE="yes" \
- EPATCH_SOURCE="${WORKDIR}/patches" \
- EPATCH_SUFFIX="patch" \
- epatch
- fi
-
- # relax the requirement that r300 must have llvm, bug 380303
- epatch "${FILESDIR}"/${PN}-8.1-dont-require-llvm-for-r300.patch
-
- # fix for hardened pax_kernel, bug 240956
- [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
-
- # Solaris needs some recent POSIX stuff in our case
- if [[ ${CHOST} == *-solaris* ]] ; then
- sed -i -e "s/-DSVR4/-D_POSIX_C_SOURCE=200112L/" configure.ac || die
- fi
-
- # Tests fail against python-3, bug #407887
- sed -i 's|/usr/bin/env python|/usr/bin/env python2|' src/glsl/tests/compare_ir || die
-
- base_src_prepare
-
- eautoreconf
-}
-
-src_configure() {
- local myconf
-
- if use classic; then
- # Configurable DRI drivers
- driver_enable swrast
-
- # Intel code
- driver_enable video_cards_i915 i915
- driver_enable video_cards_i965 i965
- if ! use video_cards_i915 && \
- ! use video_cards_i965; then
- driver_enable video_cards_intel i915 i965
- fi
-
- # Nouveau code
- driver_enable video_cards_nouveau nouveau
-
- # ATI code
- driver_enable video_cards_r100 radeon
- driver_enable video_cards_r200 r200
- if ! use video_cards_r100 && \
- ! use video_cards_r200; then
- driver_enable video_cards_radeon radeon r200
- fi
- fi
-
- if use egl; then
- myconf+="
- --with-egl-platforms=x11$(use wayland && echo ",wayland")$(use gbm && echo ",drm")
- $(use_enable gallium gallium-egl)
- "
- fi
-
- if use gallium; then
- myconf+="
- $(use_enable llvm gallium-llvm)
- $(use_enable openvg)
- $(use_enable r600-llvm-compiler)
- $(use_enable vdpau)
- $(use_enable xvmc)
- "
- gallium_enable swrast
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_i915 i915
- if ! use video_cards_i915; then
- gallium_enable video_cards_intel i915
- fi
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 && \
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
- fi
-
- # x86 hardened pax_kernel needs glx-rts, bug 240956
- if use pax_kernel; then
- myconf+="
- $(use_enable x86 glx-rts)
- "
- fi
-
- # build fails with BSD indent, bug #428112
- use userland_GNU || export INDENT=cat
-
- econf \
- --enable-dri \
- --enable-glx \
- $(use_enable !bindist texture-float) \
- $(use_enable debug) \
- $(use_enable egl) \
- $(use_enable gbm) \
- $(use_enable gles1) \
- $(use_enable gles2) \
- $(use_enable nptl glx-tls) \
- $(use_enable osmesa) \
- $(use_enable !pic asm) \
- $(use_enable shared-glapi) \
- $(use_enable xa) \
- $(use_enable xorg) \
- --with-dri-drivers=${DRI_DRIVERS} \
- --with-gallium-drivers=${GALLIUM_DRIVERS} \
- PYTHON2="${PYTHON}" \
- ${myconf}
-}
-
-src_install() {
- base_src_install
-
- find "${ED}" -name '*.la' -exec rm -f {} + || die
-
- if use !bindist; then
- dodoc docs/patents.txt
- fi
-
- # Install config file for eselect mesa
- insinto /usr/share/mesa
- newins "${FILESDIR}/eselect-mesa.conf.8.1" eselect-mesa.conf
-
- # 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"
- local x
- local gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}/"
- dodir ${gl_dir}/{lib,extensions,include/GL}
- for x in "${ED}"/usr/$(get_libdir)/lib{EGL,GL*,OpenVG}.{la,a,so*}; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f "${x}" "${ED}${gl_dir}"/lib \
- || die "Failed to move ${x}"
- fi
- done
- for x in "${ED}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f "${x}" "${ED}${gl_dir}"/include/GL \
- || die "Failed to move ${x}"
- fi
- done
- for x in "${ED}"/usr/include/{EGL,GLES*,VG,KHR}; do
- if [ -d ${x} ]; then
- mv -f "${x}" "${ED}${gl_dir}"/include \
- || die "Failed to move ${x}"
- fi
- done
- eend $?
-
- if use classic || use gallium; then
- ebegin "Moving DRI/Gallium drivers for dynamic switching"
- local gallium_drivers=( i915_dri.so i965_dri.so r300_dri.so r600_dri.so swrast_dri.so )
- keepdir /usr/$(get_libdir)/dri
- dodir /usr/$(get_libdir)/mesa
- for x in ${gallium_drivers[@]}; do
- if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
- mv -f "${ED}/usr/$(get_libdir)/dri/${x}" "${ED}/usr/$(get_libdir)/dri/${x/_dri.so/g_dri.so}" \
- || die "Failed to move ${x}"
- insinto "/usr/$(get_libdir)/dri/"
- if [ -f "${S}/$(get_libdir)/${x}" ]; then
- insopts -m0755
- doins "${S}/$(get_libdir)/${x}"
- fi
- fi
- done
- for x in "${ED}"/usr/$(get_libdir)/dri/*.so; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f "${x}" "${x/dri/mesa}" \
- || die "Failed to move ${x}"
- fi
- done
- pushd "${ED}"/usr/$(get_libdir)/dri || die "pushd failed"
- ln -s ../mesa/*.so . || die "Creating symlink failed"
- # remove symlinks to drivers known to eselect
- for x in ${gallium_drivers[@]}; do
- if [ -f ${x} -o -L ${x} ]; then
- rm "${x}" || die "Failed to remove ${x}"
- fi
- done
- popd
- eend $?
- fi
-}
-
-pkg_postinst() {
- # Switch to the xorg implementation.
- echo
- eselect opengl set --use-old ${OPENGL_DIR}
-
- # switch to xorg-x11 and back if necessary, bug #374647 comment 11
- OLD_IMPLEM="$(eselect opengl show)"
- if [[ ${OPENGL_DIR}x != ${OLD_IMPLEM}x ]]; then
- eselect opengl set ${OPENGL_DIR}
- eselect opengl set ${OLD_IMPLEM}
- fi
-
- # Select classic/gallium drivers
- if use classic || use gallium; then
- eselect mesa set --auto
- fi
-
- # warn about patent encumbered texture-float
- if use !bindist; then
- elog "USE=\"bindist\" was not set. Potentially patent encumbered code was"
- elog "enabled. Please see patents.txt for an explanation."
- fi
-
- local using_radeon r_flag
- for r_flag in ${RADEON_CARDS}; do
- if use video_cards_${r_flag}; then
- using_radeon=1
- break
- fi
- done
-
- if [[ ${using_radeon} = 1 ]] && ! has_version media-libs/libtxc_dxtn; then
- elog "Note that in order to have full S3TC support, it is necessary to install"
- elog "media-libs/libtxc_dxtn as well. This may be necessary to get nice"
- elog "textures in some apps, and some others even require this to run."
- fi
-}
-
-# $1 - VIDEO_CARDS flag
-# other args - names of DRI drivers to enable
-# TODO: avoid code duplication for a more elegant implementation
-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
-}
-
-gallium_enable() {
- case $# in
- # for enabling unconditionally
- 1)
- GALLIUM_DRIVERS+=",$1"
- ;;
- *)
- if use $1; then
- shift
- for i in $@; do
- GALLIUM_DRIVERS+=",${i}"
- done
- fi
- ;;
- esac
-}
diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml
index 837da73..bb27bfa 100644
--- a/media-libs/mesa/metadata.xml
+++ b/media-libs/mesa/metadata.xml
@@ -8,7 +8,6 @@
<flag name='egl'>Enable EGL support.</flag>
<flag name='gallium'>Build drivers based on Gallium3D, the new architecture for 3D graphics drivers.</flag>
<flag name='gbm'>Enable the Graphics Buffer Manager for EGL on KMS.</flag>
- <flag name='shared-glapi'>Enable sharing of common code for the OpenGL API.</flag>
<flag name='gles1'>Enable GLESv1 support.</flag>
<flag name='gles2'>Enable GLESv2 support.</flag>
<flag name='llvm'>Enable LLVM backend for Gallium3D.</flag>
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-08-03 11:01 David Heidelberger
0 siblings, 0 replies; 17+ messages in thread
From: David Heidelberger @ 2013-08-03 11:01 UTC (permalink / raw
To: gentoo-commits
commit: 846fcd581b80fc21d583c30905f92046a01cd9ab
Author: David Heidelberger <david.heidelberger <AT> ixit <DOT> cz>
AuthorDate: Sat Aug 3 11:01:48 2013 +0000
Commit: David Heidelberger <d.okias <AT> gmail <DOT> com>
CommitDate: Sat Aug 3 11:01:48 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=846fcd58
media-libs/mesa: bump 9.1.6
Package-Manager: portage-2.2.0_alpha191
---
media-libs/mesa/files/eselect-mesa.conf.8.1 | 38 ++
media-libs/mesa/files/glx_ro_text_segm.patch | 28 ++
.../mesa-8.1-dont-require-llvm-for-r300.patch | 25 ++
media-libs/mesa/mesa-9.1.6.ebuild | 419 +++++++++++++++++++++
media-libs/mesa/metadata.xml | 1 +
5 files changed, 511 insertions(+)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.8.1 b/media-libs/mesa/files/eselect-mesa.conf.8.1
new file mode 100644
index 0000000..63a21aa
--- /dev/null
+++ b/media-libs/mesa/files/eselect-mesa.conf.8.1
@@ -0,0 +1,38 @@
+# mesa classic/gallium implementations in this release
+
+# Syntax description:
+# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable
+# classic/gallium implementations.
+# * MESA_DRIVERS is an associative array, for each member "foo" of
+# MESA_IMPLEMENTATIONS it contains the following elements:
+# foo,description - Human-readable description of the driver
+# foo,classicdriver - Filename of the classic driver
+# foo,galliumdriver - Filename of the gallium driver
+# foo,default - which of classic or gallium is chosen by default
+
+MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw"
+declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not associative."
+
+MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)"
+MESA_DRIVERS[i915,classicdriver]="i915_dri.so"
+MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so"
+MESA_DRIVERS[i915,default]="gallium"
+
+MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)"
+MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
+MESA_DRIVERS[i965,default]="classic"
+
+MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
+MESA_DRIVERS[r300,classicdriver]="r300_dri.so"
+MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so"
+MESA_DRIVERS[r300,default]="gallium"
+
+MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern Islands)"
+MESA_DRIVERS[r600,classicdriver]="r600_dri.so"
+MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so"
+MESA_DRIVERS[r600,default]="gallium"
+
+MESA_DRIVERS[sw,description]="sw (Software renderer)"
+MESA_DRIVERS[sw,classicdriver]="swrast_dri.so"
+MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so"
+MESA_DRIVERS[sw,default]="gallium"
diff --git a/media-libs/mesa/files/glx_ro_text_segm.patch b/media-libs/mesa/files/glx_ro_text_segm.patch
new file mode 100644
index 0000000..495b7dc
--- /dev/null
+++ b/media-libs/mesa/files/glx_ro_text_segm.patch
@@ -0,0 +1,28 @@
+2011-02-09 Jeremy Huddleston <jeremyhu@freedesktop.org
+
+ #240956
+ * configure.ac add support to enable readonly test segment on x86
+
+--- configure.ac.orig 2008-11-17 23:19:38.000000000 +0100
++++ configure.ac 2008-11-17 23:20:17.000000000 +0100
+@@ -499,6 +499,20 @@
+ enable_xcb=no
+ fi
+
++
++dnl readonly text segment on x86 hardened platforms
++AC_ARG_ENABLE([glx_rts],
++ [AS_HELP_STRING([--enable-glx-rts],
++ [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
++ [enable_glx_rts="$enableval"],
++ [enable_glx_rts=no])
++if test "x$enable_glx_rts" = xyes; then
++ DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
++else
++ enable_glx_rts=no
++fi
++
++
+ dnl
+ dnl libGL configuration per driver
+ dnl
diff --git a/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch
new file mode 100644
index 0000000..9fe7e32
--- /dev/null
+++ b/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch
@@ -0,0 +1,25 @@
+--- a/configure.ac 2012-05-12 11:50:09.786970584 +0200
++++ b/configure.ac 2012-05-12 12:00:00.770582272 +0200
+@@ -1922,14 +1922,6 @@
+ fi
+ }
+
+-gallium_require_llvm() {
+- if test "x$MESA_LLVM" = x0; then
+- case "$host_cpu" in
+- i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
+- esac
+- fi
+-}
+-
+ gallium_require_drm_loader() {
+ if test "x$enable_gallium_loader" = xyes; then
+ PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
+@@ -1962,7 +1954,6 @@
+ ;;
+ xr300)
+ PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
+- gallium_require_llvm "Gallium R300"
+ GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
+ gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300"
+ ;;
diff --git a/media-libs/mesa/mesa-9.1.6.ebuild b/media-libs/mesa/mesa-9.1.6.ebuild
new file mode 100644
index 0000000..1eb8fca
--- /dev/null
+++ b/media-libs/mesa/mesa-9.1.6.ebuild
@@ -0,0 +1,419 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+PYTHON_COMPAT=( python{2_6,2_7} )
+
+inherit base autotools multilib flag-o-matic python-single-r1 toolchain-funcs ${GIT_ECLASS}
+
+OPENGL_DIR="xorg-x11"
+
+MY_PN="${PN/m/M}"
+MY_P="${MY_PN}-${PV/_rc/-rc}"
+MY_SRC_P="${MY_PN}Lib-${PV/_rc/-rc}"
+
+FOLDER="${PV/_rc*/}"
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+
+#SRC_PATCHES="mirror://gentoo/${PN}-9.1-gentoo-patches-05.tar.bz2"
+if [[ $PV = 9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${MY_SRC_P}.tar.bz2
+ ${SRC_PATCHES}"
+fi
+
+# The code is MIT/X11.
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+
+INTEL_CARDS="i915 i965 intel"
+RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
+VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} nouveau vmware"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ bindist +classic debug +egl +gallium gbm gles1 gles2 +llvm +nptl
+ openvg osmesa pax_kernel pic r600-llvm-compiler selinux +shared-glapi vdpau
+ wayland xvmc xa xorg kernel_FreeBSD"
+
+REQUIRED_USE="
+ llvm? ( gallium )
+ openvg? ( egl gallium )
+ gbm? ( shared-glapi )
+ gles1? ( egl )
+ gles2? ( egl )
+ r600-llvm-compiler? ( gallium llvm || ( video_cards_r600 video_cards_radeon ) )
+ wayland? ( egl )
+ xa? ( gallium )
+ xorg? ( gallium )
+ video_cards_intel? ( || ( classic gallium ) )
+ video_cards_i915? ( || ( classic gallium ) )
+ video_cards_i965? ( classic )
+ video_cards_nouveau? ( || ( classic gallium ) )
+ video_cards_radeon? ( || ( classic gallium ) )
+ video_cards_r100? ( classic )
+ video_cards_r200? ( classic )
+ video_cards_r300? ( gallium )
+ video_cards_r600? ( gallium )
+ video_cards_radeonsi? ( gallium llvm )
+ video_cards_vmware? ( gallium )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.42"
+# 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
+ classic? ( app-admin/eselect-mesa )
+ gallium? ( app-admin/eselect-mesa )
+ >=app-admin/eselect-opengl-1.2.7
+ dev-libs/expat
+ gbm? ( virtual/udev )
+ >=x11-libs/libX11-1.3.99.901
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ >=x11-libs/libxcb-1.8.1
+ vdpau? ( >=x11-libs/libvdpau-0.4.1 )
+ wayland? ( >=dev-libs/wayland-1.0.3 )
+ xorg? (
+ x11-base/xorg-server:=[-minimal]
+ x11-libs/libdrm[libkms]
+ )
+ xvmc? ( >=x11-libs/libXvMC-1.0.6 )
+ ${LIBDRM_DEPSTRING}[video_cards_nouveau?,video_cards_vmware?]
+"
+for card in ${INTEL_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
+ "
+done
+
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+
+DEPEND="${RDEPEND}
+ llvm? (
+ >=sys-devel/llvm-2.9
+ r600-llvm-compiler? ( sys-devel/llvm[video_cards_radeon] )
+ video_cards_radeonsi? ( sys-devel/llvm[video_cards_radeon] )
+ )
+ ${PYTHON_DEPS}
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ >=x11-proto/dri2proto-2.6
+ >=x11-proto/glproto-1.4.15-r1
+ >=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 the 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, fbcon, no-X configs
+
+pkg_setup() {
+ # workaround toc-issue wrt #386545
+ use ppc64 && append-flags -mminimal-toc
+
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+ [[ $PV = 9999* ]] && git-2_src_unpack
+}
+
+src_prepare() {
+ # apply patches
+ if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
+ EPATCH_FORCE="yes" \
+ EPATCH_SOURCE="${WORKDIR}/patches" \
+ EPATCH_SUFFIX="patch" \
+ epatch
+ fi
+
+ # relax the requirement that r300 must have llvm, bug 380303
+ epatch "${FILESDIR}"/${PN}-8.1-dont-require-llvm-for-r300.patch
+
+ # fix for hardened pax_kernel, bug 240956
+ [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
+
+ # Solaris needs some recent POSIX stuff in our case
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ sed -i -e "s/-DSVR4/-D_POSIX_C_SOURCE=200112L/" configure.ac || die
+ fi
+
+ # Tests fail against python-3, bug #407887
+ sed -i 's|/usr/bin/env python|/usr/bin/env python2|' src/glsl/tests/compare_ir || die
+
+ base_src_prepare
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ if use classic; then
+ # Configurable DRI drivers
+ driver_enable swrast
+
+ # Intel code
+ driver_enable video_cards_i915 i915
+ driver_enable video_cards_i965 i965
+ if ! use video_cards_i915 && \
+ ! use video_cards_i965; then
+ driver_enable video_cards_intel i915 i965
+ fi
+
+ # Nouveau code
+ driver_enable video_cards_nouveau nouveau
+
+ # ATI code
+ driver_enable video_cards_r100 radeon
+ driver_enable video_cards_r200 r200
+ if ! use video_cards_r100 && \
+ ! use video_cards_r200; then
+ driver_enable video_cards_radeon radeon r200
+ fi
+ fi
+
+ if use egl; then
+ myconf+="
+ --with-egl-platforms=x11$(use wayland && echo ",wayland")$(use gbm && echo ",drm")
+ $(use_enable gallium gallium-egl)
+ "
+ fi
+
+ if use gallium; then
+ myconf+="
+ $(use_enable llvm gallium-llvm)
+ $(use_enable openvg)
+ $(use_enable r600-llvm-compiler)
+ $(use_enable vdpau)
+ $(use_enable xvmc)
+ "
+ gallium_enable swrast
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_i915 i915
+ if ! use video_cards_i915; then
+ gallium_enable video_cards_intel i915
+ fi
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 && \
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+ fi
+
+ # x86 hardened pax_kernel needs glx-rts, bug 240956
+ if use pax_kernel; then
+ myconf+="
+ $(use_enable x86 glx-rts)
+ "
+ fi
+
+ # build fails with BSD indent, bug #428112
+ use userland_GNU || export INDENT=cat
+
+ econf \
+ --enable-dri \
+ --enable-glx \
+ $(use_enable !bindist texture-float) \
+ $(use_enable debug) \
+ $(use_enable egl) \
+ $(use_enable gbm) \
+ $(use_enable gles1) \
+ $(use_enable gles2) \
+ $(use_enable nptl glx-tls) \
+ $(use_enable osmesa) \
+ $(use_enable !pic asm) \
+ $(use_enable shared-glapi) \
+ $(use_enable xa) \
+ $(use_enable xorg) \
+ --with-dri-drivers=${DRI_DRIVERS} \
+ --with-gallium-drivers=${GALLIUM_DRIVERS} \
+ PYTHON2="${PYTHON}" \
+ ${myconf}
+}
+
+src_install() {
+ base_src_install
+
+ find "${ED}" -name '*.la' -exec rm -f {} + || die
+
+ if use !bindist; then
+ dodoc docs/patents.txt
+ fi
+
+ # Install config file for eselect mesa
+ insinto /usr/share/mesa
+ newins "${FILESDIR}/eselect-mesa.conf.8.1" eselect-mesa.conf
+
+ # 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"
+ local x
+ local gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}/"
+ dodir ${gl_dir}/{lib,extensions,include/GL}
+ for x in "${ED}"/usr/$(get_libdir)/lib{EGL,GL*,OpenVG}.{la,a,so*}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f "${x}" "${ED}${gl_dir}"/lib \
+ || die "Failed to move ${x}"
+ fi
+ done
+ for x in "${ED}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f "${x}" "${ED}${gl_dir}"/include/GL \
+ || die "Failed to move ${x}"
+ fi
+ done
+ for x in "${ED}"/usr/include/{EGL,GLES*,VG,KHR}; do
+ if [ -d ${x} ]; then
+ mv -f "${x}" "${ED}${gl_dir}"/include \
+ || die "Failed to move ${x}"
+ fi
+ done
+ eend $?
+
+ if use classic || use gallium; then
+ ebegin "Moving DRI/Gallium drivers for dynamic switching"
+ local gallium_drivers=( i915_dri.so i965_dri.so r300_dri.so r600_dri.so swrast_dri.so )
+ keepdir /usr/$(get_libdir)/dri
+ dodir /usr/$(get_libdir)/mesa
+ for x in ${gallium_drivers[@]}; do
+ if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
+ mv -f "${ED}/usr/$(get_libdir)/dri/${x}" "${ED}/usr/$(get_libdir)/dri/${x/_dri.so/g_dri.so}" \
+ || die "Failed to move ${x}"
+ insinto "/usr/$(get_libdir)/dri/"
+ if [ -f "${S}/$(get_libdir)/${x}" ]; then
+ insopts -m0755
+ doins "${S}/$(get_libdir)/${x}"
+ fi
+ fi
+ done
+ for x in "${ED}"/usr/$(get_libdir)/dri/*.so; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f "${x}" "${x/dri/mesa}" \
+ || die "Failed to move ${x}"
+ fi
+ done
+ pushd "${ED}"/usr/$(get_libdir)/dri || die "pushd failed"
+ ln -s ../mesa/*.so . || die "Creating symlink failed"
+ # remove symlinks to drivers known to eselect
+ for x in ${gallium_drivers[@]}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ rm "${x}" || die "Failed to remove ${x}"
+ fi
+ done
+ popd
+ eend $?
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the xorg implementation.
+ echo
+ eselect opengl set --use-old ${OPENGL_DIR}
+
+ # switch to xorg-x11 and back if necessary, bug #374647 comment 11
+ OLD_IMPLEM="$(eselect opengl show)"
+ if [[ ${OPENGL_DIR}x != ${OLD_IMPLEM}x ]]; then
+ eselect opengl set ${OPENGL_DIR}
+ eselect opengl set ${OLD_IMPLEM}
+ fi
+
+ # Select classic/gallium drivers
+ if use classic || use gallium; then
+ eselect mesa set --auto
+ fi
+
+ # warn about patent encumbered texture-float
+ if use !bindist; then
+ elog "USE=\"bindist\" was not set. Potentially patent encumbered code was"
+ elog "enabled. Please see patents.txt for an explanation."
+ fi
+
+ local using_radeon r_flag
+ for r_flag in ${RADEON_CARDS}; do
+ if use video_cards_${r_flag}; then
+ using_radeon=1
+ break
+ fi
+ done
+
+ if [[ ${using_radeon} = 1 ]] && ! has_version media-libs/libtxc_dxtn; then
+ elog "Note that in order to have full S3TC support, it is necessary to install"
+ elog "media-libs/libtxc_dxtn as well. This may be necessary to get nice"
+ elog "textures in some apps, and some others even require this to run."
+ fi
+}
+
+# $1 - VIDEO_CARDS flag
+# other args - names of DRI drivers to enable
+# TODO: avoid code duplication for a more elegant implementation
+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
+}
+
+gallium_enable() {
+ case $# in
+ # for enabling unconditionally
+ 1)
+ GALLIUM_DRIVERS+=",$1"
+ ;;
+ *)
+ if use $1; then
+ shift
+ for i in $@; do
+ GALLIUM_DRIVERS+=",${i}"
+ done
+ fi
+ ;;
+ esac
+}
diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml
index bb27bfa..837da73 100644
--- a/media-libs/mesa/metadata.xml
+++ b/media-libs/mesa/metadata.xml
@@ -8,6 +8,7 @@
<flag name='egl'>Enable EGL support.</flag>
<flag name='gallium'>Build drivers based on Gallium3D, the new architecture for 3D graphics drivers.</flag>
<flag name='gbm'>Enable the Graphics Buffer Manager for EGL on KMS.</flag>
+ <flag name='shared-glapi'>Enable sharing of common code for the OpenGL API.</flag>
<flag name='gles1'>Enable GLESv1 support.</flag>
<flag name='gles2'>Enable GLESv2 support.</flag>
<flag name='llvm'>Enable LLVM backend for Gallium3D.</flag>
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-08-03 11:18 David Heidelberger
0 siblings, 0 replies; 17+ messages in thread
From: David Heidelberger @ 2013-08-03 11:18 UTC (permalink / raw
To: gentoo-commits
commit: 54d66fa5a094611050952cc1b2b8e9d8fe95779f
Author: David Heidelberger <david.heidelberger <AT> ixit <DOT> cz>
AuthorDate: Sat Aug 3 11:18:43 2013 +0000
Commit: David Heidelberger <d.okias <AT> gmail <DOT> com>
CommitDate: Sat Aug 3 11:18:43 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=54d66fa5
media-libs/mesa: added in portage, removing
Package-Manager: portage-2.2.0_alpha191
---
media-libs/mesa/files/eselect-mesa.conf.8.1 | 38 --
media-libs/mesa/files/glx_ro_text_segm.patch | 28 --
.../mesa-8.1-dont-require-llvm-for-r300.patch | 25 --
media-libs/mesa/mesa-9.1.6.ebuild | 419 ---------------------
media-libs/mesa/metadata.xml | 1 -
5 files changed, 511 deletions(-)
diff --git a/media-libs/mesa/files/eselect-mesa.conf.8.1 b/media-libs/mesa/files/eselect-mesa.conf.8.1
deleted file mode 100644
index 63a21aa..0000000
--- a/media-libs/mesa/files/eselect-mesa.conf.8.1
+++ /dev/null
@@ -1,38 +0,0 @@
-# mesa classic/gallium implementations in this release
-
-# Syntax description:
-# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable
-# classic/gallium implementations.
-# * MESA_DRIVERS is an associative array, for each member "foo" of
-# MESA_IMPLEMENTATIONS it contains the following elements:
-# foo,description - Human-readable description of the driver
-# foo,classicdriver - Filename of the classic driver
-# foo,galliumdriver - Filename of the gallium driver
-# foo,default - which of classic or gallium is chosen by default
-
-MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw"
-declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not associative."
-
-MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)"
-MESA_DRIVERS[i915,classicdriver]="i915_dri.so"
-MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so"
-MESA_DRIVERS[i915,default]="gallium"
-
-MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)"
-MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
-MESA_DRIVERS[i965,default]="classic"
-
-MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
-MESA_DRIVERS[r300,classicdriver]="r300_dri.so"
-MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so"
-MESA_DRIVERS[r300,default]="gallium"
-
-MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern Islands)"
-MESA_DRIVERS[r600,classicdriver]="r600_dri.so"
-MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so"
-MESA_DRIVERS[r600,default]="gallium"
-
-MESA_DRIVERS[sw,description]="sw (Software renderer)"
-MESA_DRIVERS[sw,classicdriver]="swrast_dri.so"
-MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so"
-MESA_DRIVERS[sw,default]="gallium"
diff --git a/media-libs/mesa/files/glx_ro_text_segm.patch b/media-libs/mesa/files/glx_ro_text_segm.patch
deleted file mode 100644
index 495b7dc..0000000
--- a/media-libs/mesa/files/glx_ro_text_segm.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-2011-02-09 Jeremy Huddleston <jeremyhu@freedesktop.org
-
- #240956
- * configure.ac add support to enable readonly test segment on x86
-
---- configure.ac.orig 2008-11-17 23:19:38.000000000 +0100
-+++ configure.ac 2008-11-17 23:20:17.000000000 +0100
-@@ -499,6 +499,20 @@
- enable_xcb=no
- fi
-
-+
-+dnl readonly text segment on x86 hardened platforms
-+AC_ARG_ENABLE([glx_rts],
-+ [AS_HELP_STRING([--enable-glx-rts],
-+ [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
-+ [enable_glx_rts="$enableval"],
-+ [enable_glx_rts=no])
-+if test "x$enable_glx_rts" = xyes; then
-+ DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
-+else
-+ enable_glx_rts=no
-+fi
-+
-+
- dnl
- dnl libGL configuration per driver
- dnl
diff --git a/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch
deleted file mode 100644
index 9fe7e32..0000000
--- a/media-libs/mesa/files/mesa-8.1-dont-require-llvm-for-r300.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/configure.ac 2012-05-12 11:50:09.786970584 +0200
-+++ b/configure.ac 2012-05-12 12:00:00.770582272 +0200
-@@ -1922,14 +1922,6 @@
- fi
- }
-
--gallium_require_llvm() {
-- if test "x$MESA_LLVM" = x0; then
-- case "$host_cpu" in
-- i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);;
-- esac
-- fi
--}
--
- gallium_require_drm_loader() {
- if test "x$enable_gallium_loader" = xyes; then
- PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
-@@ -1962,7 +1954,6 @@
- ;;
- xr300)
- PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
-- gallium_require_llvm "Gallium R300"
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
- gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300"
- ;;
diff --git a/media-libs/mesa/mesa-9.1.6.ebuild b/media-libs/mesa/mesa-9.1.6.ebuild
deleted file mode 100644
index 1eb8fca..0000000
--- a/media-libs/mesa/mesa-9.1.6.ebuild
+++ /dev/null
@@ -1,419 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=5
-
-EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
-
-if [[ ${PV} = 9999* ]]; then
- GIT_ECLASS="git-2"
- EXPERIMENTAL="true"
-fi
-
-PYTHON_COMPAT=( python{2_6,2_7} )
-
-inherit base autotools multilib flag-o-matic python-single-r1 toolchain-funcs ${GIT_ECLASS}
-
-OPENGL_DIR="xorg-x11"
-
-MY_PN="${PN/m/M}"
-MY_P="${MY_PN}-${PV/_rc/-rc}"
-MY_SRC_P="${MY_PN}Lib-${PV/_rc/-rc}"
-
-FOLDER="${PV/_rc*/}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="http://mesa3d.sourceforge.net/"
-
-#SRC_PATCHES="mirror://gentoo/${PN}-9.1-gentoo-patches-05.tar.bz2"
-if [[ $PV = 9999* ]]; then
- SRC_URI="${SRC_PATCHES}"
-else
- SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${MY_SRC_P}.tar.bz2
- ${SRC_PATCHES}"
-fi
-
-# The code is MIT/X11.
-# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
-
-INTEL_CARDS="i915 i965 intel"
-RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
-VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} nouveau vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- bindist +classic debug +egl +gallium gbm gles1 gles2 +llvm +nptl
- openvg osmesa pax_kernel pic r600-llvm-compiler selinux +shared-glapi vdpau
- wayland xvmc xa xorg kernel_FreeBSD"
-
-REQUIRED_USE="
- llvm? ( gallium )
- openvg? ( egl gallium )
- gbm? ( shared-glapi )
- gles1? ( egl )
- gles2? ( egl )
- r600-llvm-compiler? ( gallium llvm || ( video_cards_r600 video_cards_radeon ) )
- wayland? ( egl )
- xa? ( gallium )
- xorg? ( gallium )
- video_cards_intel? ( || ( classic gallium ) )
- video_cards_i915? ( || ( classic gallium ) )
- video_cards_i965? ( classic )
- video_cards_nouveau? ( || ( classic gallium ) )
- video_cards_radeon? ( || ( classic gallium ) )
- video_cards_r100? ( classic )
- video_cards_r200? ( classic )
- video_cards_r300? ( gallium )
- video_cards_r600? ( gallium )
- video_cards_radeonsi? ( gallium llvm )
- video_cards_vmware? ( gallium )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.42"
-# 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
- classic? ( app-admin/eselect-mesa )
- gallium? ( app-admin/eselect-mesa )
- >=app-admin/eselect-opengl-1.2.7
- dev-libs/expat
- gbm? ( virtual/udev )
- >=x11-libs/libX11-1.3.99.901
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXxf86vm
- >=x11-libs/libxcb-1.8.1
- vdpau? ( >=x11-libs/libvdpau-0.4.1 )
- wayland? ( >=dev-libs/wayland-1.0.3 )
- xorg? (
- x11-base/xorg-server:=[-minimal]
- x11-libs/libdrm[libkms]
- )
- xvmc? ( >=x11-libs/libXvMC-1.0.6 )
- ${LIBDRM_DEPSTRING}[video_cards_nouveau?,video_cards_vmware?]
-"
-for card in ${INTEL_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
- "
-done
-
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-
-DEPEND="${RDEPEND}
- llvm? (
- >=sys-devel/llvm-2.9
- r600-llvm-compiler? ( sys-devel/llvm[video_cards_radeon] )
- video_cards_radeonsi? ( sys-devel/llvm[video_cards_radeon] )
- )
- ${PYTHON_DEPS}
- dev-libs/libxml2[python,${PYTHON_USEDEP}]
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- >=x11-proto/dri2proto-2.6
- >=x11-proto/glproto-1.4.15-r1
- >=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 the 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, fbcon, no-X configs
-
-pkg_setup() {
- # workaround toc-issue wrt #386545
- use ppc64 && append-flags -mminimal-toc
-
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- default
- [[ $PV = 9999* ]] && git-2_src_unpack
-}
-
-src_prepare() {
- # apply patches
- if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
- EPATCH_FORCE="yes" \
- EPATCH_SOURCE="${WORKDIR}/patches" \
- EPATCH_SUFFIX="patch" \
- epatch
- fi
-
- # relax the requirement that r300 must have llvm, bug 380303
- epatch "${FILESDIR}"/${PN}-8.1-dont-require-llvm-for-r300.patch
-
- # fix for hardened pax_kernel, bug 240956
- [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
-
- # Solaris needs some recent POSIX stuff in our case
- if [[ ${CHOST} == *-solaris* ]] ; then
- sed -i -e "s/-DSVR4/-D_POSIX_C_SOURCE=200112L/" configure.ac || die
- fi
-
- # Tests fail against python-3, bug #407887
- sed -i 's|/usr/bin/env python|/usr/bin/env python2|' src/glsl/tests/compare_ir || die
-
- base_src_prepare
-
- eautoreconf
-}
-
-src_configure() {
- local myconf
-
- if use classic; then
- # Configurable DRI drivers
- driver_enable swrast
-
- # Intel code
- driver_enable video_cards_i915 i915
- driver_enable video_cards_i965 i965
- if ! use video_cards_i915 && \
- ! use video_cards_i965; then
- driver_enable video_cards_intel i915 i965
- fi
-
- # Nouveau code
- driver_enable video_cards_nouveau nouveau
-
- # ATI code
- driver_enable video_cards_r100 radeon
- driver_enable video_cards_r200 r200
- if ! use video_cards_r100 && \
- ! use video_cards_r200; then
- driver_enable video_cards_radeon radeon r200
- fi
- fi
-
- if use egl; then
- myconf+="
- --with-egl-platforms=x11$(use wayland && echo ",wayland")$(use gbm && echo ",drm")
- $(use_enable gallium gallium-egl)
- "
- fi
-
- if use gallium; then
- myconf+="
- $(use_enable llvm gallium-llvm)
- $(use_enable openvg)
- $(use_enable r600-llvm-compiler)
- $(use_enable vdpau)
- $(use_enable xvmc)
- "
- gallium_enable swrast
- gallium_enable video_cards_vmware svga
- gallium_enable video_cards_nouveau nouveau
- gallium_enable video_cards_i915 i915
- if ! use video_cards_i915; then
- gallium_enable video_cards_intel i915
- fi
-
- gallium_enable video_cards_r300 r300
- gallium_enable video_cards_r600 r600
- gallium_enable video_cards_radeonsi radeonsi
- if ! use video_cards_r300 && \
- ! use video_cards_r600; then
- gallium_enable video_cards_radeon r300 r600
- fi
- fi
-
- # x86 hardened pax_kernel needs glx-rts, bug 240956
- if use pax_kernel; then
- myconf+="
- $(use_enable x86 glx-rts)
- "
- fi
-
- # build fails with BSD indent, bug #428112
- use userland_GNU || export INDENT=cat
-
- econf \
- --enable-dri \
- --enable-glx \
- $(use_enable !bindist texture-float) \
- $(use_enable debug) \
- $(use_enable egl) \
- $(use_enable gbm) \
- $(use_enable gles1) \
- $(use_enable gles2) \
- $(use_enable nptl glx-tls) \
- $(use_enable osmesa) \
- $(use_enable !pic asm) \
- $(use_enable shared-glapi) \
- $(use_enable xa) \
- $(use_enable xorg) \
- --with-dri-drivers=${DRI_DRIVERS} \
- --with-gallium-drivers=${GALLIUM_DRIVERS} \
- PYTHON2="${PYTHON}" \
- ${myconf}
-}
-
-src_install() {
- base_src_install
-
- find "${ED}" -name '*.la' -exec rm -f {} + || die
-
- if use !bindist; then
- dodoc docs/patents.txt
- fi
-
- # Install config file for eselect mesa
- insinto /usr/share/mesa
- newins "${FILESDIR}/eselect-mesa.conf.8.1" eselect-mesa.conf
-
- # 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"
- local x
- local gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}/"
- dodir ${gl_dir}/{lib,extensions,include/GL}
- for x in "${ED}"/usr/$(get_libdir)/lib{EGL,GL*,OpenVG}.{la,a,so*}; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f "${x}" "${ED}${gl_dir}"/lib \
- || die "Failed to move ${x}"
- fi
- done
- for x in "${ED}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f "${x}" "${ED}${gl_dir}"/include/GL \
- || die "Failed to move ${x}"
- fi
- done
- for x in "${ED}"/usr/include/{EGL,GLES*,VG,KHR}; do
- if [ -d ${x} ]; then
- mv -f "${x}" "${ED}${gl_dir}"/include \
- || die "Failed to move ${x}"
- fi
- done
- eend $?
-
- if use classic || use gallium; then
- ebegin "Moving DRI/Gallium drivers for dynamic switching"
- local gallium_drivers=( i915_dri.so i965_dri.so r300_dri.so r600_dri.so swrast_dri.so )
- keepdir /usr/$(get_libdir)/dri
- dodir /usr/$(get_libdir)/mesa
- for x in ${gallium_drivers[@]}; do
- if [ -f "${S}/$(get_libdir)/gallium/${x}" ]; then
- mv -f "${ED}/usr/$(get_libdir)/dri/${x}" "${ED}/usr/$(get_libdir)/dri/${x/_dri.so/g_dri.so}" \
- || die "Failed to move ${x}"
- insinto "/usr/$(get_libdir)/dri/"
- if [ -f "${S}/$(get_libdir)/${x}" ]; then
- insopts -m0755
- doins "${S}/$(get_libdir)/${x}"
- fi
- fi
- done
- for x in "${ED}"/usr/$(get_libdir)/dri/*.so; do
- if [ -f ${x} -o -L ${x} ]; then
- mv -f "${x}" "${x/dri/mesa}" \
- || die "Failed to move ${x}"
- fi
- done
- pushd "${ED}"/usr/$(get_libdir)/dri || die "pushd failed"
- ln -s ../mesa/*.so . || die "Creating symlink failed"
- # remove symlinks to drivers known to eselect
- for x in ${gallium_drivers[@]}; do
- if [ -f ${x} -o -L ${x} ]; then
- rm "${x}" || die "Failed to remove ${x}"
- fi
- done
- popd
- eend $?
- fi
-}
-
-pkg_postinst() {
- # Switch to the xorg implementation.
- echo
- eselect opengl set --use-old ${OPENGL_DIR}
-
- # switch to xorg-x11 and back if necessary, bug #374647 comment 11
- OLD_IMPLEM="$(eselect opengl show)"
- if [[ ${OPENGL_DIR}x != ${OLD_IMPLEM}x ]]; then
- eselect opengl set ${OPENGL_DIR}
- eselect opengl set ${OLD_IMPLEM}
- fi
-
- # Select classic/gallium drivers
- if use classic || use gallium; then
- eselect mesa set --auto
- fi
-
- # warn about patent encumbered texture-float
- if use !bindist; then
- elog "USE=\"bindist\" was not set. Potentially patent encumbered code was"
- elog "enabled. Please see patents.txt for an explanation."
- fi
-
- local using_radeon r_flag
- for r_flag in ${RADEON_CARDS}; do
- if use video_cards_${r_flag}; then
- using_radeon=1
- break
- fi
- done
-
- if [[ ${using_radeon} = 1 ]] && ! has_version media-libs/libtxc_dxtn; then
- elog "Note that in order to have full S3TC support, it is necessary to install"
- elog "media-libs/libtxc_dxtn as well. This may be necessary to get nice"
- elog "textures in some apps, and some others even require this to run."
- fi
-}
-
-# $1 - VIDEO_CARDS flag
-# other args - names of DRI drivers to enable
-# TODO: avoid code duplication for a more elegant implementation
-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
-}
-
-gallium_enable() {
- case $# in
- # for enabling unconditionally
- 1)
- GALLIUM_DRIVERS+=",$1"
- ;;
- *)
- if use $1; then
- shift
- for i in $@; do
- GALLIUM_DRIVERS+=",${i}"
- done
- fi
- ;;
- esac
-}
diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml
index 837da73..bb27bfa 100644
--- a/media-libs/mesa/metadata.xml
+++ b/media-libs/mesa/metadata.xml
@@ -8,7 +8,6 @@
<flag name='egl'>Enable EGL support.</flag>
<flag name='gallium'>Build drivers based on Gallium3D, the new architecture for 3D graphics drivers.</flag>
<flag name='gbm'>Enable the Graphics Buffer Manager for EGL on KMS.</flag>
- <flag name='shared-glapi'>Enable sharing of common code for the OpenGL API.</flag>
<flag name='gles1'>Enable GLESv1 support.</flag>
<flag name='gles2'>Enable GLESv2 support.</flag>
<flag name='llvm'>Enable LLVM backend for Gallium3D.</flag>
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/
@ 2013-10-19 14:32 David Heidelberger
0 siblings, 0 replies; 17+ messages in thread
From: David Heidelberger @ 2013-10-19 14:32 UTC (permalink / raw
To: gentoo-commits
commit: ec9cc37b89628f0ec077f65646fb2ce90fce192e
Author: David Heidelberger <david.heidelberger <AT> ixit <DOT> cz>
AuthorDate: Sat Oct 19 14:31:44 2013 +0000
Commit: David Heidelberger <d.okias <AT> gmail <DOT> com>
CommitDate: Sat Oct 19 14:31:44 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=ec9cc37b
media-libs/mesa: bump 9.2.2
Package-Manager: portage-2.2.7
---
media-libs/mesa/files/glx_ro_text_segm.patch | 28 ++
.../mesa-9.2-dont-require-llvm-for-r300.patch | 12 +
media-libs/mesa/mesa-9.2.2.ebuild | 478 +++++++++++++++++++++
media-libs/mesa/metadata.xml | 2 +-
4 files changed, 519 insertions(+), 1 deletion(-)
diff --git a/media-libs/mesa/files/glx_ro_text_segm.patch b/media-libs/mesa/files/glx_ro_text_segm.patch
new file mode 100644
index 0000000..495b7dc
--- /dev/null
+++ b/media-libs/mesa/files/glx_ro_text_segm.patch
@@ -0,0 +1,28 @@
+2011-02-09 Jeremy Huddleston <jeremyhu@freedesktop.org
+
+ #240956
+ * configure.ac add support to enable readonly test segment on x86
+
+--- configure.ac.orig 2008-11-17 23:19:38.000000000 +0100
++++ configure.ac 2008-11-17 23:20:17.000000000 +0100
+@@ -499,6 +499,20 @@
+ enable_xcb=no
+ fi
+
++
++dnl readonly text segment on x86 hardened platforms
++AC_ARG_ENABLE([glx_rts],
++ [AS_HELP_STRING([--enable-glx-rts],
++ [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
++ [enable_glx_rts="$enableval"],
++ [enable_glx_rts=no])
++if test "x$enable_glx_rts" = xyes; then
++ DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
++else
++ enable_glx_rts=no
++fi
++
++
+ dnl
+ dnl libGL configuration per driver
+ dnl
diff --git a/media-libs/mesa/files/mesa-9.2-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-9.2-dont-require-llvm-for-r300.patch
new file mode 100644
index 0000000..bd24787
--- /dev/null
+++ b/media-libs/mesa/files/mesa-9.2-dont-require-llvm-for-r300.patch
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index 21a1986..94b2247 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1777,7 +1777,6 @@ if test "x$with_gallium_drivers" != x; then
+ xr300)
+ HAVE_GALLIUM_R300=yes
+ PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
+- gallium_require_llvm "Gallium R300"
+ GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
+ gallium_check_st "radeon/drm" "dri-r300" "" "" "xvmc-r300" "vdpau-r300"
+ ;;
diff --git a/media-libs/mesa/mesa-9.2.2.ebuild b/media-libs/mesa/mesa-9.2.2.ebuild
new file mode 100644
index 0000000..2e44083
--- /dev/null
+++ b/media-libs/mesa/mesa-9.2.2.ebuild
@@ -0,0 +1,478 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+fi
+
+PYTHON_COMPAT=( python{2_6,2_7} )
+
+inherit base autotools multilib multilib-minimal flag-o-matic \
+ python-any-r1 toolchain-funcs ${GIT_ECLASS}
+
+OPENGL_DIR="xorg-x11"
+
+MY_PN="${PN/m/M}"
+MY_P="${MY_PN}-${PV/_/-}"
+MY_SRC_P="${MY_PN}Lib-${PV/_/-}"
+
+FOLDER="${PV/_rc*/}"
+
+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/${FOLDER}/${MY_SRC_P}.tar.bz2
+ ${SRC_PATCHES}"
+fi
+
+# The code is MIT/X11.
+# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+
+INTEL_CARDS="i915 i965 ilo intel"
+RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
+VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} freedreno nouveau vmware"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ bindist +classic debug +egl +gallium gbm gles1 gles2 +llvm +nptl opencl
+ openvg osmesa pax_kernel pic r600-llvm-compiler selinux vdpau
+ wayland xvmc xa xorg kernel_FreeBSD"
+
+REQUIRED_USE="
+ llvm? ( gallium )
+ openvg? ( egl gallium )
+ opencl? (
+ gallium
+ video_cards_r600? ( r600-llvm-compiler )
+ video_cards_radeon? ( r600-llvm-compiler )
+ video_cards_radeonsi? ( r600-llvm-compiler )
+ )
+ gles1? ( egl )
+ gles2? ( egl )
+ r600-llvm-compiler? ( gallium llvm || ( video_cards_r600 video_cards_radeonsi video_cards_radeon ) )
+ wayland? ( egl )
+ xa? ( gallium )
+ xorg? ( gallium )
+ video_cards_freedreno? ( gallium )
+ video_cards_intel? ( || ( classic gallium ) )
+ video_cards_i915? ( || ( classic gallium ) )
+ video_cards_i965? ( classic )
+ video_cards_ilo? ( gallium )
+ video_cards_nouveau? ( || ( classic gallium ) )
+ video_cards_radeon? ( || ( classic gallium ) )
+ video_cards_r100? ( classic )
+ video_cards_r200? ( classic )
+ video_cards_r300? ( gallium )
+ video_cards_r600? ( gallium )
+ video_cards_radeonsi? ( gallium llvm )
+ video_cards_vmware? ( gallium )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.46"
+# 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
+ abi_x86_32? ( !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] )
+ classic? ( app-admin/eselect-mesa )
+ gallium? ( app-admin/eselect-mesa )
+ >=app-admin/eselect-opengl-1.2.7
+ dev-libs/expat[${MULTILIB_USEDEP}]
+ gbm? ( virtual/udev[${MULTILIB_USEDEP}] )
+ >=x11-libs/libX11-1.3.99.901[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.8.1[${MULTILIB_USEDEP}]
+ opencl? (
+ app-admin/eselect-opencl
+ dev-libs/libclc
+ )
+ vdpau? ( >=x11-libs/libvdpau-0.4.1[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.0.3[${MULTILIB_USEDEP}] )
+ xorg? (
+ x11-base/xorg-server:=
+ x11-libs/libdrm[libkms]
+ )
+ xvmc? ( >=x11-libs/libXvMC-1.0.6[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vmware?,${MULTILIB_USEDEP}]
+"
+for card in ${INTEL_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
+ "
+done
+
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+
+DEPEND="${RDEPEND}
+ llvm? (
+ >=sys-devel/llvm-2.9[${MULTILIB_USEDEP}]
+ r600-llvm-compiler? ( sys-devel/llvm[video_cards_radeon] )
+ video_cards_radeonsi? ( sys-devel/llvm[video_cards_radeon] )
+ )
+ opencl? (
+ >=sys-devel/llvm-3.3-r1[video_cards_radeon,${MULTILIB_USEDEP}]
+ >=sys-devel/clang-3.3[${MULTILIB_USEDEP}]
+ >=sys-devel/gcc-4.6
+ )
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ >=x11-proto/dri2proto-2.6[${MULTILIB_USEDEP}]
+ >=x11-proto/glproto-1.4.15-r1[${MULTILIB_USEDEP}]
+ >=x11-proto/xextproto-7.0.99.1[${MULTILIB_USEDEP}]
+ x11-proto/xf86driproto[${MULTILIB_USEDEP}]
+ x11-proto/xf86vidmodeproto[${MULTILIB_USEDEP}]
+ $(python_gen_any_dep 'dev-libs/libxml2[python,${PYTHON_USEDEP}]')
+"
+
+python_check_deps() {
+ has_version "dev-libs/libxml2[python,${PYTHON_USEDEP}]"
+}
+
+S="${WORKDIR}/${MY_P}"
+
+# It is slow without texrels, if someone wants slow
+# mesa without texrels +pic use is worth the 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, fbcon, no-X configs
+
+pkg_setup() {
+ # workaround toc-issue wrt #386545
+ use ppc64 && append-flags -mminimal-toc
+
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+ [[ $PV = 9999* ]] && git-2_src_unpack
+}
+
+src_prepare() {
+ # apply patches
+ if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
+ EPATCH_FORCE="yes" \
+ EPATCH_SOURCE="${WORKDIR}/patches" \
+ EPATCH_SUFFIX="patch" \
+ epatch
+ fi
+
+ # relax the requirement that r300 must have llvm, bug 380303
+ epatch "${FILESDIR}"/${PN}-9.2-dont-require-llvm-for-r300.patch
+
+ # fix for hardened pax_kernel, bug 240956
+ [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
+
+ # Solaris needs some recent POSIX stuff in our case
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ sed -i -e "s/-DSVR4/-D_POSIX_C_SOURCE=200112L/" configure.ac || die
+ fi
+
+ base_src_prepare
+
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myconf
+
+ if use classic; then
+ # Configurable DRI drivers
+ driver_enable swrast
+
+ # Intel code
+ driver_enable video_cards_i915 i915
+ driver_enable video_cards_i965 i965
+ if ! use video_cards_i915 && \
+ ! use video_cards_i965; then
+ driver_enable video_cards_intel i915 i965
+ fi
+
+ # Nouveau code
+ driver_enable video_cards_nouveau nouveau
+
+ # ATI code
+ driver_enable video_cards_r100 radeon
+ driver_enable video_cards_r200 r200
+ if ! use video_cards_r100 && \
+ ! use video_cards_r200; then
+ driver_enable video_cards_radeon radeon r200
+ fi
+ fi
+
+ if use egl; then
+ myconf+="
+ --with-egl-platforms=x11$(use wayland && echo ",wayland")$(use gbm && echo ",drm")
+ $(use_enable gallium gallium-egl)
+ "
+ fi
+
+ if use gallium; then
+ myconf+="
+ $(use_enable llvm gallium-llvm)
+ $(use_enable openvg)
+ $(use_enable r600-llvm-compiler)
+ $(use_enable vdpau)
+ $(use_enable xvmc)
+ "
+ gallium_enable swrast
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_i915 i915
+ gallium_enable video_cards_ilo ilo
+ if ! use video_cards_i915 && \
+ ! use video_cards_i965; then
+ gallium_enable video_cards_intel i915
+ fi
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 && \
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ gallium_enable video_cards_freedreno freedreno
+ # opencl stuff
+ if use opencl; then
+ myconf+="
+ $(use_enable opencl)
+ --with-opencl-libdir="${EPREFIX}/usr/$(get_libdir)/OpenCL/vendors/mesa"
+ --with-clang-libdir="${EPREFIX}/usr/lib"
+ "
+ fi
+ fi
+
+ # x86 hardened pax_kernel needs glx-rts, bug 240956
+ if use pax_kernel; then
+ myconf+="
+ $(use_enable x86 glx-rts)
+ "
+ fi
+
+ # build fails with BSD indent, bug #428112
+ use userland_GNU || export INDENT=cat
+
+ if ! multilib_is_native_abi; then
+ myconf+="--disable-xorg
+ LLVM_CONFIG=${EPREFIX}/usr/bin/llvm-config.${ABI}"
+ fi
+
+ econf \
+ --enable-dri \
+ --enable-glx \
+ --enable-shared-glapi \
+ $(use_enable !bindist texture-float) \
+ $(use_enable debug) \
+ $(use_enable egl) \
+ $(use_enable gbm) \
+ $(use_enable gles1) \
+ $(use_enable gles2) \
+ $(use_enable nptl glx-tls) \
+ $(use_enable osmesa) \
+ $(use_enable !pic asm) \
+ $(use_enable xa) \
+ $(use_enable xorg) \
+ --with-dri-drivers=${DRI_DRIVERS} \
+ --with-gallium-drivers=${GALLIUM_DRIVERS} \
+ --with-llvm-shared-libs \
+ PYTHON2="${PYTHON}" \
+ ${myconf}
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ # 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"
+ local x
+ local gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}/"
+ dodir ${gl_dir}/{lib,extensions,include/GL}
+ for x in "${ED}"/usr/$(get_libdir)/lib{EGL,GL*,OpenVG}.{la,a,so*}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f "${x}" "${ED}${gl_dir}"/lib \
+ || die "Failed to move ${x}"
+ fi
+ done
+ for x in "${ED}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f "${x}" "${ED}${gl_dir}"/include/GL \
+ || die "Failed to move ${x}"
+ fi
+ done
+ for x in "${ED}"/usr/include/{EGL,GLES*,VG,KHR}; do
+ if [ -d ${x} ]; then
+ mv -f "${x}" "${ED}${gl_dir}"/include \
+ || die "Failed to move ${x}"
+ fi
+ done
+ eend $?
+
+ if use classic || use gallium; then
+ ebegin "Moving DRI/Gallium drivers for dynamic switching"
+ local gallium_drivers=( i915_dri.so i965_dri.so r300_dri.so r600_dri.so swrast_dri.so )
+ keepdir /usr/$(get_libdir)/dri
+ dodir /usr/$(get_libdir)/mesa
+ for x in ${gallium_drivers[@]}; do
+ if [ -f "$(get_libdir)/gallium/${x}" ]; then
+ mv -f "${ED}/usr/$(get_libdir)/dri/${x}" "${ED}/usr/$(get_libdir)/dri/${x/_dri.so/g_dri.so}" \
+ || die "Failed to move ${x}"
+ insinto "/usr/$(get_libdir)/dri/"
+ if [ -f "$(get_libdir)/${x}" ]; then
+ insopts -m0755
+ doins "$(get_libdir)/${x}"
+ fi
+ fi
+ done
+ for x in "${ED}"/usr/$(get_libdir)/dri/*.so; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f "${x}" "${x/dri/mesa}" \
+ || die "Failed to move ${x}"
+ fi
+ done
+ pushd "${ED}"/usr/$(get_libdir)/dri || die "pushd failed"
+ ln -s ../mesa/*.so . || die "Creating symlink failed"
+ # remove symlinks to drivers known to eselect
+ for x in ${gallium_drivers[@]}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ rm "${x}" || die "Failed to remove ${x}"
+ fi
+ done
+ popd
+ eend $?
+ fi
+ if use opencl; then
+ ebegin "Moving Gallium/Clover OpenCL implementation for dynamic switching"
+ local cl_dir="/usr/$(get_libdir)/OpenCL/vendors/mesa"
+ dodir ${cl_dir}/{lib,include}
+ if [ -f "${ED}/usr/$(get_libdir)/libOpenCL.so" ]; then
+ mv -f "${ED}"/usr/$(get_libdir)/libOpenCL.so* \
+ "${ED}"${cl_dir}
+ fi
+ if [ -f "${ED}/usr/include/CL/opencl.h" ]; then
+ mv -f "${ED}"/usr/include/CL \
+ "${ED}"${cl_dir}/include
+ fi
+ eend $?
+ fi
+}
+
+multilib_src_install_all() {
+ prune_libtool_files --all
+ einstalldocs
+
+ if use !bindist; then
+ dodoc docs/patents.txt
+ fi
+
+ # Install config file for eselect mesa
+ insinto /usr/share/mesa
+ newins "${FILESDIR}/eselect-mesa.conf.9.2" eselect-mesa.conf
+}
+
+pkg_postinst() {
+ # Switch to the xorg implementation.
+ echo
+ eselect opengl set --use-old ${OPENGL_DIR}
+
+ # switch to xorg-x11 and back if necessary, bug #374647 comment 11
+ OLD_IMPLEM="$(eselect opengl show)"
+ if [[ ${OPENGL_DIR}x != ${OLD_IMPLEM}x ]]; then
+ eselect opengl set ${OPENGL_DIR}
+ eselect opengl set ${OLD_IMPLEM}
+ fi
+
+ # Select classic/gallium drivers
+ if use classic || use gallium; then
+ eselect mesa set --auto
+ fi
+
+ # Switch to mesa opencl
+ if use opencl; then
+ eselect opencl set --use-old ${PN}
+ fi
+
+ # warn about patent encumbered texture-float
+ if use !bindist; then
+ elog "USE=\"bindist\" was not set. Potentially patent encumbered code was"
+ elog "enabled. Please see patents.txt for an explanation."
+ fi
+
+ local using_radeon r_flag
+ for r_flag in ${RADEON_CARDS}; do
+ if use video_cards_${r_flag}; then
+ using_radeon=1
+ break
+ fi
+ done
+
+ if [[ ${using_radeon} = 1 ]] && ! has_version media-libs/libtxc_dxtn; then
+ elog "Note that in order to have full S3TC support, it is necessary to install"
+ elog "media-libs/libtxc_dxtn as well. This may be necessary to get nice"
+ elog "textures in some apps, and some others even require this to run."
+ fi
+}
+
+# $1 - VIDEO_CARDS flag
+# other args - names of DRI drivers to enable
+# TODO: avoid code duplication for a more elegant implementation
+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
+}
+
+gallium_enable() {
+ case $# in
+ # for enabling unconditionally
+ 1)
+ GALLIUM_DRIVERS+=",$1"
+ ;;
+ *)
+ if use $1; then
+ shift
+ for i in $@; do
+ GALLIUM_DRIVERS+=",${i}"
+ done
+ fi
+ ;;
+ esac
+}
diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml
index bb27bfa..1bc2962 100644
--- a/media-libs/mesa/metadata.xml
+++ b/media-libs/mesa/metadata.xml
@@ -11,8 +11,8 @@
<flag name='gles1'>Enable GLESv1 support.</flag>
<flag name='gles2'>Enable GLESv2 support.</flag>
<flag name='llvm'>Enable LLVM backend for Gallium3D.</flag>
+ <flag name='opencl'>Enable the Clover Gallium OpenCL state tracker.</flag>
<flag name='openvg'>Enable the OpenVG 2D acceleration API for Gallium3D.</flag>
- <flag name='opencl'>Enable OpenCL via mesa</flag>
<flag name='osmesa'>Build the Mesa library for off-screen rendering.</flag>
<flag name='pax_kernel'>Enable if the user plans to run the package under a pax enabled hardened kernel</flag>
<flag name='pic'>disable optimized assembly code that is not PIC friendly</flag>
^ permalink raw reply related [flat|nested] 17+ messages in thread
end of thread, other threads:[~2013-10-19 14:32 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-06 17:37 [gentoo-commits] proj/x11:master commit in: media-libs/mesa/, media-libs/mesa/files/ Chi-Thanh Christopher Nguyen
-- strict thread matches above, loose matches on Subject: below --
2013-10-19 14:32 David Heidelberger
2013-08-03 11:18 David Heidelberger
2013-08-03 11:01 David Heidelberger
2013-07-29 15:26 Chi-Thanh Christopher Nguyen
2013-07-20 17:10 David Heidelberger
2013-05-23 23:03 David Heidelberger
2013-05-23 21:30 David Heidelberger
2013-05-06 17:37 Chi-Thanh Christopher Nguyen
2013-05-06 17:37 Chi-Thanh Christopher Nguyen
2013-05-06 17:37 Chi-Thanh Christopher Nguyen
2013-04-28 12:53 Chi-Thanh Christopher Nguyen
2012-04-15 20:09 Chi-Thanh Christopher Nguyen
2012-02-10 18:55 Matt Turner
2012-02-10 18:32 Matt Turner
2012-01-20 22:27 Matt Turner
2011-06-30 23:48 Chi-Thanh Christopher Nguyen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox