Date: Saturday, October 6, 2012 @ 12:19:05 Author: andyrtr Revision: 168153
upgpkg: xf86-video-mach64 6.9.3-2 rebuild for new Xorg-server; depend on the server ABI; fix makedeps; add git fixes to get it build and work with new Xorg Added: xf86-video-mach64/trunk/git_fixes.diff Modified: xf86-video-mach64/trunk/PKGBUILD ----------------+ PKGBUILD | 12 +++--- git_fixes.diff | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 5 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2012-10-06 11:21:19 UTC (rev 168152) +++ PKGBUILD 2012-10-06 16:19:05 UTC (rev 168153) @@ -3,22 +3,24 @@ pkgname=xf86-video-mach64 pkgver=6.9.3 -pkgrel=1 +pkgrel=2 pkgdesc="X.org mach64 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.12.0' 'libdrm' 'xf86driproto' 'mesa') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=13' 'resourceproto' 'scrnsaverproto' ) +conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERSION>=14') optdepends=('mach64-dri: DRI1 support from community repo') -conflicts=('xorg-server<1.12.0') groups=('xorg-drivers' 'xorg') options=('!libtool' '!emptydirs') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('5473d0e7dfd7bcff3f759e9e6bd6794ab464958f2f647d9b6d3edf3c66c53218') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git_fixes.diff) +sha256sums=('5473d0e7dfd7bcff3f759e9e6bd6794ab464958f2f647d9b6d3edf3c66c53218' + '27f6531101ac26debc9cb5faa63e16aaf5bdb9001ddb817ffad5e4f60fbc4dd3') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/git_fixes.diff ./configure --prefix=/usr make } Added: git_fixes.diff =================================================================== --- git_fixes.diff (rev 0) +++ git_fixes.diff 2012-10-06 16:19:05 UTC (rev 168153) @@ -0,0 +1,107 @@ +From 5eb7fec958bc6ba8a1a2b0be4916cac818866e1c Mon Sep 17 00:00:00 2001 +From: Dave Airlie <[email protected]> +Date: Wed, 18 Jul 2012 08:46:49 +0000 +Subject: mach64: fix build on 32-bit. + +tvout code only builds on 32-bit, fix build. + +Signed-off-by: Dave Airlie <[email protected]> +--- +diff --git a/src/atiscreen.c b/src/atiscreen.c +index 2957877..b1fbd3c 100644 +--- a/src/atiscreen.c ++++ b/src/atiscreen.c +@@ -580,7 +580,7 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL) + #ifdef TV_OUT + /* Fix-up TV out after ImpacTV probe */ + if (pATI->OptionTvOut && pATI->Chip < ATI_CHIP_264GTPRO) +- ATISwitchMode(0, pScreenInfo->currentMode, 0); ++ ATISwitchMode(SWITCH_MODE_ARGS(pScreenInfo, pScreenInfo->currentMode)); + #endif /* TV_OUT */ + + #ifdef XF86DRI_DEVEL +-- +cgit v0.9.0.2-2-gbebe +From 104e3e067a7dcac143cb672fe42d56396ba6087b Mon Sep 17 00:00:00 2001 +From: Adam Jackson <[email protected]> +Date: Wed, 26 Sep 2012 20:21:25 +0000 +Subject: Don't gratuitously disable Render when ShadowFBing + +There's no reason to do this, and I am at a loss to explain why that was +ever done. The first instance of this logic comes from xfree86 (over 11 +years ago!): + +http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/drivers/ati/atiscreen.c.diff?r1=1.15&r2=1.16 + +Now, cfb never had Render support, so that might make some sense if +there was an intermediate uncommitted state where the driver used fb for +direct but cfb for shadowed. But that's really the only plausible +explanation I can think of. + +Signed-off-by: Adam Jackson <[email protected]> +--- +diff --git a/src/atiscreen.c b/src/atiscreen.c +index b1fbd3c..62a4dd9 100644 +--- a/src/atiscreen.c ++++ b/src/atiscreen.c +@@ -476,21 +476,11 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL) + } + } + +- /* If applicable, initialise RENDER extension */ ++ /* initialise RENDER extension */ ++ if (!fbPictureInit(pScreen, NULL, 0) && (serverGeneration == 1)) + { +- if (pATI->OptionShadowFB) +- { +- if (serverGeneration == 1) +- xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING, +- "RENDER extension not supported with a shadowed" +- " framebuffer.\n"); +- } +- else if (!fbPictureInit(pScreen, NULL, 0) && +- (serverGeneration == 1)) +- { +- xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING, +- "RENDER extension initialisation failed.\n"); +- } ++ xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING, ++ "RENDER extension initialisation failed.\n"); + } + + xf86SetBlackWhitePixels(pScreen); +-- +cgit v0.9.0.2-2-gbebe +From 42c4e423eec789606eec9703be23a9fd4483a14a Mon Sep 17 00:00:00 2001 +From: Adam Jackson <[email protected]> +Date: Tue, 02 Oct 2012 14:19:47 +0000 +Subject: Fix build with neither XAA nor EXA against xserver 1.13.0 + +Pull in picturestr.h to get GLYPH_HAS_GLYPH_PICTURE_ACCESSOR defined +before compat-api.h is parsed, otherwise you fail with: + +In file included from /usr/include/xorg/picturestr.h:28:0, + from /usr/include/xorg/exa.h:38, + from atimach64accel.h:31, + from atiscreen.c:46: +/usr/include/xorg/glyphstr.h:138:2: error: expected ')' before '*' token +/usr/include/xorg/glyphstr.h:138:2: error: expected ')' before '(' token +/usr/include/xorg/glyphstr.h:140:2: error: expected ')' before '*' token +/usr/include/xorg/glyphstr.h:140:2: error: expected ')' before '(' token + +Signed-off-by: Adam Jackson <[email protected]> +--- +diff --git a/src/atistruct.h b/src/atistruct.h +index 702360b..98dc15e 100644 +--- a/src/atistruct.h ++++ b/src/atistruct.h +@@ -51,6 +51,7 @@ + + #endif /* TV_OUT */ + ++#include "picturestr.h" + #ifdef USE_EXA + #include "exa.h" + #endif +-- +cgit v0.9.0.2-2-gbebe
