diff options
author | Donnie Berkholz <dberkholz@gentoo.org> | 2008-06-27 21:42:38 +0000 |
---|---|---|
committer | Donnie Berkholz <dberkholz@gentoo.org> | 2008-06-27 21:42:38 +0000 |
commit | f18f3170c6dcc453fa8327b74e753d86cb23ea26 (patch) | |
tree | ca650c1bca94cdaaf5b75139a8e30aab93d7817e /media-libs | |
parent | old (diff) | |
download | historical-f18f3170c6dcc453fa8327b74e753d86cb23ea26.tar.gz historical-f18f3170c6dcc453fa8327b74e753d86cb23ea26.tar.bz2 historical-f18f3170c6dcc453fa8327b74e753d86cb23ea26.zip |
Stop fetching from git pointlessly after downloading the tarball. Add a patch to attempt allowing builds against libdrm 2.3.1. It still doesn't actually work for reasons I don't understand, but it seems to have something to do with the 'depend' files mesa's weird build system uses.
Package-Manager: portage-2.1.5.6
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/mesa/ChangeLog | 10 | ||||
-rw-r--r-- | media-libs/mesa/Manifest | 13 | ||||
-rw-r--r-- | media-libs/mesa/files/0001-mesa-drm-ttm-allow-build-against-non-TTM-aware-libd.patch | 254 | ||||
-rw-r--r-- | media-libs/mesa/mesa-7.1_rc1.ebuild | 19 |
4 files changed, 285 insertions, 11 deletions
diff --git a/media-libs/mesa/ChangeLog b/media-libs/mesa/ChangeLog index 564cc8d693db..1d9bed286b80 100644 --- a/media-libs/mesa/ChangeLog +++ b/media-libs/mesa/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-libs/mesa # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/ChangeLog,v 1.174 2008/06/27 10:11:26 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/ChangeLog,v 1.175 2008/06/27 21:42:38 dberkholz Exp $ + + 27 Jun 2008; Donnie Berkholz <dberkholz@gentoo.org>; + +files/0001-mesa-drm-ttm-allow-build-against-non-TTM-aware-libd.patch, + mesa-7.1_rc1.ebuild: + Stop fetching from git pointlessly after downloading the tarball. Add a + patch to attempt allowing builds against libdrm 2.3.1. It still doesn't + actually work for reasons I don't understand, but it seems to have + something to do with the 'depend' files mesa's weird build system uses. 27 Jun 2008; Ulrich Mueller <ulm@gentoo.org> mesa-6.5.2-r1.ebuild, mesa-7.0.2.ebuild, mesa-7.0.3.ebuild, mesa-7.1_rc1.ebuild: diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index 830aeead1b06..3fb5798e338e 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -1,6 +1,7 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 +AUX 0001-mesa-drm-ttm-allow-build-against-non-TTM-aware-libd.patch 8184 RMD160 736e576ed70bc71bfb2f54239c3c924bb99b8c55 SHA1 0f445f6e6f73ec26921afd2b162b9c95d70a8997 SHA256 c64b67202407ff762b43b563050f215b5ba5d9d0ed17455c9fd8798bef22d1ac AUX 6.5.2-i965-wine-fix.patch 2888 RMD160 e899ac128933eb1a65e5c79de97408679beb2a50 SHA1 741221fba69b3891665e16da5baf6e66be62449d SHA256 bc19f4b5ce44a90c6b2aeab2c1148200539791ff9d0c60c5ffc2d4d8fe5fee78 AUX 7.0.2-glw.pc.in 235 RMD160 12923cc447a04eab42c98fac48e17b8828cfbcf8 SHA1 dc0bc9ff1b2f2aa5efc101b62e2cf1870195ecfe SHA256 1b484764cb1274dc6a29998b63d3a9aa6282fb1fb31d53ac7928724a2f288dfc AUX lib/libGL.la 755 RMD160 a60984e0d56d559c2c15bd4693e01404a7e0a408 SHA1 d6e231ffaccd1b13c3628744031cc761ffaf76d8 SHA256 b32ffd7f3f866da7dbae80ba78b1dc5b4924b33ab133b13397af9cda0a274f91 @@ -12,13 +13,13 @@ DIST MesaLib-7.1-rc1.tar.gz 4495101 RMD160 2468daa0fe177462fdf3f5e222012377aadfc EBUILD mesa-6.5.2-r1.ebuild 9092 RMD160 bd563c07923b51075c0f954d91c6ab25cc359d92 SHA1 6b8c6d996a7d10e61db90ae5296e3f8c7122938c SHA256 69f5fe44667201b6b57bb5f46b377857f96fadf31880a72d797cd90ba6086d22 EBUILD mesa-7.0.2.ebuild 9948 RMD160 90dd90f1c7078730af0d6d2f26397d16fd021297 SHA1 2e037d9ec5e988f55355330ccf65b69e135b1921 SHA256 786b2b690af732def65625a3af2854bb6601c89b7ec895f4a67c11a1dba21cac EBUILD mesa-7.0.3.ebuild 10137 RMD160 953e56dcfe83d94981c634926793626635ed1456 SHA1 8d2681358679a25c73ef6648aa322b83ce165707 SHA256 82ace13c9a192008b87ded31fa78110a36266dee4565f0d4f39eed97d3e81ac8 -EBUILD mesa-7.1_rc1.ebuild 7443 RMD160 2612d061a618f2e6ad6cbe1bacb0a2ab9d5db0fc SHA1 233697ba633b6ee3409839fce6bcd937818535dc SHA256 ee50e5df40b11759f6ee7ac50a6716e1f66525ea728278b66c678da882bbf2f2 -MISC ChangeLog 32472 RMD160 5c1605ab771fceb88fe9a59c7ceeae0b5c86927e SHA1 2fda9b6fd0a79d28a2ef614c5710e32b00f6e459 SHA256 bc6573fec1f82d055967e9627fc5722e642225309e6cf46578ee44b135b6d2f6 +EBUILD mesa-7.1_rc1.ebuild 7745 RMD160 81d4a60e3241c6e172d34f2f75c68b5d4a1626ef SHA1 c274cd89eb8c074b75a5170feb3fc08af9256aef SHA256 6c7eb22351e4e19d7d7e7b39f64ac91ef8d1420c0a05dac807782de9933d2877 +MISC ChangeLog 32921 RMD160 d36c93cccfc4298985d44eb2cf8f4a28f9626470 SHA1 4ba5da361fedfbddd642bab0c420b8e498d5c55f SHA256 7bc3f8126147822a85cd6f6b695acb23766219a1220f26547956f094a985dbd9 MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.9 (GNU/Linux) +Version: GnuPG v2.0.9 (GNU/Linux) -iEYEARECAAYFAkhkvP8ACgkQOeoy/oIi7uzlRQCfa8wTw0qg0rUGMbhLKNUZub0h -uXYAoOXuCbaHV8+FYX0cjLX1EDpTyavs -=j5vO +iEYEARECAAYFAkhlXtcACgkQXVaO67S1rtvpUQCgoEfuCX1IN0oi5FZiz9AsxT1O +xc8AoIxMoHkGCBJRCMXJiprVCPZaibBP +=Ulbx -----END PGP SIGNATURE----- diff --git a/media-libs/mesa/files/0001-mesa-drm-ttm-allow-build-against-non-TTM-aware-libd.patch b/media-libs/mesa/files/0001-mesa-drm-ttm-allow-build-against-non-TTM-aware-libd.patch new file mode 100644 index 000000000000..3399152af834 --- /dev/null +++ b/media-libs/mesa/files/0001-mesa-drm-ttm-allow-build-against-non-TTM-aware-libd.patch @@ -0,0 +1,254 @@ +From 0b734bd7cf921592eee441f759687e10f48a2cbc Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +Date: Wed, 28 May 2008 15:55:44 +1000 +Subject: [PATCH] mesa/drm/ttm: allow build against non-TTM aware libdrm + +I'll release a libdrm 2.3.1 without TTM apis included from a special +drm branch that should allow mesa 7.1 to build against it. + +I've had to turn off DRI2 stuff. +--- + configure.ac | 18 ++++++++++++ + src/mesa/drivers/dri/common/dri_bufmgr.h | 38 +++++++++++++++++++++++++ + src/mesa/drivers/dri/common/dri_util.c | 6 ++++ + src/mesa/drivers/dri/common/dri_util.h | 3 +- + src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c | 20 +++++++++++++ + src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h | 8 +++++ + src/mesa/drivers/dri/intel/intel_ioctl.c | 10 ++++++ + 7 files changed, 102 insertions(+), 1 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a250f75..a73c754 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -478,6 +478,19 @@ AC_ARG_ENABLE([driglx-direct], + [enable direct rendering in GLX for DRI @<:@default=enabled@:>@])], + [driglx_direct="$enableval"], + [driglx_direct="yes"]) ++dnl ttm support ++AC_ARG_ENABLE([ttm-api], ++ [AS_HELP_STRING([--enable-ttm-api], ++ [enable TTM API users])], ++ [ttmapi="$enableval"], ++ [ttmapi="no"]) ++ ++if test "x$ttmapi" = "xyes"; then ++ save_CFLAGS=$CFLAGS ++ CFLAGS=$LIBDRM_CFLAGS ++ AC_CHECK_HEADERS([xf86mm.h],[],[AC_MSG_ERROR([xf86mm.h required for TTM.])],[#include "stdint.h"\n#include "drm.h"]) ++ CFLAGS=$save_CFLAGS ++fi + + dnl Which drivers to build - default is chosen by platform + AC_ARG_WITH([dri-drivers], +@@ -516,6 +529,10 @@ if test "$mesa_driver" = dri; then + DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS" + fi + ++ if test "x$ttmapi" = xyes; then ++ DEFINES="$DEFINES -DTTM_API" ++ fi ++ + if test "x$USING_EGL" = x1; then + PROGRAM_DIRS="egl" + fi +@@ -934,6 +951,7 @@ if test "$mesa_driver" = dri; then + dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'` + echo " DRI drivers: $dri_dirs" + echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR" ++ echo " TTM API support: $ttmapi" + fi + + dnl Libraries +diff --git a/src/mesa/drivers/dri/common/dri_bufmgr.h b/src/mesa/drivers/dri/common/dri_bufmgr.h +index 4593eaf..0a726dc 100644 +--- a/src/mesa/drivers/dri/common/dri_bufmgr.h ++++ b/src/mesa/drivers/dri/common/dri_bufmgr.h +@@ -219,4 +219,42 @@ void dri_post_process_relocs(dri_bo *batch_buf); + void dri_post_submit(dri_bo *batch_buf, dri_fence **last_fence); + int dri_bufmgr_check_aperture_space(dri_bo *bo); + ++#ifndef TTM_API ++/* reuse some TTM API */ ++ ++#define DRM_BO_MEM_LOCAL 0 ++#define DRM_BO_MEM_TT 1 ++#define DRM_BO_MEM_VRAM 2 ++#define DRM_BO_MEM_PRIV0 3 ++#define DRM_BO_MEM_PRIV1 4 ++#define DRM_BO_MEM_PRIV2 5 ++#define DRM_BO_MEM_PRIV3 6 ++#define DRM_BO_MEM_PRIV4 7 ++ ++#define DRM_BO_FLAG_READ (1ULL << 0) ++#define DRM_BO_FLAG_WRITE (1ULL << 1) ++#define DRM_BO_FLAG_EXE (1ULL << 2) ++#define DRM_BO_MASK_ACCESS (DRM_BO_FLAG_READ | DRM_BO_FLAG_WRITE | DRM_BO_FLAG_EXE) ++#define DRM_BO_FLAG_NO_EVICT (1ULL << 4) ++ ++#define DRM_BO_FLAG_MAPPABLE (1ULL << 5) ++#define DRM_BO_FLAG_SHAREABLE (1ULL << 6) ++ ++#define DRM_BO_FLAG_CACHED (1ULL << 7) ++ ++#define DRM_BO_FLAG_NO_MOVE (1ULL << 8) ++#define DRM_BO_FLAG_CACHED_MAPPED (1ULL << 19) ++#define DRM_BO_FLAG_FORCE_CACHING (1ULL << 13) ++#define DRM_BO_FLAG_FORCE_MAPPABLE (1ULL << 14) ++#define DRM_BO_FLAG_TILE (1ULL << 15) ++ ++#define DRM_BO_FLAG_MEM_LOCAL (1ULL << 24) ++#define DRM_BO_FLAG_MEM_TT (1ULL << 25) ++#define DRM_BO_FLAG_MEM_VRAM (1ULL << 26) ++ ++#define DRM_BO_MASK_MEM 0x00000000FF000000ULL ++ ++#define DRM_FENCE_TYPE_EXE 0x00000001 ++#endif ++ + #endif +diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c +index daa3fc5..6efdf43 100644 +--- a/src/mesa/drivers/dri/common/dri_util.c ++++ b/src/mesa/drivers/dri/common/dri_util.c +@@ -771,8 +771,10 @@ static void driDestroyScreen(__DRIscreen *psp) + (*psp->DriverAPI.DestroyScreen)(psp); + + if (psp->dri2.enabled) { ++#ifdef TTM_API + drmBOUnmap(psp->fd, &psp->dri2.sareaBO); + drmBOUnreference(psp->fd, &psp->dri2.sareaBO); ++#endif + } else { + (void)drmUnmap((drmAddress)psp->pSAREA, SAREA_MAX); + (void)drmUnmap((drmAddress)psp->pFB, psp->fbSize); +@@ -904,6 +906,7 @@ dri2CreateNewScreen(int scrn, int fd, unsigned int sarea_handle, + const __DRIextension **extensions, + const __DRIconfig ***driver_configs, void *data) + { ++#ifdef TTM_API + static const __DRIextension *emptyExtensionList[] = { NULL }; + __DRIscreen *psp; + unsigned int *p; +@@ -971,6 +974,9 @@ dri2CreateNewScreen(int scrn, int fd, unsigned int sarea_handle, + psp->DriverAPI = driDriverAPI; + + return psp; ++#else ++ return NULL; ++#endif + } + + static const __DRIextension **driGetExtensions(__DRIscreen *psp) +diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h +index 8e1cdfc..203479e 100644 +--- a/src/mesa/drivers/dri/common/dri_util.h ++++ b/src/mesa/drivers/dri/common/dri_util.h +@@ -53,7 +53,6 @@ + #include <drm.h> + #include <drm_sarea.h> + #include <xf86drm.h> +-#include <xf86mm.h> + #include "GL/internal/glcore.h" + #include "GL/internal/dri_interface.h" + #include "GL/internal/dri_sarea.h" +@@ -524,7 +523,9 @@ struct __DRIscreenRec { + /* Flag to indicate that this is a DRI2 screen. Many of the above + * fields will not be valid or initializaed in that case. */ + int enabled; ++#ifdef TTM_API + drmBO sareaBO; ++#endif + void *sarea; + __DRIEventBuffer *buffer; + __DRILock *lock; +diff --git a/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c b/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c +index 545913f..194814e 100644 +--- a/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c ++++ b/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c +@@ -50,6 +50,7 @@ + #include "i915_drm.h" + + #include "intel_bufmgr_ttm.h" ++#ifdef TTM_API + + #define DBG(...) do { \ + if (bufmgr_ttm->bufmgr.debug) \ +@@ -1099,4 +1100,23 @@ intel_bufmgr_ttm_init(int fd, unsigned int fence_type, + + return &bufmgr_ttm->bufmgr; + } ++#else ++dri_bufmgr * ++intel_bufmgr_ttm_init(int fd, unsigned int fence_type, ++ unsigned int fence_type_flush, int batch_size) ++{ ++ return NULL; ++} ++ ++dri_bo * ++intel_ttm_bo_create_from_handle(dri_bufmgr *bufmgr, const char *name, ++ unsigned int handle) ++{ ++ return NULL; ++} + ++void ++intel_ttm_enable_bo_reuse(dri_bufmgr *bufmgr) ++{ ++} ++#endif +diff --git a/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h b/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h +index d267a16..f5bd64c 100644 +--- a/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h ++++ b/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h +@@ -7,8 +7,10 @@ + extern dri_bo *intel_ttm_bo_create_from_handle(dri_bufmgr *bufmgr, const char *name, + unsigned int handle); + ++#ifdef TTM_API + dri_fence *intel_ttm_fence_create_from_arg(dri_bufmgr *bufmgr, const char *name, + drm_fence_arg_t *arg); ++#endif + + + dri_bufmgr *intel_bufmgr_ttm_init(int fd, unsigned int fence_type, +@@ -17,4 +19,10 @@ dri_bufmgr *intel_bufmgr_ttm_init(int fd, unsigned int fence_type, + void + intel_ttm_enable_bo_reuse(dri_bufmgr *bufmgr); + ++#ifndef TTM_API ++#define DRM_I915_FENCE_CLASS_ACCEL 0 ++#define DRM_I915_FENCE_TYPE_RW 2 ++#define DRM_I915_FENCE_FLAG_FLUSHED 0x01000000 ++#endif ++ + #endif +diff --git a/src/mesa/drivers/dri/intel/intel_ioctl.c b/src/mesa/drivers/dri/intel/intel_ioctl.c +index 66e3610..f4566ba 100644 +--- a/src/mesa/drivers/dri/intel/intel_ioctl.c ++++ b/src/mesa/drivers/dri/intel/intel_ioctl.c +@@ -147,6 +147,7 @@ intel_batch_ioctl(struct intel_context *intel, + } + } + ++#ifdef TTM_API + void + intel_exec_ioctl(struct intel_context *intel, + GLuint used, +@@ -211,3 +212,12 @@ intel_exec_ioctl(struct intel_context *intel, + } + *fence = fo; + } ++#else ++void ++intel_exec_ioctl(struct intel_context *intel, ++ GLuint used, ++ GLboolean ignore_cliprects, GLboolean allow_unlock, ++ void *start, GLuint count, dri_fence **fence) ++{ ++} ++#endif +-- +1.5.5.3 + diff --git a/media-libs/mesa/mesa-7.1_rc1.ebuild b/media-libs/mesa/mesa-7.1_rc1.ebuild index 0467079e690a..98ff347d0c80 100644 --- a/media-libs/mesa/mesa-7.1_rc1.ebuild +++ b/media-libs/mesa/mesa-7.1_rc1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.1_rc1.ebuild,v 1.3 2008/06/27 10:11:26 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.1_rc1.ebuild,v 1.4 2008/06/27 21:42:38 dberkholz Exp $ EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa" @@ -9,7 +9,7 @@ inherit autotools multilib flag-o-matic git portability OPENGL_DIR="xorg-x11" MY_PN="${PN/m/M}" -MY_P="${MY_PN}-${PV//_}" +MY_P="${MY_PN}-${PV//_/-}" MY_SRC_P="${MY_PN}Lib-${PV/_/-}" DESCRIPTION="OpenGL-like graphic library for Linux" HOMEPAGE="http://mesa3d.sourceforge.net/" @@ -98,9 +98,14 @@ pkg_setup() { } src_unpack() { - git_src_unpack + unpack ${A} cd "${S}" + # Disable TTM + epatch "${FILESDIR}/0001-mesa-drm-ttm-allow-build-against-non-TTM-aware-libd.patch" + + cp "${FILESDIR}/version.mk" bin/ || die + # FreeBSD 6.* doesn't have posix_memalign(). [[ ${CHOST} == *-freebsd6.* ]] && sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configure.ac @@ -110,7 +115,7 @@ src_unpack() { find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ; fi - eautoreconf + eautoconf } src_compile() { @@ -119,6 +124,9 @@ src_compile() { # This is where we might later change to build xlib/osmesa myconf="${myconf} --with-driver=dri" + # No TTM + myconf="${myconf} --disable-ttm-api" + # Do we want thread-local storage (TLS)? myconf="${myconf} $(use_enable nptl glx-tls)" @@ -157,7 +165,10 @@ src_compile() { myconf="${myconf} $(use_enable motif glw)" + emake realclean || die econf ${myconf} || die + # So makedepend runs for header changes + find src/mesa/drivers/dri/ | xargs touch emake || die } |