[arch-commits] Commit in xf86-video-vga/trunk (PKGBUILD git-1b4bf389.patch)
Jan de Groot
jgc at archlinux.org
Sun Mar 1 16:24:18 UTC 2009
Date: Sunday, March 1, 2009 @ 11:24:18
Author: jgc
Revision: 28557
upgpkg: xf86-video-vga 4.1.0-7
Added:
xf86-video-vga/trunk/git-1b4bf389.patch
Modified:
xf86-video-vga/trunk/PKGBUILD
--------------------+
PKGBUILD | 12 -
git-1b4bf389.patch | 467 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 473 insertions(+), 6 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2009-03-01 16:14:50 UTC (rev 28556)
+++ PKGBUILD 2009-03-01 16:24:18 UTC (rev 28557)
@@ -3,22 +3,22 @@
pkgname=xf86-video-vga
pkgver=4.1.0
-pkgrel=6
+pkgrel=7
pkgdesc="X.org VGA 16 color video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.2')
-conflicts=('xorg-server<1.5.2')
+makedepends=('pkgconfig' 'xorg-server>=1.6.0')
+conflicts=('xorg-server<1.6.0')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- pciaccess.patch)
+ git-1b4bf389.patch)
md5sums=('b93e5fe9757db779a75cd3ce97b9613d'
- 'fe3a45179f51fb86215f6fd2b5ac0747')
+ '188e94890f8826c26bc16ed59563a78a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/pciaccess.patch" || return 1
+ patch -Np1 -i "${srcdir}/git-1b4bf389.patch" || return 1
libtoolize --force || return 1
aclocal || return 1
autoconf || return 1
Added: git-1b4bf389.patch
===================================================================
--- git-1b4bf389.patch (rev 0)
+++ git-1b4bf389.patch 2009-03-01 16:24:18 UTC (rev 28557)
@@ -0,0 +1,467 @@
+diff -ruN -x .cvsignore -x .gitignore -X xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/.gitignore xf86-video-vga-4.1.0/README xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/README
+--- xf86-video-vga-4.1.0/README 1970-01-01 00:00:00.000000000 +0000
++++ xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/README 2009-01-31 05:06:53.000000000 +0000
+@@ -0,0 +1,20 @@
++xf86-video-vga - Generic VGA video driver for the Xorg X server
++
++Please submit bugs & patches to the Xorg bugzilla:
++
++ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
++
++All questions regarding this software should be directed at the
++Xorg mailing list:
++
++ http://lists.freedesktop.org/mailman/listinfo/xorg
++
++The master development code repository can be found at:
++
++ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-vga
++
++ http://cgit.freedesktop.org/xorg/driver/xf86-video-vga
++
++For more information on the git code manager, see:
++
++ http://wiki.x.org/wiki/GitPage
+diff -ruN -x .cvsignore -x .gitignore -X xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/.gitignore xf86-video-vga-4.1.0/autogen.sh xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/autogen.sh
+--- xf86-video-vga-4.1.0/autogen.sh 1970-01-01 00:00:00.000000000 +0000
++++ xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/autogen.sh 2009-01-31 05:06:53.000000000 +0000
+@@ -0,0 +1,12 @@
++#! /bin/sh
++
++srcdir=`dirname $0`
++test -z "$srcdir" && srcdir=.
++
++ORIGDIR=`pwd`
++cd $srcdir
++
++autoreconf -v --install || exit 1
++cd $ORIGDIR || exit $?
++
++$srcdir/configure --enable-maintainer-mode "$@"
+diff -ruN -x .cvsignore -x .gitignore -X xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/.gitignore xf86-video-vga-4.1.0/configure.ac xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/configure.ac
+--- xf86-video-vga-4.1.0/configure.ac 2006-04-07 21:48:23.000000000 +0000
++++ xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/configure.ac 2009-01-31 05:06:53.000000000 +0000
+@@ -57,6 +57,30 @@
+ sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+
+ # Checks for libraries.
++SAVE_CPPFLAGS="$CPPFLAGS"
++CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
++AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
++ [XSERVER_LIBPCIACCESS=yes], [XSERVER_LIBPCIACCESS=no],
++ [#include "xorg-server.h"])
++AC_CHECK_HEADER(xf1bpp.h,[AC_DEFINE(HAVE_XF1BPP, 1, [Have 1bpp support])],[])
++AC_CHECK_HEADER(xf4bpp.h,[AC_DEFINE(HAVE_XF4BPP, 1, [Have 4bpp support])],[])
++CPPFLAGS="$SAVE_CPPFLAGS"
++
++SAVE_CFLAGS="$CFLAGS"
++CFLAGS="$XORG_CFLAGS"
++AC_CHECK_DECL(xf86ConfigIsaEntity,
++ [AC_DEFINE(HAVE_ISA, 1, [Have ISA support])],
++ [],
++ [#include "xf86.h"])
++CFLAGS="$SAVE_CFLAGS"
++
++if test "x$XSERVER_LIBPCIACCESS" = xyes; then
++ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
++ XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
++fi
++AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
++
++# Checks for libraries.
+
+ # Checks for header files.
+ AC_HEADER_STDC
+diff -ruN -x .cvsignore -x .gitignore -X xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/.gitignore xf86-video-vga-4.1.0/man/Makefile.am xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/man/Makefile.am
+--- xf86-video-vga-4.1.0/man/Makefile.am 2005-12-06 22:48:40.000000000 +0000
++++ xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/man/Makefile.am 2009-01-31 05:06:53.000000000 +0000
+@@ -1,4 +1,3 @@
+-# $Id: Makefile.am,v 1.5 2005/11/28 22:04:15 alanc Exp $
+ #
+ # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ #
+diff -ruN -x .cvsignore -x .gitignore -X xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/.gitignore xf86-video-vga-4.1.0/man/vga.man xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/man/vga.man
+--- xf86-video-vga-4.1.0/man/vga.man 2004-04-23 19:53:24.000000000 +0000
++++ xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/man/vga.man 2009-01-31 05:06:53.000000000 +0000
+@@ -1,4 +1,4 @@
+-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vga/vga.man,v 1.2 2001/01/27 18:20:56 dawes Exp $
++.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vga/vga.man,v 1.3 2001/12/17 20:52:34 dawes Exp $
+ .\" shorthand for double quote that works everywhere.
+ .ds q \N'34'
+ .TH VGA __drivermansuffix__ __vendorversion__
+@@ -60,6 +60,6 @@
+ when using those depths in a multi-head configuration where one or more
+ of the other screens is operating at a different depth.
+ .SH "SEE ALSO"
+-__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
++__xservername__(1), __xconfigfile__(__filemansuffix__), Xserver(1), X(__miscmansuffix__)
+ .SH AUTHORS
+ Authors include: Marc La France, David Dawes, and Dirk Hohndel.
+diff -ruN -x .cvsignore -x .gitignore -X xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/.gitignore xf86-video-vga-4.1.0/src/generic.c xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/src/generic.c
+--- xf86-video-vga-4.1.0/src/generic.c 2006-04-07 21:48:01.000000000 +0000
++++ xf86-video-vga-1b4bf38991d91c94ce1f15aee185e152f88abb73/src/generic.c 2009-01-31 05:06:53.000000000 +0000
+@@ -50,8 +50,13 @@
+
+ #include "fb.h"
+
++#if HAVE_XF4BPP
+ #include "xf4bpp.h"
++#endif
++
++#if HAVE_XF1BPP
+ #include "xf1bpp.h"
++#endif
+
+ #include "shadowfb.h"
+
+@@ -62,6 +67,10 @@
+ #include "xf86Resources.h"
+ #include "xf86int10.h"
+
++#ifdef XSERVER_LIBPCIACCESS
++#include <pciaccess.h>
++#endif
++
+ /* Some systems #define VGA for their own purposes */
+ #undef VGA
+
+@@ -79,10 +88,31 @@
+ #define CLOCK_TOLERANCE 2000 /* Clock matching tolerance (2MHz) */
+ #endif
+
++/*
++ * This structure is used to wrap the screen's CloseScreen vector.
++ */
++typedef struct _GenericRec
++{
++ Bool ShadowFB;
++ Bool KGAUniversal;
++ CARD8 * ShadowPtr;
++ CARD32 ShadowPitch;
++ CloseScreenProcPtr CloseScreen;
++ OptionInfoPtr Options;
++#ifdef XSERVER_LIBPCIACCESS
++ struct pci_device *pciInfo;
++#endif
++} GenericRec, *GenericPtr;
++
++
+ /* Forward definitions */
+ static const OptionInfoRec *GenericAvailableOptions(int chipid, int busid);
+ static void GenericIdentify(int);
+ static Bool GenericProbe(DriverPtr, int);
++#ifdef XSERVER_LIBPCIACCESS
++static Bool GenericPciProbe(DriverPtr drv, int entity_num,
++ struct pci_device *dev, intptr_t match_data);
++#endif
+ static Bool GenericPreInit(ScrnInfoPtr, int);
+ static Bool GenericScreenInit(int, ScreenPtr, int, char **);
+ static Bool GenericSwitchMode(int, DisplayModePtr, int);
+@@ -90,13 +120,33 @@
+ static Bool GenericEnterVT(int, int);
+ static void GenericLeaveVT(int, int);
+ static void GenericFreeScreen(int, int);
++#ifdef HAVE_ISA
+ static int VGAFindIsaDevice(GDevPtr dev);
++#endif
+ #ifdef SPECIAL_FB_BYTE_ACCESS
+ static Bool GenericMapMem(ScrnInfoPtr scrp);
+ #endif
+
+ static ModeStatus GenericValidMode(int, DisplayModePtr, Bool, int);
+
++static GenericPtr GenericGetRec(ScrnInfoPtr pScreenInfo);
++
++enum GenericTypes
++{
++ CHIP_VGA_GENERIC
++};
++
++#ifdef XSERVER_LIBPCIACCESS
++static const struct pci_id_match generic_device_match[] = {
++ {
++ PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
++ 0x00030000, 0x00ffffff, CHIP_VGA_GENERIC
++ },
++
++ { 0, 0, 0 },
++};
++#endif
++
+ /* The root of all evil... */
+ _X_EXPORT DriverRec VGA =
+ {
+@@ -106,7 +156,13 @@
+ GenericProbe,
+ GenericAvailableOptions,
+ NULL,
+- 0
++ 0,
++ NULL,
++
++#ifdef XSERVER_LIBPCIACCESS
++ generic_device_match,
++ GenericPciProbe
++#endif
+ };
+
+ typedef enum
+@@ -146,8 +202,12 @@
+ #ifdef XFree86LOADER
+ static const char *miscfbSymbols[] =
+ {
++#if HAVE_XF1BPP
+ "xf1bppScreenInit",
++#endif
++#if HAVE_XF4BPP
+ "xf4bppScreenInit",
++#endif
+ NULL
+ };
+ #endif
+@@ -210,7 +270,13 @@
+ if (!Initialised)
+ {
+ Initialised = TRUE;
+- xf86AddDriver(&VGA, Module, 0);
++ xf86AddDriver(&VGA, Module,
++#ifdef XSERVER_LIBPCIACCESS
++ HaveDriverFuncs
++#else
++ 0
++#endif
++ );
+ LoaderRefSymLists(vgahwSymbols, miscfbSymbols, fbSymbols,
+ shadowfbSymbols, int10Symbols, NULL);
+ return (pointer)TRUE;
+@@ -224,11 +290,6 @@
+ #endif
+
+
+-enum GenericTypes
+-{
+- CHIP_VGA_GENERIC
+-};
+-
+ /* Supported chipsets */
+ static SymTabRec GenericChipsets[] =
+ {
+@@ -236,17 +297,21 @@
+ {-1, NULL}
+ };
+
++#ifndef XSERVER_LIBPCIACCESS
+ static PciChipsets GenericPCIchipsets[] =
+ {
+ {CHIP_VGA_GENERIC, PCI_CHIP_VGA, RES_SHARED_VGA},
+ {-1, -1, RES_UNDEFINED},
+ };
++#endif
+
++#ifdef HAVE_ISA
+ static IsaChipsets GenericISAchipsets[] =
+ {
+ {CHIP_VGA_GENERIC, RES_EXCLUSIVE_VGA},
+ {-1, 0}
+ };
++#endif
+
+ static void
+ GenericIdentify(int flags)
+@@ -267,6 +332,37 @@
+ * do a minimal probe for supported hardware.
+ */
+
++#ifdef XSERVER_LIBPCIACCESS
++static Bool
++GenericPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
++ intptr_t match_data)
++{
++ ScrnInfoPtr pScrn;
++
++ pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL,
++ NULL, NULL, NULL, NULL, NULL);
++ if (pScrn != NULL) {
++ GenericPtr pGeneric = GenericGetRec(pScrn);
++
++ pScrn->driverVersion = VGA_VERSION_CURRENT;
++ pScrn->driverName = VGA_DRIVER_NAME;
++ pScrn->name = VGA_NAME;
++ pScrn->Probe = GenericProbe;
++ pScrn->PreInit = GenericPreInit;
++ pScrn->ScreenInit = GenericScreenInit;
++ pScrn->SwitchMode = GenericSwitchMode;
++ pScrn->AdjustFrame = GenericAdjustFrame;
++ pScrn->EnterVT = GenericEnterVT;
++ pScrn->LeaveVT = GenericLeaveVT;
++ pScrn->FreeScreen = GenericFreeScreen;
++
++ pGeneric->pciInfo = dev;
++ }
++
++ return (pScrn != NULL);
++}
++#endif
++
+ static Bool
+ GenericProbe(DriverPtr drv, int flags)
+ {
+@@ -283,6 +379,7 @@
+ if ((numDevSections = xf86MatchDevice(VGA_NAME, &devSections)) <= 0)
+ return FALSE;
+
++#ifndef XSERVER_LIBPCIACCESS
+ /* PCI BUS */
+ if (xf86GetPciVideoInfo())
+ {
+@@ -324,7 +421,9 @@
+ xfree(usedChips);
+ }
+ }
++#endif
+
++#ifdef HAVE_ISA
+ /* Isa Bus */
+ numUsed = xf86MatchIsaInstances(VGA_NAME, GenericChipsets,
+ GenericISAchipsets, drv,
+@@ -360,11 +459,13 @@
+ xfree(usedChips);
+ }
+ }
++#endif
+
+ xfree(devSections);
+ return foundScreen;
+ }
+
++#ifdef HAVE_ISA
+ static int
+ VGAFindIsaDevice(GDevPtr dev)
+ {
+@@ -390,20 +491,7 @@
+
+ return (int)CHIP_VGA_GENERIC;
+ }
+-
+-/*
+- * This structure is used to wrap the screen's CloseScreen vector.
+- */
+-typedef struct _GenericRec
+-{
+- Bool ShadowFB;
+- Bool KGAUniversal;
+- CARD8 * ShadowPtr;
+- CARD32 ShadowPitch;
+- CloseScreenProcPtr CloseScreen;
+- OptionInfoPtr Options;
+-} GenericRec, *GenericPtr;
+-
++#endif
+
+ static GenericPtr
+ GenericGetRec(ScrnInfoPtr pScreenInfo)
+@@ -509,8 +597,14 @@
+
+ switch (pScreenInfo->depth)
+ {
+- case 1: Module = "xf1bpp"; Sym = "xf1bppScreenInit"; break;
+- case 4: Module = "xf4bpp"; Sym = "xf4bppScreenInit"; break;
++ case 1:
++#if HAVE_XF1BPP
++ Module = "xf1bpp"; Sym = "xf1bppScreenInit"; break;
++#endif
++ case 4:
++#if HAVE_XF4BPP
++ Module = "xf4bpp"; Sym = "xf4bppScreenInit"; break;
++#endif
+ case 8: Module = "fb"; break;
+
+ default:
+@@ -673,6 +767,8 @@
+ /* Set display resolution */
+ xf86SetDpi(pScreenInfo, 0, 0);
+
++
++#if HAVE_XF1BPP && HAVE_XF4BPP
+ if (xf86ReturnOptValBool(pGenericPriv->Options, OPTION_SHADOW_FB, FALSE))
+ {
+ pGenericPriv->ShadowFB = TRUE;
+@@ -688,7 +784,7 @@
+ "Enabling universal \"KGA\" treatment.\n");
+ }
+
+-#ifdef SPECIAL_FB_BYTE_ACCESS
++# ifdef SPECIAL_FB_BYTE_ACCESS
+ if (!pGenericPriv->ShadowFB && (pScreenInfo->depth == 4))
+ {
+ xf86DrvMsg(pScreenInfo->scrnIndex, X_INFO,
+@@ -696,8 +792,13 @@
+ " ShadowFB enabled.\n");
+ pGenericPriv->ShadowFB = TRUE;
+ }
++# endif
++
++#else
++ pGenericPriv->ShadowFB = TRUE;
+ #endif
+
++
+ if (pGenericPriv->ShadowFB)
+ {
+ pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
+@@ -1378,6 +1479,7 @@
+ #endif
+ ShadowFBInit(pScreen, GenericRefreshArea1bpp);
+ }
++#if HAVE_XF1BPP
+ else
+ {
+ Inited = xf1bppScreenInit(pScreen, pvgaHW->Base,
+@@ -1386,6 +1488,7 @@
+ pScreenInfo->xDpi, pScreenInfo->yDpi,
+ pScreenInfo->displayWidth);
+ }
++#endif
+ break;
+ case 4:
+ if (pGenericPriv->ShadowFB)
+@@ -1410,6 +1513,7 @@
+ #endif
+ ShadowFBInit(pScreen, GenericRefreshArea4bpp);
+ }
++#if HAVE_XF4BPP
+ else
+ {
+ Inited = xf4bppScreenInit(pScreen, pvgaHW->Base,
+@@ -1418,6 +1522,7 @@
+ pScreenInfo->xDpi, pScreenInfo->yDpi,
+ pScreenInfo->displayWidth);
+ }
++#endif
+ break;
+ case 8:
+ Inited = fbScreenInit(pScreen, pvgaHW->Base,
+@@ -1579,6 +1684,9 @@
+ {
+ vgaHWPtr hwp = VGAHWPTR(scrp);
+ int scr_index = scrp->scrnIndex;
++#ifdef XSERVER_LIBPCIACCESS
++ GenericPtr pPriv = GenericGetRec(scrp);
++#endif
+
+ if (hwp->Base)
+ return TRUE;
+@@ -1589,7 +1697,12 @@
+ if (hwp->MapPhys == 0)
+ hwp->MapPhys = VGA_DEFAULT_PHYS_ADDR;
+
+- hwp->Base = xf86MapDomainMemory(scr_index, VIDMEM_MMIO, hwp->Tag,
++ hwp->Base = xf86MapDomainMemory(scr_index, VIDMEM_MMIO,
++#ifdef XSERVER_LIBPCIACCESS
++ pPriv->pciInfo,
++#else
++ hwp->Tag,
++#endif
+ hwp->MapPhys, hwp->MapSize);
+ return hwp->Base != NULL;
+ }
More information about the arch-commits
mailing list