summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <dberkholz@gentoo.org>2008-06-27 21:42:38 +0000
committerDonnie Berkholz <dberkholz@gentoo.org>2008-06-27 21:42:38 +0000
commitf18f3170c6dcc453fa8327b74e753d86cb23ea26 (patch)
treeca650c1bca94cdaaf5b75139a8e30aab93d7817e /media-libs
parentold (diff)
downloadhistorical-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/ChangeLog10
-rw-r--r--media-libs/mesa/Manifest13
-rw-r--r--media-libs/mesa/files/0001-mesa-drm-ttm-allow-build-against-non-TTM-aware-libd.patch254
-rw-r--r--media-libs/mesa/mesa-7.1_rc1.ebuild19
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
}