summaryrefslogtreecommitdiffstats
path: root/main/xf86-video-s3virge
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-03-27 23:54:52 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2012-03-28 00:00:35 +0000
commit44cc707f8a1c9d817acf0d2cf3651d2f5856615f (patch)
treeba04228c2a685436a72cc2334fe55ad08fd893f2 /main/xf86-video-s3virge
parent6fe5938690d78918743bba9a8caeedc65383a731 (diff)
downloadaports-44cc707f8a1c9d817acf0d2cf3651d2f5856615f.tar.bz2
aports-44cc707f8a1c9d817acf0d2cf3651d2f5856615f.tar.xz
main/xf86-video-s3virge: rebuild against xorg-server-1.12
Diffstat (limited to 'main/xf86-video-s3virge')
-rw-r--r--main/xf86-video-s3virge/APKBUILD16
-rw-r--r--main/xf86-video-s3virge/s3virge-1.10.4-vga.patch76
2 files changed, 89 insertions, 3 deletions
diff --git a/main/xf86-video-s3virge/APKBUILD b/main/xf86-video-s3virge/APKBUILD
index 4e1046780..aaf833703 100644
--- a/main/xf86-video-s3virge/APKBUILD
+++ b/main/xf86-video-s3virge/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-s3virge
pkgver=1.10.4
-pkgrel=4
+pkgrel=5
pkgdesc="S3 ViRGE video driver"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -11,8 +11,17 @@ depends=
makedepends="pkgconfig xorg-server-dev libxi-dev fontsproto randrproto
videoproto renderproto"
-source="http://xorg.freedesktop.org/releases/individual/driver/$pkgname-$pkgver.tar.bz2"
+source="http://xorg.freedesktop.org/releases/individual/driver/$pkgname-$pkgver.tar.bz2
+ s3virge-1.10.4-vga.patch"
+prepare() {
+ cd "$srcdir"/$pkgname-$pkgver
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
build() {
cd "$srcdir"/$pkgname-$pkgver
export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
@@ -26,4 +35,5 @@ package() {
rm "$pkgdir"/usr/lib/xorg/modules/*/*.la || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="6517bbbf808c700502d51acdc44662f8 xf86-video-s3virge-1.10.4.tar.bz2"
+md5sums="6517bbbf808c700502d51acdc44662f8 xf86-video-s3virge-1.10.4.tar.bz2
+45c7d912734c9f7dfc1f42077827cb8e s3virge-1.10.4-vga.patch"
diff --git a/main/xf86-video-s3virge/s3virge-1.10.4-vga.patch b/main/xf86-video-s3virge/s3virge-1.10.4-vga.patch
new file mode 100644
index 000000000..3fb1fd6cf
--- /dev/null
+++ b/main/xf86-video-s3virge/s3virge-1.10.4-vga.patch
@@ -0,0 +1,76 @@
+From 92b4671ca75022a56ad9e85b347f81c12157c98f Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 16 Nov 2011 19:58:29 +0000
+Subject: Adapt to missing PIOOffset in videoabi 12
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/s3v_driver.c b/src/s3v_driver.c
+index 2ced9ac..0f754dd 100644
+--- a/src/s3v_driver.c
++++ b/src/s3v_driver.c
+@@ -3516,11 +3516,17 @@ S3VEnableMmio(ScrnInfoPtr pScrn)
+ S3VPtr ps3v;
+ IOADDRESS vgaCRIndex, vgaCRReg;
+ unsigned char val;
+-
++ unsigned int PIOOffset = 0;
++
+ PVERB5(" S3VEnableMmio\n");
+
+ hwp = VGAHWPTR(pScrn);
+ ps3v = S3VPTR(pScrn);
++
++#if ABI_VIDEODRV_VERSION < 12
++ PIOOffset = hwp->PIOOffset;
++#endif
++
+ /*
+ * enable chipset (seen on uninitialized secondary cards)
+ * might not be needed once we use the VGA softbooter
+@@ -3533,17 +3539,17 @@ S3VEnableMmio(ScrnInfoPtr pScrn)
+ * to be set correctly already and MMIO _has_ to be
+ * enabled.
+ */
+- val = inb(hwp->PIOOffset + 0x3C3); /*@@@EE*/
+- outb(hwp->PIOOffset + 0x3C3, val | 0x01);
++ val = inb(PIOOffset + 0x3C3); /*@@@EE*/
++ outb(PIOOffset + 0x3C3, val | 0x01);
+ /*
+ * set CR registers to color mode
+ * in mono mode extended CR registers
+ * are not accessible. (EE 05/04/99)
+ */
+- val = inb(hwp->PIOOffset + VGA_MISC_OUT_R); /*@@@EE*/
+- outb(hwp->PIOOffset + VGA_MISC_OUT_W, val | 0x01);
++ val = inb(PIOOffset + VGA_MISC_OUT_R); /*@@@EE*/
++ outb(PIOOffset + VGA_MISC_OUT_W, val | 0x01);
+ vgaHWGetIOBase(hwp); /* Get VGA I/O base */
+- vgaCRIndex = hwp->PIOOffset + hwp->IOBase + 4;
++ vgaCRIndex = PIOOffset + hwp->IOBase + 4;
+ vgaCRReg = vgaCRIndex + 1;
+ #if 1
+ /*
+@@ -3562,7 +3568,7 @@ S3VEnableMmio(ScrnInfoPtr pScrn)
+ /* Enable new MMIO, if TRIO mmio is already */
+ /* enabled, then it stays enabled. */
+ outb(vgaCRReg, ps3v->EnableMmioCR53 | 0x08);
+- outb(hwp->PIOOffset + VGA_MISC_OUT_W, val);
++ outb(PIOOffset + VGA_MISC_OUT_W, val);
+ if (S3_TRIO_3D_SERIES(ps3v->Chipset)) {
+ outb(vgaCRIndex, 0x40);
+ val = inb(vgaCRReg);
+@@ -3584,7 +3590,10 @@ S3VDisableMmio(ScrnInfoPtr pScrn)
+ hwp = VGAHWPTR(pScrn);
+ ps3v = S3VPTR(pScrn);
+
+- vgaCRIndex = hwp->PIOOffset + hwp->IOBase + 4;
++ vgaCRIndex = hwp->IOBase + 4;
++#if ABI_VIDEODRV_VERSION < 12
++ vgaCRIndex += hwp->PIOOffset;
++#endif
+ vgaCRReg = vgaCRIndex + 1;
+ outb(vgaCRIndex, 0x53);
+ /* Restore register's original state */
+--
+cgit v0.9.0.2-2-gbebe