aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancesco Colista <francesco.colista@gmail.com>2012-02-13 16:11:00 +0000
committerFrancesco Colista <francesco.colista@gmail.com>2012-02-13 16:11:00 +0000
commitbb8be67c88100eb4b3c0121d7c2695f995c40b03 (patch)
tree7897ce9beec4ac11af1b599cbb3d45a084d150a6
parente115817423b4eb038c449bef018c712f41bf236a (diff)
parent5263b83fea44e653e1f1891b20a33abe5d8783d9 (diff)
downloadaports-bb8be67c88100eb4b3c0121d7c2695f995c40b03.tar.bz2
aports-bb8be67c88100eb4b3c0121d7c2695f995c40b03.tar.xz
Merge git://dev.alpinelinux.org/aports
-rw-r--r--main/alpine-mirrors/APKBUILD4
-rw-r--r--main/alpine-mirrors/MIRRORS.txt6
-rw-r--r--main/apr-util/APKBUILD6
-rw-r--r--main/asterisk/APKBUILD22
-rw-r--r--main/asterisk/asterisk.post-install11
-rw-r--r--main/asterisk/asterisk.pre-install12
-rw-r--r--main/busybox/APKBUILD4
-rw-r--r--main/busybox/busybox-mkdir-permissions-64bit.patch42
-rw-r--r--main/db/APKBUILD14
-rw-r--r--main/dovecot/APKBUILD6
-rw-r--r--main/email/APKBUILD7
-rw-r--r--main/fakeroot/APKBUILD10
-rw-r--r--main/fakeroot/fakeroot-stdint.patch34
-rw-r--r--main/fakeroot/fakeroot-uclibc.patch20
-rw-r--r--main/firefox/APKBUILD12
-rw-r--r--main/firefox/libvpx.patch29
-rw-r--r--main/freerdp/APKBUILD46
-rw-r--r--main/freerdp/pluginpath.patch11
-rw-r--r--main/fuse/APKBUILD4
-rw-r--r--main/garcon/APKBUILD8
-rw-r--r--main/gcc/APKBUILD10
-rw-r--r--main/lame/APKBUILD4
-rw-r--r--main/libdrm/APKBUILD4
-rw-r--r--main/libmicrohttpd/APKBUILD4
-rw-r--r--main/libpng/APKBUILD10
-rw-r--r--main/libssh2/APKBUILD4
-rw-r--r--main/libvpx/APKBUILD4
-rw-r--r--main/mpd/APKBUILD4
-rw-r--r--main/net-snmp/APKBUILD6
-rw-r--r--main/nload/APKBUILD4
-rw-r--r--main/open-vm-tools-grsec/APKBUILD12
-rw-r--r--main/open-vm-tools-vserver/APKBUILD8
-rw-r--r--main/open-vm-tools/APKBUILD9
-rw-r--r--main/openjdk6/APKBUILD47
-rw-r--r--main/openjdk6/build-paxctl.patch2
-rw-r--r--main/orc/APKBUILD4
-rw-r--r--main/ortp/APKBUILD8
-rw-r--r--main/ortp/ortp-0.16.1-retval.patch20
-rw-r--r--main/ortp/ortp-0.16.1-unusedvar.patch42
-rw-r--r--main/perl-async-mergepoint/APKBUILD (renamed from testing/perl-async-mergepoint/APKBUILD)0
-rw-r--r--main/perl-class-load/APKBUILD8
-rw-r--r--main/perl-cps/APKBUILD (renamed from testing/perl-cps/APKBUILD)0
-rw-r--r--main/perl-dist-checkconflicts/APKBUILD (renamed from testing/perl-dist-checkconflicts/APKBUILD)0
-rw-r--r--main/perl-heap/APKBUILD (renamed from testing/perl-heap/APKBUILD)0
-rw-r--r--main/perl-io-async/APKBUILD (renamed from testing/perl-io-async/APKBUILD)0
-rw-r--r--main/perl-module-runtime/APKBUILD (renamed from testing/perl-module-runtime/APKBUILD)0
-rw-r--r--main/perl-net-async-http/APKBUILD (renamed from testing/perl-net-async-http/APKBUILD)0
-rw-r--r--main/perl-net-snmp/APKBUILD6
-rw-r--r--main/perl-package-deprecationmanager/APKBUILD (renamed from testing/perl-package-deprecationmanager/APKBUILD)0
-rw-r--r--main/perl-package-stash/APKBUILD (renamed from testing/perl-package-stash/APKBUILD)0
-rw-r--r--main/perl-params-classify/APKBUILD (renamed from testing/perl-params-classify/APKBUILD)0
-rw-r--r--main/perl-test-fatal/APKBUILD4
-rw-r--r--main/perl-test-identity/APKBUILD (renamed from testing/perl-test-identity/APKBUILD)0
-rw-r--r--main/perl-test-refcount/APKBUILD (renamed from testing/perl-test-refcount/APKBUILD)0
-rw-r--r--main/perl-try-tiny/APKBUILD32
-rw-r--r--main/pixman/APKBUILD4
-rw-r--r--main/pound/APKBUILD14
-rw-r--r--main/pound/pound-2.5-openssl.patch290
-rw-r--r--main/remmina/APKBUILD36
-rw-r--r--main/remmina/no-gnome-keyring.patch11
-rw-r--r--main/remmina/underlinking.patch32
-rw-r--r--main/sshguard/APKBUILD (renamed from testing/sshguard/APKBUILD)0
-rw-r--r--main/sshguard/parser.patch (renamed from testing/sshguard/parser.patch)0
-rw-r--r--main/sshguard/sshguard.confd (renamed from testing/sshguard/sshguard.confd)0
-rw-r--r--main/sshguard/sshguard.initd (renamed from testing/sshguard/sshguard.initd)0
-rw-r--r--main/sudo/APKBUILD5
-rw-r--r--main/trac/APKBUILD6
-rw-r--r--main/uboot-mkimage/APKBUILD4
-rw-r--r--main/uclibc++/001-path_to_make.patch30
-rw-r--r--main/uclibc++/002-no_bash.patch12
-rw-r--r--main/uclibc++/003-cp_command.patch19
-rw-r--r--main/uclibc++/004-ccache_fixes.patch24
-rw-r--r--main/uclibc++/005-wrapper.patch12
-rw-r--r--main/uclibc++/006-eabi_fix.patch42
-rw-r--r--main/uclibc++/007-numeric_limits.patch66
-rw-r--r--main/uclibc++/008-integer_width.patch314
-rw-r--r--main/uclibc++/900-dependent_exception.patch68
-rw-r--r--main/uclibc++/APKBUILD66
-rw-r--r--main/uclibc++/associative_base.patch13
-rw-r--r--main/uclibc++/uclibc++-gcc-4.3.patch73
-rw-r--r--main/uclibc++/uclibc++config54
-rw-r--r--main/vim/APKBUILD37
-rw-r--r--main/vsftpd/APKBUILD2
-rw-r--r--main/wine/APKBUILD4
-rw-r--r--main/xen/APKBUILD86
-rw-r--r--main/xen/blktap-write.patch24
-rw-r--r--main/xen/blktap2_libvhd_add_iconv.patch (renamed from testing/xen/blktap2_libvhd_add_iconv.patch)0
-rw-r--r--main/xen/busybox-sed.patch (renamed from testing/xen/busybox-sed.patch)0
-rw-r--r--main/xen/define_fsimage_dir.patch (renamed from testing/xen/define_fsimage_dir.patch)0
-rw-r--r--main/xen/detect_libiconv.patch (renamed from testing/xen/detect_libiconv.patch)0
-rw-r--r--main/xen/fix_bswap_blktap.patch (renamed from testing/xen/fix_bswap_blktap.patch)0
-rw-r--r--main/xen/fix_bswap_blktap2.patch (renamed from testing/xen/fix_bswap_blktap2.patch)0
-rw-r--r--main/xen/fix_ipxe_no_pie_default.patch (renamed from testing/xen/fix_ipxe_no_pie_default.patch)0
-rw-r--r--main/xen/librt.patch (renamed from testing/xen/librt.patch)0
-rw-r--r--main/xen/pygrub_alpine.patch (renamed from testing/xen/pygrub_alpine.patch)0
-rw-r--r--main/xen/xen-blktap-uclibc.patch11
-rw-r--r--main/xen/xen-blktap2-uclibc.patch22
-rw-r--r--main/xen/xen-disable-firmware.patch10
-rw-r--r--main/xen/xen-dont-use-lib64.patch11
-rw-r--r--main/xen/xen-gcc-4.6-Werror-fix.patch36
-rw-r--r--main/xen/xen-gcc-4.6-hvmloader-is-broken.patch733
-rw-r--r--main/xen/xen-sed-is-broken-hack.patch11
-rw-r--r--main/xen/xen-x86-pic.patch19
-rw-r--r--[-rwxr-xr-x]main/xen/xencommons.initd133
-rw-r--r--main/xen/xend.initd39
-rw-r--r--main/xen/xendomains.initd68
-rw-r--r--main/xf86-video-openchrome/APKBUILD10
-rw-r--r--main/xf86-video-openchrome/openchrome-0.2.904-fix_tvout_flickering.patch35
-rw-r--r--main/xf86-video-openchrome/openchrome-0.2.904-svn921.patch4427
-rw-r--r--main/xfce4-session/APKBUILD6
-rw-r--r--main/xulrunner/0004-xulrunner-malloc_usable_size.patch55
-rw-r--r--main/xulrunner/APKBUILD14
-rw-r--r--main/zd1211-firmware/APKBUILD (renamed from testing/zd1211-firmware/APKBUILD)0
-rw-r--r--main/znc/APKBUILD4
-rw-r--r--testing/firefox/APKBUILD122
-rw-r--r--testing/firefox/firefox-5.0-asciidel.patch15
-rw-r--r--testing/firefox/firefox-safe.desktop11
-rw-r--r--testing/firefox/firefox.desktop81
-rw-r--r--testing/firefox/mozconfig44
-rw-r--r--testing/gdnsd/APKBUILD43
-rw-r--r--testing/gdnsd/gdnsd.pre-install5
-rw-r--r--testing/perl-class-load/APKBUILD39
-rw-r--r--testing/perl-sub-uplevel/APKBUILD38
-rw-r--r--testing/perl-test-fatal/APKBUILD37
-rw-r--r--testing/perl-test-warn/APKBUILD37
-rw-r--r--testing/perl-tree-dag_node/APKBUILD37
-rw-r--r--testing/perl-try-tiny/APKBUILD37
-rw-r--r--testing/xen/APKBUILD95
-rw-r--r--testing/xen/xencommons.initd102
-rw-r--r--testing/xen/xend.initd53
-rw-r--r--testing/xen/xendomains.initd105
-rw-r--r--testing/xulrunner/0002-Use-C99-math-isfinite.patch43
-rw-r--r--testing/xulrunner/0003-xulrunner-jemalloc-aslr.patch67
-rw-r--r--testing/xulrunner/0004-xulrunner-malloc_usable_size.patch34
-rw-r--r--testing/xulrunner/APKBUILD112
-rw-r--r--testing/xulrunner/ff9-aslr-fix.patch40
-rw-r--r--testing/xulrunner/mozconfig38
-rw-r--r--unstable/jabberd14/APKBUILD6
138 files changed, 752 insertions, 8045 deletions
diff --git a/main/alpine-mirrors/APKBUILD b/main/alpine-mirrors/APKBUILD
index 7ac33776b7..0630f110a8 100644
--- a/main/alpine-mirrors/APKBUILD
+++ b/main/alpine-mirrors/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Matt Smith <mcs@darkregion.net>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alpine-mirrors
-pkgver=2.1.0_git20111203
+pkgver=2.3_git20120213
pkgrel=0
pkgdesc="List of Alpine Linux Mirrors"
url="http://alpinelinux.org/"
@@ -26,5 +26,5 @@ package() {
"$pkgdir"/usr/share/alpine-mirrors/RELEASES.txt
}
-md5sums="052304b2ce9186a89d6de05a41a0e274 MIRRORS.txt
+md5sums="1ebf90aea05f9facf9bdc91fca7620ed MIRRORS.txt
2d261c2947ccf35000ae3128d33da04a RELEASES.txt"
diff --git a/main/alpine-mirrors/MIRRORS.txt b/main/alpine-mirrors/MIRRORS.txt
index 9f821dd12a..37bfe6863e 100644
--- a/main/alpine-mirrors/MIRRORS.txt
+++ b/main/alpine-mirrors/MIRRORS.txt
@@ -1,6 +1,8 @@
+http://nl.alpinelinux.org/alpine/
http://dl-2.alpinelinux.org/alpine/
http://dl-3.alpinelinux.org/alpine/
http://dl-4.alpinelinux.org/alpine/
-http://mirrors.gigenet.com/alpinelinux/
http://distrib-coffee.ipsl.jussieu.fr/pub/linux/alpine/alpine/
-http://nl.alpinelinux.org/alpine/
+http://mirror.yandex.ru/mirrors/alpine/
+http://mirrors.gigenet.com/alpinelinux/
+http://repos.lax-noc.com/alpine/
diff --git a/main/apr-util/APKBUILD b/main/apr-util/APKBUILD
index 667a59544f..c7661fe5b2 100644
--- a/main/apr-util/APKBUILD
+++ b/main/apr-util/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apr-util
-pkgver=1.3.12
-pkgrel=3
+pkgver=1.4.1
+pkgrel=0
pkgdesc="The Apache Portable Runtime Utility Library"
url="http://apr.apache.org/"
arch="all"
@@ -53,4 +53,4 @@ dbd_mysql() { _mv_mod dbd_mysql "MySQL"; }
dbd_sqlite3() { _mv_mod dbd_sqlite "SQLite3"; }
ldap() { _mv_mod ldap "LDAP"; }
-md5sums="0f671b037ca62751a8a7005578085560 apr-util-1.3.12.tar.bz2"
+md5sums="52b31b33fb1aa16e65ddaefc76e41151 apr-util-1.4.1.tar.bz2"
diff --git a/main/asterisk/APKBUILD b/main/asterisk/APKBUILD
index 1559b7ee92..177d47a015 100644
--- a/main/asterisk/APKBUILD
+++ b/main/asterisk/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=asterisk
-pkgver=10.1.1
-pkgrel=0
+pkgver=10.1.2
+pkgrel=2
pkgdesc="Asterisk: A Module Open Source PBX System"
+pkgusers="asterisk"
+pkggroups="asterisk"
url="http://www.asterisk.org/"
arch="all"
license="GPL"
@@ -12,7 +14,7 @@ makedepends="autoconf automake libtool ncurses-dev popt-dev newt-dev zlib-dev
postgresql-dev unixodbc-dev dahdi-tools-dev libpri-dev tar
freetds-dev openssl-dev lua-dev alsa-lib-dev spandsp-dev tiff-dev
libresample sqlite-dev wget speex-dev libogg-dev"
-install="$pkgname.pre-install $pkgname.pre-upgrade $pkgname.post-install"
+install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="$pkgname-dev $pkgname-doc $pkgname-pgsql $pkgname-odbc
$pkgname-tds $pkgname-fax $pkgname-sample-config:sample
$pkgname-sounds-moh:sound_moh $pkgname-sounds-en:sound_en"
@@ -77,10 +79,16 @@ package() {
make -j1 DESTDIR="$pkgdir" install
install -d "$pkgdir"/var/run/asterisk
+ install -d "$pkgdir"/var/lib/asterisk
+
install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
install -m644 -D "$srcdir"/$pkgname.logrotate \
"$pkgdir"/etc/logrotate.d/$pkgname
+
+ chown -R asterisk:asterisk "$pkgdir"/var/*/asterisk
+ chown -R asterisk:asterisk "$pkgdir"/etc/asterisk
+ chmod -R u=rwX,g=rX,o= "$pkgdir"/etc/asterisk
}
_move_dir() {
@@ -142,6 +150,10 @@ sample() {
cd "$_builddir"
mkdir -p "$subpkgdir"/var/lib/asterisk/phoneprov
make -j1 samples DESTDIR="$subpkgdir"
+
+ chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
+ chown -R asterisk:asterisk "$subpkgdir"/etc/asterisk
+ chmod -R u=rwX,g=rX,o= "$subpkgdir"/etc/asterisk
}
sound_moh() {
@@ -150,6 +162,7 @@ sound_moh() {
depends=
install=
_move_dir var/lib/asterisk/moh
+ chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
}
sound_en() {
@@ -158,9 +171,10 @@ sound_en() {
depends=
install=
_move_dir var/lib/asterisk/sounds/en
+ chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
}
-md5sums="8e2c8c5590923ae2209e1f8260d573fb asterisk-10.1.1.tar.gz
+md5sums="5d3e92795e03eaf94421a8fa5518f3df asterisk-10.1.2.tar.gz
b00c9d98ce2ad445501248a197c6e436 100-uclibc-daemon.patch
6e1129e30c4fd2c25c86c81685a485a9 101-caps-uclibc.patch
79e9634b5054bceb3b8dc246654bb243 400-bug-227.patch
diff --git a/main/asterisk/asterisk.post-install b/main/asterisk/asterisk.post-install
deleted file mode 100644
index fd51c7fa5d..0000000000
--- a/main/asterisk/asterisk.post-install
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-chown -R asterisk:asterisk /var/*/asterisk
-chown -R asterisk:asterisk /etc/asterisk
-chmod -R u=rwX,g=rX,o= /etc/asterisk
-
-# set IP ToS
-# iptables -A OUTPUT -t mangle -p udp -m udp --dport 5060 -j DSCP --set-dscp 0x28
-#iptables -A OUTPUT -t mangle -p udp -m udp --sport 10000:20000 -j DSCP --set-dscp 0x28
-# more info: http://www.voip-info.org/wiki-Asterisk+non-root
-
diff --git a/main/asterisk/asterisk.pre-install b/main/asterisk/asterisk.pre-install
index 09985d7cdb..6c2984ae4e 100644
--- a/main/asterisk/asterisk.pre-install
+++ b/main/asterisk/asterisk.pre-install
@@ -1,12 +1,6 @@
#!/bin/sh
-user=asterisk
-home=/var/lib/asterisk
-adduser -h $home -s /bin/false -D $user 2>/dev/null
-mkdir -p $home
-chown $user:$user $home
-
-addgroup dialout 2>/dev/null
-addgroup $user dialout 2>/dev/null
+adduser -S -h /var/lib/asterisk -s /bin/false -D asterisk 2>/dev/null
+addgroup -S dialout 2>/dev/null
+addgroup asterisk dialout 2>/dev/null
exit 0
-
diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD
index d655e3b9fe..e520d049f5 100644
--- a/main/busybox/APKBUILD
+++ b/main/busybox/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=busybox
pkgver=1.19.3
-pkgrel=6
+pkgrel=7
pkgdesc="Size optimized toolbox of many common UNIX utilities"
url=http://busybox.net
arch="all"
@@ -19,6 +19,7 @@ source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2
bb-app-location.patch
0001-loginutils-use-sha512.patch
acpid.patch
+ busybox-mkdir-permissions-64bit.patch
0001-acpid-fix-for-clean-exit-on-SIGTERM.patch
http://busybox.net/downloads/fixes-1.19.3/busybox-1.19.3-getty.patch
@@ -94,6 +95,7 @@ b5375210f13fd6e1ca61a565e8fabd35 busybox-uname-is-not-gnu.patch
754916e52fa11d3fe7c29c93248b6707 bb-app-location.patch
784383013b8f015fb0d214618c46b4b8 0001-loginutils-use-sha512.patch
361a26d690e6f1585c6710b3afeb10a6 acpid.patch
+78bb1e70897124a0e09d50c425210e83 busybox-mkdir-permissions-64bit.patch
058da9d0a595430e840e5793b5a5d059 0001-acpid-fix-for-clean-exit-on-SIGTERM.patch
5ed72ca85b8fba4598d64a550210b31f busybox-1.19.3-getty.patch
41636628e481f22b8774b6bee1eebfb1 busybox-1.19.3-modinfo.patch
diff --git a/main/busybox/busybox-mkdir-permissions-64bit.patch b/main/busybox/busybox-mkdir-permissions-64bit.patch
new file mode 100644
index 0000000000..54c109171c
--- /dev/null
+++ b/main/busybox/busybox-mkdir-permissions-64bit.patch
@@ -0,0 +1,42 @@
+From 46db33a38d815a2f0bfcc8ad5094b23efcb4e9bd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
+Date: Fri, 10 Feb 2012 09:34:57 +0200
+Subject: [PATCH] mkdir: fix permissions on 64-bit platforms
+
+sizeof(long) != sizeof(mode_t), this causes the compare in
+bb_make_directory of (long)-1 != (mode_t)-1 to fail and mess up
+the permissions of final directory by doing chmod((mode_t) -1).
+---
+ coreutils/mkdir.c | 7 ++++---
+ 1 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/coreutils/mkdir.c b/coreutils/mkdir.c
+index a4429b1..b33b6bb 100644
+--- a/coreutils/mkdir.c
++++ b/coreutils/mkdir.c
+@@ -54,7 +54,7 @@ static const char mkdir_longopts[] ALIGN1 =
+ int mkdir_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int mkdir_main(int argc UNUSED_PARAM, char **argv)
+ {
+- mode_t mode = (mode_t)(-1);
++ long mode = -1;
+ int status = EXIT_SUCCESS;
+ int flags = 0;
+ unsigned opt;
+@@ -68,10 +68,11 @@ int mkdir_main(int argc UNUSED_PARAM, char **argv)
+ #endif
+ opt = getopt32(argv, "m:p" IF_SELINUX("Z:"), &smode IF_SELINUX(,&scontext));
+ if (opt & 1) {
+- mode = 0777;
+- if (!bb_parse_mode(smode, &mode)) {
++ mode_t mmode = 0777;
++ if (!bb_parse_mode(smode, &mmode)) {
+ bb_error_msg_and_die("invalid mode '%s'", smode);
+ }
++ mode = mmode;
+ }
+ if (opt & 2)
+ flags |= FILEUTILS_RECUR;
+--
+1.7.9
+
diff --git a/main/db/APKBUILD b/main/db/APKBUILD
index 74bd952598..22264f9547 100644
--- a/main/db/APKBUILD
+++ b/main/db/APKBUILD
@@ -2,14 +2,14 @@
pkgname=db
pkgver=5.3.15
_ver=${pkgver}
-pkgrel=0
+pkgrel=1
pkgdesc="The Berkeley DB embedded database system"
url="http://www.oracle.com/technology/software/products/berkeley-db/index.html"
arch="all"
license="custom"
depends=
makedepends=
-subpackages="$pkgname-dev $pkgname-doc $pkgname-utils"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-utils $pkgname-c++:cxx"
# Patches were found here:
# http://www.oracle.com/technology/products/berkeley-db/db/update/4.7.25/patch.4.7.25.html
source="http://download.oracle.com/berkeley-db/db-$pkgver.tar.gz
@@ -28,8 +28,8 @@ build () {
--mandir=/usr/share/man \
--enable-compat185 \
--enable-shared \
- --disable-static \
- --disable-cxx
+ --enable-cxx \
+ --disable-static
make LIBSO_LIBS=-lpthread || return 1
}
@@ -52,4 +52,10 @@ utils() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
+cxx() {
+ pkgdesc="C++ binding for libdb"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libdb_cxx*.so "$subpkgdir"/usr/lib/
+}
+
md5sums="5493fb5f7cc3915887c836b096f18773 db-5.3.15.tar.gz"
diff --git a/main/dovecot/APKBUILD b/main/dovecot/APKBUILD
index c3c64a4de1..51e016b232 100644
--- a/main/dovecot/APKBUILD
+++ b/main/dovecot/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dovecot
-pkgver=2.0.17
-pkgrel=2
+pkgver=2.0.18
+pkgrel=0
pkgdesc="IMAP and POP3 server"
url="http://www.dovecot.org/"
arch="all"
@@ -116,7 +116,7 @@ config() {
mkdir -p "$subpkgdir"/etc/dovecot/conf.d
}
-md5sums="41c10dffa56e228b9176833db2efaac5 dovecot-2.0.17.tar.gz
+md5sums="4fdee96b390a287d75b51ffcf6abe30f dovecot-2.0.18.tar.gz
aec5cc797ab2acf72ce3b6bb1030345f dovecot.logrotate
59f210c712284a82e3a65b4126ddd99c dovecot.initd
95cf57ecc835882228bbbb019ce3abf8 dovecot-sample-config.post-install"
diff --git a/main/email/APKBUILD b/main/email/APKBUILD
index 9f184840cd..b212a62c3b 100644
--- a/main/email/APKBUILD
+++ b/main/email/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
pkgname=email
pkgver=3.1.3
-pkgrel=2
+pkgrel=3
pkgdesc="A command line SMTP client that's simple"
url="http://www.cleancode.org/projects/email"
arch="all"
@@ -12,6 +12,11 @@ source="http://www.cleancode.org/downloads/email/email-$pkgver.tar.bz2"
subpackages="$pkgname-doc"
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i -e 's/^\(VCARD.*\)/\# \1/' email.conf
+}
+
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/main/fakeroot/APKBUILD b/main/fakeroot/APKBUILD
index 8fb54da738..eb933bdc27 100644
--- a/main/fakeroot/APKBUILD
+++ b/main/fakeroot/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=fakeroot
pkgver=1.18.2
-pkgrel=0
+pkgrel=1
pkgdesc="Gives a fake root environment, useful for building packages as a non-privileged user"
arch="all"
license='GPL'
@@ -9,7 +9,9 @@ url="http://packages.debian.org/fakeroot"
depends=
subpackages="$pkgname-doc"
source="http://ftp.debian.org/debian/pool/main/f/$pkgname/${pkgname}_${pkgver}.orig.tar.bz2
- busybox-getopt.patch"
+ busybox-getopt.patch
+ fakeroot-stdint.patch
+ fakeroot-uclibc.patch"
prepare() {
cd $startdir/src/$pkgname-$pkgver
@@ -33,4 +35,6 @@ package() {
}
md5sums="79f32331358ad58499704ea5e19fd0ae fakeroot_1.18.2.orig.tar.bz2
-bdbf1db14f2cfdff0f5b4c35da78b9fe busybox-getopt.patch"
+bdbf1db14f2cfdff0f5b4c35da78b9fe busybox-getopt.patch
+50a899380cfd5eae8ce3aaf878fb17b2 fakeroot-stdint.patch
+7a54ab51fdb90bc44e366e0a66811bfe fakeroot-uclibc.patch"
diff --git a/main/fakeroot/fakeroot-stdint.patch b/main/fakeroot/fakeroot-stdint.patch
new file mode 100644
index 0000000000..bb4f67f0d0
--- /dev/null
+++ b/main/fakeroot/fakeroot-stdint.patch
@@ -0,0 +1,34 @@
+--- fakeroot-1.18.2.orig/faked.c
++++ fakeroot-1.18.2/faked.c
+@@ -514,11 +514,11 @@
+
+ #ifdef FAKEROOT_DB_PATH
+ if (find_path(i->buf.dev, i->buf.ino, roots, path))
+- fprintf(f,"mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu %s\n",
++ fprintf(f,"mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" %s\n",
+ (uint64_t) i->buf.mode,(uint64_t) i->buf.uid,(uint64_t) i->buf.gid,
+ (uint64_t) i->buf.nlink,(uint64_t) i->buf.rdev,path);
+ #else
+- fprintf(f,"dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n",
++ fprintf(f,"dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n",
+ (uint64_t) i->buf.dev,(uint64_t) i->buf.ino,(uint64_t) i->buf.mode,
+ (uint64_t) i->buf.uid,(uint64_t) i->buf.gid,(uint64_t) i->buf.nlink,
+ (uint64_t) i->buf.rdev);
+@@ -544,7 +544,7 @@
+
+ while(1){
+ #ifdef FAKEROOT_DB_PATH
+- r=scanf("mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu "DB_PATH_SCAN"\n",
++ r=scanf("mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" "DB_PATH_SCAN"\n",
+ &stmode, &stuid, &stgid, &stnlink, &strdev, &path);
+ if (r != 6)
+ break;
+@@ -559,7 +559,7 @@
+ stdev = path_st.st_dev;
+ stino = path_st.st_ino;
+ #else
+- r=scanf("dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n",
++ r=scanf("dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n",
+ &stdev, &stino, &stmode, &stuid, &stgid, &stnlink, &strdev);
+ if (r != 7)
+ break;
diff --git a/main/fakeroot/fakeroot-uclibc.patch b/main/fakeroot/fakeroot-uclibc.patch
new file mode 100644
index 0000000000..63708092d5
--- /dev/null
+++ b/main/fakeroot/fakeroot-uclibc.patch
@@ -0,0 +1,20 @@
+--- fakeroot-1.18.2.orig/libfakeroot.c
++++ fakeroot-1.18.2/libfakeroot.c
+@@ -1551,7 +1551,7 @@
+ #endif /* LIBFAKEROOT_DEBUGGING */
+ r=next_fts_read(ftsp);
+ if(r && r->fts_statp) { /* Should we bother checking fts_info here? */
+-# if defined(STAT64_SUPPORT) && !defined(__APPLE__)
++# if defined(STAT64_SUPPORT) && !defined(__APPLE__) && !defined(__UCLIBC__)
+ SEND_GET_STAT64(r->fts_statp, _STAT_VER);
+ # else
+ SEND_GET_STAT(r->fts_statp, _STAT_VER);
+@@ -1574,7 +1574,7 @@
+ first=next_fts_children(ftsp, options);
+ for(r = first; r; r = r->fts_link) {
+ if(r && r->fts_statp) { /* Should we bother checking fts_info here? */
+-# if defined(STAT64_SUPPORT) && !defined(__APPLE__)
++# if defined(STAT64_SUPPORT) && !defined(__APPLE__) && !defined(__UCLIBC__)
+ SEND_GET_STAT64(r->fts_statp, _STAT_VER);
+ # else
+ SEND_GET_STAT(r->fts_statp, _STAT_VER);
diff --git a/main/firefox/APKBUILD b/main/firefox/APKBUILD
index ebac2bb6c6..4ac9f722f4 100644
--- a/main/firefox/APKBUILD
+++ b/main/firefox/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=firefox
-pkgver=9.0.1
+pkgver=10.0.1
_pkgver=$pkgver
-_xulver=9.0.1
+_xulver=10.0.1
pkgrel=1
pkgdesc="firefox web browser"
url="http://www.firefox.com"
@@ -49,9 +49,12 @@ subpackages=""
source="http://releases.mozilla.org/pub/mozilla.org/${pkgname}/releases/${pkgver}/source/${pkgname}-${_pkgver}.source.tar.bz2
mozconfig
firefox-5.0-asciidel.patch
+ libvpx.patch
firefox.desktop
firefox-safe.desktop"
+options="!strip"
+
_builddir="${srcdir}/mozilla-release"
_mozappdir=/usr/lib/firefox-$pkgver
@@ -68,6 +71,8 @@ prepare() {
cp "${srcdir}/mozconfig" .mozconfig
echo "ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)" >> .mozconfig
+ echo "ac_add_options --enable-debug-symbols" >> .mozconfig
+ echo "ac_add_options --disable-install-strip" >>.mozconfig
}
build() {
@@ -111,8 +116,9 @@ __EOF__
chmod 755 "$pkgdir"/usr/bin/firefox
}
-md5sums="7cf2bd379792a9b232267c6a79680566 firefox-9.0.1.source.tar.bz2
+md5sums="265c53120fd923c742164b0002ebbf6c firefox-10.0.1.source.tar.bz2
3ba2cb7cda675e78eb0eeb0652ee3457 mozconfig
2328df219e042f6aaec361cbf83cf9e9 firefox-5.0-asciidel.patch
+1084155dd8d32c488dfcafff336d2634 libvpx.patch
ba96924ece1d77453e462429037a2ce5 firefox.desktop
6f38a5899034b7786cb1f75ad42032b8 firefox-safe.desktop"
diff --git a/main/firefox/libvpx.patch b/main/firefox/libvpx.patch
new file mode 100644
index 0000000000..503ac1bbcb
--- /dev/null
+++ b/main/firefox/libvpx.patch
@@ -0,0 +1,29 @@
+--- configure.in.orig
++++ ./configure.in
+@@ -5616,7 +5616,7 @@
+ [MOZ_NATIVE_LIBVPX_DEC_TEST=1],
+ ([--with-system-libvpx requested but symbol vpx_codec_dec_init_ver not found]))
+ if test -n "$MOZ_NATIVE_LIBVPX_DEC_TEST" ; then
+- AC_MSG_CHECKING([for libvpx version >= v0.9.7])
++ AC_MSG_CHECKING([for libvpx version >= v1.0.0])
+ dnl We need at least v0.9.7 to fix several crash bugs (for which we
+ dnl had local patches prior to v0.9.7).
+ dnl
+@@ -5629,7 +5629,7 @@
+ dnl v0.9.6 one to check for.
+ AC_TRY_COMPILE([
+ #include <vpx/vpx_decoder.h>
+- #if !defined(VPX_CODEC_USE_INPUT_PARTITION)
++ #if !defined(VPX_CODEC_USE_INPUT_FRAGMENTS)
+ #error "test failed."
+ #endif
+ ],
+@@ -5639,7 +5639,7 @@
+ MOZ_LIBVPX_INCLUDES="-I${LIBVPX_DIR}/include"
+ MOZ_LIBVPX_LIBS="-L${LIBVPX_DIR}/lib -lvpx"],
+ [AC_MSG_RESULT([no])
+- AC_MSG_ERROR([--with-system-libvpx requested but it is not v0.9.7 or later])])
++ AC_MSG_ERROR([--with-system-libvpx requested but it is not v1.0.0 or later])])
+ fi
+ CFLAGS=$_SAVE_CFLAGS
+ LDFLAGS=$_SAVE_LDFLAGS
diff --git a/main/freerdp/APKBUILD b/main/freerdp/APKBUILD
index dfd5099dfe..8c6d169eee 100644
--- a/main/freerdp/APKBUILD
+++ b/main/freerdp/APKBUILD
@@ -1,33 +1,55 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=freerdp
-pkgver=0.8.2
-pkgrel=2
+pkgver=1.0.1
+pkgrel=0
pkgdesc="Free RDP client"
url="http://freerdp.sourceforge.net"
arch="all"
license="GPL"
depends=""
-subpackages="$pkgname-dev $pkgname-doc libfreerdp"
-makedepends="openssl-dev libxcursor-dev cups-dev alsa-lib-dev"
-source="http://downloads.sourceforge.net/project/freerdp/${pkgver%.*}/freerdp-$pkgver.tar.gz"
+subpackages="$pkgname-dev $pkgname-plugins $pkgname-libs"
+makedepends="openssl-dev libxcursor-dev cups-dev alsa-lib-dev ffmpeg-dev
+ cups-dev libxkbfile-dev libxinerama-dev libxv-dev libxdamage-dev
+ wget cmake"
+source="https://github.com/downloads/FreeRDP/FreeRDP/FreeRDP-$pkgver.tar.gz
+ pluginpath.patch"
+
+prepare() {
+ cd "$srcdir"/FreeRDP-FreeRDP-*
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
-_builddir="$srcdir"/$pkgname-$pkgver
build() {
- cd "$_builddir"
- ./configure --prefix=/usr
+ cd "$srcdir"/FreeRDP-FreeRDP-*
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ || return 1
make
}
package() {
- cd "$_builddir"
+ cd "$srcdir"/FreeRDP-FreeRDP-*
make DESTDIR="$pkgdir" install || return 1
- rm "$pkgdir"/usr/lib/*.la || return 1
}
-libfreerdp() {
+libs() {
pkgdesc="Free RDP client - Libraries"
+ replaces="libfreerdp"
mkdir -p "$subpkgdir"/usr
mv "$pkgdir"/usr/share "$pkgdir"/usr/lib "$subpkgdir"/usr/
}
-md5sums="cde590336292c977dfc1b4b7badf24d2 freerdp-0.8.2.tar.gz"
+plugins() {
+ pkgdesc="Free RDP client - plugins"
+ replaces="libfreerdp"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/freerdp "$subpkgdir"/usr/lib/
+}
+
+md5sums="1282189a87893bf196da20382e45f6c1 FreeRDP-1.0.1.tar.gz
+f18b6a675341d8e9755941afd4fc8d82 pluginpath.patch"
diff --git a/main/freerdp/pluginpath.patch b/main/freerdp/pluginpath.patch
new file mode 100644
index 0000000000..4a9349b2c0
--- /dev/null
+++ b/main/freerdp/pluginpath.patch
@@ -0,0 +1,11 @@
+--- ./CMakeLists.txt.orig
++++ ./CMakeLists.txt
+@@ -127,7 +127,7 @@
+ set(FREERDP_KEYMAP_PATH "${CMAKE_INSTALL_PREFIX}/freerdp/keymaps")
+
+ # Path to put plugins
+-set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/freerdp")
++set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/freerdp")
+
+ # Include directories
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
diff --git a/main/fuse/APKBUILD b/main/fuse/APKBUILD
index ce9657e38a..f400e18659 100644
--- a/main/fuse/APKBUILD
+++ b/main/fuse/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=fuse
-pkgver=2.8.6
+pkgver=2.8.7
pkgrel=0
pkgdesc="A library that makes it possible to implement a filesystem in a userspace program."
url="http://fuse.sourceforge.net/"
@@ -58,5 +58,5 @@ _EOF_
}
-md5sums="eaa32c8cef56a981656a786f258a002a fuse-2.8.6.tar.gz
+md5sums="001a12d8f5b4db461265e9661c7a5de4 fuse-2.8.7.tar.gz
5983726cfabf0830dffbbbf9a3abcddc fuse.initd"
diff --git a/main/garcon/APKBUILD b/main/garcon/APKBUILD
index 1601844d4a..951e2b462e 100644
--- a/main/garcon/APKBUILD
+++ b/main/garcon/APKBUILD
@@ -1,14 +1,14 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=garcon
-pkgver=0.1.9
+pkgver=0.1.10
pkgrel=0
pkgdesc="a freedesktop.org compliant menu implementation based on GLib and GIO"
url="http://www.xfce.org/"
arch="all"
license="GPL-2"
-subpackages="$pkgname-dev $pkgname-doc"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
depends=
-makedepends="glib-dev intltool libxfce4util-dev"
+makedepends="glib-dev intltool libxfce4util-dev"
install=
source="http://archive.xfce.org/src/libs/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2"
depends_dev="glib-dev"
@@ -30,4 +30,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la
}
-md5sums="a3ca1e54ad731c98f688900f6398fc20 garcon-0.1.9.tar.bz2"
+md5sums="e53514e79c4da2631dd74994452d3c96 garcon-0.1.10.tar.bz2"
diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD
index ce50947688..379d9ae024 100644
--- a/main/gcc/APKBUILD
+++ b/main/gcc/APKBUILD
@@ -7,7 +7,7 @@ _specs_gcc_ver=4.4.3
_uclibc_abiver=0.9.32
-pkgrel=4
+pkgrel=5
pkgdesc="The GNU Compiler Collection"
url="http://gcc.gnu.org"
arch="all"
@@ -235,6 +235,8 @@ package() {
mkdir -p "$pkgdir"/usr/share/gdb/python/auto-load/usr/lib
mv "$pkgdir"/usr/lib/*-gdb.py \
"$pkgdir"/usr/share/gdb/python/auto-load/usr/lib/
+
+ paxctl -c -pmrs "$pkgdir"/usr/libexec/gcc/*/*/cc1 || return 1
}
libcxx() {
@@ -254,6 +256,8 @@ gpp() {
"$subpkgdir"/usr/lib \
mv "$pkgdir/$libexec/cc1plus" "$subpkgdir/$libexec/"
+ paxctl -c -pmrs "$subpkgdir/$libexec/cc1plus" || return 1
+
mv "$pkgdir"/usr/lib/*++* "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/include/c++ "$subpkgdir"/usr/include/
mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
@@ -284,7 +288,7 @@ libgomp() {
java() {
pkgdesc="Java support for GCC"
- paxctl -c -p -e -m "$pkgdir"/usr/libexec/gcc/*/*/ecj1 || return 1
+ paxctl -c -pm "$pkgdir"/usr/libexec/gcc/*/*/ecj1 || return 1
mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib
cd "$pkgdir"/usr/bin
mv gcj gcj-dbtool gjavah gcjh jcf-dump "$subpkgdir"/usr/bin/
@@ -304,7 +308,7 @@ libgcj() {
pkgdesc="Java runtime library for gcc"
mkdir -p "$subpkgdir"/usr/bin
cd "$pkgdir"/usr/bin
- paxctl -c -m "$pkgdir"/usr/bin/gij || return 1
+ paxctl -c -pmE "$pkgdir"/usr/bin/gij || return 1
mv aot-compile gappletviewer gc-analyze gij gjar gjarsigner gkeytool\
gnative2ascii gorbd grmic grmid grmiregistry gserialver \
gtnameserv i486-alpine-linux-uclibc-gcj jv-convert \
diff --git a/main/lame/APKBUILD b/main/lame/APKBUILD
index 5a718e7423..aaa9e533ff 100644
--- a/main/lame/APKBUILD
+++ b/main/lame/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=lame
-pkgver=3.99.3
+pkgver=3.99.4
_ver=${pkgver%.*}
pkgrel=0
pkgdesc="An MP3 encoder and graphical frame analyzer"
@@ -53,4 +53,4 @@ package() {
fi
}
-md5sums="5ad31e33e70455eb3a7b79a5dd934fce lame-3.99.3.tar.gz"
+md5sums="e54d7847bfd01f18d56c07e65147d75a lame-3.99.4.tar.gz"
diff --git a/main/libdrm/APKBUILD b/main/libdrm/APKBUILD
index 568efad4ff..ea58af0287 100644
--- a/main/libdrm/APKBUILD
+++ b/main/libdrm/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libdrm
-pkgver=2.4.30
+pkgver=2.4.31
pkgrel=0
pkgdesc="Userspace interface to kernel DRM services"
url="http://dri.freedesktop.org/"
@@ -39,4 +39,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="9f57a68b2c0836b55ebcbc241f6ca175 libdrm-2.4.30.tar.bz2"
+md5sums="b8cf744ec113c6028fe0975b1133b649 libdrm-2.4.31.tar.bz2"
diff --git a/main/libmicrohttpd/APKBUILD b/main/libmicrohttpd/APKBUILD
index 608720fb35..3c6b01aacf 100644
--- a/main/libmicrohttpd/APKBUILD
+++ b/main/libmicrohttpd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libmicrohttpd
-pkgver=0.9.18
+pkgver=0.9.19
pkgrel=0
pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application."
url="http://www.gnu.org/software/libmicrohttpd/"
@@ -43,4 +43,4 @@ package() {
"$pkgdir"/usr/include/plibc.h
}
-md5sums="af0f282b92413f414cb6daf2d2f618c7 libmicrohttpd-0.9.18.tar.gz"
+md5sums="0f4c55ba224ce75b3b993b558e072a6b libmicrohttpd-0.9.19.tar.gz"
diff --git a/main/libpng/APKBUILD b/main/libpng/APKBUILD
index 0f0c01eeab..ffc668c7f1 100644
--- a/main/libpng/APKBUILD
+++ b/main/libpng/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libpng
-pkgver=1.5.5
-pkgrel=1
+pkgver=1.5.8
+pkgrel=0
pkgdesc="Portable Network Graphics library"
url="http://www.libpng.org/"
arch="all"
@@ -12,7 +12,7 @@ depends_dev="zlib-dev"
makedepends="$depends_dev gawk"
subpackages="$pkgname-doc $pkgname-dev"
source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
- http://downloads.sourceforge.net/project/libpng-apng/libpng-devel/$pkgver/libpng-$pkgver-apng.patch.gz
+ http://downloads.sourceforge.net/project/libpng-apng/libpng15/$pkgver/libpng-$pkgver-apng.patch.gz
"
_builddir="$srcdir/$pkgname-$pkgver"
@@ -36,5 +36,5 @@ package() {
rm -f "$pkgdir"/usr/lib/*.la
}
-md5sums="003bcac022125029bae4818d74c42a94 libpng-1.5.5.tar.gz
-4c4e8c1b5beacc3e0cf8caa84489d223 libpng-1.5.5-apng.patch.gz"
+md5sums="dc2b84a1c077531ceb5bf9d79ad889a4 libpng-1.5.8.tar.gz
+158772fecdc6d8591bcd382c04da334c libpng-1.5.8-apng.patch.gz"
diff --git a/main/libssh2/APKBUILD b/main/libssh2/APKBUILD
index 5c26b6956d..c0cf6aa33f 100644
--- a/main/libssh2/APKBUILD
+++ b/main/libssh2/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libssh2
-pkgver=1.3.0
+pkgver=1.4.0
pkgrel=0
pkgdesc="library for accessing ssh1/ssh2 protocol servers"
url="http://libssh2.org/"
@@ -42,4 +42,4 @@ package() {
rm -f "$pkgdir"/usr/lib/*.la
}
-md5sums="6425331899ccf1015f1ed79448cb4709 libssh2-1.3.0.tar.gz"
+md5sums="ee670161d8c5dff93ae84a3f34f15669 libssh2-1.4.0.tar.gz"
diff --git a/main/libvpx/APKBUILD b/main/libvpx/APKBUILD
index d421980b5a..8a17564eb8 100644
--- a/main/libvpx/APKBUILD
+++ b/main/libvpx/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libvpx
-pkgver=0.9.7_p1
+pkgver=1.0.0
_ver=${pkgver/_/-}
pkgrel=0
pkgdesc="Library for the vp8 codec"
@@ -37,4 +37,4 @@ package() {
chmod 644 "$pkgdir"/usr/include/vpx/*.h
}
-md5sums="bd888cffde8d9c3061c7fd719b0cd4ce libvpx-v0.9.7-p1.tar.bz2"
+md5sums="d987b5140412edd37d2c6b10c29ad484 libvpx-v1.0.0.tar.bz2"
diff --git a/main/mpd/APKBUILD b/main/mpd/APKBUILD
index cb8a52d032..ca567592dd 100644
--- a/main/mpd/APKBUILD
+++ b/main/mpd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Sebastian Wicki <gandro@gmx.net>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mpd
-pkgver=0.16.6
+pkgver=0.16.7
pkgrel=0
pkgdesc="Music daemon that plays MP3, FLAC, and Ogg Vorbis files"
url="http://musicpd.org"
@@ -51,6 +51,6 @@ package() {
"$pkgdir"/var/lib/mpd/playlists \
"$pkgdir"/var/lib/mpd/music
}
-md5sums="5489dd327fba12c67f01558d2cfa6d57 mpd-0.16.6.tar.bz2
+md5sums="3d0e7c36646e80386b32966bd4268e8d mpd-0.16.7.tar.bz2
2ccbb38edc6dff5b5740760837f3005a mpd.initd
dbd301041953a5cf9c2b9de8f23eb6bb mpd.confd"
diff --git a/main/net-snmp/APKBUILD b/main/net-snmp/APKBUILD
index 3928e0b962..73f902cc98 100644
--- a/main/net-snmp/APKBUILD
+++ b/main/net-snmp/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
pkgname=net-snmp
pkgver=5.7.1
-pkgrel=1
+pkgrel=2
pkgdesc="Simple Network Management Protocol"
url="http://www.net-snmp.org/"
arch="all"
@@ -34,6 +34,10 @@ prepare() {
;;
esac
done
+
+ # Allow tmpfs volume size monitoring
+ # Ref #932
+ sed -e 's#"tmpfs",#/* "tmpfs", */#g' -i agent/mibgroup/host/hr_filesys.c
}
build() {
diff --git a/main/nload/APKBUILD b/main/nload/APKBUILD
index d969b6830d..7d62326281 100644
--- a/main/nload/APKBUILD
+++ b/main/nload/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jeff Bilyk <jbilyk at gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=nload
-pkgver=0.7.3
+pkgver=0.7.4
pkgrel=0
pkgdesc="Console network traffic and bandwidth monitor"
url="http://www.roland-riegel.de/nload"
@@ -29,4 +29,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-md5sums="9b97c37fe1474f1da42f265fead24081 nload-0.7.3.tar.gz"
+md5sums="3c733c528f244ca5a4f76bf185729c39 nload-0.7.4.tar.gz"
diff --git a/main/open-vm-tools-grsec/APKBUILD b/main/open-vm-tools-grsec/APKBUILD
index 14cddf75ee..7f4cfbe6e6 100644
--- a/main/open-vm-tools-grsec/APKBUILD
+++ b/main/open-vm-tools-grsec/APKBUILD
@@ -2,10 +2,10 @@
_flavor=grsec
_realname=open-vm-tools
-_mypkgrel=0
+_mypkgrel=1
-_realver=2011.11.20
-_realsubver=535097
+_realver=2011.12.20
+_realsubver=562307
_kver=3.2.5
_kpkgrel=0
@@ -41,7 +41,6 @@ depends="linux-${_flavor}=${_kernelver}"
makedepends="glib-dev gettext-dev linux-${_flavor}-dev=${_kernelver}"
source="http://downloads.sourceforge.net/open-vm-tools/open-vm-tools-$_realver-$_realsubver.tar.gz
vmware-modules.initd
- vmci_driver_c.patch
"
install_if="linux-${_flavor}=${_kernelver} open-vm-tools"
@@ -81,6 +80,5 @@ package() {
done
}
-md5sums="428d803f6fe3424af88768fc2f88f9ae open-vm-tools-2011.11.20-535097.tar.gz
-afba2c3487d0b12cee80eb2f04b05ba1 vmware-modules.initd
-993aac6dce319e41c1b922b9672c39bc vmci_driver_c.patch"
+md5sums="529c15cb6cfa2972a96664c504dee560 open-vm-tools-2011.12.20-562307.tar.gz
+afba2c3487d0b12cee80eb2f04b05ba1 vmware-modules.initd"
diff --git a/main/open-vm-tools-vserver/APKBUILD b/main/open-vm-tools-vserver/APKBUILD
index 6170040699..19d5cfc7ba 100644
--- a/main/open-vm-tools-vserver/APKBUILD
+++ b/main/open-vm-tools-vserver/APKBUILD
@@ -8,8 +8,8 @@ _kpkgrel=0
_myvsver=vs2.3.2.6
_mypkgrel=0
-_realver=2011.11.20
-_realsubver=535097
+_realver=2011.12.20
+_realsubver=562307
# source open-vm-tools version
@@ -37,7 +37,7 @@ pkgrel=$(($_kpkgrel + $_mypkgrel))
pkgdesc="The Open Virtual Machine Tools are the open source implementation of VMware Tools."
url="http://open-vm-tools.sourceforge.net/"
-arch=""
+arch="all"
license="LGPL"
subpackages=""
depends="linux-${_flavor}=${_kernelver}"
@@ -78,5 +78,5 @@ package() {
done
}
-md5sums="428d803f6fe3424af88768fc2f88f9ae open-vm-tools-2011.11.20-535097.tar.gz
+md5sums="529c15cb6cfa2972a96664c504dee560 open-vm-tools-2011.12.20-562307.tar.gz
afba2c3487d0b12cee80eb2f04b05ba1 vmware-modules.initd"
diff --git a/main/open-vm-tools/APKBUILD b/main/open-vm-tools/APKBUILD
index b5093e01e6..1cf921004c 100644
--- a/main/open-vm-tools/APKBUILD
+++ b/main/open-vm-tools/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=open-vm-tools
-pkgver=2011.11.20
-_pkgsubver=535097
+pkgver=2011.12.20
+_pkgsubver=562307
pkgrel=0
pkgdesc="The Open Virtual Machine Tools are the open source implementation of VMware Tools."
url="http://open-vm-tools.sourceforge.net/"
@@ -12,7 +12,8 @@ install="$pkgname.pre-install"
makedepends="procps-dev libdnet-dev icu-dev glib-dev pkgconfig bash
libtirpc-dev rpcgen icu-dev automake autoconf
gtk+-dev libxext-dev libxinerama-dev libxtst-dev gtkmm-dev
- libnotify-dev libxrandr-dev libxcomposite-dev
+ libnotify-dev libxrandr-dev libxcomposite-dev libice-dev libsm-dev
+ fuse-dev
"
source="http://downloads.sourceforge.net/open-vm-tools/open-vm-tools-$pkgver-$_pkgsubver.tar.gz
codeset-uclibc.patch
@@ -80,7 +81,7 @@ gtk() {
"$subpkgdir"/usr/lib/open-vm-tools/plugins/
}
-md5sums="428d803f6fe3424af88768fc2f88f9ae open-vm-tools-2011.11.20-535097.tar.gz
+md5sums="529c15cb6cfa2972a96664c504dee560 open-vm-tools-2011.12.20-562307.tar.gz
82840b6bed002284b9bd2358707ee826 codeset-uclibc.patch
89c7449323ddac4666b73a8467baf95a iconv-uclibc.patch
30a4161baf6274ac9cceb879460cd894 uclibc-stubs.patch
diff --git a/main/openjdk6/APKBUILD b/main/openjdk6/APKBUILD
index 27c8d9ec51..c819deecf5 100644
--- a/main/openjdk6/APKBUILD
+++ b/main/openjdk6/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openjdk6
-pkgver=1.6.0_p22
-icedteaver=1.10.4
-pkgrel=4
+pkgver=1.6.0_p24
+icedteaver=1.11
+pkgrel=0
pkgdesc="Sun OpenJDK 6 via IcedTea"
url="http://icedtea.classpath.org/"
arch="all"
@@ -13,25 +13,21 @@ makedepends="java-gcj-compat findutils tar zip paxctl gawk pkgconfig util-linux-
autoconf automake nss-dev cups-dev jpeg-dev giflib-dev libpng-dev libxt-dev
libxp-dev libxtst-dev libxinerama-dev libiconv-dev
libxrender-dev alsa-lib-dev freetype-dev xulrunner-dev
- gtk+2.0-dev ca-certificates"
+ gtk+2.0-dev ca-certificates libxslt"
install=""
subpackages="$pkgname-jre-lib:jrelib $pkgname-jre $pkgname-jre-base:jrebase
$pkgname-doc:doc"
BOOTSTRAP_JAVA_HOME=/usr/lib/jvm/java-1.5-gcj/
-OPENJDK_VERSION=b22
-OPENJDK_DATE=28_feb_2011
-XALAN2_VER=2_7_1
-XERCES_VER=2.9.0
+OPENJDK_VERSION=b24
+OPENJDK_DATE=14_nov_2011
RHINO_VER=1_7R3
ANT_VER=1.8.2
-JAXWS_DROP_ZIP=jdk6-jaxws-b20.zip
-JAXP_DROP_ZIP=jaxp144_01.zip
+JAXWS_DROP_ZIP=jdk6-jaxws2_1_6-2011_06_13.zip
+JAXP_DROP_ZIP=jaxp144_03.zip
JAF_DROP_ZIP=jdk6-jaf-b20.zip
source="http://download.java.net/openjdk/jdk6/promoted/$OPENJDK_VERSION/openjdk-6-src-$OPENJDK_VERSION-$OPENJDK_DATE.tar.gz
http://icedtea.classpath.org/download/source/icedtea6-$icedteaver.tar.gz
http://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VER-bin.tar.gz
- http://archive.apache.org/dist/xml/xalan-j/xalan-j_$XALAN2_VER-bin-2jars.tar.gz
- http://archive.apache.org/dist/xml/xerces-j/Xerces-J-bin.$XERCES_VER.tar.gz
ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino$RHINO_VER.zip
http://icedtea.classpath.org/download/drops/$JAXWS_DROP_ZIP
http://icedtea.classpath.org/download/drops/$JAXP_DROP_ZIP
@@ -57,8 +53,6 @@ unpack() {
msg "Unpacking sources..."
tar -C "$srcdir" -zxf icedtea6-$icedteaver.tar.gz || return 1
tar -C "$srcdir" -zxf apache-ant-$ANT_VER-bin.tar.gz || return 1
- tar -C "$srcdir" -zxf xalan-j_$XALAN2_VER-bin-2jars.tar.gz || return 1
- tar -C "$srcdir" -zxf Xerces-J-bin.$XERCES_VER.tar.gz || return 1
unzip -o -q "rhino$RHINO_VER.zip" -d "$srcdir" || return 1
}
@@ -67,6 +61,8 @@ prepare() {
# Busybox sha256 does not support longopts
sed -e "s/--check/-c/g" -i Makefile.am
+ # gcj is broke after strict linking
+ sed -e "s/-o native-ecj/-o native-ecj -lgcj/g" -i Makefile.am
cp ../icedtea-*.patch patches
patch -p0 < ../build-paxctl.patch
@@ -102,9 +98,6 @@ build() {
--with-jaxws-drop-zip=$srcdir/$JAXWS_DROP_ZIP \
--with-jdk-home=$BOOTSTRAP_JAVA_HOME \
--with-ant-home=$srcdir/apache-ant-$ANT_VER \
- --with-xalan2-jar=$srcdir/xalan-j_$XALAN2_VER/xalan.jar \
- --with-xalan2-serializer-jar=$srcdir/xalan-j_$XALAN2_VER/serializer.jar \
- --with-xerces2-jar=$srcdir/xerces-${XERCES_VER//./_}/xercesImpl.jar \
--with-rhino=$srcdir/rhino$RHINO_VER/js.jar \
--with-pkgversion="Alpine ${pkgver}-r${pkgrel}" \
|| return 1
@@ -146,9 +139,11 @@ jrebase() {
# rest of the jre subdir (which were not taken by -jre subpkg)
mv "$pkgdir"/$INSTALL_BASE/jre "$subpkgdir"/$INSTALL_BASE
- # java vm needs mprotect disabled
- paxctl -c -m "$subpkgdir"/$INSTALL_BASE/bin/java
- paxctl -c -m "$subpkgdir"/$INSTALL_BASE/jre/bin/java
+ # all java stuff seems to need mprotect and randomization off
+ # or otherwise the vm fails to allocate enough memory
+ paxctl -c -mr \
+ "$subpkgdir"/$INSTALL_BASE/bin/* \
+ "$subpkgdir"/$INSTALL_BASE/jre/bin/*
}
jre() {
@@ -174,16 +169,14 @@ doc() {
mv "$pkgdir"/$INSTALL_BASE/man "$subpkgdir"/$INSTALL_BASE/
}
-md5sums="2d2bbbb0f9b81f1fec41ec730da8a933 openjdk-6-src-b22-28_feb_2011.tar.gz
-c381d987f8d2facece8c54e98fd547f8 icedtea6-1.10.4.tar.gz
+md5sums="0eabdd360169144336e50081b8d01001 openjdk-6-src-b24-14_nov_2011.tar.gz
+10c1cea1d24c064572abfe9687567948 icedtea6-1.11.tar.gz
afb0c7950a663f94e65da9f3be676d8f apache-ant-1.8.2-bin.tar.gz
-3ccda39bcd08b780436dfd2f22fb23d5 xalan-j_2_7_1-bin-2jars.tar.gz
-138f2d1cddd823281d5dfb700f2bd7d4 Xerces-J-bin.2.9.0.tar.gz
99d94103662a8d0b571e247a77432ac5 rhino1_7R3.zip
-91adfd41e6f001add4f92ae31216b1e3 jdk6-jaxws-b20.zip
-ef7a8b3624ea904bf584bc46d79b5e75 jaxp144_01.zip
+8fd91b09b643a19a912b8a75e7a7a9d5 jdk6-jaxws2_1_6-2011_06_13.zip
+9eea471ad474040265c688858fcf09aa jaxp144_03.zip
bc95c133620bd68c161cac9891592901 jdk6-jaf-b20.zip
-6379a15ae0f4c374c34b908d80e8e4a1 build-paxctl.patch
+3ed492a33c1439ead4ada0462dd621ca build-paxctl.patch
dc6a1e28a97d897d7a1057c11696727d icedtea-hotspot-uclibc-fixes.patch
7c0814181e5adc0763c5c0a24b01d4cb icedtea-jdk-iconv-uclibc.patch
dae2ba8b87e2106b53974ace07e4ca72 icedtea-jdk-execinfo.patch
diff --git a/main/openjdk6/build-paxctl.patch b/main/openjdk6/build-paxctl.patch
index 9cd4eebda3..4461a380c7 100644
--- a/main/openjdk6/build-paxctl.patch
+++ b/main/openjdk6/build-paxctl.patch
@@ -4,7 +4,7 @@
mkdir -p bootstrap
rm -f $(BOOT_DIR)
ln -sf $(ICEDTEA_HOME) $(BOOT_DIR); \
-+ paxctl -c -m $(BOOT_DIR)/bin/java ; \
++ paxctl -c -mr $(BOOT_DIR)/bin/* $(BOOT_DIR)/jre/bin/* ; \
if ! $(BOOT_DIR)/bin/java -version ; \
then \
echo "$(BOOT_DIR)/bin/java" \
diff --git a/main/orc/APKBUILD b/main/orc/APKBUILD
index 3a20abfda8..26700978a2 100644
--- a/main/orc/APKBUILD
+++ b/main/orc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=orc
-pkgver=0.4.14
+pkgver=0.4.16
pkgrel=0
pkgdesc="The Oil Run-time Compiler"
url="http://code.entropywave.com/projects/orc/"
@@ -54,4 +54,4 @@ compiler() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-md5sums="6b3ff209e9763ebe40e152538884bd71 orc-0.4.14.tar.gz"
+md5sums="e482932e544c847761449b106ecbc483 orc-0.4.16.tar.gz"
diff --git a/main/ortp/APKBUILD b/main/ortp/APKBUILD
index a9f059dbd4..e32aff0353 100644
--- a/main/ortp/APKBUILD
+++ b/main/ortp/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ortp
-pkgver=0.16.5
+pkgver=0.18.0
pkgrel=0
pkgdesc="A C library implementing the RTP protocol (RFC3550)"
url="http://www.linphone.org/index.php/code_review/ortp"
@@ -12,8 +12,6 @@ makedepends=""
install=""
subpackages="$pkgname-dev"
source="http://nongnu.askapache.com/linphone/ortp/sources/ortp-$pkgver.tar.gz
- ortp-0.16.1-retval.patch
- ortp-0.16.1-unusedvar.patch
"
_builddir="$srcdir"/ortp-$pkgver
@@ -42,6 +40,4 @@ package() {
rm -f "$pkgdir"/usr/lib/*.la
}
-md5sums="94546901d14b85f97342f4ecf39489b1 ortp-0.16.5.tar.gz
-cdd971e04073b3de2e935e6ff502110f ortp-0.16.1-retval.patch
-f3323a01f3d82279c3ce5ed1bb1969c5 ortp-0.16.1-unusedvar.patch"
+md5sums="098e984f9325d9e2648bfd9863eed501 ortp-0.18.0.tar.gz"
diff --git a/main/ortp/ortp-0.16.1-retval.patch b/main/ortp/ortp-0.16.1-retval.patch
deleted file mode 100644
index 679f8d7d49..0000000000
--- a/main/ortp/ortp-0.16.1-retval.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up ortp-0.16.1/src/stun.c.retval ortp-0.16.1/src/stun.c
---- ortp-0.16.1/src/stun.c.retval 2010-09-04 10:14:53.000000000 +0200
-+++ ortp-0.16.1/src/stun.c 2010-09-04 10:15:10.000000000 +0200
-@@ -1191,6 +1191,7 @@ stunRand(void)
- int maxFd=0;
- struct timeval tv;
- int e;
-+ int res;
-
- int fd=open("/dev/random",O_RDONLY);
-
-@@ -1213,7 +1214,7 @@ stunRand(void)
- closesocket(fd);
- return random();
- }
-- read(fd,&tick,sizeof(tick));
-+ res = read(fd,&tick,sizeof(tick));
- closesocket(fd);
- }
- #else
diff --git a/main/ortp/ortp-0.16.1-unusedvar.patch b/main/ortp/ortp-0.16.1-unusedvar.patch
deleted file mode 100644
index 0e5d18c868..0000000000
--- a/main/ortp/ortp-0.16.1-unusedvar.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -up ortp-0.16.1/src/stun.c.unusedvar ortp-0.16.1/src/stun.c
---- ortp-0.16.1/src/stun.c.unusedvar 2011-03-15 12:35:33.000000000 +0000
-+++ ortp-0.16.1/src/stun.c 2011-03-15 12:35:33.000000000 +0000
-@@ -1191,7 +1191,7 @@ stunRand(void)
- int maxFd=0;
- struct timeval tv;
- int e;
-- int res;
-+ __attribute__((__unused__)) int res;
-
- int fd=open("/dev/random",O_RDONLY);
-
-@@ -1985,7 +1985,7 @@ stunSendTest( Socket myFd, StunAddress4
-
- bool_t changePort=FALSE;
- bool_t changeIP=FALSE;
-- bool_t discard=FALSE;
-+ __attribute__((__unused__)) bool_t discard=FALSE;
-
- StunMessage req;
- char buf[STUN_MAX_MESSAGE_SIZE];
-@@ -2154,7 +2154,7 @@ stunNatType( StunAddress4 *dest,
-
- bool_t respTestI=FALSE;
- bool_t isNat=TRUE;
-- StunAddress4 testIchangedAddr;
-+ __attribute__((__unused__)) StunAddress4 testIchangedAddr;
- StunAddress4 testImappedAddr;
- bool_t respTestI2=FALSE;
- bool_t mappedIpSame = TRUE;
-diff -up ortp-0.16.1/src/tests/rtprecv.c.unusedvar ortp-0.16.1/src/tests/rtprecv.c
---- ortp-0.16.1/src/tests/rtprecv.c.unusedvar 2011-03-15 12:36:28.000000000 +0000
-+++ ortp-0.16.1/src/tests/rtprecv.c 2011-03-15 12:36:53.000000000 +0000
-@@ -162,7 +162,7 @@ int main(int argc, char*argv[])
- if (err>0) stream_received=1;
- /* this is to avoid to write to disk some silence before the first RTP packet is returned*/
- if ((stream_received) && (err>0)) {
-- size_t ret = fwrite(buffer,1,err,outfile);
-+ __attribute__((__unused__)) size_t ret = fwrite(buffer,1,err,outfile);
- if (sound_fd>0)
- ret = write(sound_fd,buffer,err);
- }
diff --git a/testing/perl-async-mergepoint/APKBUILD b/main/perl-async-mergepoint/APKBUILD
index 9d9300c86f..9d9300c86f 100644
--- a/testing/perl-async-mergepoint/APKBUILD
+++ b/main/perl-async-mergepoint/APKBUILD
diff --git a/main/perl-class-load/APKBUILD b/main/perl-class-load/APKBUILD
index 0591ca7763..c979053cc6 100644
--- a/main/perl-class-load/APKBUILD
+++ b/main/perl-class-load/APKBUILD
@@ -1,17 +1,17 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-class-load
-pkgver=0.06
+pkgver=0.13
pkgrel=0
pkgdesc="Class::Load perl module"
url="http://search.cpan.org/dist/Class-Load/"
arch="noarch"
license="GPLv2 or Artistic"
-depends="perl perl-test-fatal"
+depends="perl perl-test-fatal perl-data-optlist perl-module-runtime perl-package-stash"
makedepends="perl-dev"
install=""
subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/S/SA/SARTAK/Class-Load-$pkgver.tar.gz"
+source="http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Class-Load-$pkgver.tar.gz"
_builddir="$srcdir"/Class-Load-$pkgver
prepare() {
@@ -36,4 +36,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="5aea2e7c66e69dafdbfedc00e93f9f46 Class-Load-0.06.tar.gz"
+md5sums="d26a8c6da4e12d72d9f06a47c89c6a73 Class-Load-0.13.tar.gz"
diff --git a/testing/perl-cps/APKBUILD b/main/perl-cps/APKBUILD
index 1b1aaab0af..1b1aaab0af 100644
--- a/testing/perl-cps/APKBUILD
+++ b/main/perl-cps/APKBUILD
diff --git a/testing/perl-dist-checkconflicts/APKBUILD b/main/perl-dist-checkconflicts/APKBUILD
index 90072dcced..90072dcced 100644
--- a/testing/perl-dist-checkconflicts/APKBUILD
+++ b/main/perl-dist-checkconflicts/APKBUILD
diff --git a/testing/perl-heap/APKBUILD b/main/perl-heap/APKBUILD
index 2bcd88ac8e..2bcd88ac8e 100644
--- a/testing/perl-heap/APKBUILD
+++ b/main/perl-heap/APKBUILD
diff --git a/testing/perl-io-async/APKBUILD b/main/perl-io-async/APKBUILD
index a5e6d15416..a5e6d15416 100644
--- a/testing/perl-io-async/APKBUILD
+++ b/main/perl-io-async/APKBUILD
diff --git a/testing/perl-module-runtime/APKBUILD b/main/perl-module-runtime/APKBUILD
index 26eff5e3c3..26eff5e3c3 100644
--- a/testing/perl-module-runtime/APKBUILD
+++ b/main/perl-module-runtime/APKBUILD
diff --git a/testing/perl-net-async-http/APKBUILD b/main/perl-net-async-http/APKBUILD
index 0b4c79fac1..0b4c79fac1 100644
--- a/testing/perl-net-async-http/APKBUILD
+++ b/main/perl-net-async-http/APKBUILD
diff --git a/main/perl-net-snmp/APKBUILD b/main/perl-net-snmp/APKBUILD
index c3757a5033..71d35b69d2 100644
--- a/main/perl-net-snmp/APKBUILD
+++ b/main/perl-net-snmp/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
pkgname=perl-net-snmp
_pkgreal=Net-SNMP
-pkgver=v6.0.1
+pkgver=6.0.1
pkgrel=0
pkgdesc="Object oriented interface to SNMP"
url="http://search.cpan.org/dist/Net-SNMP/"
@@ -14,9 +14,9 @@ cpanmakedepends=""
depends="$cpandepends"
makedepends="perl-dev $cpanmakedepends"
subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/D/DT/DTOWN/$_pkgreal-$pkgver.tar.gz"
+source="http://search.cpan.org/CPAN/authors/id/D/DT/DTOWN/$_pkgreal-v$pkgver.tar.gz"
-_builddir="$srcdir/$_pkgreal-$pkgver"
+_builddir="$srcdir/$_pkgreal-v$pkgver"
prepare() {
cd "$_builddir"
diff --git a/testing/perl-package-deprecationmanager/APKBUILD b/main/perl-package-deprecationmanager/APKBUILD
index 78f1b3f868..78f1b3f868 100644
--- a/testing/perl-package-deprecationmanager/APKBUILD
+++ b/main/perl-package-deprecationmanager/APKBUILD
diff --git a/testing/perl-package-stash/APKBUILD b/main/perl-package-stash/APKBUILD
index 8085e9162d..8085e9162d 100644
--- a/testing/perl-package-stash/APKBUILD
+++ b/main/perl-package-stash/APKBUILD
diff --git a/testing/perl-params-classify/APKBUILD b/main/perl-params-classify/APKBUILD
index 2cabc8cdfe..2cabc8cdfe 100644
--- a/testing/perl-params-classify/APKBUILD
+++ b/main/perl-params-classify/APKBUILD
diff --git a/main/perl-test-fatal/APKBUILD b/main/perl-test-fatal/APKBUILD
index 8b86b49424..4af1de9b3a 100644
--- a/main/perl-test-fatal/APKBUILD
+++ b/main/perl-test-fatal/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
pkgname=perl-test-fatal
_pkgreal=Test-Fatal
-pkgver=0.006
+pkgver=0.008
pkgrel=0
pkgdesc="incredibly simple helpers for testing code with exceptions"
url="http://search.cpan.org/dist/Test-Fatal/"
@@ -34,4 +34,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="a984aa4d4088892c0454cbfce35e54d9 Test-Fatal-0.006.tar.gz"
+md5sums="201c94efbbcbd38b32e3cdc6752a6c07 Test-Fatal-0.008.tar.gz"
diff --git a/testing/perl-test-identity/APKBUILD b/main/perl-test-identity/APKBUILD
index a97dddc037..a97dddc037 100644
--- a/testing/perl-test-identity/APKBUILD
+++ b/main/perl-test-identity/APKBUILD
diff --git a/testing/perl-test-refcount/APKBUILD b/main/perl-test-refcount/APKBUILD
index d4d71f1e7f..d4d71f1e7f 100644
--- a/testing/perl-test-refcount/APKBUILD
+++ b/main/perl-test-refcount/APKBUILD
diff --git a/main/perl-try-tiny/APKBUILD b/main/perl-try-tiny/APKBUILD
index b861d0913c..c8cad77445 100644
--- a/main/perl-try-tiny/APKBUILD
+++ b/main/perl-try-tiny/APKBUILD
@@ -1,33 +1,31 @@
-# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
pkgname=perl-try-tiny
+_pkgreal=Try-Tiny
pkgver=0.11
pkgrel=0
-pkgdesc="Try::Tiny perl module"
+pkgdesc="unknown"
url="http://search.cpan.org/dist/Try-Tiny/"
arch="noarch"
-license="GPLv2 or Artistic"
-depends="perl"
-makedepends="perl-dev"
-install=""
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Try-Tiny-$pkgver.tar.gz"
+source="http://search.cpan.org/CPAN/authors/id/D/DO/DOY/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
-_builddir="$srcdir"/Try-Tiny-$pkgver
prepare() {
- local i
cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
}
build() {
cd "$_builddir"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make && make test || return 1
+ make && make test
}
package() {
diff --git a/main/pixman/APKBUILD b/main/pixman/APKBUILD
index 4a6b101cc9..51aea3b6be 100644
--- a/main/pixman/APKBUILD
+++ b/main/pixman/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pixman
-pkgver=0.24.2
+pkgver=0.24.4
pkgrel=0
pkgdesc="Pixman library"
url="http://xorg.freedesktop.org"
@@ -23,4 +23,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="2ce7d12750664d2eebd51bf0a07b6205 pixman-0.24.2.tar.bz2"
+md5sums="89eb7db8853681bbcea626b161de0488 pixman-0.24.4.tar.bz2"
diff --git a/main/pound/APKBUILD b/main/pound/APKBUILD
index c76eae0ae8..e68516a46e 100644
--- a/main/pound/APKBUILD
+++ b/main/pound/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pound
-pkgver=2.5
-pkgrel=3
+pkgver=2.6
+pkgrel=0
pkgdesc="A reverse proxy, load balancer, and SSL wrapper"
url="http://www.apsis.ch/pound/index_html"
arch="all"
@@ -11,14 +11,15 @@ makedepends="pcre-dev openssl-dev"
subpackages="$pkgname-doc"
source="http://www.apsis.ch/$pkgname/Pound-$pkgver.tgz
pound.cfg
- pound-2.5-openssl.patch
$pkgname.initd"
_builddir="$srcdir"/Pound-$pkgver
prepare() {
cd "$_builddir"
- for i in "$srcdir"/*.patch; do
- patch -p1 -i "$i" || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
done
}
@@ -35,7 +36,6 @@ package() {
install -Dm755 "$srcdir"/pound.initd "$pkgdir"/etc/init.d/pound
install -Dm644 "$srcdir"/pound.cfg "$pkgdir"/etc/pound.cfg
}
-md5sums="8a39f5902094619afcda7d12d9d8342c Pound-2.5.tgz
+md5sums="8c913b527332694943c4c67c8f152071 Pound-2.6.tgz
736b12a47acbb7fc2802ed7f51e959d0 pound.cfg
-c2c48dc395ffc045f9d35394992292d0 pound-2.5-openssl.patch
074fc58c89bb70e8fcd767ee70ebd0f0 pound.initd"
diff --git a/main/pound/pound-2.5-openssl.patch b/main/pound/pound-2.5-openssl.patch
deleted file mode 100644
index efefd54879..0000000000
--- a/main/pound/pound-2.5-openssl.patch
+++ /dev/null
@@ -1,290 +0,0 @@
-diff -up Pound-2.5/config.c.openssl Pound-2.5/config.c
---- Pound-2.5/config.c.openssl 2010-02-10 12:23:09.000000000 +0100
-+++ Pound-2.5/config.c 2010-02-10 12:23:07.000000000 +0100
-@@ -431,14 +431,22 @@ t_hash(const TABNODE *e)
- res = (res ^ *k++) * 16777619;
- return res;
- }
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+static IMPLEMENT_LHASH_HASH_FN(t, TABNODE)
-+#else
- static IMPLEMENT_LHASH_HASH_FN(t_hash, const TABNODE *)
-+#endif
-
- static int
- t_cmp(const TABNODE *d1, const TABNODE *d2)
- {
- return strcmp(d1->key, d2->key);
- }
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+static IMPLEMENT_LHASH_COMP_FN(t, TABNODE)
-+#else
- static IMPLEMENT_LHASH_COMP_FN(t_cmp, const TABNODE *)
-+#endif
-
- /*
- * parse a service
-@@ -460,7 +468,11 @@ parse_service(const char *svc_name)
- pthread_mutex_init(&res->mut, NULL);
- if(svc_name)
- strncpy(res->name, svc_name, KEY_SIZE);
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL)
-+#else
- if((res->sessions = lh_new(LHASH_HASH_FN(t_hash), LHASH_COMP_FN(t_cmp))) == NULL)
-+#endif
- conf_err("lh_new failed - aborted");
- ign_case = ignore_case;
- while(conf_fgets(lin, MAXBUF)) {
-diff -up Pound-2.5/pound.h.openssl Pound-2.5/pound.h
---- Pound-2.5/pound.h.openssl 2010-02-02 12:49:02.000000000 +0100
-+++ Pound-2.5/pound.h 2010-02-10 12:15:18.000000000 +0100
-@@ -322,6 +322,10 @@ typedef struct _tn {
- /* maximal session key size */
- #define KEY_SIZE 127
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+DECLARE_LHASH_OF(TABNODE);
-+#endif
-+
- /* service definition */
- typedef struct _service {
- char name[KEY_SIZE + 1]; /* symbolic name */
-@@ -337,7 +341,11 @@ typedef struct _service {
- int sess_ttl; /* session time-to-live */
- regex_t sess_start; /* pattern to identify the session data */
- regex_t sess_pat; /* pattern to match the session data */
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ LHASH_OF(TABNODE) *sessions; /* currently active sessions */
-+#else
- LHASH *sessions; /* currently active sessions */
-+#endif
- int dynscale; /* true if the back-ends should be dynamically rescaled */
- int disabled; /* true if the service is disabled */
- struct _service *next;
-diff -up Pound-2.5/svc.c.openssl Pound-2.5/svc.c
---- Pound-2.5/svc.c.openssl 2010-02-02 12:49:02.000000000 +0100
-+++ Pound-2.5/svc.c 2010-02-10 12:13:29.000000000 +0100
-@@ -27,12 +27,17 @@
-
- #include "pound.h"
-
-+#ifndef LHASH_OF
-+#define LHASH_OF(x) LHASH
-+#define CHECKED_LHASH_OF(type, h) h
-+#endif
-+
- /*
- * Add a new key/content pair to a hash table
- * the table should be already locked
- */
- static void
--t_add(LHASH *const tab, const char *key, const void *content, const size_t cont_len)
-+t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const size_t cont_len)
- {
- TABNODE *t, *old;
-
-@@ -53,7 +58,11 @@ t_add(LHASH *const tab, const char *key,
- }
- memcpy(t->content, content, cont_len);
- t->last_acc = time(NULL);
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) {
-+#else
- if((old = (TABNODE *)lh_insert(tab, t)) != NULL) {
-+#endif
- free(old->key);
- free(old->content);
- free(old);
-@@ -68,12 +77,16 @@ t_add(LHASH *const tab, const char *key,
- * side-effect: update the time of last access
- */
- static void *
--t_find(LHASH *const tab, char *const key)
-+t_find(LHASH_OF(TABNODE) *const tab, char *const key)
- {
- TABNODE t, *res;
-
- t.key = key;
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ if((res = LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) {
-+#else
- if((res = (TABNODE *)lh_retrieve(tab, &t)) != NULL) {
-+#endif
- res->last_acc = time(NULL);
- return res->content;
- }
-@@ -84,12 +97,16 @@ t_find(LHASH *const tab, char *const key
- * Delete a key
- */
- static void
--t_remove(LHASH *const tab, char *const key)
-+t_remove(LHASH_OF(TABNODE) *const tab, char *const key)
- {
- TABNODE t, *res;
-
- t.key = key;
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) {
-+#else
- if((res = (TABNODE *)lh_delete(tab, &t)) != NULL) {
-+#endif
- free(res->key);
- free(res->content);
- free(res);
-@@ -98,59 +115,75 @@ t_remove(LHASH *const tab, char *const k
- }
-
- typedef struct {
-- LHASH *tab;
-+ LHASH_OF(TABNODE) *tab;
- time_t lim;
- void *content;
- int cont_len;
- } ALL_ARG;
-
- static void
--t_old(TABNODE *t, void *arg)
-+t_old_doall_arg(TABNODE *t, ALL_ARG *a)
- {
-- ALL_ARG *a;
--
-- a = (ALL_ARG *)arg;
- if(t->last_acc < a->lim)
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ LHM_lh_delete(TABNODE, a->tab, t);
-+#else
- lh_delete(a->tab, t);
-+#endif
- return;
- }
--IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, void *)
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG)
-+#else
-+#define t_old t_old_doall_arg
-+IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *)
-+#endif
-
- /*
- * Expire all old nodes
- */
- static void
--t_expire(LHASH *const tab, const time_t lim)
-+t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim)
- {
- ALL_ARG a;
- int down_load;
-
- a.tab = tab;
- a.lim = lim;
-- down_load = tab->down_load;
-- tab->down_load = 0;
-+ down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load;
-+ CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0;
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a);
-+#else
- lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_old), &a);
-- tab->down_load = down_load;
-+#endif
-+ CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load;
- return;
- }
-
- static void
--t_cont(TABNODE *t, void *arg)
-+t_cont_doall_arg(TABNODE *t, ALL_ARG *a)
- {
-- ALL_ARG *a;
--
-- a = (ALL_ARG *)arg;
- if(memcmp(t->content, a->content, a->cont_len) == 0)
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ LHM_lh_delete(TABNODE, a->tab, t);
-+#else
- lh_delete(a->tab, t);
-+#endif
- return;
- }
--IMPLEMENT_LHASH_DOALL_ARG_FN(t_cont, TABNODE *, void *)
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+IMPLEMENT_LHASH_DOALL_ARG_FN(t_cont, TABNODE, ALL_ARG)
-+#else
-+#define t_cont t_cont_doall_arg
-+IMPLEMENT_LHASH_DOALL_ARG_FN(t_cont, TABNODE *, ALL_ARG *)
-+#endif
-
- /*
- * Remove all nodes with the given content
- */
- static void
--t_clean(LHASH *const tab, void *const content, const size_t cont_len)
-+t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len)
- {
- ALL_ARG a;
- int down_load;
-@@ -158,10 +191,14 @@ t_clean(LHASH *const tab, void *const co
- a.tab = tab;
- a.content = content;
- a.cont_len = cont_len;
-- down_load = tab->down_load;
-- tab->down_load = 0;
-+ down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load;
-+ CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0;
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a);
-+#else
- lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_cont), &a);
-- tab->down_load = down_load;
-+#endif
-+ CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load;
- return;
- }
-
-@@ -1410,13 +1447,11 @@ typedef struct {
- } DUMP_ARG;
-
- static void
--t_dump(TABNODE *t, void *arg)
-+t_dump_doall_arg(TABNODE *t, DUMP_ARG *a)
- {
-- DUMP_ARG *a;
- BACKEND *be, *bep;
- int n_be, sz;
-
-- a = (DUMP_ARG *)arg;
- memcpy(&bep, t->content, sizeof(bep));
- for(n_be = 0, be = a->backends; be; be = be->next, n_be++)
- if(be == bep)
-@@ -1432,19 +1467,28 @@ t_dump(TABNODE *t, void *arg)
- return;
- }
-
--IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE *, void *)
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE, DUMP_ARG)
-+#else
-+#define t_dump t_dump_doall_arg
-+IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE *, DUMP_ARG *)
-+#endif
-
- /*
- * write sessions to the control socket
- */
- static void
--dump_sess(const int control_sock, LHASH *const sess, BACKEND *const backends)
-+dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const backends)
- {
- DUMP_ARG a;
-
- a.control_sock = control_sock;
- a.backends = backends;
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+ LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a);
-+#else
- lh_doall_arg(sess, LHASH_DOALL_ARG_FN(t_dump), &a);
-+#endif
- return;
- }
-
diff --git a/main/remmina/APKBUILD b/main/remmina/APKBUILD
index c48edb475b..4ee4f12ec4 100644
--- a/main/remmina/APKBUILD
+++ b/main/remmina/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=remmina
-pkgver=0.9.3
+pkgver=1.0.0
pkgrel=0
pkgdesc="Remmina is a remote desktop client written in GTK+"
url="http://remmina.sourceforge.net/"
@@ -8,29 +8,37 @@ arch="all"
license="GPL"
depends=
makedepends="gtk+-dev intltool zlib-dev jpeg-dev gnutls-dev vte-dev
- libgcrypt-dev "
+ libgcrypt-dev libssh-dev libxkbfile-dev freerdp-dev avahi-dev
+ wget cmake"
install=
-subpackages="$pkgname-dev"
-source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
-
-_builddir="$srcdir"/$pkgname-$pkgver
+subpackages="$pkgname-dev $pkgname-lang"
+source="https://github.com/downloads/FreeRDP/Remmina/Remmina-$pkgver.tar.gz
+ underlinking.patch
+ no-gnome-keyring.patch"
prepare() {
- cd "$_builddir"
+ cd "$srcdir"/FreeRDP-Remmina-*
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
}
build() {
- cd "$_builddir"
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info
+ cd "$srcdir"/FreeRDP-Remmina-*
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWITH_TELEPATHY=OFF \
+ || return 1
make || return 1
}
package() {
- cd "$_builddir"
+ cd "$srcdir"/FreeRDP-Remmina-*
make DESTDIR="$pkgdir" install
}
-md5sums="c87004a70ec62acbae732e8d47f71ba7 remmina-0.9.3.tar.gz"
+md5sums="701c540acaab961bc3adf130a2ddb8b1 Remmina-1.0.0.tar.gz
+c5874505afdcbc984beda485eed23b47 underlinking.patch
+178d55f7aa59d6dc73b19e03201ad1e4 no-gnome-keyring.patch"
diff --git a/main/remmina/no-gnome-keyring.patch b/main/remmina/no-gnome-keyring.patch
new file mode 100644
index 0000000000..fed2768a43
--- /dev/null
+++ b/main/remmina/no-gnome-keyring.patch
@@ -0,0 +1,11 @@
+--- ./CMakeLists.txt.orig
++++ ./CMakeLists.txt
+@@ -96,7 +96,7 @@
+ if(GTK_FOUND)
+ add_subdirectory(remmina)
+ add_subdirectory(remmina-plugins)
+- add_subdirectory(remmina-plugins-gnome)
++# add_subdirectory(remmina-plugins-gnome)
+ endif()
+
+ find_suggested_package(AVAHI)
diff --git a/main/remmina/underlinking.patch b/main/remmina/underlinking.patch
new file mode 100644
index 0000000000..4cabfea11c
--- /dev/null
+++ b/main/remmina/underlinking.patch
@@ -0,0 +1,32 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 465e905..4f1052d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -92,6 +92,11 @@ if(GCRYPT_FOUND)
+ add_definitions(-DHAVE_LIBGCRYPT)
+ endif()
+
++find_required_package(X11)
++find_library(GIO_LIBRARY NAMES gio-2.0)
++find_library(GOBJECT_LIBRARY NAMES gobject-2.0)
++find_library(GMODULE_LIBRARY NAMES gmodule-2.0)
++find_library(GTHREAD_LIBRARY NAMES gthread-2.0)
+ find_required_package(GTK)
+ if(GTK_FOUND)
+ add_subdirectory(remmina)
+diff --git a/remmina/CMakeLists.txt b/remmina/CMakeLists.txt
+index 0fe7bbf..5368a26 100644
+--- a/remmina/CMakeLists.txt
++++ b/remmina/CMakeLists.txt
+@@ -91,7 +91,7 @@ set(REMMINA_SRCS
+ add_executable(remmina ${REMMINA_SRCS})
+
+ include_directories(${GTK_INCLUDE_DIRS})
+-target_link_libraries(remmina ${GTK_LIBRARIES})
++target_link_libraries(remmina ${GTK_LIBRARIES} ${X11_LIBRARIES} ${GIO_LIBRARY} ${GOBJECT_LIBRARY} ${GMODULE_LIBRARY} ${GTHREAD_LIBRARY} -lintl -lpthread)
+
+ find_suggested_package(LIBSSH)
+ if(LIBSSH_FOUND)
+--
+1.7.9
+
diff --git a/testing/sshguard/APKBUILD b/main/sshguard/APKBUILD
index a337bbfc63..a337bbfc63 100644
--- a/testing/sshguard/APKBUILD
+++ b/main/sshguard/APKBUILD
diff --git a/testing/sshguard/parser.patch b/main/sshguard/parser.patch
index 51f9915e18..51f9915e18 100644
--- a/testing/sshguard/parser.patch
+++ b/main/sshguard/parser.patch
diff --git a/testing/sshguard/sshguard.confd b/main/sshguard/sshguard.confd
index 050c2f3589..050c2f3589 100644
--- a/testing/sshguard/sshguard.confd
+++ b/main/sshguard/sshguard.confd
diff --git a/testing/sshguard/sshguard.initd b/main/sshguard/sshguard.initd
index 89ec7d592c..89ec7d592c 100644
--- a/testing/sshguard/sshguard.initd
+++ b/main/sshguard/sshguard.initd
diff --git a/main/sudo/APKBUILD b/main/sudo/APKBUILD
index 15992d9330..ea42e5d9d2 100644
--- a/main/sudo/APKBUILD
+++ b/main/sudo/APKBUILD
@@ -6,7 +6,7 @@ if [ "${pkgver%_*}" != "$pkgver" ]; then
else
_realver=$pkgver
fi
-pkgrel=0
+pkgrel=1
pkgdesc="Give certain users the ability to run some commands as root"
url="http://www.sudo.ws/sudo/"
arch="all"
@@ -40,6 +40,9 @@ build() {
package() {
cd "$_builddir"
make -j1 DESTDIR="$pkgdir" install || return 1
+ # the sudo's mkinstalldir script miscreates the leading
+ # path components with bad permissions. fix this.
+ chmod 0755 "$pkgdir"/var "$pkgdir"/var/lib || return 1
}
md5sums="6d4282a1530c541f7900fa8dfcf2a882 sudo-1.8.3p2.tar.gz
diff --git a/main/trac/APKBUILD b/main/trac/APKBUILD
index b5ce2c6cea..275c453ff0 100644
--- a/main/trac/APKBUILD
+++ b/main/trac/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=trac
_realname=Trac
-pkgver=0.12.2
-pkgrel=2
+pkgver=0.12.3
+pkgrel=0
pkgusers="tracd"
pkggroups="tracd"
pkgdesc="Trac is a minimalistic web-based project management, wiki and bug/issue tracking system."
@@ -31,6 +31,6 @@ package() {
install -m644 -D "$srcdir"/tracd.confd "$pkgdir"/etc/conf.d/tracd
}
-md5sums="f70c7676601f2592bcb7871319e62dd7 Trac-0.12.2.tar.gz
+md5sums="0cef201e223fafb5c3dd99577403f572 Trac-0.12.3.tar.gz
95b1311ca65e1ffcd51a191542f45ba4 tracd.confd
fd3f1cd33a2819c43de82b92a839660d tracd.initd"
diff --git a/main/uboot-mkimage/APKBUILD b/main/uboot-mkimage/APKBUILD
index b1241b6e89..0585603f9e 100644
--- a/main/uboot-mkimage/APKBUILD
+++ b/main/uboot-mkimage/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=uboot-mkimage
-pkgver=2011.09
+pkgver=2011.12
pkgrel=0
pkgdesc="image bundler for uImage files"
url="http://www.denx.de/wiki/U-Boot/"
@@ -38,4 +38,4 @@ package() {
install -c -D -m 755 tools/mkimage "$pkgdir"/usr/bin/mkimage
}
-md5sums="259017613713c01bd9bcc82edc153e4f u-boot-2011.09.tar.bz2"
+md5sums="7f29b9f6da44d6e46e988e7561fd1d5f u-boot-2011.12.tar.bz2"
diff --git a/main/uclibc++/001-path_to_make.patch b/main/uclibc++/001-path_to_make.patch
deleted file mode 100644
index 840dac3266..0000000000
--- a/main/uclibc++/001-path_to_make.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ur old/Makefile dev/Makefile
---- old/Makefile Sat Oct 14 17:49:55 2006
-+++ dev/Makefile Sat Oct 14 17:50:18 2006
-@@ -1,4 +1,3 @@
--MAKE = make
- SUBDIRS = bin include src
-
- # User defines:
-@@ -43,10 +42,10 @@
- #Menu configuration system
-
- extra/config/conf:
-- make -C extra/config conf
-+ $(MAKE) -C extra/config conf
-
- extra/config/mconf:
-- make -C extra/config ncurses mconf
-+ $(MAKE) -C extra/config ncurses mconf
-
- menuconfig: extra/config/mconf
- @./extra/config/mconf extra/Configs/Config.in
-@@ -71,7 +70,7 @@
-
- include/system_configuration.h: .config
- @if [ ! -x ./extra/config/conf ] ; then \
-- make -C extra/config conf; \
-+ $(MAKE) -C extra/config conf; \
- fi;
- @./extra/config/conf -o extra/Configs/Config.in
-
diff --git a/main/uclibc++/002-no_bash.patch b/main/uclibc++/002-no_bash.patch
deleted file mode 100644
index 69b2275a5c..0000000000
--- a/main/uclibc++/002-no_bash.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur old/bin/Makefile dev/bin/Makefile
---- old/bin/Makefile Sat Oct 14 17:49:54 2006
-+++ dev/bin/Makefile Sat Oct 14 17:57:33 2006
-@@ -13,7 +13,7 @@
- $(INSTALL) -m 755 $(WRAPPER) $(PREFIX)$(UCLIBCXX_RUNTIME_BINDIR)
-
- $(WRAPPER):
-- echo "#!/bin/bash" > $(WRAPPER)
-+ echo "#!/bin/sh" > $(WRAPPER)
- echo "" >> $(WRAPPER)
- echo 'WRAPPER_INCLUDEDIR="$${WRAPPER_INCLUDEDIR:=-I$(UCLIBCXX_RUNTIME_INCLUDEDIR)}"' >> $(WRAPPER)
- echo 'WRAPPER_LIBDIR="$${WRAPPER_LIBDIR:=-L$(UCLIBCXX_RUNTIME_LIBDIR)}"' >> $(WRAPPER)
diff --git a/main/uclibc++/003-cp_command.patch b/main/uclibc++/003-cp_command.patch
deleted file mode 100644
index 53d0ed7af9..0000000000
--- a/main/uclibc++/003-cp_command.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -ur old/src/Makefile dev/src/Makefile
---- old/src/Makefile Sat Oct 14 17:49:54 2006
-+++ dev/src/Makefile Sat Oct 14 18:02:30 2006
-@@ -25,12 +25,14 @@
-
- all: libgcc_eh libsupc $(EXOBJS) $(ALLBIN)
-
-+CP = cp -fPR
-+
- install:
- $(INSTALL) -d $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
- ifneq ($(BUILD_ONLY_STATIC_LIB),y)
- $(INSTALL) -m 755 $(SHARED_FULLNAME) \
- $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
-- cp -fa $(SHARED_MAJORNAME) $(LIBNAME).so $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
-+ $(CP) $(SHARED_MAJORNAME) $(LIBNAME).so $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
- endif
- ifeq ($(BUILD_STATIC_LIB),y)
- $(INSTALL) -m 644 $(LIBNAME).a $(PREFIX)$(UCLIBCXX_RUNTIME_LIBDIR)
diff --git a/main/uclibc++/004-ccache_fixes.patch b/main/uclibc++/004-ccache_fixes.patch
deleted file mode 100644
index 10ceb792ba..0000000000
--- a/main/uclibc++/004-ccache_fixes.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ruN uClibc++-0.2.2-old/src/abi/libgcc_eh/Makefile uClibc++-0.2.2-new/src/abi/libgcc_eh/Makefile
---- uClibc++-0.2.2-old/src/abi/libgcc_eh/Makefile 2007-06-04 00:51:13.000000000 +0200
-+++ uClibc++-0.2.2-new/src/abi/libgcc_eh/Makefile 2007-09-03 21:51:07.000000000 +0200
-@@ -16,7 +16,7 @@
- #
- #else
- # echo Binary
-- $(AR) x $(shell CC=$(CC) $(TOPDIR)/scripts/find_libgcc_eh.sh)
-+ $(AR) x $(shell CC="$(CC)" $(TOPDIR)/scripts/find_libgcc_eh.sh)
- #endif
- #endif
-
-diff -ruN uClibc++-0.2.2-old/src/abi/libsupc/Makefile uClibc++-0.2.2-new/src/abi/libsupc/Makefile
---- uClibc++-0.2.2-old/src/abi/libsupc/Makefile 2007-06-04 00:51:13.000000000 +0200
-+++ uClibc++-0.2.2-new/src/abi/libsupc/Makefile 2007-09-03 21:51:17.000000000 +0200
-@@ -14,7 +14,7 @@
- #
- #else
- # echo Binary
-- $(AR) x $(shell CC=$(CC) $(TOPDIR)/scripts/find_libsupc.sh)
-+ $(AR) x $(shell CC="$(CC)" $(TOPDIR)/scripts/find_libsupc.sh)
- $(RM) -f new_op*.o del_op*.o pure.o new_handler.o eh_alloc.o eh_globals.o
- #
- #endif
diff --git a/main/uclibc++/005-wrapper.patch b/main/uclibc++/005-wrapper.patch
deleted file mode 100644
index b526a901f9..0000000000
--- a/main/uclibc++/005-wrapper.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN uClibc++-0.2.2-old/bin/Makefile uClibc++-0.2.2-new/bin/Makefile
---- uClibc++-0.2.2-old/bin/Makefile 2007-09-23 13:46:10.000000000 +0200
-+++ uClibc++-0.2.2-new/bin/Makefile 2007-09-23 13:47:03.000000000 +0200
-@@ -25,7 +25,7 @@
- echo 'while [ -n "$$1" ]' >> $(WRAPPER)
- echo 'do' >> $(WRAPPER)
- echo ' WRAPPER_OPTIONS="$$WRAPPER_OPTIONS $$1"' >> $(WRAPPER)
-- echo ' if [ "$$1" = "-c" -o "$$1" = "-E" -o "$$1" = "-S" ]' >> $(WRAPPER)
-+ echo ' if [ "$$1" = "-c" -o "$$1" = "-E" -o "$$1" = "-S" -o "$$1" = "-MF" ]' >> $(WRAPPER)
- echo ' then' >> $(WRAPPER)
- echo ' WRAPPER_INCLIB="N"' >> $(WRAPPER)
- echo ' fi' >> $(WRAPPER)
diff --git a/main/uclibc++/006-eabi_fix.patch b/main/uclibc++/006-eabi_fix.patch
deleted file mode 100644
index bc970a7169..0000000000
--- a/main/uclibc++/006-eabi_fix.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Index: uClibc++-0.2.2/include/typeinfo
-===================================================================
---- uClibc++-0.2.2.orig/include/typeinfo 2008-02-13 00:37:04.000000000 +0100
-+++ uClibc++-0.2.2/include/typeinfo 2008-02-13 00:37:34.000000000 +0100
-@@ -44,6 +44,7 @@
- class __class_type_info;
- } // namespace __cxxabiv1
-
-+#ifndef __GXX_MERGED_TYPEINFO_NAMES
- #if !__GXX_WEAK__
- // If weak symbols are not supported, typeinfo names are not merged.
- #define __GXX_MERGED_TYPEINFO_NAMES 0
-@@ -51,6 +52,7 @@
- // On platforms that support weak symbols, typeinfo names are merged.
- #define __GXX_MERGED_TYPEINFO_NAMES 1
- #endif
-+#endif
-
- namespace std
- {
-Index: uClibc++-0.2.2/include/unwind-cxx.h
-===================================================================
---- uClibc++-0.2.2.orig/include/unwind-cxx.h 2008-02-13 00:38:04.000000000 +0100
-+++ uClibc++-0.2.2/include/unwind-cxx.h 2008-02-13 00:40:32.000000000 +0100
-@@ -135,6 +135,7 @@
-
- // This is the exception class we report -- "GNUCC++\0".
- const _Unwind_Exception_Class __gxx_exception_class
-+#ifndef __ARM_EABI_UNWINDER__
- = ((((((((_Unwind_Exception_Class) 'G'
- << 8 | (_Unwind_Exception_Class) 'N')
- << 8 | (_Unwind_Exception_Class) 'U')
-@@ -143,6 +144,9 @@
- << 8 | (_Unwind_Exception_Class) '+')
- << 8 | (_Unwind_Exception_Class) '+')
- << 8 | (_Unwind_Exception_Class) '\0');
-+#else
-+= "GNUC++";
-+#endif
-
- // GNU C++ personality routine, Version 0.
- extern "C" _Unwind_Reason_Code __gxx_personality_v0
diff --git a/main/uclibc++/007-numeric_limits.patch b/main/uclibc++/007-numeric_limits.patch
deleted file mode 100644
index 1ed7d6c6ec..0000000000
--- a/main/uclibc++/007-numeric_limits.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Index: uClibc++-0.2.2/include/limits
-===================================================================
---- uClibc++-0.2.2/include/limits (revision 1877)
-+++ uClibc++-0.2.2/include/limits (revision 1878)
-@@ -143,6 +143,53 @@
- static T signaling_NaN();
- };
-
-+template <> class numeric_limits<bool> {
-+public:
-+ typedef bool T;
-+ // General -- meaningful for all specializations.
-+ static const bool is_specialized = true;
-+ static T min(){
-+ return false;
-+ }
-+ static T max(){
-+ return true;
-+ }
-+ static const int radix = 2;
-+ static const int digits = 1;
-+ static const int digits10 = 0;
-+ static const bool is_signed = false;
-+ static const bool is_integer = true;
-+ static const bool is_exact = true;
-+ static const bool traps = false;
-+ static const bool is_modulo = false;
-+ static const bool is_bounded = true;
-+
-+ // Floating point specific.
-+
-+ static T epsilon(){
-+ return 0;
-+ }
-+ static T round_error(){
-+ return 0;
-+ }
-+ static const int min_exponent10 = 0;
-+ static const int max_exponent10 = 0;
-+ static const int min_exponent = 0;
-+
-+ static const int max_exponent = 0;
-+ static const bool has_infinity = false;
-+ static const bool has_quiet_NaN = false;
-+ static const bool has_signaling_NaN = false;
-+ static const bool is_iec559 = false;
-+ static const bool has_denorm = false;
-+ static const bool tinyness_before = false;
-+ static const float_round_style round_style = round_indeterminate;
-+ static T denorm_min();
-+ static T infinity();
-+ static T quiet_NaN();
-+ static T signaling_NaN();
-+};
-+
- template <> class numeric_limits<unsigned char> {
- public:
- typedef unsigned char T;
-@@ -567,6 +614,7 @@
- };
-
- template <> class numeric_limits<double> {
-+public:
- typedef double numeric_type;
-
- static const bool is_specialized = true;
diff --git a/main/uclibc++/008-integer_width.patch b/main/uclibc++/008-integer_width.patch
deleted file mode 100644
index c467e60114..0000000000
--- a/main/uclibc++/008-integer_width.patch
+++ /dev/null
@@ -1,314 +0,0 @@
-Index: uClibc++-0.2.2/include/ostream
-===================================================================
---- uClibc++-0.2.2/include/ostream (revision 708)
-+++ uClibc++-0.2.2/include/ostream (revision 709)
-@@ -129,6 +129,18 @@
- return *this;
- }
-
-+ _UCXXEXPORT void printout(const char_type* s, streamsize n)
-+ {
-+ int extra = ios::width() - n;
-+ if ((ios::flags()&ios::adjustfield) == ios::right)
-+ while (extra-- > 0)
-+ put(ios::fill());
-+ write(s, n);
-+ if ((ios::flags()&ios::adjustfield) == ios::left)
-+ while (extra-- > 0)
-+ put(ios::fill());
-+ }
-+
- protected:
- basic_ostream(const basic_ostream<charT,traits> &){ }
- basic_ostream<charT,traits> & operator=(const basic_ostream<charT,traits> &){ return *this; }
-@@ -142,15 +154,15 @@
- sentry s(*this);
- if( basic_ios<charT,traits>::flags() & ios_base::boolalpha){
- if(n){
-- write("true", 4);
-+ printout("true", 4);
- }else{
-- write("false", 5);
-+ printout("false", 5);
- }
- }else{
- if(n){
-- write("1", 1);
-+ printout("1", 1);
- }else{
-- write("0", 1);
-+ printout("0", 1);
- }
- }
- if(basic_ios<charT,traits>::flags() & ios_base::unitbuf){
-@@ -219,7 +231,7 @@
- template <class charT, class traits> _UCXXEXPORT basic_ostream<charT,traits>& basic_ostream<charT, traits>::operator<<(void* p){
- sentry s(*this);
- char buffer[20];
-- write(buffer, snprintf(buffer, 20, "%p", p) );
-+ printout(buffer, snprintf(buffer, 20, "%p", p) );
- if(basic_ios<charT,traits>::flags() & ios_base::unitbuf){
- flush();
- }
-@@ -356,7 +368,7 @@
- operator<<(basic_ostream<charT,traits>& out, const charT* c)
- {
- typename basic_ostream<charT,traits>::sentry s(out);
-- out.write(c, traits::length(c) );
-+ out.printout(c, traits::length(c) );
- return out;
- }
-
-@@ -364,7 +376,7 @@
- operator<<(basic_ostream<charT,traits>& out, const char* c)
- {
- typename basic_ostream<charT,traits>::sentry s(out);
-- out.write(c, char_traits<char>::length(c) );
-+ out.printout(c, char_traits<char>::length(c) );
- return out;
- }
-
-@@ -373,7 +385,7 @@
- operator<<(basic_ostream<char,traits>& out, const char* c)
- {
- typename basic_ostream<char,traits>::sentry s(out);
-- out.write(c, traits::length(c));
-+ out.printout(c, traits::length(c));
- return out;
- }
-
-@@ -389,7 +401,7 @@
- temp[i] = out.widen(c[i]);
- }
-
-- out.write(temp, numChars);
-+ out.printout(temp, numChars);
- return out;
- }
- #endif
-@@ -399,7 +411,7 @@
- operator<<(basic_ostream<char,traits>& out, const signed char* c)
- {
- typename basic_ostream<char,traits>::sentry s(out);
-- out.write(reinterpret_cast<const char *>(c), traits::length( reinterpret_cast<const char *>(c)));
-+ out.printout(reinterpret_cast<const char *>(c), traits::length( reinterpret_cast<const char *>(c)));
- return out;
- }
-
-@@ -407,7 +419,7 @@
- operator<<(basic_ostream<char,traits>& out, const unsigned char* c)
- {
- typename basic_ostream<char,traits>::sentry s(out);
-- out.write(reinterpret_cast<const char *>(c), traits::length( reinterpret_cast<const char *>(c)));
-+ out.printout(reinterpret_cast<const char *>(c), traits::length( reinterpret_cast<const char *>(c)));
- return out;
- }
-
-Index: uClibc++-0.2.2/include/ostream_helpers
-===================================================================
---- uClibc++-0.2.2/include/ostream_helpers (revision 708)
-+++ uClibc++-0.2.2/include/ostream_helpers (revision 709)
-@@ -88,7 +88,7 @@
- }
- }
-
-- stream.write(buffer, snprintf(buffer, 20, formatString, n) );
-+ stream.printout(buffer, snprintf(buffer, 20, formatString, n) );
-
- if(stream.flags() & ios_base::unitbuf){
- stream.flush();
-@@ -135,7 +135,7 @@
- }
- }
-
-- stream.write(buffer, snprintf(buffer, 20, formatString, n));
-+ stream.printout(buffer, snprintf(buffer, 20, formatString, n));
- if(stream.flags() & ios_base::unitbuf){
- stream.flush();
- }
-@@ -182,7 +182,7 @@
- }
- }
-
-- stream.write(buffer, snprintf(buffer, 27, formatString, n) );
-+ stream.printout(buffer, snprintf(buffer, 27, formatString, n) );
-
- if(stream.flags() & ios_base::unitbuf){
- stream.flush();
-@@ -228,7 +228,7 @@
- }
- }
-
-- stream.write(buffer, snprintf(buffer, 27, formatString, n) );
-+ stream.printout(buffer, snprintf(buffer, 27, formatString, n) );
-
- if(stream.flags() & ios_base::unitbuf){
- stream.flush();
-@@ -256,7 +256,7 @@
- } else {
- length = snprintf(buffer, 32, "%*.*g",static_cast<int>(stream.width()),static_cast<int>(stream.precision()), f);
- }
-- stream.write(buffer, length);
-+ stream.printout(buffer, length);
- if(stream.flags() & ios_base::unitbuf){
- stream.flush();
- }
-@@ -280,7 +280,7 @@
- } else {
- length = snprintf(buffer, 32, "%*.*Lg", static_cast<int>(stream.width()), static_cast<int>(stream.precision()), f);
- }
-- stream.write(buffer, length);
-+ stream.printout(buffer, length);
- if(stream.flags() & ios_base::unitbuf){
- stream.flush();
- }
-@@ -295,25 +295,25 @@
- {
- wchar_t buffer[20];
- if( stream.flags() & ios_base::dec){
-- stream.write(buffer, swprintf(buffer, 20, L"%ld", n));
-+ stream.printout(buffer, swprintf(buffer, 20, L"%ld", n));
- }else if( stream.flags() & ios_base::oct){
- if( stream.flags() & ios_base::showbase){
-- stream.write(buffer, swprintf(buffer, 20, L"%#lo", n));
-+ stream.printout(buffer, swprintf(buffer, 20, L"%#lo", n));
- }else{
-- stream.write(buffer, swprintf(buffer, 20, L"%lo", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%lo", n) );
- }
- }else if (stream.flags() & ios_base::hex){
- if(stream.flags() & ios_base::showbase){
- if(stream.flags() & ios_base::uppercase){
-- stream.write(buffer, swprintf(buffer, 20, L"%#lX", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%#lX", n) );
- }else{
-- stream.write(buffer, swprintf(buffer, 20, L"%#lx", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%#lx", n) );
- }
- }else{
- if(stream.flags() & ios_base::uppercase){
-- stream.write(buffer, swprintf(buffer, 20, L"%lX", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%lX", n) );
- }else{
-- stream.write(buffer, swprintf(buffer, 20, L"%lx", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%lx", n) );
- }
- }
- }
-@@ -329,25 +329,25 @@
- {
- wchar_t buffer[20];
- if( stream.flags() & ios_base::dec){
-- stream.write(buffer, swprintf(buffer, 20, L"%lu", n));
-+ stream.printout(buffer, swprintf(buffer, 20, L"%lu", n));
- }else if( stream.flags() & ios_base::oct){
- if( stream.flags() & ios_base::showbase){
-- stream.write(buffer, swprintf(buffer, 20, L"%#lo", n));
-+ stream.printout(buffer, swprintf(buffer, 20, L"%#lo", n));
- }else{
-- stream.write(buffer, swprintf(buffer, 20, L"%lo", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%lo", n) );
- }
- }else if (stream.flags() & ios_base::hex){
- if(stream.flags() & ios_base::showbase){
- if(stream.flags() & ios_base::uppercase){
-- stream.write(buffer, swprintf(buffer, 20, L"%#lX", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%#lX", n) );
- }else{
-- stream.write(buffer, swprintf(buffer, 20, L"%#lx", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%#lx", n) );
- }
- }else{
- if(stream.flags() & ios_base::uppercase){
-- stream.write(buffer, swprintf(buffer, 20, L"%lX", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%lX", n) );
- }else{
-- stream.write(buffer, swprintf(buffer, 20, L"%lx", n) );
-+ stream.printout(buffer, swprintf(buffer, 20, L"%lx", n) );
- }
- }
- }
-@@ -365,25 +365,25 @@
- {
- wchar_t buffer[28];
- if( stream.flags() & ios_base::dec){
-- stream.write(buffer, swprintf(buffer, 27, L"%lld", n));
-+ stream.printout(buffer, swprintf(buffer, 27, L"%lld", n));
- }else if( stream.flags() & ios_base::oct){
- if( stream.flags() & ios_base::showbase){
-- stream.write(buffer, swprintf(buffer, 27, L"%#llo", n));
-+ stream.printout(buffer, swprintf(buffer, 27, L"%#llo", n));
- }else{
-- stream.write(buffer, swprintf(buffer, 27, L"%llo", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%llo", n) );
- }
- }else if (stream.flags() & ios_base::hex){
- if(stream.flags() & ios_base::showbase){
- if(stream.flags() & ios_base::uppercase){
-- stream.write(buffer, swprintf(buffer, 27, L"%#llX", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%#llX", n) );
- }else{
-- stream.write(buffer, swprintf(buffer, 27, L"%#llx", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%#llx", n) );
- }
- }else{
- if(stream.flags() & ios_base::uppercase){
-- stream.write(buffer, swprintf(buffer, 27, L"%llX", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%llX", n) );
- }else{
-- stream.write(buffer, swprintf(buffer, 27, L"%llx", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%llx", n) );
- }
- }
- }
-@@ -399,25 +399,25 @@
- {
- wchar_t buffer[28];
- if( stream.flags() & ios_base::dec){
-- stream.write(buffer, swprintf(buffer, 27, L"%llu", n));
-+ stream.printout(buffer, swprintf(buffer, 27, L"%llu", n));
- }else if( stream.flags() & ios_base::oct){
- if( stream.flags() & ios_base::showbase){
-- stream.write(buffer, swprintf(buffer, 27, L"%#llo", n));
-+ stream.printout(buffer, swprintf(buffer, 27, L"%#llo", n));
- }else{
-- stream.write(buffer, swprintf(buffer, 27, L"%llo", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%llo", n) );
- }
- }else if (stream.flags() & ios_base::hex){
- if(stream.flags() & ios_base::showbase){
- if(stream.flags() & ios_base::uppercase){
-- stream.write(buffer, swprintf(buffer, 27, L"%#llX", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%#llX", n) );
- }else{
-- stream.write(buffer, swprintf(buffer, 27, L"%#llx", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%#llx", n) );
- }
- }else{
- if(stream.flags() & ios_base::uppercase){
-- stream.write(buffer, swprintf(buffer, 27, L"%llX", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%llX", n) );
- }else{
-- stream.write(buffer, swprintf(buffer, 27, L"%llx", n) );
-+ stream.printout(buffer, swprintf(buffer, 27, L"%llx", n) );
- }
- }
- }
-@@ -447,7 +447,7 @@
- } else {
- swprintf(format_string, 32, L"%%%u.%ug", static_cast<int>(stream.width()), static_cast<unsigned int>(stream.precision()));
- }
-- stream.write(buffer, swprintf(buffer, 32, format_string, f) );
-+ stream.printout(buffer, swprintf(buffer, 32, format_string, f) );
- if(stream.flags() & ios_base::unitbuf){
- stream.flush();
- }
-@@ -471,7 +471,7 @@
- } else {
- swprintf(format_string, 32, L"%%%u.%uLg", static_cast<unsigned int>(stream.width()), static_cast<unsigned int>(stream.precision()));
- }
-- stream.write(buffer, swprintf(buffer, 32, format_string, f) );
-+ stream.printout(buffer, swprintf(buffer, 32, format_string, f) );
- if(stream.flags() & ios_base::unitbuf){
- stream.flush();
- }
diff --git a/main/uclibc++/900-dependent_exception.patch b/main/uclibc++/900-dependent_exception.patch
deleted file mode 100644
index 3a5cb7dbca..0000000000
--- a/main/uclibc++/900-dependent_exception.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- a/src/eh_alloc.cpp 2007-06-03 23:51:13.000000000 +0100
-+++ b/src/eh_alloc.cpp 2009-07-13 09:42:39.000000000 +0100
-@@ -42,4 +42,21 @@
- free( (char *)(vptr) - sizeof(__cxa_exception) );
- }
-
-+#if __GNUC__ * 100 + __GNUC_MINOR__ >= 404
-+extern "C" __cxa_dependent_exception* __cxa_allocate_dependent_exception() throw(){
-+ __cxa_dependent_exception *retval;
-+
-+ retval = static_cast<__cxa_dependent_exception*>(malloc(sizeof(__cxa_dependent_exception)));
-+ if(0 == retval){
-+ std::terminate();
-+ }
-+ memset (retval, 0, sizeof(__cxa_dependent_exception));
-+ return retval ;
-+}
-+
-+extern "C" void __cxa_free_dependent_exception(__cxa_dependent_exception *vptr) throw(){
-+ free( vptr );
-+}
-+#endif
-+
- }
---- a/include/unwind-cxx.h 2009-07-13 10:01:11.000000000 +0100
-+++ b/include/unwind-cxx.h 2009-07-13 10:14:08.000000000 +0100
-@@ -79,6 +79,41 @@
- _Unwind_Exception unwindHeader;
- };
-
-+#if __GNUC__ * 100 + __GNUC_MINOR__ >= 404
-+// A dependent C++ exception object consists of a wrapper around an unwind
-+// object header with additional C++ specific information, containing a pointer
-+// to a primary exception object.
-+
-+struct __cxa_dependent_exception
-+{
-+ // The primary exception this thing depends on.
-+ void *primaryException;
-+
-+ // The C++ standard has entertaining rules wrt calling set_terminate
-+ // and set_unexpected in the middle of the exception cleanup process.
-+ std::unexpected_handler unexpectedHandler;
-+ std::terminate_handler terminateHandler;
-+
-+ // The caught exception stack threads through here.
-+ __cxa_exception *nextException;
-+
-+ // How many nested handlers have caught this exception. A negated
-+ // value is a signal that this object has been rethrown.
-+ int handlerCount;
-+
-+ // Cache parsed handler data from the personality routine Phase 1
-+ // for Phase 2 and __cxa_call_unexpected.
-+ int handlerSwitchValue;
-+ const unsigned char *actionRecord;
-+ const unsigned char *languageSpecificData;
-+ _Unwind_Ptr catchTemp;
-+ void *adjustedPtr;
-+
-+ // The generic exception header. Must be last.
-+ _Unwind_Exception unwindHeader;
-+};
-+
-+#endif
- // Each thread in a C++ program has access to a __cxa_eh_globals object.
- struct __cxa_eh_globals
- {
diff --git a/main/uclibc++/APKBUILD b/main/uclibc++/APKBUILD
deleted file mode 100644
index 20ff3a879e..0000000000
--- a/main/uclibc++/APKBUILD
+++ /dev/null
@@ -1,66 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=uclibc++
-pkgver=0.2.2
-pkgrel=7
-pkgdesc="Embedded C++ library"
-url="http://cxx.uclibc.org/"
-arch="all"
-license='GPL-2'
-depends=
-makedepends="bash"
-subpackages="$pkgname-dev"
-source="http://cxx.uclibc.org/src/uClibc++-$pkgver.tar.bz2
- 001-path_to_make.patch
- 002-no_bash.patch
- 003-cp_command.patch
- 004-ccache_fixes.patch
- 005-wrapper.patch
- 006-eabi_fix.patch
- 007-numeric_limits.patch
- 008-integer_width.patch
- 900-dependent_exception.patch
- associative_base.patch
- uclibc++-gcc-4.3.patch
- uclibc++config
- "
-
-build() {
- cd "$srcdir/uClibc++-$pkgver"
- cp ../uclibc++config .config
- make oldconfig
-
- for i in ../*.patch; do
- if ! patch -p1 < $i; then
- error "failed to apply $i"
- return 1
- fi
- done
- sed -i -e 's:bin/bash:bin/sh:' bin/Makefile scripts/find_lib*
- make || return 1
- make DESTDIR="$pkgdir/" install
-}
-
-dev() {
- depends="$pkgname g++"
- mkdir -p "$subpkgdir"
- # move everything to -dev package except *.so files
- mv "$pkgdir"/* "$subpkgdir"/
- mkdir -p "$pkgdir"/usr/lib/
- mv "$subpkgdir"/usr/lib/*.so* \
- "$pkgdir"/usr/lib/
-}
-
-
-md5sums="1ceef3209cca88be8f1bd9de99735954 uClibc++-0.2.2.tar.bz2
-ce1016fb83c23c83486f35f4cd1b64ab 001-path_to_make.patch
-2a9bee5e88bf94d3870517891d5129d6 002-no_bash.patch
-8068b394de053ed94a742d1ed9657b99 003-cp_command.patch
-363dc1cd86052f44212c2f3ac15926da 004-ccache_fixes.patch
-3689f8d77984ca66554e14cacbeb796c 005-wrapper.patch
-99e625748c0e6d5fc7cef8484cbac587 006-eabi_fix.patch
-d335b8f1c9d4682a220a082a371277e4 007-numeric_limits.patch
-2c431d4ad46a244f2f50baf40b85f7d2 008-integer_width.patch
-4e9c416c2a107f7d814f938fa57901a5 900-dependent_exception.patch
-5689baa3f3bf8488c0a5d27a690d30fa associative_base.patch
-4c7b499e4697225378acef25f6364e9b uclibc++-gcc-4.3.patch
-2f573c1e2a0c7a320ea4685cc3ce9e2a uclibc++config"
diff --git a/main/uclibc++/associative_base.patch b/main/uclibc++/associative_base.patch
deleted file mode 100644
index 3453c996a4..0000000000
--- a/main/uclibc++/associative_base.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/include/associative_base.orig 2008-03-18 08:46:20 +0000
-+++ b/include/associative_base 2008-03-18 08:46:56 +0000
-@@ -221,9 +221,9 @@
- bool operator!=(const __base_associative & x){
- return !(x.backing == backing);
- }
-+ void swap(__base_associative & x);
-
- protected:
-- void swap(__base_associative & x);
-
- Compare c;
- std::list<value_type> backing;
diff --git a/main/uclibc++/uclibc++-gcc-4.3.patch b/main/uclibc++/uclibc++-gcc-4.3.patch
deleted file mode 100644
index 37d45a5d5a..0000000000
--- a/main/uclibc++/uclibc++-gcc-4.3.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-diff -ru uClibc++-0.2.2.orig/include/associative_base uClibc++-0.2.2/include/associative_base
---- uClibc++-0.2.2.orig/include/associative_base 2009-03-03 14:03:40.000000000 +0000
-+++ uClibc++-0.2.2/include/associative_base 2009-03-03 14:03:52.000000000 +0000
-@@ -318,7 +318,7 @@
- typedef std::list<ValueType> listtype;
-
- typename listtype::iterator base_iter;
-- typedef _associative_citer<ValueType, Compare, Allocator> _associative_citer;
-+ typedef _associative_citer<ValueType, Compare, Allocator> __associative_citer;
-
-
- public:
-@@ -347,13 +347,13 @@
- bool operator==(const _associative_iter & m) const{
- return m.base_iter == base_iter;
- }
-- bool operator==(const _associative_citer & m) const{
-+ bool operator==(const __associative_citer & m) const{
- return m.base_iter == base_iter;
- }
- bool operator!=(const _associative_iter & m) const{
- return m.base_iter != base_iter;
- }
-- bool operator!=(const _associative_citer & m) const{
-+ bool operator!=(const __associative_citer & m) const{
- return m.base_iter != base_iter;
- }
- _associative_iter & operator++(){
-@@ -378,8 +378,8 @@
- --base_iter;
- return temp;
- }
-- operator _associative_citer() const{
-- return _associative_citer(base_iter);
-+ operator __associative_citer() const{
-+ return __associative_citer(base_iter);
- }
- typename listtype::iterator base_iterator(){
- return base_iter;
-diff -ru uClibc++-0.2.2.orig/include/string uClibc++-0.2.2/include/string
---- uClibc++-0.2.2.orig/include/string 2009-03-03 14:03:40.000000000 +0000
-+++ uClibc++-0.2.2/include/string 2009-03-03 14:03:52.000000000 +0000
-@@ -1017,11 +1017,11 @@
-
- template <> _UCXXEXPORT bool operator==(const string & lhs, const string & rhs);
- template <> _UCXXEXPORT bool operator==(const char * lhs, const string & rhs);
--template <> _UCXXEXPORT bool operator==(const string & rhs, const char * rhs);
-+template <> _UCXXEXPORT bool operator==(const string & lhs, const char * rhs);
-
- template <> _UCXXEXPORT bool operator!=(const string & lhs, const string & rhs);
- template <> _UCXXEXPORT bool operator!=(const char * lhs, const string & rhs);
--template <> _UCXXEXPORT bool operator!=(const string & rhs, const char * rhs);
-+template <> _UCXXEXPORT bool operator!=(const string & lhs, const char * rhs);
-
- template <> _UCXXEXPORT string operator+(const string & lhs, const char* rhs);
- template <> _UCXXEXPORT string operator+(const char* lhs, const string & rhs);
-diff -ru uClibc++-0.2.2.orig/src/string.cpp uClibc++-0.2.2/src/string.cpp
---- uClibc++-0.2.2.orig/src/string.cpp 2009-03-03 14:03:41.000000000 +0000
-+++ uClibc++-0.2.2/src/string.cpp 2009-03-03 14:03:52.000000000 +0000
-@@ -76,11 +76,11 @@
-
- template _UCXXEXPORT bool operator==(const string & lhs, const string & rhs);
- template _UCXXEXPORT bool operator==(const char * lhs, const string & rhs);
-- template _UCXXEXPORT bool operator==(const string & rhs, const char * rhs);
-+ template _UCXXEXPORT bool operator==(const string & lhs, const char * rhs);
-
- template _UCXXEXPORT bool operator!=(const string & lhs, const string & rhs);
- template _UCXXEXPORT bool operator!=(const char * lhs, const string & rhs);
-- template _UCXXEXPORT bool operator!=(const string & rhs, const char * rhs);
-+ template _UCXXEXPORT bool operator!=(const string & lhs, const char * rhs);
-
- template _UCXXEXPORT string operator+(const string & lhs, const char* rhs);
- template _UCXXEXPORT string operator+(const char* lhs, const string & rhs);
diff --git a/main/uclibc++/uclibc++config b/main/uclibc++/uclibc++config
deleted file mode 100644
index 181bd4e7cf..0000000000
--- a/main/uclibc++/uclibc++config
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-
-#
-# Target Features and Options
-#
-UCLIBCXX_HAS_FLOATS=y
-UCLIBCXX_HAS_LONG_DOUBLE=y
-# UCLIBCXX_HAS_TLS is not set
-WARNINGS="-Wall"
-BUILD_EXTRA_LIBRARIES=""
-HAVE_DOT_CONFIG=y
-
-#
-# String and I/O Stream Support
-#
-# UCLIBCXX_HAS_WCHAR is not set
-UCLIBCXX_IOSTREAM_BUFSIZE=32
-UCLIBCXX_HAS_LFS=y
-UCLIBCXX_SUPPORT_CDIR=y
-UCLIBCXX_SUPPORT_CIN=y
-UCLIBCXX_SUPPORT_COUT=y
-UCLIBCXX_SUPPORT_CERR=y
-# UCLIBCXX_SUPPORT_CLOG is not set
-
-#
-# STL and Code Expansion
-#
-UCLIBCXX_STL_BUFFER_SIZE=32
-UCLIBCXX_CODE_EXPANSION=y
-UCLIBCXX_EXPAND_CONSTRUCTORS_DESTRUCTORS=y
-UCLIBCXX_EXPAND_STRING_CHAR=y
-UCLIBCXX_EXPAND_VECTOR_BASIC=y
-UCLIBCXX_EXPAND_IOS_CHAR=y
-UCLIBCXX_EXPAND_STREAMBUF_CHAR=y
-UCLIBCXX_EXPAND_ISTREAM_CHAR=y
-UCLIBCXX_EXPAND_OSTREAM_CHAR=y
-UCLIBCXX_EXPAND_FSTREAM_CHAR=y
-UCLIBCXX_EXPAND_SSTREAM_CHAR=y
-
-#
-# Library Installation Options
-#
-UCLIBCXX_RUNTIME_PREFIX="/usr"
-UCLIBCXX_RUNTIME_INCLUDE_SUBDIR="/include"
-UCLIBCXX_RUNTIME_LIB_SUBDIR="/lib"
-UCLIBCXX_RUNTIME_BIN_SUBDIR="/bin"
-UCLIBCXX_EXCEPTION_SUPPORT=y
-IMPORT_LIBSUP=y
-IMPORT_LIBGCC_EH=y
-BUILD_STATIC_LIB=y
-# BUILD_ONLY_STATIC_LIB is not set
-# DODEBUG is not set
diff --git a/main/vim/APKBUILD b/main/vim/APKBUILD
index 8930ee0b1c..0905c1c8f7 100644
--- a/main/vim/APKBUILD
+++ b/main/vim/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=vim
-pkgver=7.3.401
+pkgver=7.3.434
_srcver=${pkgver%.*}
_patchver=${pkgver##*.}
pkgrel=0
@@ -464,4 +464,37 @@ c91ef87675629cd3fab98b28c8bd6057 7.3.396
d3cbffdac50dba36e582c6c3b8d6cf3d 7.3.398
781b1678b00044498e250a6abd89151b 7.3.399
456655a8e098a1f36611b526489ec4c6 7.3.400
-22b340b307838db563b5a9a8f9c646bb 7.3.401"
+22b340b307838db563b5a9a8f9c646bb 7.3.401
+26efa76a8cfc8b926540c099a8a7044b 7.3.402
+6fea59460369918ae54b846f3e876ac8 7.3.403
+a9032b6e58b10d8082547f4a9a98218e 7.3.404
+6210b92d8079bff8eb374ec448defbe9 7.3.405
+388afd617c74b67cbaa5f80016877be2 7.3.406
+120b0a9eed884ce705f482d560021435 7.3.407
+7030a491640aa1b42ec864dbd8ed21cc 7.3.408
+d82c2051756cdd5dd802473f4211e457 7.3.409
+29ccb4bbda97575b4da43a60c8d1d26a 7.3.410
+ff25ffb70dd1186d94c1abe967d5f236 7.3.411
+266abd1bd01cafc7e6547010927933de 7.3.412
+a856fce6bb3cfd1a18a883d2015cdf93 7.3.413
+ed1728eda523c254f73c53cfa4049f98 7.3.414
+2ecb53a65f1e860805c3e76de6649810 7.3.415
+7c4d240cd697a5059215cf30031fdb67 7.3.416
+80bc77423d32592e86fe3878e4c9132a 7.3.417
+e29cd40e83a815bbf5f184a21faec19b 7.3.418
+500806b4fb0f70a9d28d39fd78977c5a 7.3.419
+52ca17111e0b0cfd86a6295f47ccb4de 7.3.420
+da9cd8687afd5226942c732fa3969c48 7.3.421
+137378088538084ac84414b06ed194d2 7.3.422
+1be05403e55b1e7386aa1ba1e9b164a1 7.3.423
+553b897f34b415438149fa1dd62c1cb2 7.3.424
+d65d21569ea9357ab8213b24d5bb3edf 7.3.425
+b0a25aeb502e7dccbd33086fc43bb3d5 7.3.426
+bd27e7c5084ad505689ffe234995c340 7.3.427
+c28f26ba59d4495eee3bc76f887662dd 7.3.428
+041c4bcff7b0a9d511eee0d15dbd97f9 7.3.429
+d37e30c3c09cc3c8d031d2f43d9ae58a 7.3.430
+6ea544142e91749e20ec152960cd7898 7.3.431
+27e2fbee220f1317092cd912f869ccde 7.3.432
+dd06ca07e6cd631a643c0455e7a8260b 7.3.433
+c42d11497c9a3a8310ae88f68e663a54 7.3.434"
diff --git a/main/vsftpd/APKBUILD b/main/vsftpd/APKBUILD
index 968d3f5191..38ba30ade1 100644
--- a/main/vsftpd/APKBUILD
+++ b/main/vsftpd/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=vsftpd
pkgver=2.3.5
-pkgrel=1
+pkgrel=2
pkgdesc="Very secure ftpd"
url="http://vsftpd.beasts.org"
arch="all"
diff --git a/main/wine/APKBUILD b/main/wine/APKBUILD
index 1abd03cc41..723fff487d 100644
--- a/main/wine/APKBUILD
+++ b/main/wine/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=wine
-pkgver=1.4_rc2
+pkgver=1.4_rc3
_ver=${pkgver/_/-}
pkgrel=0
pkgdesc="A compatibility layer for running Windows programs"
@@ -49,4 +49,4 @@ package() {
"$pkgdir"/usr/bin/wine
}
-md5sums="41e1a9c293cfab5e8ada6e908eebf534 wine-1.4-rc2.tar.bz2"
+md5sums="cbbf30fe43de9676abbb8ea88b1b5cde wine-1.4-rc3.tar.bz2"
diff --git a/main/xen/APKBUILD b/main/xen/APKBUILD
index b427fbd374..0fe61ee06d 100644
--- a/main/xen/APKBUILD
+++ b/main/xen/APKBUILD
@@ -1,70 +1,67 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Contributor: Roger Pau Monne <roger.pau@entel.upc.edu>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=xen
-pkgver=4.1.1
-pkgrel=2
+pkgver=4.1.2
+pkgrel=3
pkgdesc="Xen hypervisor"
url="http://www.xen.org/"
+arch="x86 x86_64"
license="GPL"
-depends="coreutils python sed gawk"
-makedepends="libgcrypt-dev gnutls-dev pciutils-dev texinfo wget mesa-dev sdl-dev zlib-dev openssl-dev util-linux-dev python-dev gettext-dev ncurses-dev perl"
-install=
+depends="udev syslinux bash"
+depends_dev="openssl-dev python-dev e2fsprogs-dev gettext zlib-dev ncurses-dev
+ libiconv-dev dev86 texinfo perl iasl pciutils-dev"
+makedepends="$depends_dev"
+install=""
subpackages="$pkgname-doc"
source="http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.gz
- xen-blktap-uclibc.patch
- xen-blktap2-uclibc.patch
- xen-disable-firmware.patch
- xen-dont-use-lib64.patch
- xen-sed-is-broken-hack.patch
- blktap-write.patch
- xen-x86-pic.patch
- xen-gcc-4.6-Werror-fix.patch
- xen-gcc-4.6-hvmloader-is-broken.patch
+ blktap2_libvhd_add_iconv.patch
+ detect_libiconv.patch
+ fix_bswap_blktap.patch
+ fix_bswap_blktap2.patch
+ fix_ipxe_no_pie_default.patch
+ define_fsimage_dir.patch
+ pygrub_alpine.patch
+ librt.patch
+ busybox-sed.patch
xencommons.initd
xend.initd
xendomains.initd"
-arch="x86 x86_64"
_builddir="$srcdir"/$pkgname-$pkgver
-
prepare() {
+ local i
cd "$_builddir"
-
- msg "Patching sources..."
for i in $source; do
case $i in
- *.patch)
- msg "Applying $i..."
- patch -s -p1 -N -i "$srcdir"/$i || return 1
- ;;
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
- msg "Sources have been patched successfully."
# remove all -Werror
msg "Eradicating -Werror..."
find -name '*.mk' -o -name 'Make*' | xargs sed -i -e 's/-Werror//g'
+
+ echo "LIBLEAFDIR_x86_64=lib" >> .config
}
build() {
cd "$_builddir"
- # We unset $CFLAGS and $LDFLAGS because Xen's buildsystem does not
- # like these values being set. Arguably this is a bug but I can't be
- # bothered to track it down. --nenolod
+ # Unset CFLAGS and LDFLAGS because the xen build system
+ # doesn't support them. Instead use .config in xen root
+ # folder if necessary.
unset CFLAGS
unset LDFLAGS
- # If we provide no parameters it tries to build a kernel image. We
- # definitely don't want that.
msg "Running preflight check..."
(cd tools/check; ./chk build) || return 1
msg "Building hypervisor..."
- make -j1 xen || return 1
+ make xen || return 1
msg "Building tools..."
- make -j1 tools || return 1
+ make tools || return 1
msg "Building stub domains..."
make -j1 stubdom || return 1
@@ -73,9 +70,6 @@ build() {
package() {
cd "$_builddir"
- # We unset $CFLAGS and $LDFLAGS because Xen's buildsystem does not
- # like these values being set. Arguably this is a bug but I can't be
- # bothered to track it down. --nenolod
unset CFLAGS
unset LDFLAGS
@@ -87,16 +81,16 @@ package() {
install -m755 -D "$srcdir"/xendomains.initd "$pkgdir"/etc/init.d/xendomains
}
-md5sums="fab4bf74d73444ff9b43bced2e4fc5a2 xen-4.1.1.tar.gz
-edb5c3e7fba8214702fac709f0e53124 xen-blktap-uclibc.patch
-1f7f847ae0baa915c7b52d0ed5869fe6 xen-blktap2-uclibc.patch
-a569f16a7e3c832ba3fab6154f657244 xen-disable-firmware.patch
-20ce621f3a2fc8ae78e74b9b72da775c xen-dont-use-lib64.patch
-0cec6a97de9e4bc178f3e71190495cc3 xen-sed-is-broken-hack.patch
-56af00443c8d40944082e26304452a5e blktap-write.patch
-c4fc42b11c5917a93f66acf0f83a8747 xen-x86-pic.patch
-faafc199fa8cf33aac44e41c9e1659ea xen-gcc-4.6-Werror-fix.patch
-202dae12f61f4068971cf9b0f47081da xen-gcc-4.6-hvmloader-is-broken.patch
-0b62c1fbe2699a32e745724fd301db5b xencommons.initd
-5ee6a16ec70dfbcd4944ded71b393fa2 xend.initd
-a2b5234483f1b5892d22e9315d9c307f xendomains.initd"
+md5sums="73561faf3c1b5e36ec5c089b5db848ad xen-4.1.2.tar.gz
+6d4b045ae56be6288733d0e078f591ea blktap2_libvhd_add_iconv.patch
+ed3283697cb1ddff066f4087eabf68c6 detect_libiconv.patch
+503f0883f4a0b50fe4e37e09ed9a6177 fix_bswap_blktap.patch
+b973dc1ffcc6872e222b36f3b7b4836b fix_bswap_blktap2.patch
+10dcf0b6a05691e9f88afc01bd414480 fix_ipxe_no_pie_default.patch
+0bb8a435020a5a49b38b1a447fb69977 define_fsimage_dir.patch
+a7500c42804abdf68e051dc667e65f93 pygrub_alpine.patch
+fa06495a175571f4aa3b6cb88937953e librt.patch
+1bea3543ddc712330527b62fd9ff6520 busybox-sed.patch
+4cf88b53f8ca8d99ad52bae419b620a7 xencommons.initd
+b5bfc08b82bc0d21193714719a719798 xend.initd
+86e7923383a906404da321d1814657e9 xendomains.initd"
diff --git a/main/xen/blktap-write.patch b/main/xen/blktap-write.patch
deleted file mode 100644
index 4b589daec2..0000000000
--- a/main/xen/blktap-write.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./tools/blktap2/include/blktaplib.h.orig
-+++ ./tools/blktap2/include/blktaplib.h
-@@ -198,7 +198,9 @@
- } msg_lock_t;
-
- #define READ 0
-+#ifndef WRITE
- #define WRITE 1
-+#endif
-
- /*Control Messages between manager and tapdev*/
- #define CTLMSG_PARAMS 1
---- ./tools/blktap/lib/blktaplib.h.orig
-+++ ./tools/blktap/lib/blktaplib.h
-@@ -196,7 +196,9 @@
- } msg_pid_t;
-
- #define READ 0
-+#ifndef WRITE
- #define WRITE 1
-+#endif
-
- /*Control Messages between manager and tapdev*/
- #define CTLMSG_PARAMS 1
diff --git a/testing/xen/blktap2_libvhd_add_iconv.patch b/main/xen/blktap2_libvhd_add_iconv.patch
index 2353e38a6b..2353e38a6b 100644
--- a/testing/xen/blktap2_libvhd_add_iconv.patch
+++ b/main/xen/blktap2_libvhd_add_iconv.patch
diff --git a/testing/xen/busybox-sed.patch b/main/xen/busybox-sed.patch
index e1a9531577..e1a9531577 100644
--- a/testing/xen/busybox-sed.patch
+++ b/main/xen/busybox-sed.patch
diff --git a/testing/xen/define_fsimage_dir.patch b/main/xen/define_fsimage_dir.patch
index 04e4aed2af..04e4aed2af 100644
--- a/testing/xen/define_fsimage_dir.patch
+++ b/main/xen/define_fsimage_dir.patch
diff --git a/testing/xen/detect_libiconv.patch b/main/xen/detect_libiconv.patch
index 5b2359eb67..5b2359eb67 100644
--- a/testing/xen/detect_libiconv.patch
+++ b/main/xen/detect_libiconv.patch
diff --git a/testing/xen/fix_bswap_blktap.patch b/main/xen/fix_bswap_blktap.patch
index 71671d9dc2..71671d9dc2 100644
--- a/testing/xen/fix_bswap_blktap.patch
+++ b/main/xen/fix_bswap_blktap.patch
diff --git a/testing/xen/fix_bswap_blktap2.patch b/main/xen/fix_bswap_blktap2.patch
index 69cd2e369c..69cd2e369c 100644
--- a/testing/xen/fix_bswap_blktap2.patch
+++ b/main/xen/fix_bswap_blktap2.patch
diff --git a/testing/xen/fix_ipxe_no_pie_default.patch b/main/xen/fix_ipxe_no_pie_default.patch
index 3ffb5388c4..3ffb5388c4 100644
--- a/testing/xen/fix_ipxe_no_pie_default.patch
+++ b/main/xen/fix_ipxe_no_pie_default.patch
diff --git a/testing/xen/librt.patch b/main/xen/librt.patch
index cbb52071a5..cbb52071a5 100644
--- a/testing/xen/librt.patch
+++ b/main/xen/librt.patch
diff --git a/testing/xen/pygrub_alpine.patch b/main/xen/pygrub_alpine.patch
index 98d0822c71..98d0822c71 100644
--- a/testing/xen/pygrub_alpine.patch
+++ b/main/xen/pygrub_alpine.patch
diff --git a/main/xen/xen-blktap-uclibc.patch b/main/xen/xen-blktap-uclibc.patch
deleted file mode 100644
index d8668ec19b..0000000000
--- a/main/xen/xen-blktap-uclibc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xen-4.0.1/tools/blktap/drivers/bswap.h
-+++ xen-4.0.1.mod/tools/blktap/drivers/bswap.h
-@@ -15,6 +15,8 @@
- #define bswap_64(x) swap64(x)
- #else
-
-+#define HAVE_BYTESWAP_H
-+
- #ifdef HAVE_BYTESWAP_H
- #include <byteswap.h>
- #else
diff --git a/main/xen/xen-blktap2-uclibc.patch b/main/xen/xen-blktap2-uclibc.patch
deleted file mode 100644
index 7ce1dc0cfd..0000000000
--- a/main/xen/xen-blktap2-uclibc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- xen-4.0.1/tools/blktap2/drivers/bswap.h
-+++ xen-4.0.1.mod/tools/blktap2/drivers/bswap.h
-@@ -15,6 +15,8 @@
- #define bswap_64(x) swap64(x)
- #else
-
-+#define HAVE_BYTESWAP_H
-+
- #ifdef HAVE_BYTESWAP_H
- #include <byteswap.h>
- #else
---- xen-4.0.1/tools/blktap2/vhd/lib/Makefile
-+++ xen-4.0.1.mod/tools/blktap2/vhd/lib/Makefile
-@@ -23,6 +23,8 @@
- LIBS := -luuid
- endif
-
-+LIBS += -liconv
-+
- # Get gcc to generate the dependencies for us.
- CFLAGS += -Wp,-MD,.$(@F).d
- DEPS = .*.d
diff --git a/main/xen/xen-disable-firmware.patch b/main/xen/xen-disable-firmware.patch
deleted file mode 100644
index 06e43d41c4..0000000000
--- a/main/xen/xen-disable-firmware.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- xen-4.0.1/tools/Makefile
-+++ xen-4.0.1.mod/tools/Makefile
-@@ -13,7 +13,6 @@
- SUBDIRS-y += hotplug
- SUBDIRS-y += xentrace
- SUBDIRS-$(CONFIG_XCUTILS) += xcutils
--SUBDIRS-$(CONFIG_X86) += firmware
- SUBDIRS-$(ACM_SECURITY) += security
- SUBDIRS-y += console
- SUBDIRS-y += xenmon
diff --git a/main/xen/xen-dont-use-lib64.patch b/main/xen/xen-dont-use-lib64.patch
deleted file mode 100644
index b14ff10164..0000000000
--- a/main/xen/xen-dont-use-lib64.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xen-4.0.1/config/StdGNU.mk
-+++ xen-4.0.1.mod/config/StdGNU.mk
-@@ -28,7 +28,7 @@
- INCLUDEDIR = $(PREFIX)/include
- LIBLEAFDIR = lib
- LIBLEAFDIR_x86_32 = lib
--LIBLEAFDIR_x86_64 ?= lib64
-+LIBLEAFDIR_x86_64 ?= lib
- LIBDIR = $(PREFIX)/$(LIBLEAFDIR)
- LIBDIR_x86_32 = $(PREFIX)/$(LIBLEAFDIR_x86_32)
- LIBDIR_x86_64 = $(PREFIX)/$(LIBLEAFDIR_x86_64)
diff --git a/main/xen/xen-gcc-4.6-Werror-fix.patch b/main/xen/xen-gcc-4.6-Werror-fix.patch
deleted file mode 100644
index b04ae9cae8..0000000000
--- a/main/xen/xen-gcc-4.6-Werror-fix.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- ./tools/python/xen/lowlevel/checkpoint/libcheckpoint.c.orig
-+++ ./tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
-@@ -820,12 +820,10 @@
-
- static void stop_suspend_thread(checkpoint_state* s)
- {
-- int err;
--
- s->done = 1;
-
-- err = sem_post(&s->resumed_sem);
-+ (void)sem_post(&s->resumed_sem);
-
-- err = pthread_join(s->suspend_thr, NULL);
-+ (void)pthread_join(s->suspend_thr, NULL);
- s->suspend_thr = 0;
- }
---- ./tools/python/xen/lowlevel/netlink/libnetlink.c.orig
-+++ ./tools/python/xen/lowlevel/netlink/libnetlink.c
-@@ -433,7 +433,7 @@
- nladdr.nl_groups = 0;
-
- while (1) {
-- int err, len, type;
-+ int err, len;
- int l;
-
- status = fread(&buf, 1, sizeof(*h), rtnl);
-@@ -448,7 +448,6 @@
- return 0;
-
- len = h->nlmsg_len;
-- type= h->nlmsg_type;
- l = len - sizeof(*h);
-
- if (l<0 || len>sizeof(buf)) {
diff --git a/main/xen/xen-gcc-4.6-hvmloader-is-broken.patch b/main/xen/xen-gcc-4.6-hvmloader-is-broken.patch
deleted file mode 100644
index 767abed5d3..0000000000
--- a/main/xen/xen-gcc-4.6-hvmloader-is-broken.patch
+++ /dev/null
@@ -1,733 +0,0 @@
-
-# HG changeset patch
-# User Keir Fraser <keir@xen.org>
-# Date 1311171934 -3600
-# Node ID 1976adbf2b807e505fdf0356c29ec0c0499ed533
-# Parent 411b38f8f90bc042a9e6839b6840dd57cbee4a8c
-hvmloader: Switch to absolute addressing for calling hypercall stubs.
-
-This is clearer and less fragile than trying to make relative calls
-work. In particular, the old approach failed if _start was not
-== HVMLOADER_PHYSICAL_ADDRESS. This was the case for some modern
-toolchains which reorder functions.
-
-Signed-off-by: Keir Fraser <keir@xen.org>
-xen-unstable changeset: 23730:dd5eecf739d1
-xen-unstable date: Wed Jul 20 15:02:16 2011 +0100
-
-
-hvmloader: Remove hard tabs from source files.
-
-Signed-off-by: Keir Fraser <keir@xen.org>
-xen-unstable changeset: 23729:4f1109af9c63
-xen-unstable date: Wed Jul 20 14:52:16 2011 +0100
-
-diff -r 411b38f8f90b -r 1976adbf2b80 tools/firmware/hvmloader/hypercall.h
---- a/tools/firmware/hvmloader/hypercall.h Wed Jul 20 15:24:09 2011 +0100
-+++ b/tools/firmware/hvmloader/hypercall.h Wed Jul 20 15:25:34 2011 +0100
-@@ -35,147 +35,148 @@
- #include <xen/xen.h>
- #include "config.h"
-
--/*
-- * NB. Hypercall address needs to be relative to a linkage symbol for
-- * some version of ld to relocate the relative calls properly.
-- */
--#define hypercall_pa "_start - " STR(HVMLOADER_PHYSICAL_ADDRESS) \
-- " + " STR(HYPERCALL_PHYSICAL_ADDRESS)
-+#define hcall_addr(name) \
-+ ((unsigned long)HYPERCALL_PHYSICAL_ADDRESS + __HYPERVISOR_##name * 32)
-
--#define _hypercall0(type, name) \
--({ \
-- long __res; \
-- asm volatile ( \
-- "call "hypercall_pa" + " STR(__HYPERVISOR_##name * 32) \
-- : "=a" (__res) \
-- : \
-- : "memory" ); \
-- (type)__res; \
-+#define _hypercall0(type, name) \
-+({ \
-+ long __res; \
-+ asm volatile ( \
-+ "call *%%eax" \
-+ : "=a" (__res) \
-+ : "0" (hcall_addr(name)) \
-+ : "memory" ); \
-+ (type)__res; \
- })
-
--#define _hypercall1(type, name, a1) \
--({ \
-- long __res, __ign1; \
-- asm volatile ( \
-- "call "hypercall_pa" + " STR(__HYPERVISOR_##name * 32) \
-- : "=a" (__res), "=b" (__ign1) \
-- : "1" ((long)(a1)) \
-- : "memory" ); \
-- (type)__res; \
-+#define _hypercall1(type, name, a1) \
-+({ \
-+ long __res, __ign1; \
-+ asm volatile ( \
-+ "call *%%eax" \
-+ : "=a" (__res), "=b" (__ign1) \
-+ : "0" (hcall_addr(name)), \
-+ "1" ((long)(a1)) \
-+ : "memory" ); \
-+ (type)__res; \
- })
-
--#define _hypercall2(type, name, a1, a2) \
--({ \
-- long __res, __ign1, __ign2; \
-- asm volatile ( \
-- "call "hypercall_pa" + " STR(__HYPERVISOR_##name * 32) \
-- : "=a" (__res), "=b" (__ign1), "=c" (__ign2) \
-- : "1" ((long)(a1)), "2" ((long)(a2)) \
-- : "memory" ); \
-- (type)__res; \
-+#define _hypercall2(type, name, a1, a2) \
-+({ \
-+ long __res, __ign1, __ign2; \
-+ asm volatile ( \
-+ "call *%%eax" \
-+ : "=a" (__res), "=b" (__ign1), "=c" (__ign2) \
-+ : "0" (hcall_addr(name)), \
-+ "1" ((long)(a1)), "2" ((long)(a2)) \
-+ : "memory" ); \
-+ (type)__res; \
- })
-
--#define _hypercall3(type, name, a1, a2, a3) \
--({ \
-- long __res, __ign1, __ign2, __ign3; \
-- asm volatile ( \
-- "call "hypercall_pa" + " STR(__HYPERVISOR_##name * 32) \
-- : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \
-- "=d" (__ign3) \
-- : "1" ((long)(a1)), "2" ((long)(a2)), \
-- "3" ((long)(a3)) \
-- : "memory" ); \
-- (type)__res; \
-+#define _hypercall3(type, name, a1, a2, a3) \
-+({ \
-+ long __res, __ign1, __ign2, __ign3; \
-+ asm volatile ( \
-+ "call *%%eax" \
-+ : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \
-+ "=d" (__ign3) \
-+ : "0" (hcall_addr(name)), \
-+ "1" ((long)(a1)), "2" ((long)(a2)), \
-+ "3" ((long)(a3)) \
-+ : "memory" ); \
-+ (type)__res; \
- })
-
--#define _hypercall4(type, name, a1, a2, a3, a4) \
--({ \
-- long __res, __ign1, __ign2, __ign3, __ign4; \
-- asm volatile ( \
-- "call "hypercall_pa" + " STR(__HYPERVISOR_##name * 32) \
-- : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \
-- "=d" (__ign3), "=S" (__ign4) \
-- : "1" ((long)(a1)), "2" ((long)(a2)), \
-- "3" ((long)(a3)), "4" ((long)(a4)) \
-- : "memory" ); \
-- (type)__res; \
-+#define _hypercall4(type, name, a1, a2, a3, a4) \
-+({ \
-+ long __res, __ign1, __ign2, __ign3, __ign4; \
-+ asm volatile ( \
-+ "call *%%eax" \
-+ : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \
-+ "=d" (__ign3), "=S" (__ign4) \
-+ : "0" (hcall_addr(name)), \
-+ "1" ((long)(a1)), "2" ((long)(a2)), \
-+ "3" ((long)(a3)), "4" ((long)(a4)) \
-+ : "memory" ); \
-+ (type)__res; \
- })
-
--#define _hypercall5(type, name, a1, a2, a3, a4, a5) \
--({ \
-- long __res, __ign1, __ign2, __ign3, __ign4, __ign5; \
-- asm volatile ( \
-- "call "hypercall_pa" + " STR(__HYPERVISOR_##name * 32) \
-- : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \
-- "=d" (__ign3), "=S" (__ign4), "=D" (__ign5) \
-- : "1" ((long)(a1)), "2" ((long)(a2)), \
-- "3" ((long)(a3)), "4" ((long)(a4)), \
-- "5" ((long)(a5)) \
-- : "memory" ); \
-- (type)__res; \
-+#define _hypercall5(type, name, a1, a2, a3, a4, a5) \
-+({ \
-+ long __res, __ign1, __ign2, __ign3, __ign4, __ign5; \
-+ asm volatile ( \
-+ "call *%%eax" \
-+ : "=a" (__res), "=b" (__ign1), "=c" (__ign2), \
-+ "=d" (__ign3), "=S" (__ign4), "=D" (__ign5) \
-+ : "0" (hcall_addr(name)), \
-+ "1" ((long)(a1)), "2" ((long)(a2)), \
-+ "3" ((long)(a3)), "4" ((long)(a4)), \
-+ "5" ((long)(a5)) \
-+ : "memory" ); \
-+ (type)__res; \
- })
-
- static inline int
- hypercall_sched_op(
-- int cmd, void *arg)
-+ int cmd, void *arg)
- {
-- return _hypercall2(int, sched_op, cmd, arg);
-+ return _hypercall2(int, sched_op, cmd, arg);
- }
-
- static inline int
- hypercall_memory_op(
-- unsigned int cmd, void *arg)
-+ unsigned int cmd, void *arg)
- {
-- return _hypercall2(int, memory_op, cmd, arg);
-+ return _hypercall2(int, memory_op, cmd, arg);
- }
-
- static inline int
- hypercall_multicall(
-- void *call_list, int nr_calls)
-+ void *call_list, int nr_calls)
- {
-- return _hypercall2(int, multicall, call_list, nr_calls);
-+ return _hypercall2(int, multicall, call_list, nr_calls);
- }
-
- static inline int
- hypercall_event_channel_op(
-- int cmd, void *arg)
-+ int cmd, void *arg)
- {
-- return _hypercall2(int, event_channel_op, cmd, arg);
-+ return _hypercall2(int, event_channel_op, cmd, arg);
- }
-
- static inline int
- hypercall_xen_version(
-- int cmd, void *arg)
-+ int cmd, void *arg)
- {
-- return _hypercall2(int, xen_version, cmd, arg);
-+ return _hypercall2(int, xen_version, cmd, arg);
- }
-
- static inline int
- hypercall_console_io(
-- int cmd, int count, char *str)
-+ int cmd, int count, char *str)
- {
-- return _hypercall3(int, console_io, cmd, count, str);
-+ return _hypercall3(int, console_io, cmd, count, str);
- }
-
- static inline int
- hypercall_vm_assist(
-- unsigned int cmd, unsigned int type)
-+ unsigned int cmd, unsigned int type)
- {
-- return _hypercall2(int, vm_assist, cmd, type);
-+ return _hypercall2(int, vm_assist, cmd, type);
- }
-
- static inline int
- hypercall_vcpu_op(
-- int cmd, int vcpuid, void *extra_args)
-+ int cmd, int vcpuid, void *extra_args)
- {
-- return _hypercall3(int, vcpu_op, cmd, vcpuid, extra_args);
-+ return _hypercall3(int, vcpu_op, cmd, vcpuid, extra_args);
- }
-
- static inline int
- hypercall_hvm_op(
-- int cmd, void *arg)
-+ int cmd, void *arg)
- {
-- return _hypercall2(int, hvm_op, cmd, arg);
-+ return _hypercall2(int, hvm_op, cmd, arg);
- }
-
- #endif /* __HVMLOADER_HYPERCALL_H__ */
-diff -r 411b38f8f90b -r 1976adbf2b80 tools/firmware/hvmloader/pci_regs.h
---- a/tools/firmware/hvmloader/pci_regs.h Wed Jul 20 15:24:09 2011 +0100
-+++ b/tools/firmware/hvmloader/pci_regs.h Wed Jul 20 15:25:34 2011 +0100
-@@ -1,69 +1,69 @@
- /*
-- * pci_regs.h
-+ * pci_regs.h
- *
-- * PCI standard defines
-- * Copyright 1994, Drew Eckhardt
-- * Copyright 1997--1999 Martin Mares <mj@ucw.cz>
-+ * PCI standard defines
-+ * Copyright 1994, Drew Eckhardt
-+ * Copyright 1997--1999 Martin Mares <mj@ucw.cz>
- *
-- * For more information, please consult the following manuals (look at
-- * http://www.pcisig.com/ for how to get them):
-+ * For more information, please consult the following manuals (look at
-+ * http://www.pcisig.com/ for how to get them):
- *
-- * PCI BIOS Specification
-- * PCI Local Bus Specification
-- * PCI to PCI Bridge Specification
-- * PCI System Design Guide
-+ * PCI BIOS Specification
-+ * PCI Local Bus Specification
-+ * PCI to PCI Bridge Specification
-+ * PCI System Design Guide
- */
-
- #ifndef __HVMLOADER_PCI_REGS_H__
- #define __HVMLOADER_PCI_REGS_H__
-
--#define PCI_VENDOR_ID 0x00 /* 16 bits */
--#define PCI_DEVICE_ID 0x02 /* 16 bits */
--#define PCI_COMMAND 0x04 /* 16 bits */
--#define PCI_COMMAND_IO 0x1 /* Enable response in I/O space */
--#define PCI_COMMAND_MEMORY 0x2 /* Enable response in Memory space */
--#define PCI_COMMAND_MASTER 0x4 /* Enable bus mastering */
--#define PCI_COMMAND_SPECIAL 0x8 /* Enable response to special cycles */
--#define PCI_COMMAND_INVALIDATE 0x10 /* Use memory write and invalidate */
--#define PCI_COMMAND_VGA_PALETTE 0x20 /* Enable palette snooping */
--#define PCI_COMMAND_PARITY 0x40 /* Enable parity checking */
--#define PCI_COMMAND_WAIT 0x80 /* Enable address/data stepping */
--#define PCI_COMMAND_SERR 0x100 /* Enable SERR */
--#define PCI_COMMAND_FAST_BACK 0x200 /* Enable back-to-back writes */
-+#define PCI_VENDOR_ID 0x00 /* 16 bits */
-+#define PCI_DEVICE_ID 0x02 /* 16 bits */
-+#define PCI_COMMAND 0x04 /* 16 bits */
-+#define PCI_COMMAND_IO 0x1 /* Enable response in I/O space */
-+#define PCI_COMMAND_MEMORY 0x2 /* Enable response in Memory space */
-+#define PCI_COMMAND_MASTER 0x4 /* Enable bus mastering */
-+#define PCI_COMMAND_SPECIAL 0x8 /* Enable response to special cycles */
-+#define PCI_COMMAND_INVALIDATE 0x10 /* Use memory write and invalidate */
-+#define PCI_COMMAND_VGA_PALETTE 0x20 /* Enable palette snooping */
-+#define PCI_COMMAND_PARITY 0x40 /* Enable parity checking */
-+#define PCI_COMMAND_WAIT 0x80 /* Enable address/data stepping */
-+#define PCI_COMMAND_SERR 0x100 /* Enable SERR */
-+#define PCI_COMMAND_FAST_BACK 0x200 /* Enable back-to-back writes */
- #define PCI_COMMAND_INTX_DISABLE 0x400 /* INTx Emulation Disable */
-
--#define PCI_STATUS 0x06 /* 16 bits */
--#define PCI_STATUS_CAP_LIST 0x10 /* Support Capability List */
--#define PCI_STATUS_66MHZ 0x20 /* Support 66 Mhz PCI 2.1 bus */
--#define PCI_STATUS_UDF 0x40 /* Support User Definable Features [obsolete] */
--#define PCI_STATUS_FAST_BACK 0x80 /* Accept fast-back to back */
--#define PCI_STATUS_PARITY 0x100 /* Detected parity error */
--#define PCI_STATUS_DEVSEL_MASK 0x600 /* DEVSEL timing */
--#define PCI_STATUS_DEVSEL_FAST 0x000
--#define PCI_STATUS_DEVSEL_MEDIUM 0x200
--#define PCI_STATUS_DEVSEL_SLOW 0x400
--#define PCI_STATUS_SIG_TARGET_ABORT 0x800 /* Set on target abort */
--#define PCI_STATUS_REC_TARGET_ABORT 0x1000 /* Master ack of " */
--#define PCI_STATUS_REC_MASTER_ABORT 0x2000 /* Set on master abort */
--#define PCI_STATUS_SIG_SYSTEM_ERROR 0x4000 /* Set when we drive SERR */
--#define PCI_STATUS_DETECTED_PARITY 0x8000 /* Set on parity error */
-+#define PCI_STATUS 0x06 /* 16 bits */
-+#define PCI_STATUS_CAP_LIST 0x10 /* Support Capability List */
-+#define PCI_STATUS_66MHZ 0x20 /* Support 66 Mhz PCI 2.1 bus */
-+#define PCI_STATUS_UDF 0x40 /* Support User Definable Features [obsolete] */
-+#define PCI_STATUS_FAST_BACK 0x80 /* Accept fast-back to back */
-+#define PCI_STATUS_PARITY 0x100 /* Detected parity error */
-+#define PCI_STATUS_DEVSEL_MASK 0x600 /* DEVSEL timing */
-+#define PCI_STATUS_DEVSEL_FAST 0x000
-+#define PCI_STATUS_DEVSEL_MEDIUM 0x200
-+#define PCI_STATUS_DEVSEL_SLOW 0x400
-+#define PCI_STATUS_SIG_TARGET_ABORT 0x800 /* Set on target abort */
-+#define PCI_STATUS_REC_TARGET_ABORT 0x1000 /* Master ack of " */
-+#define PCI_STATUS_REC_MASTER_ABORT 0x2000 /* Set on master abort */
-+#define PCI_STATUS_SIG_SYSTEM_ERROR 0x4000 /* Set when we drive SERR */
-+#define PCI_STATUS_DETECTED_PARITY 0x8000 /* Set on parity error */
-
--#define PCI_CLASS_REVISION 0x08 /* High 24 bits are class, low 8 revision */
--#define PCI_REVISION_ID 0x08 /* Revision ID */
--#define PCI_CLASS_PROG 0x09 /* Reg. Level Programming Interface */
--#define PCI_CLASS_DEVICE 0x0a /* Device class */
-+#define PCI_CLASS_REVISION 0x08 /* High 24 bits are class, low 8 revision */
-+#define PCI_REVISION_ID 0x08 /* Revision ID */
-+#define PCI_CLASS_PROG 0x09 /* Reg. Level Programming Interface */
-+#define PCI_CLASS_DEVICE 0x0a /* Device class */
-
--#define PCI_CACHE_LINE_SIZE 0x0c /* 8 bits */
--#define PCI_LATENCY_TIMER 0x0d /* 8 bits */
--#define PCI_HEADER_TYPE 0x0e /* 8 bits */
--#define PCI_HEADER_TYPE_NORMAL 0
--#define PCI_HEADER_TYPE_BRIDGE 1
--#define PCI_HEADER_TYPE_CARDBUS 2
-+#define PCI_CACHE_LINE_SIZE 0x0c /* 8 bits */
-+#define PCI_LATENCY_TIMER 0x0d /* 8 bits */
-+#define PCI_HEADER_TYPE 0x0e /* 8 bits */
-+#define PCI_HEADER_TYPE_NORMAL 0
-+#define PCI_HEADER_TYPE_BRIDGE 1
-+#define PCI_HEADER_TYPE_CARDBUS 2
-
--#define PCI_BIST 0x0f /* 8 bits */
--#define PCI_BIST_CODE_MASK 0x0f /* Return result */
--#define PCI_BIST_START 0x40 /* 1 to start BIST, 2 secs or less */
--#define PCI_BIST_CAPABLE 0x80 /* 1 if BIST capable */
-+#define PCI_BIST 0x0f /* 8 bits */
-+#define PCI_BIST_CODE_MASK 0x0f /* Return result */
-+#define PCI_BIST_START 0x40 /* 1 to start BIST, 2 secs or less */
-+#define PCI_BIST_CAPABLE 0x80 /* 1 if BIST capable */
-
- /*
- * Base addresses specify locations in memory or I/O space.
-@@ -71,38 +71,38 @@
- * 0xffffffff to the register, and reading it back. Only
- * 1 bits are decoded.
- */
--#define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */
--#define PCI_BASE_ADDRESS_1 0x14 /* 32 bits [htype 0,1 only] */
--#define PCI_BASE_ADDRESS_2 0x18 /* 32 bits [htype 0 only] */
--#define PCI_BASE_ADDRESS_3 0x1c /* 32 bits */
--#define PCI_BASE_ADDRESS_4 0x20 /* 32 bits */
--#define PCI_BASE_ADDRESS_5 0x24 /* 32 bits */
--#define PCI_BASE_ADDRESS_SPACE 0x01 /* 0 = memory, 1 = I/O */
--#define PCI_BASE_ADDRESS_SPACE_IO 0x01
--#define PCI_BASE_ADDRESS_SPACE_MEMORY 0x00
--#define PCI_BASE_ADDRESS_MEM_TYPE_MASK 0x06
--#define PCI_BASE_ADDRESS_MEM_TYPE_32 0x00 /* 32 bit address */
--#define PCI_BASE_ADDRESS_MEM_TYPE_1M 0x02 /* Below 1M [obsolete] */
--#define PCI_BASE_ADDRESS_MEM_TYPE_64 0x04 /* 64 bit address */
--#define PCI_BASE_ADDRESS_MEM_PREFETCH 0x08 /* prefetchable? */
--#define PCI_BASE_ADDRESS_MEM_MASK (~0x0fUL)
--#define PCI_BASE_ADDRESS_IO_MASK (~0x03UL)
-+#define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */
-+#define PCI_BASE_ADDRESS_1 0x14 /* 32 bits [htype 0,1 only] */
-+#define PCI_BASE_ADDRESS_2 0x18 /* 32 bits [htype 0 only] */
-+#define PCI_BASE_ADDRESS_3 0x1c /* 32 bits */
-+#define PCI_BASE_ADDRESS_4 0x20 /* 32 bits */
-+#define PCI_BASE_ADDRESS_5 0x24 /* 32 bits */
-+#define PCI_BASE_ADDRESS_SPACE 0x01 /* 0 = memory, 1 = I/O */
-+#define PCI_BASE_ADDRESS_SPACE_IO 0x01
-+#define PCI_BASE_ADDRESS_SPACE_MEMORY 0x00
-+#define PCI_BASE_ADDRESS_MEM_TYPE_MASK 0x06
-+#define PCI_BASE_ADDRESS_MEM_TYPE_32 0x00 /* 32 bit address */
-+#define PCI_BASE_ADDRESS_MEM_TYPE_1M 0x02 /* Below 1M [obsolete] */
-+#define PCI_BASE_ADDRESS_MEM_TYPE_64 0x04 /* 64 bit address */
-+#define PCI_BASE_ADDRESS_MEM_PREFETCH 0x08 /* prefetchable? */
-+#define PCI_BASE_ADDRESS_MEM_MASK (~0x0fUL)
-+#define PCI_BASE_ADDRESS_IO_MASK (~0x03UL)
- /* bit 1 is reserved if address_space = 1 */
-
- /* Header type 0 (normal devices) */
--#define PCI_CARDBUS_CIS 0x28
--#define PCI_SUBSYSTEM_VENDOR_ID 0x2c
--#define PCI_SUBSYSTEM_ID 0x2e
--#define PCI_ROM_ADDRESS 0x30 /* Bits 31..11 are address, 10..1 reserved */
--#define PCI_ROM_ADDRESS_ENABLE 0x01
--#define PCI_ROM_ADDRESS_MASK (~0x7ffUL)
-+#define PCI_CARDBUS_CIS 0x28
-+#define PCI_SUBSYSTEM_VENDOR_ID 0x2c
-+#define PCI_SUBSYSTEM_ID 0x2e
-+#define PCI_ROM_ADDRESS 0x30 /* Bits 31..11 are address, 10..1 reserved */
-+#define PCI_ROM_ADDRESS_ENABLE 0x01
-+#define PCI_ROM_ADDRESS_MASK (~0x7ffUL)
-
--#define PCI_CAPABILITY_LIST 0x34 /* Offset of first capability list entry */
-+#define PCI_CAPABILITY_LIST 0x34 /* Offset of first capability list entry */
-
- /* 0x35-0x3b are reserved */
--#define PCI_INTERRUPT_LINE 0x3c /* 8 bits */
--#define PCI_INTERRUPT_PIN 0x3d /* 8 bits */
--#define PCI_MIN_GNT 0x3e /* 8 bits */
--#define PCI_MAX_LAT 0x3f /* 8 bits */
-+#define PCI_INTERRUPT_LINE 0x3c /* 8 bits */
-+#define PCI_INTERRUPT_PIN 0x3d /* 8 bits */
-+#define PCI_MIN_GNT 0x3e /* 8 bits */
-+#define PCI_MAX_LAT 0x3f /* 8 bits */
-
- #endif /* __HVMLOADER_PCI_REGS_H__ */
-diff -r 411b38f8f90b -r 1976adbf2b80 tools/firmware/hvmloader/smbios_types.h
---- a/tools/firmware/hvmloader/smbios_types.h Wed Jul 20 15:24:09 2011 +0100
-+++ b/tools/firmware/hvmloader/smbios_types.h Wed Jul 20 15:25:34 2011 +0100
-@@ -32,157 +32,157 @@
- between 0xf0000 and 0xfffff.
- */
- struct smbios_entry_point {
-- char anchor_string[4];
-- uint8_t checksum;
-- uint8_t length;
-- uint8_t smbios_major_version;
-- uint8_t smbios_minor_version;
-- uint16_t max_structure_size;
-- uint8_t entry_point_revision;
-- uint8_t formatted_area[5];
-- char intermediate_anchor_string[5];
-- uint8_t intermediate_checksum;
-- uint16_t structure_table_length;
-- uint32_t structure_table_address;
-- uint16_t number_of_structures;
-- uint8_t smbios_bcd_revision;
-+ char anchor_string[4];
-+ uint8_t checksum;
-+ uint8_t length;
-+ uint8_t smbios_major_version;
-+ uint8_t smbios_minor_version;
-+ uint16_t max_structure_size;
-+ uint8_t entry_point_revision;
-+ uint8_t formatted_area[5];
-+ char intermediate_anchor_string[5];
-+ uint8_t intermediate_checksum;
-+ uint16_t structure_table_length;
-+ uint32_t structure_table_address;
-+ uint16_t number_of_structures;
-+ uint8_t smbios_bcd_revision;
- } __attribute__ ((packed));
-
- /* This goes at the beginning of every SMBIOS structure. */
- struct smbios_structure_header {
-- uint8_t type;
-- uint8_t length;
-- uint16_t handle;
-+ uint8_t type;
-+ uint8_t length;
-+ uint16_t handle;
- } __attribute__ ((packed));
-
- /* SMBIOS type 0 - BIOS Information */
- struct smbios_type_0 {
-- struct smbios_structure_header header;
-- uint8_t vendor_str;
-- uint8_t version_str;
-- uint16_t starting_address_segment;
-- uint8_t release_date_str;
-- uint8_t rom_size;
-- uint8_t characteristics[8];
-- uint8_t characteristics_extension_bytes[2];
-- uint8_t major_release;
-- uint8_t minor_release;
-- uint8_t embedded_controller_major;
-- uint8_t embedded_controller_minor;
-+ struct smbios_structure_header header;
-+ uint8_t vendor_str;
-+ uint8_t version_str;
-+ uint16_t starting_address_segment;
-+ uint8_t release_date_str;
-+ uint8_t rom_size;
-+ uint8_t characteristics[8];
-+ uint8_t characteristics_extension_bytes[2];
-+ uint8_t major_release;
-+ uint8_t minor_release;
-+ uint8_t embedded_controller_major;
-+ uint8_t embedded_controller_minor;
- } __attribute__ ((packed));
-
- /* SMBIOS type 1 - System Information */
- struct smbios_type_1 {
-- struct smbios_structure_header header;
-- uint8_t manufacturer_str;
-- uint8_t product_name_str;
-- uint8_t version_str;
-- uint8_t serial_number_str;
-- uint8_t uuid[16];
-- uint8_t wake_up_type;
-- uint8_t sku_str;
-- uint8_t family_str;
-+ struct smbios_structure_header header;
-+ uint8_t manufacturer_str;
-+ uint8_t product_name_str;
-+ uint8_t version_str;
-+ uint8_t serial_number_str;
-+ uint8_t uuid[16];
-+ uint8_t wake_up_type;
-+ uint8_t sku_str;
-+ uint8_t family_str;
- } __attribute__ ((packed));
-
- /* SMBIOS type 3 - System Enclosure */
- struct smbios_type_3 {
-- struct smbios_structure_header header;
-- uint8_t manufacturer_str;
-- uint8_t type;
-- uint8_t version_str;
-- uint8_t serial_number_str;
-- uint8_t asset_tag_str;
-- uint8_t boot_up_state;
-- uint8_t power_supply_state;
-- uint8_t thermal_state;
-- uint8_t security_status;
-+ struct smbios_structure_header header;
-+ uint8_t manufacturer_str;
-+ uint8_t type;
-+ uint8_t version_str;
-+ uint8_t serial_number_str;
-+ uint8_t asset_tag_str;
-+ uint8_t boot_up_state;
-+ uint8_t power_supply_state;
-+ uint8_t thermal_state;
-+ uint8_t security_status;
- } __attribute__ ((packed));
-
- /* SMBIOS type 4 - Processor Information */
- struct smbios_type_4 {
-- struct smbios_structure_header header;
-- uint8_t socket_designation_str;
-- uint8_t processor_type;
-- uint8_t processor_family;
-- uint8_t manufacturer_str;
-- uint32_t cpuid[2];
-- uint8_t version_str;
-- uint8_t voltage;
-- uint16_t external_clock;
-- uint16_t max_speed;
-- uint16_t current_speed;
-- uint8_t status;
-- uint8_t upgrade;
-+ struct smbios_structure_header header;
-+ uint8_t socket_designation_str;
-+ uint8_t processor_type;
-+ uint8_t processor_family;
-+ uint8_t manufacturer_str;
-+ uint32_t cpuid[2];
-+ uint8_t version_str;
-+ uint8_t voltage;
-+ uint16_t external_clock;
-+ uint16_t max_speed;
-+ uint16_t current_speed;
-+ uint8_t status;
-+ uint8_t upgrade;
- } __attribute__ ((packed));
-
- /* SMBIOS type 11 - OEM Strings */
- struct smbios_type_11 {
-- struct smbios_structure_header header;
-- uint8_t count;
-+ struct smbios_structure_header header;
-+ uint8_t count;
- } __attribute__ ((packed));
-
- /* SMBIOS type 16 - Physical Memory Array
- * Associated with one type 17 (Memory Device).
- */
- struct smbios_type_16 {
-- struct smbios_structure_header header;
-- uint8_t location;
-- uint8_t use;
-- uint8_t error_correction;
-- uint32_t maximum_capacity;
-- uint16_t memory_error_information_handle;
-- uint16_t number_of_memory_devices;
-+ struct smbios_structure_header header;
-+ uint8_t location;
-+ uint8_t use;
-+ uint8_t error_correction;
-+ uint32_t maximum_capacity;
-+ uint16_t memory_error_information_handle;
-+ uint16_t number_of_memory_devices;
- } __attribute__ ((packed));
-
- /* SMBIOS type 17 - Memory Device
- * Associated with one type 19
- */
- struct smbios_type_17 {
-- struct smbios_structure_header header;
-- uint16_t physical_memory_array_handle;
-- uint16_t memory_error_information_handle;
-- uint16_t total_width;
-- uint16_t data_width;
-- uint16_t size;
-- uint8_t form_factor;
-- uint8_t device_set;
-- uint8_t device_locator_str;
-- uint8_t bank_locator_str;
-- uint8_t memory_type;
-- uint16_t type_detail;
-+ struct smbios_structure_header header;
-+ uint16_t physical_memory_array_handle;
-+ uint16_t memory_error_information_handle;
-+ uint16_t total_width;
-+ uint16_t data_width;
-+ uint16_t size;
-+ uint8_t form_factor;
-+ uint8_t device_set;
-+ uint8_t device_locator_str;
-+ uint8_t bank_locator_str;
-+ uint8_t memory_type;
-+ uint16_t type_detail;
- } __attribute__ ((packed));
-
- /* SMBIOS type 19 - Memory Array Mapped Address */
- struct smbios_type_19 {
-- struct smbios_structure_header header;
-- uint32_t starting_address;
-- uint32_t ending_address;
-- uint16_t memory_array_handle;
-- uint8_t partition_width;
-+ struct smbios_structure_header header;
-+ uint32_t starting_address;
-+ uint32_t ending_address;
-+ uint16_t memory_array_handle;
-+ uint8_t partition_width;
- } __attribute__ ((packed));
-
- /* SMBIOS type 20 - Memory Device Mapped Address */
- struct smbios_type_20 {
-- struct smbios_structure_header header;
-- uint32_t starting_address;
-- uint32_t ending_address;
-- uint16_t memory_device_handle;
-- uint16_t memory_array_mapped_address_handle;
-- uint8_t partition_row_position;
-- uint8_t interleave_position;
-- uint8_t interleaved_data_depth;
-+ struct smbios_structure_header header;
-+ uint32_t starting_address;
-+ uint32_t ending_address;
-+ uint16_t memory_device_handle;
-+ uint16_t memory_array_mapped_address_handle;
-+ uint8_t partition_row_position;
-+ uint8_t interleave_position;
-+ uint8_t interleaved_data_depth;
- } __attribute__ ((packed));
-
- /* SMBIOS type 32 - System Boot Information */
- struct smbios_type_32 {
-- struct smbios_structure_header header;
-- uint8_t reserved[6];
-- uint8_t boot_status;
-+ struct smbios_structure_header header;
-+ uint8_t reserved[6];
-+ uint8_t boot_status;
- } __attribute__ ((packed));
-
- /* SMBIOS type 127 -- End-of-table */
- struct smbios_type_127 {
-- struct smbios_structure_header header;
-+ struct smbios_structure_header header;
- } __attribute__ ((packed));
-
- #endif /* SMBIOS_TYPES_H */
-diff -r 411b38f8f90b -r 1976adbf2b80 tools/firmware/hvmloader/util.c
---- a/tools/firmware/hvmloader/util.c Wed Jul 20 15:24:09 2011 +0100
-+++ b/tools/firmware/hvmloader/util.c Wed Jul 20 15:25:34 2011 +0100
-@@ -125,11 +125,11 @@
-
- int strncmp(const char *s1, const char *s2, uint32_t n)
- {
-- uint32_t ctr;
-- for (ctr = 0; ctr < n; ctr++)
-- if (s1[ctr] != s2[ctr])
-- return (int)(s1[ctr] - s2[ctr]);
-- return 0;
-+ uint32_t ctr;
-+ for (ctr = 0; ctr < n; ctr++)
-+ if (s1[ctr] != s2[ctr])
-+ return (int)(s1[ctr] - s2[ctr]);
-+ return 0;
- }
-
- void *memcpy(void *dest, const void *src, unsigned n)
-
diff --git a/main/xen/xen-sed-is-broken-hack.patch b/main/xen/xen-sed-is-broken-hack.patch
deleted file mode 100644
index 4168f72060..0000000000
--- a/main/xen/xen-sed-is-broken-hack.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xen-4.0.1/xen/arch/x86/boot/Makefile
-+++ xen-4.0.1.mod/xen/arch/x86/boot/Makefile
-@@ -2,7 +2,7 @@
-
- head.o: reloc.S
-
--BOOT_TRAMPOLINE := $(shell sed -n 's,^\#define[[:space:]]\{1\,\}BOOT_TRAMPOLINE[[:space:]]\{1\,\},,p' $(BASEDIR)/include/asm-x86/config.h)
-+BOOT_TRAMPOLINE := 0x7c000
- %.S: %.c
- RELOC=$(BOOT_TRAMPOLINE) XEN_BITSPERLONG=$(patsubst x86_%,%,$(TARGET_SUBARCH)) $(MAKE) -f build32.mk $@
-
diff --git a/main/xen/xen-x86-pic.patch b/main/xen/xen-x86-pic.patch
deleted file mode 100644
index dcb4d0d817..0000000000
--- a/main/xen/xen-x86-pic.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- ./tools/misc/xen-detect.c.orig
-+++ ./tools/misc/xen-detect.c
-@@ -41,8 +41,16 @@
- int pv_context)
- {
- asm volatile (
-+#if defined(__PIC__) && defined(__i386__)
-+ "movl %%ebx, %%edi ;"
-+ "test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ;"
-+ "1: cpuid ; "
-+ "xchg %%ebx, %%edi"
-+ : "=a" (*eax), "=D" (*ebx), "=c" (*ecx), "=d" (*edx)
-+#else
- "test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid"
- : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
-+#endif
- : "0" (idx), "1" (pv_context) );
- }
-
diff --git a/main/xen/xencommons.initd b/main/xen/xencommons.initd
index 1ad0fb8c35..3d3c5da387 100755..100644
--- a/main/xen/xencommons.initd
+++ b/main/xen/xencommons.initd
@@ -3,89 +3,100 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: $
-opts="start stop status restart"
-
if [ -d /etc/sysconfig ]; then
- xencommons_config=/etc/sysconfig
+ xencommons_config=/etc/sysconfig
else
- xencommons_config=/etc/default
+ xencommons_config=/etc/default
fi
test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid
-#shopt -s extglob
+# not running in Xen dom0 or domU
+if ! test -d /proc/xen ; then
+ exit 0
+fi
+
+# mount xenfs in dom0 or domU with a pv_ops kernel
if test "x$1" = xstart && \
- test -d /proc/xen && \
- ! test -f /proc/xen/capabilities && \
- ! grep '^xenfs ' /proc/mounts >/dev/null;
+ ! test -f /proc/xen/capabilities && \
+ ! grep '^xenfs ' /proc/mounts >/dev/null;
then
- mount -t xenfs xenfs /proc/xen
+ mount -t xenfs xenfs /proc/xen
fi
-if ! grep -q "control_d" /proc/xen/capabilities ; then
- exit 0
+# run this script only in dom0:
+# no capabilities file in xenlinux domU kernel
+# empty capabilities file in pv_ops domU kernel
+if test -f /proc/xen/capabilities && \
+ ! grep -q "control_d" /proc/xen/capabilities ; then
+ exit 0
fi
depend() {
- need net
- before xend
+ need udev
+ before xend
}
start() {
- local time=0
- local timeout=30
-
- if ! `xenstore-read -s / >/dev/null 2>&1`
- then
- test -z "$XENSTORED_ROOTDIR" || XENSTORED_ROOTDIR="/var/lib/xenstored"
- rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null
- test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T /var/log/xen/xenstored-trace.log"
-
- ebegin "Starting xenstored..."
- xenstored --pid-file=/var/run/xenstored.pid $XENSTORED_ARGS
-
- # Wait for xenstored to actually come up, timing out after 30 seconds
- while [ $time -lt $timeout ] && ! `xenstore-read -s / >/dev/null 2>&1` ; do
- time=$(($time+1))
- sleep 1
- done
-
- # Exit if we timed out
- if ! [ $time -lt $timeout ] ; then
- eend 1
- echo Could not start xenstored
- exit 1
- fi
- eend 0
-
- ebegin "Setting domain 0 name..."
- xenstore-write "/local/domain/0/name" "Domain-0"
- eend $?
- fi
-
- ebegin "Starting xenconsoled..."
- test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" --log=$XENCONSOLED_TRACE"
- xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
- eend $?
-
- test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
- test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+ local time=0
+ local timeout=30
+
+ modprobe xen-evtchn 2>/dev/null
+ modprobe xen-gntdev 2>/dev/null
+ modprobe evtchn 2>/dev/null
+ modprobe gntdev 2>/dev/null
+
+ if ! `xenstore-read -s / >/dev/null 2>&1`
+ then
+ test -z "$XENSTORED_ROOTDIR" || XENSTORED_ROOTDIR="/var/lib/xenstored"
+ rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null
+ test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T /var/log/xen/xenstored-trace.log"
+
+ ebegin "Starting xenstored..."
+ xenstored --pid-file=/var/run/xenstored.pid $XENSTORED_ARGS
+
+ # Wait for xenstored to actually come up, timing out after 30 seconds
+ while [ $time -lt $timeout ] && ! `xenstore-read -s / >/dev/null 2>&1` ; do
+ time=$(($time+1))
+ sleep 1
+ done
+
+ # Exit if we timed out
+ if ! [ $time -lt $timeout ] ; then
+ eend 1
+ echo Could not start xenstored
+ exit 1
+ fi
+ eend 0
+
+ ebegin "Setting domain 0 name..."
+ xenstore-write "/local/domain/0/name" "Domain-0"
+ eend $?
+ fi
+
+ ebegin "Starting xenconsoled..."
+ test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" --log=$XENCONSOLED_TRACE"
+ xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
+ eend $?
+
+ test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
+ test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
}
stop() {
- ebegin "Stopping xenconsoled"
- if read 2>/dev/null <$XENCONSOLED_PIDFILE pid; then
- kill $pid
- while kill -9 $pid >/dev/null 2>&1; do sleep 0.1; done
- rm -f $XENCONSOLED_PIDFILE
- fi
- eend 0
-
- echo WARNING: Not stopping xenstored, as it cannot be restarted.
+ ebegin "Stopping xenconsoled"
+ if read 2>/dev/null <$XENCONSOLED_PIDFILE pid; then
+ kill $pid
+ while kill -9 $pid >/dev/null 2>&1; do sleep 0.1; done
+ rm -f $XENCONSOLED_PIDFILE
+ fi
+ eend 0
+
+ echo WARNING: Not stopping xenstored, as it cannot be restarted.
}
status() {
- xenstore-read -s / >/dev/null 2>&1
+ xenstore-read -s / >/dev/null 2>&1
}
diff --git a/main/xen/xend.initd b/main/xen/xend.initd
index ee26c3f331..398ecd86b9 100644
--- a/main/xen/xend.initd
+++ b/main/xen/xend.initd
@@ -1,38 +1,53 @@
#!/sbin/runscript
depend() {
- need net xencommons
- before xendomains sshd ntp-client ntpd nfs nfsmount rsyncd portmap dhcp
+ need xencommons
+ before xendomains
}
-is_privileged_domain() {
- grep -qsE '^control_d$' /proc/xen/capabilities
- return $?
+await_daemons_up() {
+ i=1
+ rets=10
+ /usr/sbin/xend status
+ while [ $? -ne 0 -a $i -lt $rets ]; do
+ sleep 1
+ i=$(($i + 1))
+ /usr/sbin/xend status
+ done
}
start() {
- if is_privileged_domain ; then
- ebegin "Starting Xen daemons"
- /usr/sbin/xend start
- eend $?
+ ebegin "Starting Xen daemons"
+ if [ -z "`ps xenconsoled -o pid=`" ]; then
+ eend 1
+ echo "xencommons should be started first."
+ exit 1
+ fi
+ mkdir -p /var/lock
+ if [ -d /var/lock/subsys ]; then
+ touch /var/lock/subsys/xend
else
- eerror "Can't start xend - not a privileged domain"
- return 1
+ touch /var/lock/xend
fi
+ /usr/sbin/xend start
+ await_daemons_up
+ eend $?
}
stop() {
ebegin "Stopping Xen control daemon"
/usr/sbin/xend stop
+ rm -f /var/lock/subsys/xend /var/lock/xend
eend $?
}
restart() {
ebegin "Restarting Xen control daemon"
/usr/sbin/xend restart
+ await_daemons_up
eend $?
}
status() {
- is_privileged_domain && /usr/sbin/xend status
+ /usr/sbin/xend status
}
diff --git a/main/xen/xendomains.initd b/main/xen/xendomains.initd
index d12577c2b0..0f309ef3d0 100644
--- a/main/xen/xendomains.initd
+++ b/main/xen/xendomains.initd
@@ -1,22 +1,64 @@
#!/sbin/runscript
+CMD=xm
+/usr/sbin/$CMD list &> /dev/null
+if test $? -ne 0
+then
+ CMD=xl
+fi
+
+/usr/sbin/$CMD list &> /dev/null
+if test $? -ne 0
+then
+ eend 1;
+ exit 1;
+fi
+
+# Correct exit code would probably be 5, but it's enough
+# if xend complains if we're not running as privileged domain
+if ! [ -e /proc/xen/privcmd ]; then
+ eend 1;
+ exit 1;
+fi
+
+# See docs/misc/distro_mapping.txt
+if [ -d /var/lock/subsys ]; then
+ LOCKFILE=/var/lock/subsys/xendomains
+else
+ LOCKFILE=/var/lock/xendomains
+fi
+
+if [ -d /etc/sysconfig ]; then
+ XENDOM_CONFIG=/etc/sysconfig/xendomains
+else
+ XENDOM_CONFIG=/etc/default/xendomains
+fi
+
+if ! [ -r $XENDOM_CONFIG ]; then
+ eend 1;
+ echo "$XENDOM_CONFIG not existing";
+ exit 1;
+fi
+
+. $XENDOM_CONFIG
+
depend() {
- need xend
- after dhcp
+ need xencommons
+ after net xend
}
get_domname() {
- local name_from_file=$(sed -rn 's/^name\W*=\W*\"?([[:alnum:]_\.-]+)\"?\W*;?/\1/p' "${1}" | tail -n 1)
+ local name_from_file=$(sed -rn 's/^name\W*=\W*\"?([[:alnum:]_\.-]+)\"?\W*;?/\1/p' "${1}" | tail -n 1)
- if [[ -z ${name_from_file} ]] ; then
- basename "${1}"
- else
- echo ${name_from_file}
- fi
+ if [[ -z ${name_from_file} ]] ; then
+ basename "${1}"
+ else
+ echo ${name_from_file}
+ fi
}
is_running() {
- /usr/sbin/xm list "${1}" >/dev/null 2>&1
+ /usr/sbin/$CMD list "${1}" >/dev/null 2>&1
}
start() {
@@ -26,7 +68,7 @@ start() {
name=$(get_domname ${dom})
if ! is_running ${name} ; then
ebegin " Starting domain ${name}"
- xm create --quiet ${dom}
+ /usr/sbin/$CMD create --quiet --defconfig ${dom}
eend $?
else
einfo " Not starting ${name} - already running."
@@ -41,7 +83,7 @@ stop() {
name=$(get_domname ${dom})
if is_running ${name} ; then
ebegin " Sending shutdown signal to ${name}"
- xm shutdown ${name} >/dev/null
+ /usr/sbin/$CMD shutdown ${name} >/dev/null
eend $?
fi
done
@@ -50,7 +92,7 @@ stop() {
name=$(get_domname ${dom})
if is_running ${name} ; then
ebegin " Waiting for domain ${name} to shutdown"
- xm shutdown --wait ${name}
+ /usr/sbin/$CMD shutdown --wait ${name}
eend $?
else
einfo " Not stopping ${name} - not running."
@@ -59,5 +101,5 @@ stop() {
}
status() {
- /usr/sbin/xm list
+ /usr/sbin/$CMD list
}
diff --git a/main/xf86-video-openchrome/APKBUILD b/main/xf86-video-openchrome/APKBUILD
index fcbff2b7ff..a4387df677 100644
--- a/main/xf86-video-openchrome/APKBUILD
+++ b/main/xf86-video-openchrome/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-openchrome
-pkgver=0.2.904
-pkgrel=10
+pkgver=0.2.905
+pkgrel=0
pkgdesc="X.Org driver for VIA/S3G cards"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -13,8 +13,6 @@ makedepends="pkgconfig xorg-server-dev libxi-dev libxvmc-dev fontsproto glproto
"
source="http://www.openchrome.org/releases/xf86-video-openchrome-$pkgver.tar.bz2
- openchrome-0.2.904-svn921.patch
- openchrome-0.2.904-fix_tvout_flickering.patch
openchrome.xinf
"
@@ -44,7 +42,5 @@ package() {
"$pkgdir"/usr/share/hwdata/videoaliases/openchrome.xinf
}
-md5sums="f2481d98ef54febf5bffbb88a2a2426d xf86-video-openchrome-0.2.904.tar.bz2
-aa6f900c695b4c0eac0e2ea448699971 openchrome-0.2.904-svn921.patch
-cde4ab7e4d154f21c1a8cba5c7ccdd11 openchrome-0.2.904-fix_tvout_flickering.patch
+md5sums="51871431a4a9204ab8ec79335c0cc041 xf86-video-openchrome-0.2.905.tar.bz2
d6906087f0e93ea2d98e553f4dfbcc97 openchrome.xinf"
diff --git a/main/xf86-video-openchrome/openchrome-0.2.904-fix_tvout_flickering.patch b/main/xf86-video-openchrome/openchrome-0.2.904-fix_tvout_flickering.patch
deleted file mode 100644
index 0fab55e4fd..0000000000
--- a/main/xf86-video-openchrome/openchrome-0.2.904-fix_tvout_flickering.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Index: src/via_vt162x.c
-===================================================================
---- src/via_vt162x.c (revision 787)
-+++ src/via_vt162x.c (revision 786)
-@@ -684,30 +650,11 @@ VT1622ModeI2C(ScrnInfoPtr pScrn, DisplayModePtr mo
- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x2B, Table.RGB[4]);
- if (Table.RGB[5])
- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x2C, Table.RGB[5]);
-- if (pBIOSInfo->TVEncoder == VIA_VT1625) {
-- if (pBIOSInfo->TVType < TVTYPE_480P) {
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x02, 0x12);
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x23, 0x7E);
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4A, 0x85);
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4B, 0x0A);
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4E, 0x00);
-- } else {
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x02, 0x12);
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4A, 0x85);
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4B, 0x0A);
-- }
-- }
- } else if (pBIOSInfo->TVOutput == TVOUTPUT_YCBCR) {
- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x02, 0x03);
- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x65, Table.YCbCr[0]);
- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x66, Table.YCbCr[1]);
- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x67, Table.YCbCr[2]);
-- if (pBIOSInfo->TVEncoder == VIA_VT1625) {
-- if (pBIOSInfo->TVType < TVTYPE_480P) {
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x23, 0x7E);
-- xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4E, 0x00);
-- }
-- }
- }
-
- /* Configure flicker filter. */
diff --git a/main/xf86-video-openchrome/openchrome-0.2.904-svn921.patch b/main/xf86-video-openchrome/openchrome-0.2.904-svn921.patch
deleted file mode 100644
index a26382b608..0000000000
--- a/main/xf86-video-openchrome/openchrome-0.2.904-svn921.patch
+++ /dev/null
@@ -1,4427 +0,0 @@
-Index: ChangeLog
-===================================================================
---- ChangeLog (revision 811)
-+++ ChangeLog (working copy)
-@@ -1,3 +1,225 @@
-+2011-05-04 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Fix XAA displaying issues
-+
-+ * src/via_accel.c: (viaInitXAA):
-+
-+2011-01-23 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Enable hardware cursor for VX900
-+
-+ * src/via_cursor.c: (viaHWCursorInit):
-+ * src/via_mode.c: (ViaModeSet):
-+
-+2010-12-16 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Merge vx900_branch - initial VX900 support
-+
-+ * src/via_accel.c: (viaFlushPCI), (viaDisableVQ),
-+ (viaInitialize2DEngine), (viaAccelSync), (viaPitchHelper),
-+ (viaInitXAA):
-+ * src/via_bandwidth.c: (ViaSetPrimaryFIFO), (ViaSetSecondaryFIFO):
-+ * src/via_bios.h:
-+ * src/via_crtc.c: (ViaFirstCRTCSetMode), (ViaSecondCRTCSetMode):
-+ * src/via_cursor.c: (viaHWCursorInit), (viaCursorStore),
-+ (viaCursorRestore), (viaShowCursor), (viaHideCursor),
-+ (viaSetCursorPosition), (viaLoadCursorImage), (viaSetCursorColors):
-+ * src/via_driver.c: (VIASetupDefaultOptions), (VIAPreInit),
-+ (VIALeaveVT), (VIASave), (VIARestore), (ViaMMIOEnable),
-+ (ViaMMIODisable), (VIAMapFB), (VIAWriteMode), (VIACloseScreen):
-+ * src/via_driver.h:
-+ * src/via_id.c:
-+ * src/via_id.h:
-+ * src/via_mode.c: (ViaDFPDetect), (ViaOutputsDetect),
-+ (ViaOutputsSelect), (ViaGetMemoryBandwidth), (ViaSetDotclock),
-+ (ViaModeSet):
-+ * src/via_mode.h:
-+ * src/via_panel.c: (ViaPanelScaleDisable), (ViaPanelPreInit),
-+ (ViaPanelGetSizeFromDDC):
-+ * src/via_video.c: (DecideOverlaySupport):
-+ * src/via_xvmc.c: (ViaInitXVMC):
-+
-+2010-12-15 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Enable the new mode switch and panel support on K8M800 and VM800 chipsets
-+
-+ * src/via_driver.c: (VIASetupDefaultOptions), (VIAPreInit):
-+ * src/via_mode.c: (ViaModeSet):
-+
-+2010-11-10 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Replace the deprecated functions
-+ xalloc/xrealloc/xfree/xcalloc with
-+ malloc/realloc/free/calloc.
-+ Refer to "/xserver/include/os.h"
-+
-+ * src/via_accel.c: (viaSetupCBuffer), (viaTearDownCBuffer),
-+ (viaInitExa), (viaExitAccel), (viaFinishInitAccel):
-+ * src/via_dga.c: (VIASetupDGAMode):
-+ * src/via_dri.c: (VIAInitVisualConfigs), (VIADRIScreenInit),
-+ (VIADRICloseScreen):
-+ * src/via_driver.c: (VIAFreeRec), (VIAProbe), (VIAPreInit),
-+ (VIACloseScreen):
-+ * src/via_memcpy.c: (viaVidCopyInit):
-+ * src/via_swov.c: (Upd_Video):
-+ * src/via_vbe.c: (ViaVbeSetMode):
-+ * src/via_video.c: (viaExitVideo), (viaStopVideo),
-+ (viaDmaBlitImage):
-+ * src/via_xvmc.c: (cleanupViaXvMC), (ViaCleanupXVMC),
-+ (ViaXvMCCreateContext), (ViaXvMCCreateSurface),
-+ (ViaXvMCCreateSubpicture), (ViaXvMCDestroyContext),
-+ (ViaXvMCDestroySurface), (ViaXvMCDestroySubpicture),
-+ (viaXvMCInitXv):
-+
-+2010-10-24 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Siragon ML-6200 laptop support
-+
-+ * src/via_id.c:
-+
-+2010-06-24 Jon Nettleton <jon.nettleton@gmail.com>
-+
-+ PM800 also uses the CME Engine. Setup the hqv_cme_regs
-+ for it.
-+
-+ * src/via_swov.c: (VIAVidHWDiffInit):
-+
-+2010-06-09 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Fix freeze on 64bit system for K8M800 chipset
-+
-+ * src/via_dri.c: (VIADRIAgpInit):
-+
-+2010-05-04 Jon Nettleton <jon.nettleton@gmail.com>
-+
-+ Re-enable the Virtual Queue for the VX800/VX855 chipsets.
-+
-+ * src/via_accel.c: (viaDisableVQ), (viaInitialize2DEngine):
-+
-+2010-05-04 Jon Nettleton <jon.nettleton@gmail.com>
-+
-+ Disable certain hardware clipping options for the VX855.
-+ These cause the 2d engine to become unstable when in
-+ 16-bit mode.
-+
-+ * src/via_accel.c: (viaInitXAA):
-+
-+2010-05-04 Jon Nettleton <jon.nettleton@gmail.com>
-+
-+ Add an undocumented option which allows certain I2C buses
-+ to be probed at startup. This allows workarounds for custom
-+ chipset makers that have used the VX855 I2C buses for other
-+ purposes.
-+
-+ * src/via_bios.h:
-+ * src/via_driver.c: (VIASetupDefaultOptions), (VIAPreInit):
-+ * src/via_driver.h:
-+ * src/via_i2c.c:
-+
-+2010-05-04 Jon Nettleton <jon.nettleton@gmail.com>
-+
-+ Improve 2d performance on chipsets that don't have
-+ AGP/PCIe support yet.
-+
-+ * src/via_accel.c: (viaSetupForScreenToScreenCopy),
-+ (viaSetupForSolidFill), (viaSetupForMono8x8PatternFill),
-+ (viaSetupForColor8x8PatternFill),
-+ (viaSetupForCPUToScreenColorExpandFill),
-+ (viaSubsequentScanlineCPUToScreenColorExpandFill),
-+ (viaSetupForImageWrite), (viaSubsequentImageWriteRect),
-+ (viaSetupForSolidLine), (viaSetupForDashedLine), (viaInitXAA):
-+
-+2010-05-04 Jon Nettleton <jon.nettleton@gmail.com>
-+
-+ Put timeouts on our while statements. These codepaths
-+ should be interrupted by a hardware state change, but
-+ if something goes wrong they loop forevere. Let's try
-+ and behave a little by putting a timeout on these loops.
-+
-+ * src/via_swov.c: (viaWaitHQVFlip), (viaWaitHQVFlipClear),
-+ (viaWaitHQVDone):
-+ * src/via_video.c: (Flip):
-+
-+2010-05-04 Jon Nettleton <jon.nettleton@gmail.com>
-+
-+ Add XVideo support for the VX855 Chipset.
-+ To support this chipset I have added HWDiff->HQVCmeRegs
-+ that allows handling differing register values, and
-+ HWDiff->dwNewScaleCtl which allows selection of a
-+ new Video scaling engine needed for the VX800/VX855
-+ chipsets.
-+
-+ * src/via.h:
-+ * src/via_bandwidth.c: (ViaSetSecondaryFIFO):
-+ * src/via_driver.h:
-+ * src/via_swov.c: (SaveVideoRegister), (VIAVidHWDiffInit),
-+ (viaOverlayHQVCalcZoomWidth), (viaOverlayHQVCalcZoomHeight),
-+ (ViaSwovSurfaceCreate), (SetHQVFetch), (Upd_Video):
-+ * src/via_swov.h:
-+
-+2010-04-21 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Replace RegionsEqual with REGION_EQUAL and use
-+ the xf86XVFillKeyHelperDrawable instead of xf86XVFillKeyHelper
-+
-+ * src/via_video.c: (viaReputImage), (viaPutImage):
-+
-+2010-03-07 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Fix segfaults with EXA and XV (Ticket #359)
-+ Tested on K8M890 and VN800
-+
-+ * src/via_video.c: (viaReputImage), (viaPutImage):
-+
-+2010-02-10 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Fix bug with suspend and VT switch on VX800 and 64bit systems
-+
-+ * src/via_driver.h:
-+ * src/via_video.c: (viaResetVideo), (viaSaveVideo),
-+ (viaRestoreVideo), (viaExitVideo):
-+ * src/via_video.h:
-+
-+2010-01-24 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Fix starting address restore and save (initial 64-bit support)
-+
-+ * src/via_crtc.c: (ViaFirstCRTCSetMode),
-+ (ViaFirstCRTCSetStartingAddress):
-+ * src/via_dri.c: (VIADRIAgpInit):
-+ * src/via_driver.c: (VIASave), (VIARestore):
-+ * src/via_driver.h:
-+
-+2009-12-04 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Enable new mode switch for VM800 chipsets
-+
-+ * src/via_driver.c: (VIASetupDefaultOptions):
-+
-+2009-11-21 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Add option to enable unaccelerated RandR rotation ("SWRandR").
-+ The accelerated option "HWRandR" is currently not implemented.
-+
-+ * src/openchrome.man:
-+ * src/via_driver.c: (VIAPreInit):
-+
-+2009-11-20 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Enabled new mode switch for PM800 chipset,
-+ to resolve many bugs with resolution detecting and changing
-+ (eg. switching to console)
-+
-+ * src/via_driver.c: (VIASetupDefaultOptions), (VIAPreInit):
-+
-+2009-11-07 Bartosz Kosiorek <gang65@poczta.onet.pl>
-+
-+ Add more comments to ViaSetSecondaryFIFO, add panel scale support for
-+ CLE266 and KM400, fix bug with malloc.
-+
-+ * src/via_bandwidth.c: (ViaSetSecondaryFIFO):
-+ * src/via_panel.c: (ViaPanelScale), (ViaPanelGetNativeDisplayMode):
-+
- 2009-09-26 Bartosz Kosiorek <gang65@poczta.onet.pl>
-
- Save/restore ECK Clock Synthesizer
-Index: src/via_panel.c
-===================================================================
---- src/via_panel.c (revision 811)
-+++ src/via_panel.c (working copy)
-@@ -45,17 +45,17 @@
- {1280, 768},
- {1280, 1024},
- {1400, 1050},
-- {1600, 1200}, /* 0x6 Resolution 1440x900 */
-+ {1600, 1200}, /* 0x6 */
- {1280, 800}, /* 0x7 Resolution 1280x800 (Samsung NC20) */
- {800, 480}, /* 0x8 For Quanta 800x480 */
- {1024, 600}, /* 0x9 Resolution 1024x600 (for HP 2133) */
- {1366, 768}, /* 0xA Resolution 1366x768 */
- {1920, 1080},
- {1920, 1200},
-- {1280, 1024}, /* 0xD Need to be fixed to 1920x1200 */
-- {1440, 900}, /* 0xE Need to be fixed to 640x240 */
-+ {1280, 1024}, /* 0xD */
-+ {1440, 900}, /* 0xE */
- {1280, 720}, /* 0xF 480x640 */
-- {1200, 900}, /* 0x10 For Panasonic 1280x768 18bit Dual-Channel Panel */
-+ {1200, 900}, /* 0x10 For OLPC 1.5 */
- {1360, 768}, /* 0x11 Resolution 1360X768 */
- {1024, 768}, /* 0x12 Resolution 1024x768 */
- {800, 480} /* 0x13 General 8x4 panel use this setting */
-@@ -147,6 +147,9 @@
- vgaHWPtr hwp = VGAHWPTR(pScrn);
-
- ViaCrtcMask(hwp, 0x79, 0x00, 0x01);
-+ /* Disable VX900 down scaling */
-+ if (pVia->Chipset == VIA_VX900)
-+ ViaCrtcMask(hwp, 0x89, 0x00, 0x01);
- if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400)
- ViaCrtcMask(hwp, 0xA2, 0x00, 0xC8);
- }
-@@ -171,12 +174,18 @@
- resWidth, resHeight, panelWidth, panelHeight));
-
- if (resWidth < panelWidth) {
-- /* FIXME: It is different for chipset < K8M800 */
-- horScalingFactor = ((resWidth - 1) * 4096) / (panelWidth - 1);
-+ /* Load Horizontal Scaling Factor */
-+ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
-+ horScalingFactor = ((resWidth - 1) * 4096) / (panelWidth - 1);
-+
-+ /* Horizontal scaling enabled */
-+ cra2 = 0xC0;
-+ cr9f = horScalingFactor & 0x0003; /* HSCaleFactor[1:0] at CR9F[1:0] */
-+ } else {
-+ /* TODO: Need testing */
-+ horScalingFactor = ((resWidth - 1) * 1024) / (panelWidth - 1);
-+ }
-
-- /* Horizontal scaling enabled */
-- cra2 = 0xC0;
-- cr9f = horScalingFactor & 0x0003; /* HSCaleFactor[1:0] at CR9F[1:0] */
- cr77 = (horScalingFactor & 0x03FC) >> 2; /* HSCaleFactor[9:2] at CR77[7:0] */
- cr79 = (horScalingFactor & 0x0C00) >> 10; /* HSCaleFactor[11:10] at CR79[5:4] */
- cr79 <<= 4;
-@@ -184,11 +193,18 @@
- }
-
- if (resHeight < panelHeight) {
-- verScalingFactor = ((resHeight - 1) * 2048) / (panelHeight - 1);
-+ /* Load Vertical Scaling Factor */
-+ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
-+ verScalingFactor = ((resHeight - 1) * 2048) / (panelHeight - 1);
-
-- /* Vertical scaling enabled */
-- cra2 |= 0x08;
-- cr79 |= ((verScalingFactor & 0x0001) << 3); /* VSCaleFactor[0] at CR79[3] */
-+ /* Vertical scaling enabled */
-+ cra2 |= 0x08;
-+ cr79 |= ((verScalingFactor & 0x0001) << 3); /* VSCaleFactor[0] at CR79[3] */
-+ } else {
-+ /* TODO: Need testing */
-+ verScalingFactor = ((resHeight - 1) * 1024) / (panelHeight - 1);
-+ }
-+
- cr78 |= (verScalingFactor & 0x01FE) >> 1; /* VSCaleFactor[8:1] at CR78[7:0] */
- cr79 |= ((verScalingFactor & 0x0600) >> 9) << 6; /* VSCaleFactor[10:9] at CR79[7:6] */
- scaling = TRUE;
-@@ -203,13 +219,19 @@
- ViaCrtcMask(hwp, 0x77, cr77, 0xFF);
- ViaCrtcMask(hwp, 0x78, cr78, 0xFF);
- ViaCrtcMask(hwp, 0x79, cr79, 0xF8);
-- ViaCrtcMask(hwp, 0x9F, cr9f, 0x03);
-+ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
-+ ViaCrtcMask(hwp, 0x9F, cr9f, 0x03);
-+ }
- ViaCrtcMask(hwp, 0x79, 0x03, 0x03);
-- } else
-+ } else {
-+ /* Disable panel scale */
- ViaCrtcMask(hwp, 0x79, 0x00, 0x01);
-+ }
-+
-+ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
-+ ViaCrtcMask(hwp, 0xA2, cra2, 0xC8);
-+ }
-
-- ViaCrtcMask(hwp, 0xA2, cra2, 0xC8);
--
- /* Horizontal scaling selection: interpolation */
- // ViaCrtcMask(hwp, 0x79, 0x02, 0x02);
- // else
-@@ -233,14 +255,14 @@
-
- if (panelMode->Width && panelMode->Height) {
-
-- /* TODO: fix refresh rate and check malloc */
-+ /* TODO: fix refresh rate */
- DisplayModePtr p = malloc( sizeof(DisplayModeRec) ) ;
-- memset(p, 0, sizeof(DisplayModeRec));
-+ if (p) {
-+ memset(p, 0, sizeof(DisplayModeRec));
-
-- float refresh = 60.0f ;
-+ float refresh = 60.0f ;
-
-- /* The following code is borrowed from xf86SetModeCrtc. */
-- if (p) {
-+ /* The following code is borrowed from xf86SetModeCrtc. */
- viaTimingCvt(p, panelMode->Width, panelMode->Height, refresh, FALSE, TRUE);
- p->CrtcHDisplay = p->HDisplay;
- p->CrtcHSyncStart = p->HSyncStart;
-@@ -256,9 +278,13 @@
- p->CrtcVBlankEnd = max(p->CrtcVSyncEnd, p->CrtcVTotal);
- p->CrtcHBlankStart = min(p->CrtcHSyncStart, p->CrtcHDisplay);
- p->CrtcHBlankEnd = max(p->CrtcHSyncEnd, p->CrtcHTotal);
--
-+
-+ pVia->pBIOSInfo->Panel->NativeDisplayMode = p;
-+ } else {
-+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-+ "Out of memory. Size: %d bytes\n", sizeof(DisplayModeRec));
- }
-- pVia->pBIOSInfo->Panel->NativeDisplayMode = p;
-+
- } else {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "Invalid panel dimension (%dx%d)\n", panelMode->Width,
-@@ -282,10 +308,7 @@
- Bool ret;
-
- ret = ViaPanelGetSizeFromDDCv1(pScrn, &width, &height);
--/*
-- if (!ret)
-- ret = ViaPanelGetSizeFromDDCv2(pScrn, &width);
--*/
-+
- if (ret) {
- panel->NativeModeIndex = ViaPanelLookUpModeIndex(width, height);
- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaPanelLookUpModeIndex, Width %d, Height %d, NativeModeIndex%d\n", width, height, panel->NativeModeIndex));
-@@ -333,28 +356,28 @@
-
-
- /*
-- * Try to interprete EDID ourselves.
-+ * Try to interpret EDID ourselves.
- */
- Bool
- ViaPanelGetSizeFromEDID(ScrnInfoPtr pScrn, xf86MonPtr pMon,
- int *width, int *height)
- {
-- int i, max = 0, vsize;
-+ int i, max_hsize = 0, vsize = 0;
-
- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAGetPanelSizeFromEDID\n"));
-
- /* !!! Why are we not checking VESA modes? */
-
- /* checking standard timings */
-- for (i = 0; i < 8; i++)
-+ for (i = 0; i < STD_TIMINGS; i++)
- if ((pMon->timings2[i].hsize > 256)
-- && (pMon->timings2[i].hsize > max)) {
-- max = pMon->timings2[i].hsize;
-+ && (pMon->timings2[i].hsize > max_hsize)) {
-+ max_hsize = pMon->timings2[i].hsize;
- vsize = pMon->timings2[i].vsize;
- }
-
-- if (max != 0) {
-- *width = max;
-+ if (max_hsize != 0) {
-+ *width = max_hsize;
- *height = vsize;
- return TRUE;
- }
-@@ -369,14 +392,14 @@
- struct detailed_timings timing = pMon->det_mon[i].section.d_timings;
-
- /* ignore v_active for now */
-- if ((timing.clock > 15000000) && (timing.h_active > max)) {
-- max = timing.h_active;
-+ if ((timing.clock > 15000000) && (timing.h_active > max_hsize)) {
-+ max_hsize = timing.h_active;
- vsize = timing.v_active;
- }
- }
-
-- if (max != 0) {
-- *width = max;
-+ if (max_hsize != 0) {
-+ *width = max_hsize;
- *height = vsize;
- return TRUE;
- }
-@@ -386,7 +409,6 @@
-
- Bool
- ViaPanelGetSizeFromDDCv1(ScrnInfoPtr pScrn, int *width, int *height)
--
- {
- VIAPtr pVia = VIAPTR(pScrn);
- xf86MonPtr pMon;
-@@ -396,7 +418,7 @@
- if (!xf86I2CProbeAddress(pVia->pI2CBus2, 0xA0))
- return FALSE;
-
-- pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pVia->pI2CBus2);
-+ pMon = xf86DoEEDID(pScrn->scrnIndex, pVia->pI2CBus2, TRUE);
- if (!pMon)
- return FALSE;
-
-Index: src/via_id.h
-===================================================================
---- src/via_id.h (revision 811)
-+++ src/via_id.h (working copy)
-@@ -39,6 +39,7 @@
- VIA_P4M890,
- VIA_VX800,
- VIA_VX855,
-+ VIA_VX900,
- VIA_LAST
- };
-
-@@ -56,6 +57,7 @@
- #define PCI_CHIP_VT3327 0x3343 /* P4M890 */
- #define PCI_CHIP_VT3353 0x1122 /* VX800 */
- #define PCI_CHIP_VT3409 0x5122 /* VX855/VX875 */
-+#define PCI_CHIP_VT3410 0x7122 /* VX900 */
-
- /* There is some conflicting information about the two major revisions of
- * the CLE266, often labelled Ax and Cx. The dividing line seems to be
-Index: src/via_video.c
-===================================================================
---- src/via_video.c (revision 811)
-+++ src/via_video.c (working copy)
-@@ -354,6 +354,14 @@
- mClock = 333;
- memEfficiency = (float)SINGLE_3205_133;
- break;
-+ case VIA_MEM_DDR800:
-+ mClock = 400;
-+ memEfficiency = (float)SINGLE_3205_133;
-+ break;
-+ case VIA_MEM_DDR1066:
-+ mClock = 533;
-+ memEfficiency = (float)SINGLE_3205_133;
-+ break;
- default:
- /*Unknow DRAM Type */
- DBG_DD(ErrorF("Unknow DRAM Type!\n"));
-@@ -426,7 +434,7 @@
- DBG_DD(ErrorF(" via_video.c : totalBandwidth= %f : \n",
- totalBandWidth));
- if (needBandWidth < totalBandWidth)
-- return TRUE;
-+ return TRUE;
- }
- return FALSE;
- }
-@@ -466,8 +474,8 @@
-
- viaVidEng->video1_ctl = 0;
- viaVidEng->video3_ctl = 0;
-- viaVidEng->compose = 0x80000000;
-- viaVidEng->compose = 0x40000000;
-+ viaVidEng->compose = V1_COMMAND_FIRE;
-+ viaVidEng->compose = V3_COMMAND_FIRE;
- viaVidEng->color_key = 0x821;
- viaVidEng->snd_color_key = 0x821;
-
-@@ -479,16 +487,16 @@
- VIAPtr pVia = VIAPTR(pScrn);
- vmmtr viaVidEng = (vmmtr) pVia->VidMapBase;
-
-+ DBG_DD(ErrorF(" via_video.c : viaSaveVideo : \n"));
- /* Save video registers */
-- /* TODO: Identify which registers should be saved and restored */
- memcpy(pVia->VideoRegs, (void*)viaVidEng, sizeof(video_via_regs));
-
- pVia->dwV1 = ((vmmtr) viaVidEng)->video1_ctl;
- pVia->dwV3 = ((vmmtr) viaVidEng)->video3_ctl;
- viaVidEng->video1_ctl = 0;
- viaVidEng->video3_ctl = 0;
-- viaVidEng->compose = 0x80000000;
-- viaVidEng->compose = 0x40000000;
-+ viaVidEng->compose = V1_COMMAND_FIRE;
-+ viaVidEng->compose = V3_COMMAND_FIRE;
- }
-
- void
-@@ -496,16 +504,66 @@
- {
- VIAPtr pVia = VIAPTR(pScrn);
- vmmtr viaVidEng = (vmmtr) pVia->VidMapBase;
-+ video_via_regs *localVidEng = pVia->VideoRegs;
-+
-
-+ DBG_DD(ErrorF(" via_video.c : viaRestoreVideo : \n"));
- /* Restore video registers */
-- /* TODO: Identify which registers should be saved and restored */
-- memcpy((void*)viaVidEng, pVia->VideoRegs, sizeof(video_via_regs));
-+ /* flush restored video engines' setting to VidMapBase */
-+
-+ viaVidEng->alphawin_hvstart = localVidEng->alphawin_hvstart;
-+ viaVidEng->alphawin_size = localVidEng->alphawin_size;
-+ viaVidEng->alphawin_ctl = localVidEng->alphawin_ctl;
-+ viaVidEng->alphafb_stride = localVidEng->alphafb_stride;
-+ viaVidEng->color_key = localVidEng->color_key;
-+ viaVidEng->alphafb_addr = localVidEng->alphafb_addr;
-+ viaVidEng->chroma_low = localVidEng->chroma_low;
-+ viaVidEng->chroma_up = localVidEng->chroma_up;
-+ viaVidEng->interruptflag = localVidEng->interruptflag;
-
-+ if (pVia->ChipId != PCI_CHIP_VT3314)
-+ {
-+ /*VT3314 only has V3*/
-+ viaVidEng->video1_ctl = localVidEng->video1_ctl;
-+ viaVidEng->video1_fetch = localVidEng->video1_fetch;
-+ viaVidEng->video1y_addr1 = localVidEng->video1y_addr1;
-+ viaVidEng->video1_stride = localVidEng->video1_stride;
-+ viaVidEng->video1_hvstart = localVidEng->video1_hvstart;
-+ viaVidEng->video1_size = localVidEng->video1_size;
-+ viaVidEng->video1y_addr2 = localVidEng->video1y_addr2;
-+ viaVidEng->video1_zoom = localVidEng->video1_zoom;
-+ viaVidEng->video1_mictl = localVidEng->video1_mictl;
-+ viaVidEng->video1y_addr0 = localVidEng->video1y_addr0;
-+ viaVidEng->video1_fifo = localVidEng->video1_fifo;
-+ viaVidEng->video1y_addr3 = localVidEng->video1y_addr3;
-+ viaVidEng->v1_source_w_h = localVidEng->v1_source_w_h ;
-+ viaVidEng->video1_CSC1 = localVidEng->video1_CSC1;
-+ viaVidEng->video1_CSC2 = localVidEng->video1_CSC2;
-+ }
-+ viaVidEng->snd_color_key = localVidEng->snd_color_key;
-+ viaVidEng->v3alpha_prefifo = localVidEng->v3alpha_prefifo;
-+ viaVidEng->v3alpha_fifo = localVidEng->v3alpha_fifo;
-+ viaVidEng->video3_CSC2 = localVidEng->video3_CSC2;
-+ viaVidEng->video3_CSC2 = localVidEng->video3_CSC2;
-+ viaVidEng->v3_source_width = localVidEng->v3_source_width;
-+ viaVidEng->video3_ctl = localVidEng->video3_ctl;
-+ viaVidEng->video3_addr0 = localVidEng->video3_addr0;
-+ viaVidEng->video3_addr1 = localVidEng->video3_addr1;
-+ viaVidEng->video3_stride = localVidEng->video3_stride;
-+ viaVidEng->video3_hvstart = localVidEng->video3_hvstart;
-+ viaVidEng->video3_size = localVidEng->video3_size;
-+ viaVidEng->v3alpha_fetch = localVidEng->v3alpha_fetch;
-+ viaVidEng->video3_zoom = localVidEng->video3_zoom;
-+ viaVidEng->video3_mictl = localVidEng->video3_mictl;
-+ viaVidEng->video3_CSC1 = localVidEng->video3_CSC1;
-+ viaVidEng->video3_CSC2 = localVidEng->video3_CSC2;
-+ viaVidEng->compose = localVidEng->compose;
-+
- viaVidEng->video1_ctl = pVia->dwV1;
- viaVidEng->video3_ctl = pVia->dwV3;
-- viaVidEng->compose = 0x80000000;
-- viaVidEng->compose = 0x40000000;
--
-+ if (pVia->ChipId != PCI_CHIP_VT3314)
-+ viaVidEng->compose = V1_COMMAND_FIRE;
-+ viaVidEng->compose = V3_COMMAND_FIRE;
- }
-
- void
-@@ -524,8 +582,8 @@
-
- viaVidEng->video1_ctl = 0;
- viaVidEng->video3_ctl = 0;
-- viaVidEng->compose = 0x80000000;
-- viaVidEng->compose = 0x40000000;
-+ viaVidEng->compose = V1_COMMAND_FIRE;
-+ viaVidEng->compose = V3_COMMAND_FIRE;
-
- /*
- * Free all adaptor info allocated in viaInitVideo.
-@@ -542,15 +600,15 @@
- (viaPortPrivPtr) curAdapt->pPortPrivates->ptr + j,
- TRUE);
- }
-- xfree(curAdapt->pPortPrivates->ptr);
-+ free(curAdapt->pPortPrivates->ptr);
- }
-- xfree(curAdapt->pPortPrivates);
-+ free(curAdapt->pPortPrivates);
- }
-- xfree(curAdapt);
-+ free(curAdapt);
- }
- }
- if (allAdaptors)
-- xfree(allAdaptors);
-+ free(allAdaptors);
- }
-
- void
-@@ -561,7 +619,7 @@
- XF86VideoAdaptorPtr *adaptors, *newAdaptors;
- int num_adaptors, num_new;
-
-- DBG_DD(ErrorF(" via_video.c : viaInitVideo : \n"));
-+ DBG_DD(ErrorF(" via_video.c : viaInitVideo, Screen[%d]\n", pScrn->scrnIndex));
-
- allAdaptors = NULL;
- newAdaptors = NULL;
-@@ -611,7 +669,7 @@
-
- DBG_DD(ErrorF(" via_video.c : num_adaptors : %d\n", num_adaptors));
- if (newAdaptors) {
-- allAdaptors = xalloc((num_adaptors + num_new) *
-+ allAdaptors = malloc((num_adaptors + num_new) *
- sizeof(XF86VideoAdaptorPtr *));
- if (allAdaptors) {
- if (num_adaptors)
-@@ -636,194 +694,6 @@
- }
- }
-
--static Bool
--RegionsEqual(RegionPtr A, RegionPtr B)
--{
-- int *dataA, *dataB;
-- int num;
--
-- num = REGION_NUM_RECTS(A);
-- if (num != REGION_NUM_RECTS(B))
-- return FALSE;
--
-- if ((A->extents.x1 != B->extents.x1) ||
-- (A->extents.x2 != B->extents.x2) ||
-- (A->extents.y1 != B->extents.y1) || (A->extents.y2 != B->extents.y2))
-- return FALSE;
--
-- dataA = (int *)REGION_RECTS(A);
-- dataB = (int *)REGION_RECTS(B);
--
-- while (num--) {
-- if ((dataA[0] != dataB[0]) || (dataA[1] != dataB[1]))
-- return FALSE;
-- dataA += 2;
-- dataB += 2;
-- }
--
-- return TRUE;
--}
--
--static void
--viaVideoFillPixmap(ScrnInfoPtr pScrn,
-- char *base,
-- unsigned long pitch,
-- int depth,
-- int x, int y, int w, int h,
-- unsigned long color)
--{
-- int i;
--
-- ErrorF("pitch %lu, depth %d, x %d, y %d, w %d, h %d, color 0x%08lx\n",
-- pitch, depth, x, y, w, h, color);
--
-- depth = (depth + 7) >> 3;
--
-- base += y*pitch + x*depth;
--
-- switch(depth) {
-- case 4:
-- while(h--) {
-- register CARD32 *p = (CARD32 *)base;
-- for (i=0; i<w; ++i) {
-- *p++ = color;
-- }
-- base += pitch;
-- }
-- break;
-- case 2: {
-- register CARD16 col = color & 0x0000FFFF;
-- while(h--) {
-- register CARD16 *p = (CARD16 *)base;
-- for (i=0; i<w; ++i) {
-- *p++ = col;
-- }
-- base += pitch;
-- }
-- break;
-- }
-- case 1: {
-- register CARD8 col = color & 0xFF;
-- while(h--) {
-- register CARD8 *p = (CARD8 *)base;
-- for (i=0; i<w; ++i) {
-- *p++ = col;
-- }
-- base += pitch;
-- }
-- break;
-- }
-- default:
-- break;
-- }
--}
--
--
--
--static int
--viaPaintColorkey(ScrnInfoPtr pScrn, viaPortPrivPtr pPriv, RegionPtr clipBoxes,
-- DrawablePtr pDraw)
--{
--
-- if (pDraw->type == DRAWABLE_WINDOW) {
--
-- VIAPtr pVia = VIAPTR(pScrn);
-- PixmapPtr pPix = (pScrn->pScreen->GetWindowPixmap)((WindowPtr) pDraw);
-- unsigned long pitch = pPix->devKind;
-- long offset = (long) pPix->devPrivate.ptr - (long) pVia->FBBase;
-- int x,y;
-- BoxPtr pBox;
-- int nBox;
--
-- REGION_TRANSLATE(pScrn->pScreen, clipBoxes, - pPix->screen_x,
-- - pPix->screen_y);
--
-- nBox = REGION_NUM_RECTS(clipBoxes);
-- pBox = REGION_RECTS(clipBoxes);
--
-- while(nBox--) {
-- if (pVia->NoAccel || offset < 0 ||
-- offset > pScrn->videoRam*1024) {
-- viaVideoFillPixmap(pScrn, pPix->devPrivate.ptr, pitch,
-- pDraw->bitsPerPixel, pBox->x1, pBox->y1,
-- pBox->x2 - pBox->x1, pBox->y2 - pBox->y1,
-- pPriv->colorKey);
-- } else {
-- viaAccelFillPixmap(pScrn, offset, pitch,
-- pDraw->bitsPerPixel, pBox->x1, pBox->y1,
-- pBox->x2 - pBox->x1, pBox->y2 - pBox->y1,
-- pPriv->colorKey);
-- }
-- pBox++;
-- }
--
-- DamageDamageRegion(pPix, clipBoxes);
-- }
--
-- return 0;
--}
--
--
--/*
-- * This one gets called, for example, on panning.
-- */
--
--static int
--viaReputImage(ScrnInfoPtr pScrn,
-- short drw_x, short drw_y, RegionPtr clipBoxes, pointer data,
-- DrawablePtr pDraw)
--{
--
-- DDUPDATEOVERLAY UpdateOverlay_Video;
-- LPDDUPDATEOVERLAY lpUpdateOverlay = &UpdateOverlay_Video;
-- viaPortPrivPtr pPriv = (viaPortPrivPtr) data;
-- VIAPtr pVia = VIAPTR(pScrn);
--
-- if (!RegionsEqual(&pPriv->clip, clipBoxes)) {
-- REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
-- if (pPriv->autoPaint) {
-- if (pDraw->type == DRAWABLE_WINDOW) {
-- viaPaintColorkey(pScrn, pPriv, clipBoxes, pDraw);
-- } else {
-- xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey,
-- clipBoxes);
-- }
-- }
-- }
--
-- if (drw_x == pPriv->old_drw_x &&
-- drw_y == pPriv->old_drw_y &&
-- pVia->swov.oldPanningX == pVia->swov.panning_x &&
-- pVia->swov.oldPanningY == pVia->swov.panning_y) {
-- viaXvError(pScrn, pPriv, xve_none);
-- return Success;
-- }
--
-- lpUpdateOverlay->SrcLeft = pPriv->old_src_x;
-- lpUpdateOverlay->SrcTop = pPriv->old_src_y;
-- lpUpdateOverlay->SrcRight = pPriv->old_src_x + pPriv->old_src_w;
-- lpUpdateOverlay->SrcBottom = pPriv->old_src_y + pPriv->old_src_h;
--
-- lpUpdateOverlay->DstLeft = drw_x;
-- lpUpdateOverlay->DstTop = drw_y;
-- lpUpdateOverlay->DstRight = drw_x + pPriv->old_drw_w;
-- lpUpdateOverlay->DstBottom = drw_y + pPriv->old_drw_h;
-- pPriv->old_drw_x = drw_x;
-- pPriv->old_drw_y = drw_y;
--
-- lpUpdateOverlay->dwFlags = DDOVER_KEYDEST;
--
-- if (pScrn->bitsPerPixel == 8)
-- lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey & 0xff;
-- else
-- lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey;
--
-- VIAVidUpdateOverlay(pScrn, lpUpdateOverlay);
--
-- viaXvError(pScrn, pPriv, xve_none);
-- return Success;
--}
--
- static unsigned
- viaSetupAdaptors(ScreenPtr pScreen, XF86VideoAdaptorPtr ** adaptors)
- {
-@@ -832,7 +702,7 @@
- DevUnion *pdevUnion;
- int i, j, usedPorts, numPorts;
-
-- DBG_DD(ErrorF(" via_video.c : viaSetupImageVideo: \n"));
-+ DBG_DD(ErrorF(" via_video.c : viaSetupAdaptors (viaSetupImageVideo): \n"));
-
- xvBrightness = MAKE_ATOM("XV_BRIGHTNESS");
- xvContrast = MAKE_ATOM("XV_CONTRAST");
-@@ -884,7 +754,7 @@
- viaAdaptPtr[i]->GetPortAttribute = viaGetPortAttribute;
- viaAdaptPtr[i]->SetPortAttribute = viaSetPortAttribute;
- viaAdaptPtr[i]->PutImage = viaPutImage;
-- viaAdaptPtr[i]->ReputImage = viaReputImage;
-+ viaAdaptPtr[i]->ReputImage = NULL;
- viaAdaptPtr[i]->QueryImageAttributes = viaQueryImageAttributes;
- for (j = 0; j < numPorts; ++j) {
- viaPortPriv[j].dmaBounceBuffer = NULL;
-@@ -931,7 +801,7 @@
- if (exit) {
- ViaSwovSurfaceDestroy(pScrn, pPriv);
- if (pPriv->dmaBounceBuffer)
-- xfree(pPriv->dmaBounceBuffer);
-+ free(pPriv->dmaBounceBuffer);
- pPriv->dmaBounceBuffer = 0;
- pPriv->dmaBounceStride = 0;
- pPriv->dmaBounceLines = 0;
-@@ -1042,6 +912,8 @@
- }
-
- } else {
-+ DBG_DD(ErrorF(" via_video.c : viaGetPortAttribute : is not supported the attribute\n"));
-+
- /*return BadMatch */;
- }
- return Success;
-@@ -1070,6 +942,7 @@
- unsigned long DisplayBufferIndex)
- {
- unsigned long proReg = 0;
-+ unsigned count = 50000;
-
- if (pVia->ChipId == PCI_CHIP_VT3259
- && !(pVia->swov.gdwVideoFlagSW & VIDEO_1_INUSE))
-@@ -1081,7 +954,8 @@
- case FOURCC_RV15:
- case FOURCC_RV16:
- case FOURCC_RV32:
-- while ((VIDInD(HQV_CONTROL + proReg) & HQV_SW_FLIP));
-+ while ((VIDInD(HQV_CONTROL + proReg) & HQV_SW_FLIP)
-+ && --count);
- VIDOutD(HQV_SRC_STARTADDR_Y + proReg,
- pVia->swov.SWDevice.dwSWPhysicalAddr[DisplayBufferIndex]);
- VIDOutD(HQV_CONTROL + proReg,
-@@ -1090,7 +964,8 @@
- break;
- case FOURCC_YV12:
- default:
-- while ((VIDInD(HQV_CONTROL + proReg) & HQV_SW_FLIP));
-+ while ((VIDInD(HQV_CONTROL + proReg) & HQV_SW_FLIP)
-+ && --count);
- VIDOutD(HQV_SRC_STARTADDR_Y + proReg,
- pVia->swov.SWDevice.dwSWPhysicalAddr[DisplayBufferIndex]);
- if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
-@@ -1174,7 +1049,7 @@
- pPort->dmaBounceStride != bounceStride ||
- pPort->dmaBounceLines != bounceLines) {
- if (pPort->dmaBounceBuffer) {
-- xfree(pPort->dmaBounceBuffer);
-+ free(pPort->dmaBounceBuffer);
- pPort->dmaBounceBuffer = 0;
- }
- size = bounceStride * bounceLines + 16;
-@@ -1296,7 +1171,7 @@
- unsigned long retCode;
-
- # ifdef XV_DEBUG
-- ErrorF(" via_video.c : viaPutImage : called\n");
-+ ErrorF(" via_video.c : viaPutImage : called, Screen[%d]\n", pScrn->scrnIndex);
- ErrorF(" via_video.c : FourCC=0x%x width=%d height=%d sync=%d\n", id,
- width, height, sync);
- ErrorF
-@@ -1405,12 +1280,11 @@
-
- lpUpdateOverlay->dwFlags = DDOVER_KEYDEST;
-
-- if (pScrn->bitsPerPixel == 8)
-- lpUpdateOverlay->dwColorSpaceLowValue =
-- pPriv->colorKey & 0xff;
-- else
-- lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey;
--
-+ if (pScrn->bitsPerPixel == 8) {
-+ lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey & 0xff;
-+ } else {
-+ lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey;
-+ }
- /* If use extend FIFO mode */
- if (pScrn->currentMode->HDisplay > 1024) {
- dwUseExtendedFIFO = 1;
-@@ -1436,7 +1310,8 @@
- && (pPriv->old_src_w == src_w) && (pPriv->old_src_h == src_h)
- && (pVia->old_dwUseExtendedFIFO == dwUseExtendedFIFO)
- && (pVia->VideoStatus & VIDEO_SWOV_ON) &&
-- RegionsEqual(&pPriv->clip, clipBoxes)) {
-+ REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) {
-+ DBG_DD(ErrorF(" via_video.c : don't do UpdateOverlay! \n"));
- viaXvError(pScrn, pPriv, xve_none);
- return Success;
- }
-@@ -1454,16 +1329,18 @@
- pVia->VideoStatus |= VIDEO_SWOV_ON;
-
- /* BitBlt: Draw the colorkey rectangle */
-- if (!RegionsEqual(&pPriv->clip, clipBoxes)) {
-+ if (!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) {
- REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
- if (pPriv->autoPaint) {
- if (pDraw->type == DRAWABLE_WINDOW) {
-- viaPaintColorkey(pScrn, pPriv, clipBoxes, pDraw);
-+ xf86XVFillKeyHelperDrawable(pDraw, pPriv->colorKey, clipBoxes);
-+ DamageDamageRegion(pDraw, clipBoxes);
- } else {
-- xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey,
-- clipBoxes);
-+ xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
- }
- }
-+ } else {
-+ DBG_DD(ErrorF(" via_video.c : // No need to draw Colorkey!! \n"));
- }
- /*
- * Update video overlay
-@@ -1498,6 +1375,7 @@
-
- DBG_DD(ErrorF(" via_video.c : viaQueryImageAttributes : FourCC=0x%x, ",
- id));
-+ DBG_DD(ErrorF(" via_video.c : Screen[%d], w=%d, h=%d\n", pScrn->scrnIndex, *w, *h));
-
- if ((!w) || (!h))
- return 0;
-Index: src/via_lvds.c
-===================================================================
---- src/via_lvds.c (revision 811)
-+++ src/via_lvds.c (working copy)
-@@ -42,7 +42,7 @@
- 2^13 X 0.0698uSec [1/14.318MHz] = 8192 X 0.0698uSec =572.1uSec
- Timer = Counter x 572 uSec
- 2. Note:
-- 0.0698 uSec is too small to compute for hardware. So we multify a
-+ 0.0698 uSec is too small to compute for hardware. So we multiply a
- reference value(2^13) to make it big enough to compute for hardware.
- 3. Note:
- The meaning of the TD0~TD3 are count of the clock.
-Index: src/via_video.h
-===================================================================
---- src/via_video.h (revision 811)
-+++ src/via_video.h (working copy)
-@@ -44,6 +44,10 @@
-
- #define VIDEO_BPP 2
-
-+
-+#define V1_COMMAND_FIRE 0x80000000 /* V1 commands fire */
-+#define V3_COMMAND_FIRE 0x40000000 /* V3 commands fire */
-+
- typedef struct
- {
- CARD32 interruptflag; /* 200 */
-@@ -89,7 +93,7 @@
- CARD32 video3_ctl; /* 2a0 */
- CARD32 video3_addr0; /* 2a4 */
- CARD32 video3_addr1; /* 2a8 */
-- CARD32 video3_stribe; /* 2ac */
-+ CARD32 video3_stride; /* 2ac */
- CARD32 video3_hvstart; /* 2b0 */
- CARD32 video3_size; /* 2b4 */
- CARD32 v3alpha_fetch; /* 2b8 */
-Index: src/via_mode.c
-===================================================================
---- src/via_mode.c (revision 811)
-+++ src/via_mode.c (working copy)
-@@ -308,11 +308,14 @@
- xf86MonPtr monPtr = NULL;
-
- if (pVia->pI2CBus2)
-- monPtr = xf86DoEDID_DDC2(pScrn->scrnIndex, pVia->pI2CBus2);
-+ monPtr = xf86DoEEDID(pScrn->scrnIndex, pVia->pI2CBus2, TRUE);
-
- if (monPtr) {
- xf86PrintEDID(monPtr);
- xf86SetDDCproperties(pScrn, monPtr);
-+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
-+ "DDC pI2CBus2 detected a %s\n", DIGITAL(monPtr->features.input_type) ?
-+ "DFP" : "CRT"));
- return TRUE;
- } else {
- return FALSE;
-@@ -380,6 +383,7 @@
- case VIA_CX700:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (ViaDFPDetect(pScrn)) {
- pBIOSInfo->DfpPresent = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-@@ -514,6 +518,7 @@
- case VIA_CX700:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- pVia->pBIOSInfo->Lvds->IsActive = TRUE ;
- break;
- }
-@@ -859,6 +864,9 @@
- case VIA_MEM_DDR533:
- case VIA_MEM_DDR667:
- return VIA_BW_DDR667;
-+ case VIA_MEM_DDR800:
-+ case VIA_MEM_DDR1066:
-+ return VIA_BW_DDR1066;
- default:
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "ViaBandwidthAllowed: Unknown memory type: %d\n", pVia->MemClk);
-@@ -999,8 +1007,8 @@
- dn = pll.params.dn;
- dm = pll.params.dm;
-
-- /* The VX855 does not modify dm/dn, but earlier chipsets do. */
-- if (pVia->Chipset != VIA_VX855) {
-+ /* The VX855 and VX900 do not modify dm/dn, but earlier chipsets do. */
-+ if ((pVia->Chipset != VIA_VX855) && (pVia->Chipset != VIA_VX900)) {
- dm -= 2;
- dn -= 2;
- }
-@@ -1078,7 +1086,7 @@
- pBIOSInfo->Clock = Table.InitTb.LCDClk_12Bit;
- else {
- pBIOSInfo->Clock = Table.InitTb.VClk_12Bit;
-- /* for some reason still to be defined this is neccessary */
-+ /* for some reason still to be defined this is necessary */
- ViaSetSecondaryDotclock(pScrn, Table.InitTb.LCDClk_12Bit);
- }
- } else {
-@@ -1708,7 +1716,7 @@
- ViaModeSecondCRTC(pScrn, mode);
- ViaSecondDisplayChannelEnable(pScrn);
- }
--
-+
- if (pBIOSInfo->FirstCRTC->IsActive) {
- if (pBIOSInfo->CrtActive) {
- /* CRT on FirstCRTC */
-@@ -1734,6 +1742,15 @@
- ViaDisplayDisableCRT(pScrn);
- }
-
-+ // Enable panel support on VM800, K8M800 and VX900 chipset
-+ // See: https://bugs.launchpad.net/openchrome/+bug/186103
-+ if (pBIOSInfo->Panel->IsActive &&
-+ ((pVia->Chipset == VIA_VM800) ||
-+ (pVia->Chipset == VIA_K8M800) ||
-+ (pVia->Chipset == VIA_VX900) )) {
-+ pBIOSInfo->FirstCRTC->IsActive=TRUE;
-+ ViaModeFirstCRTC(pScrn, mode);
-+ }
- if (pBIOSInfo->Simultaneous->IsActive) {
- ViaDisplayEnableSimultaneous(pScrn);
- } else {
-Index: src/via_mode.h
-===================================================================
---- src/via_mode.h (revision 811)
-+++ src/via_mode.h (working copy)
-@@ -32,8 +32,9 @@
- */
- #define VIA_BW_MIN 74000000 /* > 640x480@60Hz@32bpp */
- #define VIA_BW_DDR200 394000000
--#define VIA_BW_DDR400 498000000 /* > 1920x1080@60Hz@32bpp */
-+#define VIA_BW_DDR400 553000000 /* > 1920x1200@60Hz@32bpp */
- #define VIA_BW_DDR667 922000000
-+#define VIA_BW_DDR1066 922000000
-
- union pllparams {
- struct {
-@@ -54,50 +55,50 @@
- CARD16 UniChrome;
- union pllparams UniChromePro;
- } ViaDotClocks[] = {
-- { 25200, 0x513C, /* 0xa79004 */ { 1, 4, 6, 169 } },
-- { 25312, 0xC763, /* 0xc49005 */ { 1, 4, 7, 198 } },
-- { 26591, 0x471A, /* 0xce9005 */ { 1, 4, 7, 208 } },
-- { 31500, 0xC558, /* 0xae9003 */ { 1, 4, 5, 176 } },
-- { 31704, 0x471F, /* 0xaf9002 */ { 1, 4, 4, 177 } },
-- { 32663, 0xC449, /* 0x479000 */ { 1, 4, 2, 73 } },
-- { 33750, 0x4721, /* 0x959002 */ { 1, 4, 4, 151 } },
-- { 35500, 0x5877, /* 0x759001 */ { 1, 4, 3, 119 } },
-- { 36000, 0x5879, /* 0x9f9002 */ { 1, 4, 4, 161 } },
-- { 39822, 0xC459, /* 0x578c02 */ { 1, 3, 4, 89 } },
-- { 40000, 0x515F, /* 0x848c04 */ { 1, 3, 6, 134 } },
-- { 41164, 0x4417, /* 0x2c8c00 */ { 1, 3, 2, 46 } },
-- { 46981, 0x5069, /* 0x678c02 */ { 1, 3, 4, 105 } },
-- { 49500, 0xC353, /* 0xa48c04 */ { 3, 3, 5, 138 } },
-- { 50000, 0xC354, /* 0x368c00 */ { 1, 3, 2, 56 } },
-- { 56300, 0x4F76, /* 0x3d8c00 */ { 1, 3, 2, 63 } },
-- { 57275, 0, /* 0x3e8c00 */ { 1, 3, 5, 157 } }, /* For XO 1.5 no need for a unichrome clock */
-- { 57284, 0x4E70, /* 0x3e8c00 */ { 1, 3, 2, 64 } },
-- { 64995, 0x0D3B, /* 0x6b8c01 */ { 1, 3, 3, 109 } },
-- { 65000, 0x0D3B, /* 0x6b8c01 */ { 1, 3, 3, 109 } }, /* Slightly unstable on PM800 */
-- { 65028, 0x866D, /* 0x6b8c01 */ { 1, 3, 3, 109 } },
-- { 74480, 0x156E, /* 0x288800 */ { 1, 2, 2, 42 } },
-- { 75000, 0x156E, /* 0x288800 */ { 1, 2, 2, 42 } },
-- { 78800, 0x442C, /* 0x2a8800 */ { 1, 2, 2, 44 } },
-- { 81135, 0x0622, /* 0x428801 */ { 1, 2, 3, 68 } },
-- { 81613, 0x4539, /* 0x708803 */ { 1, 2, 5, 114 } },
-- { 94500, 0x4542, /* 0x4d8801 */ { 1, 2, 3, 79 } },
-- { 108000, 0x0B53, /* 0x778802 */ { 1, 2, 4, 121 } },
-- { 108280, 0x4879, /* 0x778802 */ { 1, 2, 4, 121 } },
-- { 122000, 0x0D6F, /* 0x428800 */ { 1, 2, 2, 68 } },
-- { 122726, 0x073C, /* 0x878802 */ { 1, 2, 4, 137 } },
-- { 135000, 0x0742, /* 0x6f8801 */ { 1, 2, 3, 113 } },
-- { 148500, 0x0853, /* 0x518800 */ { 1, 2, 2, 83 } },
-- { 155800, 0x0857, /* 0x558402 */ { 1, 1, 4, 87 } },
-- { 157500, 0x422C, /* 0x2a8400 */ { 1, 1, 2, 44 } },
-- { 161793, 0x4571, /* 0x6f8403 */ { 1, 1, 5, 113 } },
-- { 162000, 0x0A71, /* 0x6f8403 */ { 1, 1, 5, 113 } },
-- { 175500, 0x4231, /* 0x2f8400 */ { 1, 1, 2, 49 } },
-- { 189000, 0x0542, /* 0x4d8401 */ { 1, 1, 3, 79 } },
-- { 202500, 0x0763, /* 0x6F8402 */ { 1, 1, 4, 113 } },
-- { 204800, 0x0764, /* 0x548401 */ { 1, 1, 3, 86 } },
-- { 218300, 0x043D, /* 0x3b8400 */ { 1, 1, 2, 61 } },
-- { 229500, 0x0660, /* 0x3e8400 */ { 1, 1, 2, 64 } }, /* Not tested on Pro } */
-- { 0, 0, { 0, 0, 0, 0 } }
-+ { 25200, 0x513C, /* 0xa79004 */ { { 1, 4, 6, 169 } } },
-+ { 25312, 0xC763, /* 0xc49005 */ { { 1, 4, 7, 198 } } },
-+ { 26591, 0x471A, /* 0xce9005 */ { { 1, 4, 7, 208 } } },
-+ { 31500, 0xC558, /* 0xae9003 */ { { 1, 4, 5, 176 } } },
-+ { 31704, 0x471F, /* 0xaf9002 */ { { 1, 4, 4, 177 } } },
-+ { 32663, 0xC449, /* 0x479000 */ { { 1, 4, 2, 73 } } },
-+ { 33750, 0x4721, /* 0x959002 */ { { 1, 4, 4, 151 } } },
-+ { 35500, 0x5877, /* 0x759001 */ { { 1, 4, 3, 119 } } },
-+ { 36000, 0x5879, /* 0x9f9002 */ { { 1, 4, 4, 161 } } },
-+ { 39822, 0xC459, /* 0x578c02 */ { { 1, 3, 4, 89 } } },
-+ { 40000, 0x515F, /* 0x848c04 */ { { 1, 3, 6, 134 } } },
-+ { 41164, 0x4417, /* 0x2c8c00 */ { { 1, 3, 2, 46 } } },
-+ { 46981, 0x5069, /* 0x678c02 */ { { 1, 3, 4, 105 } } },
-+ { 49500, 0xC353, /* 0xa48c04 */ { { 3, 3, 5, 138 } } },
-+ { 50000, 0xC354, /* 0x368c00 */ { { 1, 3, 2, 56 } } },
-+ { 56300, 0x4F76, /* 0x3d8c00 */ { { 1, 3, 2, 63 } } },
-+ { 57275, 0, /* 0x3e8c00 */ { { 1, 3, 5, 157 } } }, /* For XO 1.5 no need for a unichrome clock */
-+ { 57284, 0x4E70, /* 0x3e8c00 */ { { 1, 3, 2, 64 } } },
-+ { 64995, 0x0D3B, /* 0x6b8c01 */ { { 1, 3, 3, 109 } } },
-+ { 65000, 0x0D3B, /* 0x6b8c01 */ { { 1, 3, 3, 109 } } }, /* Slightly unstable on PM800 */
-+ { 65028, 0x866D, /* 0x6b8c01 */ { { 1, 3, 3, 109 } } },
-+ { 74480, 0x156E, /* 0x288800 */ { { 1, 2, 2, 42 } } },
-+ { 75000, 0x156E, /* 0x288800 */ { { 1, 2, 2, 42 } } },
-+ { 78800, 0x442C, /* 0x2a8800 */ { { 1, 2, 2, 44 } } },
-+ { 81135, 0x0622, /* 0x428801 */ { { 1, 2, 3, 68 } } },
-+ { 81613, 0x4539, /* 0x708803 */ { { 1, 2, 5, 114 } } },
-+ { 94500, 0x4542, /* 0x4d8801 */ { { 1, 2, 3, 79 } } },
-+ { 108000, 0x0B53, /* 0x778802 */ { { 1, 2, 4, 121 } } },
-+ { 108280, 0x4879, /* 0x778802 */ { { 1, 2, 4, 121 } } },
-+ { 122000, 0x0D6F, /* 0x428800 */ { { 1, 2, 2, 68 } } },
-+ { 122726, 0x073C, /* 0x878802 */ { { 1, 2, 4, 137 } } },
-+ { 135000, 0x0742, /* 0x6f8801 */ { { 1, 2, 3, 113 } } },
-+ { 148500, 0x0853, /* 0x518800 */ { { 1, 2, 2, 83 } } },
-+ { 155800, 0x0857, /* 0x558402 */ { { 1, 1, 4, 87 } } },
-+ { 157500, 0x422C, /* 0x2a8400 */ { { 1, 1, 2, 44 } } },
-+ { 161793, 0x4571, /* 0x6f8403 */ { { 1, 1, 5, 113 } } },
-+ { 162000, 0x0A71, /* 0x6f8403 */ { { 1, 1, 5, 113 } } },
-+ { 175500, 0x4231, /* 0x2f8400 */ { { 1, 1, 2, 49 } } },
-+ { 189000, 0x0542, /* 0x4d8401 */ { { 1, 1, 3, 79 } } },
-+ { 202500, 0x0763, /* 0x6F8402 */ { { 1, 1, 4, 113 } } },
-+ { 204800, 0x0764, /* 0x548401 */ { { 1, 1, 3, 86 } } },
-+ { 218300, 0x043D, /* 0x3b8400 */ { { 1, 1, 2, 61 } } },
-+ { 229500, 0x0660, /* 0x3e8400 */ { { 1, 1, 2, 64 } } }, /* Not tested on Pro } */
-+ { 0, 0, { { 0, 0, 0, 0 } } }
- };
-
- /*
-@@ -131,7 +132,7 @@
- { MODEPREFIX("856x480"), 31704, 856, 872, 960, 1064, 0, 480, 480, 483, 497, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX },
- { MODEPREFIX("1024x512"), 41164, 1024, 1056, 1160, 1296, 0, 512, 512, 515, 531, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX },
- { MODEPREFIX("1024x576"), 46981, 1024, 1064, 1168, 1312, 0, 576, 576, 579, 597, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX },
-- { MODEPREFIX("1024x600"), 48960, 1024, 1064, 1168, 1312, 0, 600, 601, 604, 622, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX },
-+ { MODEPREFIX("1024x600"), 48960, 1024, 1048, 1152, 1312, 0, 600, 601, 604, 630, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX },
- { MODEPREFIX("1024x768"), 65028, 1024, 1048, 1184, 1344, 0, 768, 770, 776, 806, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX },
- { MODEPREFIX("1152x864"), 81613, 1152, 1216, 1336, 1520, 0, 864, 864, 867, 895, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX },
- { MODEPREFIX("1280x768"), 81135, 1280, 1328, 1440, 1688, 0, 768, 770, 776, 802, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX },
-Index: src/via_memcpy.c
-===================================================================
---- src/via_memcpy.c (revision 811)
-+++ src/via_memcpy.c (working copy)
-@@ -581,12 +581,12 @@
-
- if (VIAAllocLinear(&tmpFbBuffer, pScrn, alignSize + 31))
- return libc_YUV42X;
-- if (NULL == (buf2 = (unsigned char *)xalloc(testSize))) {
-+ if (NULL == (buf2 = (unsigned char *)malloc(testSize))) {
- VIAFreeLinear(&tmpFbBuffer);
- return libc_YUV42X;
- }
-- if (NULL == (buf3 = (unsigned char *)xalloc(testSize))) {
-- xfree(buf2);
-+ if (NULL == (buf3 = (unsigned char *)malloc(testSize))) {
-+ free(buf2);
- VIAFreeLinear(&tmpFbBuffer);
- return libc_YUV42X;
- }
-@@ -642,8 +642,8 @@
- curData->mName);
- }
- }
-- xfree(buf3);
-- xfree(buf2);
-+ free(buf3);
-+ free(buf2);
- VIAFreeLinear(&tmpFbBuffer);
- xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
- "Using %s YUV42X copy for %s.\n",
-Index: src/via_driver.c
-===================================================================
---- src/via_driver.c (revision 811)
-+++ src/via_driver.c (working copy)
-@@ -143,6 +143,7 @@
- VIA_DEVICE_MATCH (PCI_CHIP_VT3327, 0 ),
- VIA_DEVICE_MATCH (PCI_CHIP_VT3353, 0 ),
- VIA_DEVICE_MATCH (PCI_CHIP_VT3409, 0 ),
-+ VIA_DEVICE_MATCH (PCI_CHIP_VT3410, 0 ),
- { 0, 0, 0 },
- };
-
-@@ -174,12 +175,13 @@
- {VIA_K8M800, "K8M800/K8N800"},
- {VIA_PM800, "PM800/PM880/CN400"},
- {VIA_VM800, "VM800/P4M800Pro/VN800/CN700"},
-+ {VIA_CX700, "CX700/VX700"},
- {VIA_K8M890, "K8M890/K8N890"},
-+ {VIA_P4M890, "P4M890"},
- {VIA_P4M900, "P4M900/VN896/CN896"},
-- {VIA_CX700, "CX700/VX700"},
-- {VIA_P4M890, "P4M890"},
-- {VIA_VX800, "VX800"},
-- {VIA_VX855, "VX855"},
-+ {VIA_VX800, "VX800/VX820"},
-+ {VIA_VX855, "VX855/VX875"},
-+ {VIA_VX900, "VX900"},
- {-1, NULL }
- };
-
-@@ -190,12 +192,13 @@
- {VIA_K8M800, PCI_CHIP_VT3204, VIA_RES_SHARED},
- {VIA_PM800, PCI_CHIP_VT3259, VIA_RES_SHARED},
- {VIA_VM800, PCI_CHIP_VT3314, VIA_RES_SHARED},
-+ {VIA_CX700, PCI_CHIP_VT3324, VIA_RES_SHARED},
- {VIA_K8M890, PCI_CHIP_VT3336, VIA_RES_SHARED},
-+ {VIA_P4M890, PCI_CHIP_VT3327, VIA_RES_SHARED},
- {VIA_P4M900, PCI_CHIP_VT3364, VIA_RES_SHARED},
-- {VIA_CX700, PCI_CHIP_VT3324, VIA_RES_SHARED},
-- {VIA_P4M890, PCI_CHIP_VT3327, VIA_RES_SHARED},
- {VIA_VX800, PCI_CHIP_VT3353, VIA_RES_SHARED},
- {VIA_VX855, PCI_CHIP_VT3409, VIA_RES_SHARED},
-+ {VIA_VX900, PCI_CHIP_VT3410, VIA_RES_SHARED},
- {-1, -1, VIA_RES_UNDEF}
- };
-
-@@ -215,9 +218,11 @@
- OPTION_EXA_SCRATCH_SIZE,
- OPTION_SWCURSOR,
- OPTION_SHADOW_FB,
-+ OPTION_ROTATION_TYPE,
- OPTION_ROTATE,
- OPTION_VIDEORAM,
- OPTION_ACTIVEDEVICE,
-+ OPTION_I2CDEVICES,
- OPTION_BUSWIDTH,
- OPTION_CENTER,
- OPTION_PANELSIZE,
-@@ -253,6 +258,7 @@
- {OPTION_EXA_SCRATCH_SIZE, "ExaScratchSize", OPTV_INTEGER, {0}, FALSE},
- {OPTION_SWCURSOR, "SWCursor", OPTV_BOOLEAN, {0}, FALSE},
- {OPTION_SHADOW_FB, "ShadowFB", OPTV_BOOLEAN, {0}, FALSE},
-+ {OPTION_ROTATION_TYPE, "RotationType", OPTV_ANYSTR, {0}, FALSE},
- {OPTION_ROTATE, "Rotate", OPTV_ANYSTR, {0}, FALSE},
- {OPTION_VIDEORAM, "VideoRAM", OPTV_INTEGER, {0}, FALSE},
- {OPTION_ACTIVEDEVICE, "ActiveDevice", OPTV_ANYSTR, {0}, FALSE},
-@@ -276,6 +282,7 @@
- {OPTION_MODE_SWITCH_METHOD, "ModeSwitchMethod", OPTV_ANYSTR, {0}, FALSE},
- {OPTION_MAX_DRIMEM, "MaxDRIMem", OPTV_INTEGER, {0}, FALSE},
- {OPTION_AGPMEM, "AGPMem", OPTV_INTEGER, {0}, FALSE},
-+ {OPTION_I2CDEVICES, "I2CDevices", OPTV_ANYSTR, {0}, FALSE},
- {-1, NULL, OPTV_NONE, {0}, FALSE}
- };
-
-@@ -307,6 +314,7 @@
- {
- static Bool setupDone = FALSE;
-
-+ /* Only be loaded once */
- if (!setupDone) {
- setupDone = TRUE;
- xf86AddDriver(&VIA, module,
-@@ -339,6 +347,7 @@
- if (pScrn->driverPrivate)
- return TRUE;
-
-+ /* allocate VIARec */
- pScrn->driverPrivate = xnfcalloc(sizeof(VIARec), 1);
- VIAPtr pVia = ((VIARec *) (pScrn->driverPrivate));
-
-@@ -400,36 +409,36 @@
-
- if (pBIOSInfo->Panel) {
- if (pBIOSInfo->Panel->NativeMode)
-- xfree(pBIOSInfo->Panel->NativeMode);
-+ free(pBIOSInfo->Panel->NativeMode);
- if (pBIOSInfo->Panel->CenteredMode)
-- xfree(pBIOSInfo->Panel->CenteredMode);
-- xfree(pBIOSInfo->Panel);
-+ free(pBIOSInfo->Panel->CenteredMode);
-+ free(pBIOSInfo->Panel);
- }
-
- if (pBIOSInfo->FirstCRTC)
-- xfree(pBIOSInfo->FirstCRTC);
-+ free(pBIOSInfo->FirstCRTC);
- if (pBIOSInfo->SecondCRTC)
-- xfree(pBIOSInfo->SecondCRTC);
-+ free(pBIOSInfo->SecondCRTC);
- if (pBIOSInfo->Simultaneous)
-- xfree(pBIOSInfo->Simultaneous);
-+ free(pBIOSInfo->Simultaneous);
- if (pBIOSInfo->Lvds)
-- xfree(pBIOSInfo->Lvds);
-+ free(pBIOSInfo->Lvds);
- }
-
- if (VIAPTR(pScrn)->pVbe)
- vbeFree(VIAPTR(pScrn)->pVbe);
-
- if (pVia->VideoRegs)
-- xfree(pVia->VideoRegs);
-+ free(pVia->VideoRegs);
-
- if (((VIARec *) (pScrn->driverPrivate))->pBIOSInfo->TVI2CDev)
- xf86DestroyI2CDevRec((((VIARec *) (pScrn->driverPrivate))->pBIOSInfo->
- TVI2CDev), TRUE);
-- xfree(((VIARec *) (pScrn->driverPrivate))->pBIOSInfo);
-+ free(((VIARec *) (pScrn->driverPrivate))->pBIOSInfo);
-
- VIAUnmapMem(pScrn);
-
-- xfree(pScrn->driverPrivate);
-+ free(pScrn->driverPrivate);
- pScrn->driverPrivate = NULL;
- } /* VIAFreeRec */
-
-@@ -455,7 +464,6 @@
- {
- ScrnInfoPtr scrn = NULL;
- EntityInfoPtr entity;
-- DevUnion *private;
-
- scrn = xf86ConfigPciEntity(scrn, 0, entity_num, VIAPciChipsets,
- NULL, NULL, NULL, NULL, NULL);
-@@ -513,7 +521,7 @@
- numDevSections,
- drv,
- &usedChips);
-- xfree(devSections);
-+ free(devSections);
-
- if (numUsed <= 0)
- return FALSE;
-@@ -588,11 +596,11 @@
- }
- instance++;
- }
-- xfree(pEnt);
-+ free(pEnt);
- }
- }
-
-- xfree(usedChips);
-+ free(usedChips);
-
- return foundScreen;
-
-@@ -652,6 +660,12 @@
- vbeInfoPtr pVbe;
-
- if (xf86LoadSubModule(pScrn, "vbe")) {
-+ /* FIXME This line should be replaced with:
-+
-+ pVbe = VBEExtendedInit(NULL, index, 0);
-+
-+ for XF86 version > 4.2.99
-+ */
- pVbe = VBEInit(NULL, index);
- ConfiguredMonitor = vbeDoEDID(pVbe, NULL);
- vbeFree(pVbe);
-@@ -664,7 +678,7 @@
- VIAPtr pVia = VIAPTR(pScrn);
- VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
-
-- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIASetupDefaultOptions\n"));
-+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIASetupDefaultOptions - Setting up default chipset options.\n"));
-
- pVia->shadowFB = FALSE;
- pVia->NoAccel = FALSE;
-@@ -684,10 +698,14 @@
- pVia->maxDriSize = 0;
- pVia->agpMem = AGP_SIZE / 1024;
- pVia->ActiveDevice = 0x00;
-+ pVia->I2CDevices = 0x00;
- pVia->VideoEngine = VIDEO_ENGINE_CLE;
- #ifdef HAVE_DEBUG
- pVia->PrintVGARegs = FALSE;
- #endif
-+
-+ /* Disable vertical interpolation because the size of */
-+ /* line buffer (limited to 800) is too small to do interpolation. */
- pVia->swov.maxWInterp = 800;
- pVia->swov.maxHInterp = 600;
- pVia->useLegacyVBE = TRUE;
-@@ -710,20 +728,30 @@
- break;
- case VIA_K8M800:
- pVia->DRIIrqEnable = FALSE;
-- pVia->UseLegacyModeSwitch = TRUE;
- break;
- case VIA_PM800:
-+ /* Use new mode switch to resolve many resolution and display bugs (switch to console) */
-+ /* FIXME The video playing (XV) is not working correctly after turn on new mode switch */
- pVia->VideoEngine = VIDEO_ENGINE_CME;
-- pVia->UseLegacyModeSwitch = TRUE;
- break;
- case VIA_VM800:
-- pVia->UseLegacyModeSwitch = TRUE;
-+ /* New mode switch resolve bug with gamma set #282 */
-+ /* and with Xv after hibernate #240 */
- break;
-+ case VIA_CX700:
-+ pVia->VideoEngine = VIDEO_ENGINE_CME;
-+ pVia->swov.maxWInterp = 1920;
-+ pVia->swov.maxHInterp = 1080;
-+ break;
- case VIA_K8M890:
- pVia->VideoEngine = VIDEO_ENGINE_CME;
- pVia->agpEnable = FALSE;
- pVia->dmaXV = FALSE;
- break;
-+ case VIA_P4M890:
-+ pVia->VideoEngine = VIDEO_ENGINE_CME;
-+ pVia->dmaXV = FALSE;
-+ break;
- case VIA_P4M900:
- pVia->VideoEngine = VIDEO_ENGINE_CME;
- pVia->agpEnable = FALSE;
-@@ -732,20 +760,13 @@
- pVia->dmaXV = FALSE;
- pBIOSInfo->TVDIPort = VIA_DI_PORT_DVP0;
- break;
-- case VIA_CX700:
-- pVia->VideoEngine = VIDEO_ENGINE_CME;
-- pVia->swov.maxWInterp = 1920;
-- pVia->swov.maxHInterp = 1080;
-- break;
-- case VIA_P4M890:
-- pVia->VideoEngine = VIDEO_ENGINE_CME;
-- pVia->dmaXV = FALSE;
-- break;
-+
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- pVia->VideoEngine = VIDEO_ENGINE_CME;
-- /* pVia->agpEnable = FALSE;
-- pVia->dmaXV = FALSE;*/
-+ pVia->agpEnable = FALSE;
-+ pVia->dmaXV = FALSE;
- break;
- }
-
-@@ -807,7 +828,7 @@
- pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
- #ifndef XSERVER_LIBPCIACCESS
- if (pEnt->resources) {
-- xfree(pEnt);
-+ free(pEnt);
- VIAFreeRec(pScrn);
- return FALSE;
- }
-@@ -825,7 +846,7 @@
- pPriv = xf86GetEntityPrivate(pScrn->entityList[0], gVIAEntityIndex);
- pVIAEnt = pPriv->ptr;
- if (pVIAEnt->BypassSecondary) {
-- xfree(pEnt);
-+ free(pEnt);
- VIAFreeRec(pScrn);
- return FALSE;
- }
-@@ -848,6 +869,7 @@
- pVIAEnt->HasSecondary = FALSE;
- pVIAEnt->RestorePrimary = FALSE;
- pVIAEnt->IsSecondaryRestored = FALSE;
-+
- }
- } else {
- pVia->sharedData = xnfcalloc(sizeof(ViaSharedRec), 1);
-@@ -866,7 +888,7 @@
- */
-
- if (!xf86SetDepthBpp(pScrn, 0, 0, 0, Support32bppFb)) {
-- xfree(pEnt);
-+ free(pEnt);
- VIAFreeRec(pScrn);
- return FALSE;
- } else {
-@@ -881,7 +903,7 @@
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "Given depth (%d) is not supported by this driver\n",
- pScrn->depth);
-- xfree(pEnt);
-+ free(pEnt);
- VIAFreeRec(pScrn);
- return FALSE;
- }
-@@ -897,7 +919,7 @@
- rgb zeros = { 0, 0, 0 };
-
- if (!xf86SetWeight(pScrn, zeros, zeros)) {
-- xfree(pEnt);
-+ free(pEnt);
- VIAFreeRec(pScrn);
- return FALSE;
- } else {
-@@ -914,7 +936,7 @@
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Given default visual"
- " (%s) is not supported at depth %d.\n",
- xf86GetVisualName(pScrn->defaultVisual), pScrn->depth);
-- xfree(pEnt);
-+ free(pEnt);
- VIAFreeRec(pScrn);
- return FALSE;
- }
-@@ -979,7 +1001,7 @@
-
- xf86DrvMsg(pScrn->scrnIndex, from, "Chipset revision: %d\n", pVia->ChipRev);
-
-- xfree(pEnt);
-+ free(pEnt);
-
- /* Detect the amount of installed RAM */
- from = X_PROBED;
-@@ -993,6 +1015,12 @@
-
- switch (pVia->Chipset) {
- case VIA_CLE266:
-+#ifdef XSERVER_LIBPCIACCESS
-+ pci_device_cfg_read_u8(bridge, &videoRam, 0xE1);
-+#else
-+ videoRam = pciReadByte(pciTag(0, 0, 0), 0xE1) & 0x70;
-+#endif
-+ pScrn->videoRam = (1 << ((videoRam & 0x70) >> 4)) << 10;
- case VIA_KM400:
- #ifdef XSERVER_LIBPCIACCESS
- pci_device_cfg_read_u8(bridge, &videoRam, 0xE1);
-@@ -1000,6 +1028,12 @@
- videoRam = pciReadByte(pciTag(0, 0, 0), 0xE1) & 0x70;
- #endif
- pScrn->videoRam = (1 << ((videoRam & 0x70) >> 4)) << 10;
-+ /* Workaround for #177 (VRAM probing fail on P4M800) */
-+ if (pScrn->videoRam < 16384) {
-+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-+ "Memory size detection failed: using 16 MB.\n");
-+ pScrn->videoRam = 16 << 10;
-+ }
- break;
- case VIA_PM800:
- case VIA_VM800:
-@@ -1017,6 +1051,7 @@
- case VIA_CX700:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- #ifdef XSERVER_LIBPCIACCESS
- pci_device_cfg_read_u8(vgaDevice, &videoRam, 0xA1);
- #else
-@@ -1046,23 +1081,18 @@
- }
- }
-
-- if (from == X_PROBED)
-+ if (from == X_PROBED) {
- xf86DrvMsg(pScrn->scrnIndex, from,
- "Probed amount of VideoRAM = %d kB\n", pScrn->videoRam);
-+ }
-
-- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-- "Setting up default chipset options.\n");
- if (!VIASetupDefaultOptions(pScrn)) {
- VIAFreeRec(pScrn);
- return FALSE;
- }
-
-- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Reading config file...\n");
- xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, VIAOptions);
-
-- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-- "Starting to parse config file options...\n");
--
- if (xf86GetOptValInteger(VIAOptions, OPTION_VIDEORAM, &pScrn->videoRam))
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
- "Setting amount of VideoRAM to %d kB\n", pScrn->videoRam);
-@@ -1100,6 +1130,31 @@
- }
-
- /* When rotating, switch shadow framebuffer on and acceleration off. */
-+ if ((s = xf86GetOptValString(VIAOptions, OPTION_ROTATION_TYPE))) {
-+ if (!xf86NameCmp(s, "SWRandR")) {
-+ pVia->shadowFB = TRUE;
-+ pVia->NoAccel = TRUE;
-+ pVia->RandRRotation = TRUE;
-+ pVia->rotate = RR_Rotate_0;
-+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Rotating screen "
-+ "RandR enabled, acceleration disabled\n");
-+ } else if (!xf86NameCmp(s, "HWRandR")) {
-+ pVia->shadowFB = TRUE;
-+ pVia->NoAccel = TRUE;
-+ pVia->RandRRotation = TRUE;
-+ pVia->rotate = RR_Rotate_0;
-+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Hardware accelerated "
-+ "rotating screen is not implemented. Using SW RandR.\n");
-+ } else {
-+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "\"%s\" is not a valid"
-+ "value for Option \"RotationType\".\n", s);
-+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-+ "Valid options are \"SWRandR\" and \"HWRandR\".\n");
-+ }
-+ }
-+
-+
-+ /* When rotating, switch shadow framebuffer on and acceleration off. */
- if ((s = xf86GetOptValString(VIAOptions, OPTION_ROTATE))) {
- if (!xf86NameCmp(s, "CW")) {
- pVia->shadowFB = TRUE;
-@@ -1498,6 +1553,7 @@
- }
- }
-
-+ /* Initialize the colormap */
- Gamma zeros = { 0.0, 0.0, 0.0 };
- if (!xf86SetGamma(pScrn, zeros)) {
- VIAFreeRec(pScrn);
-@@ -1523,6 +1579,17 @@
-
- pVia->videoRambytes = pScrn->videoRam << 10;
-
-+ /* I2CDevices Option for I2C Initialization */
-+ //pVia->I2CDevices = 0x00;
-+ if ((s = xf86GetOptValString(VIAOptions, OPTION_I2CDEVICES))) {
-+ if (strstr(s, "Bus1"))
-+ pVia->I2CDevices |= VIA_I2C_BUS1;
-+ if (strstr(s, "Bus2"))
-+ pVia->I2CDevices |= VIA_I2C_BUS2;
-+ if (strstr(s, "Bus3"))
-+ pVia->I2CDevices |= VIA_I2C_BUS3;
-+ }
-+
- if (!xf86LoadSubModule(pScrn, "i2c")) {
- VIAFreeRec(pScrn);
- return FALSE;
-@@ -1536,10 +1603,13 @@
- } else {
-
- if (pVia->pI2CBus1) {
-- pVia->DDC1 = xf86DoEDID_DDC2(pScrn->scrnIndex, pVia->pI2CBus1);
-+ pVia->DDC1 = xf86DoEEDID(pScrn->scrnIndex, pVia->pI2CBus1, TRUE);
- if (pVia->DDC1) {
- xf86PrintEDID(pVia->DDC1);
- xf86SetDDCproperties(pScrn, pVia->DDC1);
-+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
-+ "DDC pI2CBus1 detected a %s\n", DIGITAL(pVia->DDC1->features.input_type) ?
-+ "DFP" : "CRT"));
- }
- }
- }
-@@ -1559,17 +1629,6 @@
- ViaPanelPreInit(pScrn);
- }
-
-- if (pBIOSInfo->Panel->IsActive &&
-- ((pVia->Chipset == VIA_K8M800) ||
-- (pVia->Chipset == VIA_PM800) ||
-- (pVia->Chipset == VIA_VM800))) {
-- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Panel on K8M800, PM800 and "
-- "VM800 is currently not supported.\n");
-- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-- "Using VBE to set modes to work around this.\n");
-- pVia->useVBEModes = TRUE;
-- }
--
- pVia->pVbe = NULL;
- if (pVia->useVBEModes) {
- /* VBE doesn't properly initialise int10 itself. */
-@@ -1593,6 +1652,7 @@
- }
-
- } else {
-+ int max_pitch, max_height;
- /* Add own modes. */
- ViaModesAttach(pScrn, pScrn->monitor);
-
-@@ -1609,6 +1669,26 @@
- clockRanges->interlaceAllowed = TRUE;
- clockRanges->doubleScanAllowed = FALSE;
-
-+ switch (pVia->Chipset) {
-+ case VIA_CLE266:
-+ case VIA_KM400:
-+ case VIA_K8M800:
-+ case VIA_PM800:
-+ case VIA_VM800:
-+ max_pitch = 3344;
-+ max_height = 2508;
-+ case VIA_CX700:
-+ case VIA_K8M890:
-+ case VIA_P4M890:
-+ case VIA_P4M900:
-+ max_pitch = 8192/(pScrn->bitsPerPixel >> 3)-1;
-+ max_height = max_pitch;
-+ break;
-+ default:
-+ max_pitch = 16384/(pScrn->bitsPerPixel >> 3)-1;
-+ max_height = max_pitch;
-+ }
-+
- /*
- * xf86ValidateModes will check that the mode HTotal and VTotal values
- * don't exceed the chipset's limit if pScrn->maxHValue and
-@@ -1621,7 +1701,7 @@
- *
- * CLE266A: primary AdjustFrame can use only 24 bits, so we are limited
- * to 12x11 bits; 4080x2048 (~2:1), 3344x2508 (4:3), or 2896x2896 (1:1).
-- * Test CLE266Cx, KM400, KM400A, K8M800, PM800, CN400 please.
-+ * TODO Test CLE266Cx, KM400, KM400A, K8M800, CN400 please.
- *
- * We should be able to limit the memory available for a mode to 32 MB,
- * but xf86ValidateModes (or miScanLineWidth) fails to catch this
-@@ -1629,15 +1709,16 @@
- */
-
- /* Select valid modes from those available. */
-- i = xf86ValidateModes(pScrn, pScrn->monitor->Modes, /* availModes */
-- pScrn->display->modes, /* modeNames */
-- clockRanges, /* list of clock ranges */
-+ i = xf86ValidateModes(pScrn,
-+ pScrn->monitor->Modes, /* List of modes available for the monitor */
-+ pScrn->display->modes, /* List of mode names that the screen is requesting */
-+ clockRanges, /* list of clock ranges */
- NULL, /* list of line pitches */
- 256, /* minimum line pitch */
-- 3344, /* maximum line pitch */
-- 32 * 8, /* pitch inc (bits) */
-- 128, /* min height */
-- 2508, /* max height */
-+ max_pitch, /* maximum line pitch */
-+ 16 * 8, /* pitch increment (in bits), we just want 16 bytes alignment */
-+ 128, /* min virtual height */
-+ max_height, /* maximum virtual height */
- pScrn->display->virtualX, /* virtual width */
- pScrn->display->virtualY, /* virtual height */
- pVia->videoRambytes, /* apertureSize */
-@@ -1650,6 +1731,7 @@
- return FALSE;
- }
-
-+ /* This function deletes modes in the modes field of the ScrnInfoRec that have been marked as invalid. */
- xf86PruneDriverModes(pScrn);
-
- if (i == 0 || pScrn->modes == NULL) {
-@@ -1662,9 +1744,17 @@
- /* Set up screen parameters. */
- pVia->Bpp = pScrn->bitsPerPixel >> 3;
- pVia->Bpl = pScrn->displayWidth * pVia->Bpp;
-+
-+ /* This function fills in the Crtc fields for all the modes in the modes field of the ScrnInfoRec. */
- xf86SetCrtcForModes(pScrn, INTERLACE_HALVE_V);
-+
-+ /* Set the current mode to the first in the list */
- pScrn->currentMode = pScrn->modes;
-+
-+ /* Print the list of modes being used */
- xf86PrintModes(pScrn);
-+
-+ /* Set display resolution */
- xf86SetDpi(pScrn, 0, 0);
-
- #ifdef USE_FB
-@@ -1822,6 +1912,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- break;
- default:
- hwp->writeSeq(hwp, 0x1A, pVia->SavedReg.SR1A | 0x40);
-@@ -1935,7 +2026,9 @@
- Regs->SR17 = hwp->readSeq(hwp, 0x17);
- Regs->SR18 = hwp->readSeq(hwp, 0x18);
- Regs->SR19 = hwp->readSeq(hwp, 0x19);
-+ /* PCI Bus Control */
- Regs->SR1A = hwp->readSeq(hwp, 0x1A);
-+
- Regs->SR1B = hwp->readSeq(hwp, 0x1B);
- Regs->SR1C = hwp->readSeq(hwp, 0x1C);
- Regs->SR1D = hwp->readSeq(hwp, 0x1D);
-@@ -1977,40 +2070,59 @@
- Regs->SR4C = hwp->readSeq(hwp, 0x4C);
- break;
- }
-- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-- "Non-Primary Adapter! saving VGA_SR_MODE only !!\n"));
-+
-+ /* Save Preemptive Arbiter Control Register */
-+ Regs->SR4D = hwp->readSeq(hwp, 0x4D);
- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Crtc...\n"));
-
- Regs->CR13 = hwp->readCrtc(hwp, 0x13);
-
- Regs->CR32 = hwp->readCrtc(hwp, 0x32);
- Regs->CR33 = hwp->readCrtc(hwp, 0x33);
-- Regs->CR34 = hwp->readCrtc(hwp, 0x34);
-+
- Regs->CR35 = hwp->readCrtc(hwp, 0x35);
- Regs->CR36 = hwp->readCrtc(hwp, 0x36);
-
-+
-+
-+ /* Starting Address */
-+ /* Start Address High */
-+ Regs->CR0C = hwp->readCrtc(hwp, 0x0C);
-+ /* Start Address Low */
-+ Regs->CR0D = hwp->readCrtc(hwp, 0x0D);
-+ /* Starting Address Overflow Bits[28:24] */
- Regs->CR48 = hwp->readCrtc(hwp, 0x48);
-+ /* CR34 are fire bits. Must be written after CR0C CR0D CR48. */
-+ /* Starting Address Overflow Bits[23:16] */
-+ Regs->CR34 = hwp->readCrtc(hwp, 0x34);
-+
-+
- Regs->CR49 = hwp->readCrtc(hwp, 0x49);
-
- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "TVSave...\n"));
- if (pBIOSInfo->TVI2CDev)
- ViaTVSave(pScrn);
-
-- /* Save LCD control registers. */
-+ /* Save LCD control registers (from CR 0x50 to 0x93). */
- for (i = 0; i < 68; i++)
- Regs->CRTCRegs[i] = hwp->readCrtc(hwp, i + 0x50);
-
- if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
--
-- Regs->CRA0 = hwp->readCrtc(hwp, 0xA0);
-- Regs->CRA1 = hwp->readCrtc(hwp, 0xA1);
-- Regs->CRA2 = hwp->readCrtc(hwp, 0xA2);
--
-+ /* LVDS Channel 2 Function Select 0 / DVI Function Select */
- Regs->CR97 = hwp->readCrtc(hwp, 0x97);
-+ /* LVDS Channel 1 Function Select 0 */
- Regs->CR99 = hwp->readCrtc(hwp, 0x99);
-+ /* Digital Video Port 1 Function Select 0 */
- Regs->CR9B = hwp->readCrtc(hwp, 0x9B);
-+ /* Power Now Control 4 */
- Regs->CR9F = hwp->readCrtc(hwp, 0x9F);
-
-+ /* Horizontal Scaling Initial Value */
-+ Regs->CRA0 = hwp->readCrtc(hwp, 0xA0);
-+ /* Vertical Scaling Initial Value */
-+ Regs->CRA1 = hwp->readCrtc(hwp, 0xA1);
-+ /* Scaling Enable Bit */
-+ Regs->CRA2 = hwp->readCrtc(hwp, 0xA2);
- }
-
- /* Save TMDS status */
-@@ -2018,6 +2130,7 @@
- case VIA_CX700:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- Regs->CRD2 = hwp->readCrtc(hwp, 0xD2);
- break;
- }
-@@ -2045,15 +2158,15 @@
- /* Unlock extended registers. */
- hwp->writeSeq(hwp, 0x10, 0x01);
-
-- /*=* CR6A, CR6B, CR6C must be reset before restore
-- standard vga regs, or system will be hang. *=*/
-+ /*=* CR6A, CR6B, CR6C must be reset before restoring
-+ standard vga regs, or system will hang. *=*/
- /*=* TODO Check is reset IGA2 channel before disable IGA2 channel
-- is neccesery or it may cause some line garbage. *=*/
-+ is necessary or it may cause some line garbage. *=*/
- hwp->writeCrtc(hwp, 0x6A, 0x00);
- hwp->writeCrtc(hwp, 0x6B, 0x00);
- hwp->writeCrtc(hwp, 0x6C, 0x00);
-
-- /* Gamma must disable before restore pallette */
-+ /* Gamma must be disabled before restoring palette */
- ViaGammaDisable(pScrn);
-
- if (pBIOSInfo->TVI2CDev)
-@@ -2098,11 +2211,19 @@
- hwp->writeSeq(hwp, 0x45, Regs->SR45);
- hwp->writeSeq(hwp, 0x46, Regs->SR46);
-
-+ /* Reset VCK PLL */
-+ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) | 0x02); /* Set SR40[1] to 1 */
-+ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) & 0xFD); /* Set SR40[1] to 0 */
-+
- /* ECK Clock Synthesizer: */
- hwp->writeSeq(hwp, 0x47, Regs->SR47);
- hwp->writeSeq(hwp, 0x48, Regs->SR48);
- hwp->writeSeq(hwp, 0x49, Regs->SR49);
-
-+ /* Reset ECK PLL */
-+ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) | 0x01); /* Set SR40[0] to 1 */
-+ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) & 0xFE); /* Set SR40[0] to 0 */
-+
- switch (pVia->Chipset) {
- case VIA_CLE266:
- case VIA_KM400:
-@@ -2112,9 +2233,22 @@
- hwp->writeSeq(hwp, 0x4A, Regs->SR4A);
- hwp->writeSeq(hwp, 0x4B, Regs->SR4B);
- hwp->writeSeq(hwp, 0x4C, Regs->SR4C);
-+
-+ /* Reset LCK PLL */
-+ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) | 0x04); /* Set SR40[2] to 1 */
-+ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) & 0xFB); /* Set SR40[2] to 0 */
- break;
- }
-
-+ /* Restore Preemptive Arbiter Control Register
-+ * VX800 and VX855 should restore this register too,
-+ * but I don't do that for I don't want to affect any
-+ * chips now.
-+ */
-+ if (pVia->Chipset == VIA_VX900) {
-+ hwp->writeSeq(hwp, 0x4D, Regs->SR4D);
-+ }
-+
- /* Reset dotclocks. */
- ViaSeqMask(hwp, 0x40, 0x06, 0x06);
- ViaSeqMask(hwp, 0x40, 0x00, 0x06);
-@@ -2127,14 +2261,23 @@
- hwp->writeCrtc(hwp, 0x32, Regs->CR32);
- /* HSYNCH Adjuster */
- hwp->writeCrtc(hwp, 0x33, Regs->CR33);
-- /* Starting Address Overflow */
-- hwp->writeCrtc(hwp, 0x34, Regs->CR34);
- /* Extended Overflow */
- hwp->writeCrtc(hwp, 0x35, Regs->CR35);
- /*Power Management 3 (Monitor Control) */
- hwp->writeCrtc(hwp, 0x36, Regs->CR36);
-
-+ /* Starting Address */
-+ /* Start Address High */
-+ hwp->writeCrtc(hwp, 0x0C, Regs->CR0C);
-+ /* Start Address Low */
-+ hwp->writeCrtc(hwp, 0x0D, Regs->CR0D);
-+ /* Starting Address Overflow Bits[28:24] */
- hwp->writeCrtc(hwp, 0x48, Regs->CR48);
-+ /* CR34 are fire bits. Must be written after CR0C CR0D CR48. */
-+ /* Starting Address Overflow Bits[23:16] */
-+ hwp->writeCrtc(hwp, 0x34, Regs->CR34);
-+
-+
- hwp->writeCrtc(hwp, 0x49, Regs->CR49);
-
- /* Restore LCD control registers. */
-@@ -2160,6 +2303,7 @@
- case VIA_CX700:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- /* LVDS Control Register */
- hwp->writeCrtc(hwp, 0xD2, Regs->CRD2);
- break;
-@@ -2189,6 +2333,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- ViaSeqMask(hwp, 0x1A, 0x08, 0x08);
- break;
- default:
-@@ -2212,6 +2357,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- ViaSeqMask(hwp, 0x1A, 0x00, 0x08);
- break;
- default:
-@@ -2328,10 +2474,18 @@
- VIAPtr pVia = VIAPTR(pScrn);
-
- #ifdef XSERVER_LIBPCIACCESS
-- pVia->FrameBufferBase = pVia->PciInfo->regions[0].base_addr;
-+ if (pVia->Chipset == VIA_VX900) {
-+ pVia->FrameBufferBase = pVia->PciInfo->regions[2].base_addr;
-+ } else {
-+ pVia->FrameBufferBase = pVia->PciInfo->regions[0].base_addr;
-+ }
- int err;
- #else
-- pVia->FrameBufferBase = pVia->PciInfo->memBase[0];
-+ if (pVia->Chipset == VIA_VX900) {
-+ pVia->FrameBufferBase = pVia->PciInfo->memBase[2];
-+ } else {
-+ pVia->FrameBufferBase = pVia->PciInfo->memBase[0];
-+ }
- #endif
-
- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapFB\n"));
-@@ -2453,7 +2607,6 @@
- VIALoadRgbLut(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
- VisualPtr pVisual)
- {
-- VIAPtr pVia = VIAPTR(pScrn);
- vgaHWPtr hwp = VGAHWPTR(pScrn);
-
- int i, j, index;
-@@ -2844,7 +2997,7 @@
-
- if (pVia->shadowFB) {
- pVia->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
-- pVia->ShadowPtr = xalloc(pVia->ShadowPitch * shadowHeight);
-+ pVia->ShadowPtr = malloc(pVia->ShadowPitch * shadowHeight);
- displayWidth = pVia->ShadowPitch / (pScrn->bitsPerPixel >> 3);
- FBStart = pVia->ShadowPtr;
- } else {
-@@ -2880,7 +3033,6 @@
- VIAWriteMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
- {
- VIAPtr pVia = VIAPTR(pScrn);
-- VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
-
- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAWriteMode\n"));
-
-@@ -2917,6 +3069,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- /*
- * Since we are using virtual, we need to adjust
- * the offset to match the framebuffer alignment.
-@@ -2963,6 +3116,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- break;
- default :
- hwp->writeSeq(hwp, 0x1A, pVia->SavedReg.SR1A | 0x40);
-@@ -2986,11 +3140,11 @@
-
- viaExitAccel(pScreen);
- if (pVia->ShadowPtr) {
-- xfree(pVia->ShadowPtr);
-+ free(pVia->ShadowPtr);
- pVia->ShadowPtr = NULL;
- }
- if (pVia->DGAModes) {
-- xfree(pVia->DGAModes);
-+ free(pVia->DGAModes);
- pVia->DGAModes = NULL;
- }
-
-@@ -3033,9 +3187,7 @@
- VIAAdjustFrame(int scrnIndex, int x, int y, int flags)
- {
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
-- vgaHWPtr hwp = VGAHWPTR(pScrn);
- VIAPtr pVia = VIAPTR(pScrn);
-- CARD32 Base;
-
- DEBUG(xf86DrvMsg(scrnIndex, X_INFO, "VIAAdjustFrame %dx%d\n", x, y));
-
-@@ -3173,7 +3325,6 @@
- static void
- VIADPMS(ScrnInfoPtr pScrn, int mode, int flags)
- {
-- vgaHWPtr hwp = VGAHWPTR(pScrn);
- VIAPtr pVia = VIAPTR(pScrn);
- VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
-
-Index: src/via_crtc.c
-===================================================================
---- src/via_crtc.c (revision 811)
-+++ src/via_crtc.c (working copy)
-@@ -174,6 +174,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- break;
- default:
- ViaSeqMask(hwp, 0x16, 0x08, 0xBF);
-@@ -234,8 +235,8 @@
- /* Primary starting address -> 0x00, adjustframe does the rest */
- hwp->writeCrtc(hwp, 0x0C, 0x00);
- hwp->writeCrtc(hwp, 0x0D, 0x00);
-+ ViaCrtcMask(hwp, 0x48, 0x00, 0x03); /* is this even possible on CLE266A ? */
- hwp->writeCrtc(hwp, 0x34, 0x00);
-- ViaCrtcMask(hwp, 0x48, 0x00, 0x03); /* is this even possible on CLE266A ? */
-
- /* vertical sync start : 2047 */
- temp = mode->CrtcVSyncStart;
-@@ -278,6 +279,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- break;
- default:
- /* some leftovers */
-@@ -314,6 +316,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- break;
- default:
- /* some leftovers */
-@@ -331,15 +334,20 @@
- CARD32 Base;
- CARD32 tmp;
-
-+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaFirstCRTCSetStartingAddress\n"));
-+
- Base = (y * pScrn->displayWidth + x) * (pScrn->bitsPerPixel / 8);
- Base = Base >> 1;
-
- hwp->writeCrtc(hwp, 0x0C, (Base & 0xFF00) >> 8);
- hwp->writeCrtc(hwp, 0x0D, Base & 0xFF);
-+ /* FIXME The proper starting address for CR48 is 0x1F - Bits[28:24] */
-+ if (!(pVia->Chipset == VIA_CLE266 && CLE266_REV_IS_AX(pVia->ChipRev)))
-+ ViaCrtcMask(hwp, 0x48, Base >> 24, 0x0F);
-+ /* CR34 are fire bits. Must be written after CR0C CR0D CR48. */
- hwp->writeCrtc(hwp, 0x34, (Base & 0xFF0000) >> 16);
-
-- if (!(pVia->Chipset == VIA_CLE266 && CLE266_REV_IS_AX(pVia->ChipRev)))
-- ViaCrtcMask(hwp, 0x48, Base >> 24, 0x0F);
-+
- }
-
- void
-@@ -434,6 +442,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- break;
- default:
- ViaSeqMask(hwp, 0x16, 0x08, 0xBF);
-@@ -518,6 +527,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- break;
- default:
- /* some leftovers */
-Index: src/via_swov.c
-===================================================================
---- src/via_swov.c (revision 811)
-+++ src/via_swov.c (working copy)
-@@ -65,6 +65,31 @@
- #define IN_VIDEO_DISPLAY (*((unsigned long volatile *)(pVia->VidMapBase+V_FLAGS))&VBI_STATUS)
- #define VIA_FIRETIMEOUT 40000
-
-+enum HQV_CME_Regs {
-+ HQV_SDO_CTRL1,
-+ HQV_SDO_CTRL2,
-+ HQV_SDO_CTRL3,
-+ HQV_SDO_CTRL4
-+};
-+
-+/* register offsets for VT3553/VX800 */
-+static const unsigned hqv_cme_regs[] = {
-+ [HQV_SDO_CTRL1] = HQV_SRC_DATA_OFFSET_CONTROL1,
-+ [HQV_SDO_CTRL2] = HQV_SRC_DATA_OFFSET_CONTROL2,
-+ [HQV_SDO_CTRL3] = HQV_SRC_DATA_OFFSET_CONTROL3,
-+ [HQV_SDO_CTRL4] = HQV_SRC_DATA_OFFSET_CONTROL4
-+};
-+
-+/* register hqv offsets for new VT3409/VX855 */
-+static const unsigned hqv_cme_regs_409[] = {
-+ [HQV_SDO_CTRL1] = HQV_SRC_DATA_OFFSET_CTRL1_409,
-+ [HQV_SDO_CTRL2] = HQV_SRC_DATA_OFFSET_CTRL2_409,
-+ [HQV_SDO_CTRL3] = HQV_SRC_DATA_OFFSET_CTRL3_409,
-+ [HQV_SDO_CTRL4] = HQV_SRC_DATA_OFFSET_CTRL4_409
-+};
-+
-+#define HQV_CME_REG(HWDiff, name) (HWDiff)->HQVCmeRegs[name]
-+
- static void
- viaWaitVideoCommandFire(VIAPtr pVia)
- {
-@@ -88,6 +113,7 @@
- {
- unsigned long proReg = 0;
- CARD32 volatile *pdwState;
-+ unsigned count = 50000;
-
- if (pVia->ChipId == PCI_CHIP_VT3259
- && !(pVia->swov.gdwVideoFlagSW & VIDEO_1_INUSE))
-@@ -96,10 +122,9 @@
- pdwState = (CARD32 volatile *)(pVia->VidMapBase + (HQV_CONTROL + proReg));
-
- if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
-- // while (*pdwState & (HQV_SUBPIC_FLIP | HQV_SW_FLIP)) ;
-- while (*pdwState & HQV_SUBPIC_FLIP);
-+ while (--count && (*pdwState & HQV_SUBPIC_FLIP));
- } else {
-- while (!(*pdwState & HQV_FLIP_STATUS)) ;
-+ while (--count && !(*pdwState & HQV_FLIP_STATUS)) ;
- }
- }
-
-@@ -109,8 +134,9 @@
- CARD32 volatile *pdwState =
- (CARD32 volatile *)(pVia->VidMapBase + HQV_CONTROL);
- *pdwState = dwData;
-+ unsigned count = 50000;
-
-- while ((*pdwState & HQV_FLIP_STATUS)) {
-+ while (--count && (*pdwState & HQV_FLIP_STATUS)) {
- VIDOutD(HQV_CONTROL, *pdwState | HQV_FLIP_STATUS);
- }
- }
-@@ -126,6 +152,7 @@
- {
- CARD32 volatile *pdwState;
- unsigned long proReg = 0;
-+ unsigned count = 50000;
-
- if (pVia->ChipId == PCI_CHIP_VT3259
- && !(pVia->swov.gdwVideoFlagSW & VIDEO_1_INUSE))
-@@ -133,7 +160,7 @@
-
- pdwState = (CARD32 volatile *)(pVia->VidMapBase + (HQV_CONTROL + proReg));
- if (pVia->swov.MPEG_ON) {
-- while ((*pdwState & HQV_SW_FLIP)) ;
-+ while (--count && (*pdwState & HQV_SW_FLIP)) ;
- }
- }
-
-@@ -179,12 +206,14 @@
- static void
- SaveVideoRegister(VIAPtr pVia, CARD32 index, CARD32 data)
- {
-+ if (pVia->VidRegCursor >= VIDREG_BUFFER_SIZE) {
-+ DBG_DD(ErrorF("SaveVideoRegister: Out of video register space flushing"));
-+ FlushVidRegBuffer(pVia);
-+ ResetVidRegBuffer(pVia);
-+ }
-+
- pVia->VidRegBuffer[pVia->VidRegCursor++] = index;
- pVia->VidRegBuffer[pVia->VidRegCursor++] = data;
--
-- if (pVia->VidRegCursor > VIDREG_BUFFER_SIZE) {
-- DBG_DD(ErrorF("SaveVideoRegister: Out of video register space"));
-- }
- }
-
- /*
-@@ -224,6 +253,7 @@
- HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
- HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
- }
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_FALSE;
- break;
- case VIA_KM400:
- HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -232,6 +262,7 @@
- HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
- HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
- HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_FALSE;
- break;
- case VIA_K8M800:
- HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -240,6 +271,7 @@
- HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
- HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
- HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_FALSE;
- break;
- case VIA_PM800:
- HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -248,6 +280,8 @@
- HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
- HWDiff->dwHQVDisablePatch = VID_HWDIFF_FALSE;
- HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_FALSE;
-+ HWDiff->HQVCmeRegs = hqv_cme_regs;
- break;
- case VIA_VM800:
- case VIA_P4M900:
-@@ -257,6 +291,8 @@
- HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
- HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
- HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_FALSE;
-+ HWDiff->HQVCmeRegs = hqv_cme_regs;
- break;
- case VIA_K8M890:
- HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -265,6 +301,8 @@
- HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
- HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
- HWDiff->dwNeedV1Prefetch = VID_HWDIFF_TRUE;
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_FALSE;
-+ HWDiff->HQVCmeRegs = hqv_cme_regs;
- break;
- case VIA_P4M890:
- HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -273,6 +311,8 @@
- HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
- HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
- HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_FALSE;
-+ HWDiff->HQVCmeRegs = hqv_cme_regs;
- break;
- case VIA_CX700:
- HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-@@ -281,8 +321,19 @@
- HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
- HWDiff->dwHQVDisablePatch = VID_HWDIFF_FALSE;
- HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_FALSE;
-+ HWDiff->HQVCmeRegs = hqv_cme_regs;
- break;
- case VIA_VX800:
-+ HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
-+ HWDiff->dwHQVFetchByteUnit = VID_HWDIFF_TRUE;
-+ HWDiff->dwSupportTwoColorKey = VID_HWDIFF_TRUE;
-+ HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
-+ HWDiff->dwHQVDisablePatch = VID_HWDIFF_FALSE;
-+ HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_TRUE;
-+ HWDiff->HQVCmeRegs = hqv_cme_regs;
-+ break;
- case VIA_VX855:
- HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
- HWDiff->dwHQVFetchByteUnit = VID_HWDIFF_TRUE;
-@@ -290,6 +341,8 @@
- HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
- HWDiff->dwHQVDisablePatch = VID_HWDIFF_FALSE;
- HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
-+ HWDiff->dwNewScaleCtl = VID_HWDIFF_TRUE;
-+ HWDiff->HQVCmeRegs = hqv_cme_regs_409;
- break;
- default:
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-@@ -509,10 +562,12 @@
- unsigned long *pMiniCtl,
- unsigned long *pHQVfilterCtl,
- unsigned long *pHQVminiCtl,
-+ unsigned long *pHQVscaleCtlH,
- unsigned long *pHQVzoomflag)
- {
- unsigned long tmp, sw1, d, falign, mdiv;
- Bool zoom_ok = TRUE;
-+ VIAHWDiff *hwDiff = &pVia->HWDiff;
-
- CARD32 HQVfilter[5] = { HQV_H_FILTER_DEFAULT, HQV_H_TAP4_121,
- HQV_H_TAP4_121, HQV_H_TAP8_12221, HQV_H_TAP8_12221
-@@ -525,24 +580,57 @@
- if (srcWidth == dstWidth) { /* No zoom */
- *pHQVfilterCtl |= HQV_H_FILTER_DEFAULT;
- } else if (srcWidth < dstWidth) { /* Zoom in */
-+ *pZoomCtl &= 0x0000FFFF;
-+ tmp = srcWidth * 0x800 / dstWidth;
-+ *pZoomCtl |= ((tmp & 0x7ff) << 16) | V1_X_ZOOM_ENABLE;
-+ *pMiniCtl |= V1_X_INTERPOLY;
-+ zoom_ok = !(tmp > 0x7ff);
-
-- tmp = srcWidth * 0x800 / dstWidth;
-- *pZoomCtl = ((tmp & 0x7ff) << 16) | V1_X_ZOOM_ENABLE;
-- *pMiniCtl |= V1_X_INTERPOLY;
-- zoom_ok = !(tmp > 0x7ff);
-+ *pHQVzoomflag = 1;
-+ *pHQVfilterCtl |= HQV_H_FILTER_DEFAULT;
-+ } else { /* srcWidth > dstWidth - Zoom out */
-+ if (hwDiff->dwNewScaleCtl) {
-+ if (srcWidth > (dstWidth << 3)) {
-+ /*<1/8*/
-+ /*FIXME!*/
-+ if (dstWidth <= 32) {
-+ dstWidth = 33;
-+ }
-+ if (srcWidth > (dstWidth << 5)) {
-+ tmp = 1 * 0x1000 / 31;
-+ } else {
-+ tmp = (dstWidth * 0x1000) / srcWidth;
-+ }
-
-- *pHQVzoomflag = 1;
-- *pHQVfilterCtl |= HQV_H_FILTER_DEFAULT;
-+ *pHQVscaleCtlH = HQV_H_SCALE_DOWN_UNDER_EIGHTH;
-+ } else if (srcWidth == (dstWidth << 3)) {
-+ /*1/8*/
-+ tmp = ((dstWidth - 1) * 0x1000) / srcWidth;
-+ *pHQVscaleCtlH = HQV_H_SCALE_DOWN_UNDER_EIGHTH;
-+ } else if (srcWidth > (dstWidth << 2)) {
-+ /*1/4 -1/8 zoom-out*/
-+ tmp = (srcWidth * 0x1000) / dstWidth;
-+ *pHQVscaleCtlH = HQV_H_SCALE_DOWN_FOURTH_TO_EIGHTH;
-+ } else {
-+ /*1-1/4 zoom-out*/
-+ /*setting :src/(destination+0.5)*/
-+ tmp = (srcWidth * 0x2000) / ((dstWidth << 1) + 1);
-+ *pHQVscaleCtlH = HQV_H_SCALE_DOWN_FOURTH_TO_1;
-+ }
-
-- } else { /* srcWidth > dstWidth - Zoom out */
-+ /*rounding to nearest interger*/
-+ tmp += (((tmp * 0x1000) & 0xfff) > 1) ? 1 : 0;
-+ *pHQVscaleCtlH |= (tmp & 0x7fff) | HQV_H_SCALE_ENABLE;
-+ } else {
-+ /* HQV rounding patch, instead of:
-+ * //tmp = dstWidth*0x0800 / srcWidth; */
-+ tmp = dstWidth * 0x800 * 0x400 / srcWidth;
-+ tmp = tmp / 0x400 + ((tmp & 0x3ff) ? 1 : 0);
-
-- /* HQV rounding patch, instead of:
-- * //tmp = dstWidth*0x0800 / srcWidth; */
-- tmp = dstWidth * 0x800 * 0x400 / srcWidth;
-- tmp = tmp / 0x400 + ((tmp & 0x3ff) ? 1 : 0);
-+ *pHQVminiCtl = (tmp & 0x7ff) | HQV_H_MINIFY_ENABLE | HQV_H_MINIFY_DOWN;
-
-- *pHQVminiCtl = (tmp & 0x7ff) | HQV_H_MINIFY_ENABLE | HQV_H_MINIFY_DOWN;
--
-+ *pHQVminiCtl |= HQV_HDEBLOCK_FILTER;
-+ }
- /* Scale down the picture by a factor mdiv = (1 << d) = {2, 4, 8 or 16} */
-
- sw1 = srcWidth;
-@@ -561,27 +649,25 @@
- *pMiniCtl |= ((d << 1) - 1) << 24; /* <= {1,3,5,7} << 24 */
-
- *pHQVfilterCtl |= HQVfilter[d];
-- /* *pHQVminiCtl = HQVmini[d]; */
-- *pHQVminiCtl |= HQV_HDEBLOCK_FILTER;
-
-- /* Scale to arbitrary size, on top of previous scaling by (1 << d). */
-+ /* Scale to arbitrary size, on top of previous scaling by (1 << d). */
-
-- if (sw1 < dstWidth) {
-- /* CLE bug
-- *pZoomCtl = sw1 * 0x0800 / dstWidth;*/
-- *pZoomCtl = (sw1 - 2) * 0x0800 / dstWidth;
-- *pZoomCtl = ((*pZoomCtl & 0x7ff) << 16) | V1_X_ZOOM_ENABLE;
-- }
-- }
-+ if (sw1 < dstWidth) {
-+ /* CLE bug
-+ *pZoomCtl = sw1 * 0x0800 / dstWidth;*/
-+ *pZoomCtl = (sw1 - 2) * 0x0800 / dstWidth;
-+ *pZoomCtl = ((*pZoomCtl & 0x7ff) << 16) | V1_X_ZOOM_ENABLE;
-+ }
-
-- if (videoFlag & VIDEO_1_INUSE) {
-- pVia->swov.overlayRecordV1.dwFetchAlignment = falign;
-- pVia->swov.overlayRecordV1.dwminifyH = mdiv;
-- } else {
-- pVia->swov.overlayRecordV3.dwFetchAlignment = falign;
-- pVia->swov.overlayRecordV3.dwminifyH = mdiv;
-- }
-+ if (videoFlag & VIDEO_1_INUSE) {
-+ pVia->swov.overlayRecordV1.dwFetchAlignment = falign;
-+ pVia->swov.overlayRecordV1.dwminifyH = mdiv;
-+ } else {
-+ pVia->swov.overlayRecordV3.dwFetchAlignment = falign;
-+ pVia->swov.overlayRecordV3.dwminifyH = mdiv;
-+ }
-
-+ }
- return zoom_ok;
- }
-
-@@ -591,10 +677,12 @@
- unsigned long *pZoomCtl, unsigned long *pMiniCtl,
- unsigned long *pHQVfilterCtl,
- unsigned long *pHQVminiCtl,
-+ unsigned long *pHQVscaleCtlV,
- unsigned long *pHQVzoomflag)
- {
- unsigned long tmp, sh1, d;
- Bool zoom_ok = TRUE;
-+ VIAHWDiff *hwDiff = &pVia->HWDiff;
-
- CARD32 HQVfilter[5] = { HQV_V_TAP4_121, HQV_V_TAP4_121, HQV_V_TAP4_121,
- HQV_V_TAP8_12221, HQV_V_TAP8_12221 };
-@@ -608,48 +696,58 @@
- if (srcHeight == dstHeight) { /* No zoom */
- *pHQVfilterCtl |= HQV_V_TAP4_121;
- } else if (srcHeight < dstHeight) { /* Zoom in */
-+ *pZoomCtl &= 0xFFFF0000;
-+ tmp = srcHeight * 0x400 / dstHeight - 1;
-+ *pZoomCtl |= ((tmp & 0x3ff) | V1_Y_ZOOM_ENABLE);
-+ *pMiniCtl |= (V1_Y_INTERPOLY | V1_YCBCR_INTERPOLY);
-
-- tmp = srcHeight * 0x0400 / dstHeight;
-- *pZoomCtl |= ((tmp & 0x3ff) | V1_Y_ZOOM_ENABLE);
-- *pMiniCtl |= (V1_Y_INTERPOLY | V1_YCBCR_INTERPOLY);
--
-- *pHQVzoomflag = 1;
-- *pHQVfilterCtl |= HQV_V_TAP4_121;
-+ *pHQVzoomflag = 1;
-+ *pHQVfilterCtl |= HQV_V_TAP4_121;
- } else { /* srcHeight > dstHeight - Zoom out */
-+ if (hwDiff->dwNewScaleCtl) {
-+ /*setting :src/(destination+0.5)*/
-+ tmp = srcHeight * 0x2000 / ((dstHeight << 1) + 1);
-+ tmp += (((tmp * 0x1000) & 0xfff) > 1) ? 1 : 0;
-+ if ((tmp & 0x1ffff) == 0) {
-+ tmp = 0x1ffff;
-+ }
-
-- /* HQV rounding patch, instead of:
-- * //tmp = dstHeight*0x0800 / srcHeight; */
-- tmp = dstHeight * 0x0800 * 0x400 / srcHeight;
-- tmp = tmp / 0x400 + ((tmp & 0x3ff) ? 1 : 0);
-- *pHQVminiCtl |= (((tmp & 0x7ff) << 16) | HQV_V_MINIFY_ENABLE
-- | HQV_V_MINIFY_DOWN);
-+ *pHQVscaleCtlV = (tmp & 0x1ffff) | HQV_V_SCALE_ENABLE| HQV_V_SCALE_DOWN;
-+ } else {
-+ /* HQV rounding patch, instead of:
-+ * //tmp = dstHeight*0x0800 / srcHeight; */
-+ tmp = dstHeight * 0x0800 * 0x400 / srcHeight;
-+ tmp = tmp / 0x400 + ((tmp & 0x3ff) ? 1 : 0);
-+ *pHQVminiCtl |= (((tmp & 0x7ff) << 16) | HQV_V_MINIFY_ENABLE
-+ | HQV_V_MINIFY_DOWN);
-
-- /* Scale down the picture by a factor (1 << d) = {2, 4, 8 or 16} */
-+ /* Scale down the picture by a factor (1 << d) = {2, 4, 8 or 16} */
-+
-+ sh1 = srcHeight;
-+ for (d = 1; d < 5; d++) {
-+ sh1 >>= 1;
-+ if (sh1 <= dstHeight)
-+ break;
-+ }
-+ if (d == 5) { /* Too small. */
-+ d = 4;
-+ zoom_ok = FALSE;
-+ }
-
-- sh1 = srcHeight;
-- for (d = 1; d < 5; d++) {
-- sh1 >>= 1;
-- if (sh1 <= dstHeight)
-- break;
-- }
-- if (d == 5) { /* Too small. */
-- d = 4;
-- zoom_ok = FALSE;
-- }
-+ *pMiniCtl |= ((d << 1) - 1) << 16; /* <= {1,3,5,7} << 16 */
-
-- *pMiniCtl |= ((d << 1) - 1) << 16; /* <= {1,3,5,7} << 16 */
-+ *pHQVfilterCtl |= HQVfilter[d];
-+ /* *pHQVminiCtl |= HQVmini[d]; */
-+ *pHQVminiCtl |= HQV_VDEBLOCK_FILTER;
-
-- *pHQVfilterCtl |= HQVfilter[d];
-- /* *pHQVminiCtl |= HQVmini[d]; */
-- *pHQVminiCtl |= HQV_VDEBLOCK_FILTER;
-+ /* Scale to arbitrary size, on top of previous scaling by (1 << d). */
-
-- /* Scale to arbitrary size, on top of previous scaling by (1 << d). */
--
-- if (sh1 < dstHeight) {
-- tmp = sh1 * 0x0400 / dstHeight;
-- *pZoomCtl |= ((tmp & 0x3ff) | V1_Y_ZOOM_ENABLE);
-- *pMiniCtl |= V1_Y_INTERPOLY | V1_YCBCR_INTERPOLY;
-- }
-+ if (sh1 < dstHeight) {
-+ tmp = sh1 * 0x0400 / dstHeight;
-+ *pZoomCtl |= ((tmp & 0x3ff) | V1_Y_ZOOM_ENABLE);
-+ *pMiniCtl |= V1_Y_INTERPOLY | V1_YCBCR_INTERPOLY;
-+ }
-+ }
- }
-
- return zoom_ok;
-@@ -1488,6 +1586,7 @@
-
- if (videoFlag & VIDEO_1_INUSE) {
- SaveVideoRegister(pVia, V_COLOR_KEY, keyLow);
-+ SaveVideoRegister(pVia, SND_COLOR_KEY, keyLow);
- } else {
- if (pVia->HWDiff.dwSupportTwoColorKey) /*CLE_C0 */
- SaveVideoRegister(pVia, V3_COLOR_KEY, keyLow);
-@@ -1561,8 +1660,9 @@
- srcFetch >>= 3; /* fetch unit is 8 bytes */
- }
-
-- SaveVideoRegister(pVia, HQV_SRC_FETCH_LINE + proReg,
-- ((srcFetch - 1) << 16) | (srcHeight - 1));
-+ if (pVia->ChipId != PCI_CHIP_VT3409)
-+ SaveVideoRegister(pVia, HQV_SRC_FETCH_LINE + proReg,
-+ ((srcFetch - 1) << 16) | (srcHeight - 1));
- }
-
- static void
-@@ -1713,13 +1813,14 @@
- unsigned long zoomCtl = 0, miniCtl = 0;
- unsigned long hqvCtl = 0;
- unsigned long hqvFilterCtl = 0, hqvMiniCtl = 0;
-+ unsigned long hqvScaleCtlH = 0, hqvScaleCtlV = 0;
- unsigned long haveHQVzoomH = 0, haveHQVzoomV = 0;
- unsigned long hqvSrcWidth = 0, hqvDstWidth = 0;
- unsigned long hqvSrcFetch = 0, hqvOffset = 0;
- unsigned long dwOffset = 0, fetch = 0, tmp = 0;
- unsigned long proReg = 0;
-
-- DBG_DD(ErrorF("videoflag=%p\n", videoFlag));
-+ DBG_DD(ErrorF("videoflag=%ld\n", videoFlag));
-
- if (pVia->ChipId == PCI_CHIP_VT3259 && !(videoFlag & VIDEO_1_INUSE))
- proReg = PRO_HQV1_OFFSET;
-@@ -1762,16 +1863,16 @@
-
- /*
- * FIXME:
-- * Enable video on secondary
-+ * Enable video on secondary (change Panel to SecondCRTC?)
- */
- if ((pVia->VideoEngine == VIDEO_ENGINE_CME
- || pVia->Chipset == VIA_VM800)
- && pVia->pBIOSInfo->Panel->IsActive) {
-
- /* V1_ON_SND_DISPLAY */
-- vidCtl |= 0x80000000;
-+ vidCtl |= V1_ON_SND_DISPLAY;
- /* SECOND_DISPLAY_COLOR_KEY_ENABLE */
-- compose |= 0x00010000 | 0x1;
-+ compose |= SECOND_DISPLAY_COLOR_KEY_ENABLE | 0x1;
- }
-
- viaOverlayGetV1V3Format(pVia, (videoFlag & VIDEO_1_INUSE) ? 1 : 3,
-@@ -1925,7 +2026,7 @@
-
- if (!viaOverlayHQVCalcZoomWidth(pVia, videoFlag, srcWidth, dstWidth,
- &zoomCtl, &miniCtl, &hqvFilterCtl,
-- &hqvMiniCtl, &haveHQVzoomH)) {
-+ &hqvMiniCtl, &hqvScaleCtlH, &haveHQVzoomH)) {
- /* Need to scale (minify) too much - can't handle it. */
- SetFetch(pVia, videoFlag, fetch);
- FireVideoCommand(pVia, videoFlag, compose);
-@@ -1964,7 +2065,7 @@
-
- if (!viaOverlayHQVCalcZoomHeight(pVia, srcHeight, dstHeight, &zoomCtl,
- &miniCtl, &hqvFilterCtl, &hqvMiniCtl,
-- &haveHQVzoomV)) {
-+ &hqvScaleCtlV, &haveHQVzoomV)) {
- /* Need to scale (minify) too much - can't handle it. */
- FireVideoCommand(pVia, videoFlag, compose);
- FlushVidRegBuffer(pVia);
-@@ -2008,8 +2109,13 @@
- hqvFilterCtl &= 0xfffdffff;
- SetMiniAndZoom(pVia, videoFlag, 0, 0);
- }
-- SaveVideoRegister(pVia, HQV_MINIFY_CONTROL + proReg, hqvMiniCtl);
-- SaveVideoRegister(pVia, HQV_FILTER_CONTROL + proReg, hqvFilterCtl);
-+ if (hwDiff->dwNewScaleCtl) {
-+ SaveVideoRegister(pVia, HQV_H_SCALE_CONTROL + proReg, hqvScaleCtlH);
-+ SaveVideoRegister(pVia, HQV_V_SCALE_CONTROL + proReg, hqvScaleCtlV);
-+ } else {
-+ SaveVideoRegister(pVia, HQV_MINIFY_CONTROL + proReg, hqvMiniCtl);
-+ }
-+ SaveVideoRegister(pVia, HQV_FILTER_CONTROL + proReg, hqvFilterCtl);
- } else
- SetMiniAndZoom(pVia, videoFlag, miniCtl, zoomCtl);
-
-@@ -2022,11 +2128,24 @@
- miniCtl, compose);
-
- if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
-- VIDOutD(HQV_SRC_DATA_OFFSET_CONTROL1,0);
-- VIDOutD(HQV_SRC_DATA_OFFSET_CONTROL3,((pUpdate->SrcRight - 1 ) << 16) | (pUpdate->SrcBottom - 1));
-+ SaveVideoRegister(pVia, HQV_CME_REG(hwDiff, HQV_SDO_CTRL1),0);
-+ SaveVideoRegister(pVia, HQV_CME_REG(hwDiff, HQV_SDO_CTRL3),((pUpdate->SrcRight - 1 ) << 16) | (pUpdate->SrcBottom - 1));
- if (pVia->Chipset == VIA_VX800 || pVia->Chipset == VIA_VX855) {
-- VIDOutD(HQV_SRC_DATA_OFFSET_CONTROL2,0);
-- VIDOutD(HQV_SRC_DATA_OFFSET_CONTROL4,((pUpdate->SrcRight - 1 ) << 16) | (pUpdate->SrcBottom - 1));
-+ SaveVideoRegister(pVia, HQV_CME_REG(hwDiff, HQV_SDO_CTRL2),0);
-+ SaveVideoRegister(pVia, HQV_CME_REG(hwDiff, HQV_SDO_CTRL4),((pUpdate->SrcRight - 1 ) << 16) | (pUpdate->SrcBottom - 1));
-+ if (pVia->Chipset == VIA_VX855) {
-+ SaveVideoRegister(pVia, HQV_DST_DATA_OFFSET_CTRL1,0);
-+ SaveVideoRegister(pVia, HQV_DST_DATA_OFFSET_CTRL3,((pUpdate->SrcRight - 1 ) << 16) | (pUpdate->SrcBottom - 1));
-+ SaveVideoRegister(pVia, HQV_DST_DATA_OFFSET_CTRL2,0);
-+ SaveVideoRegister(pVia, HQV_DST_DATA_OFFSET_CTRL4,((pUpdate->SrcRight - 1 ) << 16) | (pUpdate->SrcBottom - 1));
-+ SaveVideoRegister(pVia, HQV_BACKGROUND_DATA_OFFSET,((pUpdate->SrcRight - 1 ) << 16) | (pUpdate->SrcBottom - 1));
-+ SaveVideoRegister(pVia, HQV_EXTENDED_CONTROL,0);
-+ /*0x3e0*/
-+ SaveVideoRegister(pVia, HQV_SUBP_HSCALE_CTRL,0);
-+ /*0x3e8*/
-+ SaveVideoRegister(pVia, HQV_SUBP_VSCALE_CTRL,0);
-+ SaveVideoRegister(pVia, HQV_DEFAULT_VIDEO_COLOR, HQV_FIX_COLOR);
-+ }
- }
- }
-
-@@ -2062,9 +2181,6 @@
- usleep(1);
- }
-
-- if (pVia->VideoEngine == VIDEO_ENGINE_CME)
-- hqvCtl |= HQV_GEN_IRQ;
--
- VIDOutD(HQV_CONTROL + proReg, hqvCtl & ~HQV_SW_FLIP);
- VIDOutD(HQV_CONTROL + proReg, hqvCtl | HQV_SW_FLIP);
-
-Index: src/via_driver.h
-===================================================================
---- src/via_driver.h (revision 811)
-+++ src/via_driver.h (working copy)
-@@ -127,9 +127,10 @@
- CARD8 SR27, SR28, SR29, SR2A,SR2B,SR2C,SR2D,SR2E;
- CARD8 SR2F, SR30, SR31, SR32,SR33,SR34,SR40,SR41;
- CARD8 SR42, SR43, SR44, SR45,SR46,SR47,SR48,SR49;
-- CARD8 SR4A, SR4B, SR4C;
-+ CARD8 SR4A, SR4B, SR4C, SR4D;
-
- /* extended CRTC registers */
-+ CARD8 CR0C, CR0D;
- CARD8 CR13, CR30, CR31, CR32, CR33, CR34, CR35, CR36;
- CARD8 CR37, CR38, CR39, CR3A, CR40, CR41, CR42, CR43;
- CARD8 CR44, CR45, CR46, CR47, CR48, CR49, CR4A;
-@@ -142,7 +143,7 @@
- } VIARegRec, *VIARegPtr;
-
- /*
-- * varables that need to be shared among different screens.
-+ * variables that need to be shared among different screens.
- */
- typedef struct {
- Bool b3DRegsInitialized;
-@@ -285,6 +286,7 @@
- Bool agpDMA;
- Bool nPOT[VIA_NUM_TEXUNITS];
- const unsigned *TwodRegs;
-+ const unsigned *HqvCmeRegs;
- ExaDriverPtr exaDriverPtr;
- ExaOffscreenArea *exa_scratch;
- unsigned int exa_scratch_next;
-@@ -412,16 +414,18 @@
- void *cursorMap;
- CARD32 cursorOffset;
-
-+ CARD8 I2CDevices; /* Option */
-+
- #ifdef HAVE_DEBUG
- Bool disableXvBWCheck;
- Bool DumpVGAROM;
- Bool PrintVGARegs;
- Bool PrintTVRegs;
- Bool I2CScan;
-+#endif /* HAVE_DEBUG */
-
- Bool UseLegacyModeSwitch ;
- video_via_regs* VideoRegs ;
--#endif /* HAVE_DEBUG */
- } VIARec, *VIAPtr;
-
- #define VIAPTR(p) ((VIAPtr)((p)->driverPrivate))
-@@ -433,7 +437,7 @@
- Bool HasSecondary;
- Bool BypassSecondary;
- /*These two registers are used to make sure the CRTC2 is
-- retored before CRTC_EXT, otherwise it could lead to blank screen.*/
-+ restored before CRTC_EXT, otherwise it could lead to blank screen.*/
- Bool IsSecondaryRestored;
- Bool RestorePrimary;
-
-Index: src/via_bios.h
-===================================================================
---- src/via_bios.h (revision 811)
-+++ src/via_bios.h (working copy)
-@@ -82,6 +82,11 @@
- #define VIA_DEVICE_TV 0x04
- #define VIA_DEVICE_DFP 0x08
-
-+#define VIA_I2C_NONE 0x00
-+#define VIA_I2C_BUS1 0x01
-+#define VIA_I2C_BUS2 0x02
-+#define VIA_I2C_BUS3 0x04
-+
- /* System Memory CLK */
- #define VIA_MEM_SDR66 0x00
- #define VIA_MEM_SDR100 0x01
-@@ -92,7 +97,9 @@
- #define VIA_MEM_DDR400 0x06
- #define VIA_MEM_DDR533 0x07
- #define VIA_MEM_DDR667 0x08
--#define VIA_MEM_END 0x09
-+#define VIA_MEM_DDR800 0x09
-+#define VIA_MEM_DDR1066 0x0A
-+#define VIA_MEM_END 0x0B
- #define VIA_MEM_NONE 0xFF
-
- /* Digital Output Bus Width */
-Index: src/via_swov.h
-===================================================================
---- src/via_swov.h (revision 811)
-+++ src/via_swov.h (working copy)
-@@ -53,7 +53,7 @@
- {
- unsigned long dwThreeHQVBuffer; /* Use Three HQV Buffers */
- /* unsigned long dwV3SrcHeightSetting; *//* Set Video Source Width and Height */
-- /* unsigned long dwSupportExtendFIFO; *//* Support Extand FIFO */
-+ /* unsigned long dwSupportExtendFIFO; *//* Support Extend FIFO */
- unsigned long dwHQVFetchByteUnit; /* HQV Fetch Count unit is byte */
- unsigned long dwHQVInitPatch; /* Initialize HQV Engine 2 times */
- /*unsigned long dwSupportV3Gamma; *//* Support V3 Gamma */
-@@ -73,6 +73,8 @@
- /*unsigned long dwV3FIFOPatch; *//* For CLE V3 FIFO Bug (srcWidth <= 8) */
- unsigned long dwSupportTwoColorKey; /* Support two color key */
- /* unsigned long dwCxColorSpace; *//* CLE_Cx ColorSpace */
-+ unsigned dwNewScaleCtl; /* Use new HQV scale engine code */
-+ const unsigned *HQVCmeRegs; /* Which set of CME regs to use for newer chipsets */
- } VIAHWDiff;
-
- void VIAVidHWDiffInit(ScrnInfoPtr pScrn);
-Index: src/via_bandwidth.c
-===================================================================
---- src/via_bandwidth.c (revision 811)
-+++ src/via_bandwidth.c (working copy)
-@@ -194,6 +194,7 @@
- else
- ViaSeqMask(hwp, 0x22, 0x00, 0x1F); /* 128/4 = overflow = 0 */
- break;
-+ /* PM800/PM880/CN400 */
- case VIA_PM800:
- hwp->writeSeq(hwp, 0x17, 0x5F); /* 95 */
- ViaSeqMask(hwp, 0x16, 0x20, 0xBF); /* 32 */
-@@ -204,9 +205,10 @@
- else
- ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 31 */
- break;
-+ /* P4M800Pro/VN800/CN700 */
- case VIA_VM800:
- hwp->writeSeq(hwp, 0x17, 0x2F);
-- ViaSeqMask(hwp, 0x16, 0x14, 0xBF);
-+ ViaSeqMask(hwp, 0x16, 0x14, 0xBF); /* 80/4 = 20 = 0x14 */
- ViaSeqMask(hwp, 0x18, 0x08, 0xBF);
-
- if ((mode->HDisplay >= 1400) && (pScrn->bitsPerPixel == 32))
-@@ -215,40 +217,60 @@
- ViaSeqMask(hwp, 0x22, 0x00, 0x1F);
- break;
- case VIA_K8M890:
-- hwp->writeSeq(hwp, 0x16, 0x92);
-- hwp->writeSeq(hwp, 0x17, 0xB3);
-- hwp->writeSeq(hwp, 0x18, 0x8A);
-+ /* depth location: {SR17,0,7} */
-+ hwp->writeSeq(hwp, 0x17, 0xB3); /* 360/2-1 = 179 = 0xB3 */
-+ /* Formula (x & 0x3F) | ((x & 0x40) << 1) */
-+ /* threshold location: {SR16,0,5},{SR16,7,7} */
-+ ViaSeqMask(hwp, 0x16, 0x92, 0xBF); /* 328/4 = 82 = 0x52 */
-+ /* high threshold location: {SR18,0,5},{SR18,7,7} */
-+ ViaSeqMask(hwp, 0x18, 0x8A, 0xBF); /* 296/4 = 74 = 0x4A */
-+ /* display queue expire num location: {SR22,0,4}. */
-+ ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 124/4 = 31 = 0x1F */
- break;
- case VIA_P4M900:
-- ViaSeqMask(hwp, 0x17, 0x2F, 0xFF);
-- ViaSeqMask(hwp, 0x16, 0x13, 0x3F);
-- ViaSeqMask(hwp, 0x16, 0x00, 0x80);
-- ViaSeqMask(hwp, 0x18, 0x13, 0x3F);
-- ViaSeqMask(hwp, 0x18, 0x00, 0x80);
-+ /* location: {SR17,0,7} */
-+ hwp->writeSeq(hwp, 0x17, 0x2F); /* 96/2-1 = 47 = 0x2F */
-+ /* location: {SR16,0,5},{SR16,7,7} */
-+ ViaSeqMask(hwp, 0x16, 0x13, 0xBF); /* 76/4 = 19 = 0x13 */
-+ /* location: {SR18,0,5},{SR18,7,7} */
-+ ViaSeqMask(hwp, 0x18, 0x13, 0xBF); /* 76/4 = 19 = 0x13 */
-+ /* location: {SR22,0,4}. */
-+ ViaSeqMask(hwp, 0x22, 0x08, 0x1F); /* 32/4 = 8 = 0x08 */
- break;
- case VIA_P4M890:
-- hwp->writeSeq(hwp, 0x16, 0x13);
-- hwp->writeSeq(hwp, 0x17, 0x2F);
-- hwp->writeSeq(hwp, 0x18, 0x53);
-- hwp->writeSeq(hwp, 0x22, 0x10);
-+ hwp->writeSeq(hwp, 0x17, 0x2F); /* 96/2-1 = 47 = 0x2F */
-+ ViaSeqMask(hwp, 0x16, 0x13, 0xBF); /* 76/4 = 19 = 0x13 */
-+ ViaSeqMask(hwp, 0x18, 0x10, 0xBF); /* 64/4 = 16 = 0x10 */
-+ ViaSeqMask(hwp, 0x22, 0x08, 0x1F); /* 32/4 = 8 = 0x08 */
- break;
- case VIA_CX700:
-- hwp->writeSeq(hwp, 0x16, 0x26);
- hwp->writeSeq(hwp, 0x17, 0x5F);
-- hwp->writeSeq(hwp, 0x18, 0x66);
-- hwp->writeSeq(hwp, 0x22, 0x1F);
-+ ViaSeqMask(hwp, 0x16, 0x20, 0xBF); /* 128/4 = 32 = 0x20 */
-+ ViaSeqMask(hwp, 0x18, 0x20, 0xBF); /* 128/4 = 32 = 0x20 */
-+ ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 124/4 = 31 = 0x1F */
- break;
- case VIA_VX800:
-- hwp->writeSeq(hwp, 0x16, 0x26); /* 152/4 = 38 */
-- hwp->writeSeq(hwp, 0x17, 0x5F); /* 192/2-1 = 95 */
-+ hwp->writeSeq(hwp, 0x17, 0x5F); /* 192/2-1 = 95 = 0x5F */
-+ hwp->writeSeq(hwp, 0x16, 0x26); /* 152/4 = 38 = 0x26 */
- hwp->writeSeq(hwp, 0x18, 0x26); /* 152/4 = 38 */
- hwp->writeSeq(hwp, 0x22, 0x10); /* 64/4 = 16 */
- break;
- case VIA_VX855:
-- hwp->writeSeq(hwp, 0x16, 0x50); /* 320/4 = 80 */
-- hwp->writeSeq(hwp, 0x17, 0xC7); /* 400/2-1 = 199 */
-- hwp->writeSeq(hwp, 0x18, 0x50); /* 320/4 = 80 */
-- hwp->writeSeq(hwp, 0x22, 0x28); /* 160/4 = 40 */
-+ hwp->writeSeq(hwp, 0x17, 0xC7); /* 400/2-1 = 199 = 0xC7 */
-+ /* Formula for {SR16,0,5},{SR16,7,7} is: (0x50 & 0x3F) | ((0x50 & 0x40) << 1) = 0x90 */
-+ hwp->writeSeq(hwp, 0x16, 0x90); /* 320/4 = 80 = 0x50 */
-+ /* Formula for {SR18,0,5},{SR18,7,7} is: (0x50 & 0x3F) | ((0x50 & 0x40) << 1) = 0x90 */
-+ hwp->writeSeq(hwp, 0x18, 0x90); /* 320/4 = 80 = 0x50 */
-+ hwp->writeSeq(hwp, 0x22, 0x28); /* 160/4 = 40 = 0x28 */
-+ break;
-+ case VIA_VX900:
-+ hwp->writeSeq(hwp, 0x17, 0xC7); /* 400/2-1 = 199 = 0xC7 */
-+ /* Formula for {SR16,0,5},{SR16,7,7} is: (0x50 & 0x3F) | ((0x50 & 0x40) << 1) = 0x90 */
-+ hwp->writeSeq(hwp, 0x16, 0x90); /* 320/4 = 80 = 0x50 */
-+ /* Formula for {SR18,0,5},{SR18,7,7} is: (0x50 & 0x3F) | ((0x50 & 0x40) << 1) = 0x90 */
-+ hwp->writeSeq(hwp, 0x18, 0x90); /* 320/4 = 80 = 0x50 */
-+ hwp->writeSeq(hwp, 0x22, 0x28); /* 160/4 = 40 = 0x28 */
-+ break;
- default:
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "ViaSetPrimaryFIFO: "
- "Chipset %d not implemented\n", pVia->Chipset);
-@@ -371,7 +393,38 @@
- ViaCrtcMask(hwp, 0x94, 0x20, 0x7F);
- break;
- case VIA_P4M890:
-+ /* depth location: {CR68,4,7},{CR94,7,7},{CR95,7,7} */
-+ ViaCrtcMask(hwp, 0x68, 0xB0, 0xF0); /* 96/8-1 = 11 = 0x0B */
-+ ViaCrtcMask(hwp, 0x94, 0x00, 0x80);
-+ ViaCrtcMask(hwp, 0x95, 0x00, 0x80);
-+
-+ /* location: {CR68,0,3},{CR95,4,6} */
-+ ViaCrtcMask(hwp, 0x68, 0x03, 0x0F); /* 76/4 = 19 = 0x13 */
-+ ViaCrtcMask(hwp, 0x95, 0x10, 0x70);
-+
-+ /* location: {CR92,0,3},{CR95,0,2} */
-+ ViaCrtcMask(hwp, 0x92, 0x00, 0x0F); /* 64/4 = 16 = 0x10 */
-+ ViaCrtcMask(hwp, 0x95, 0x01, 0x07);
-+
-+ /* location: {CR94,0,6} */
-+ ViaCrtcMask(hwp, 0x94, 0x08, 0x7F); /* 32/4 = 8 = 0x08 */
-+ break;
- case VIA_K8M890:
-+ /* Display Queue Depth, location: {CR68,4,7},{CR94,7,7},{CR95,7,7} */
-+ ViaCrtcMask(hwp, 0x68, 0xC0, 0xF0); /* 360/8-1 = 44 = 0x2C; 0x2C << 4 = 0xC0 */
-+ ViaCrtcMask(hwp, 0x94, 0x00, 0x80); /* 0x2C << 3 = 0x00 */
-+ ViaCrtcMask(hwp, 0x95, 0x80, 0x80); /* 0x2C << 2 = 0x80 */
-+
-+ /* Display Queue Read Threshold 1, location: {CR68,0,3},{CR95,4,6} */
-+ ViaCrtcMask(hwp, 0x68, 0x02, 0x0F); /* 328/4 = 82 = 0x52 */
-+ ViaCrtcMask(hwp, 0x95, 0x50, 0x70);
-+
-+ /* location: {CR92,0,3},{CR95,0,2} */
-+ ViaCrtcMask(hwp, 0x92, 0x0A, 0x0F); /* 296/4 = 74 = 0x4A */
-+ ViaCrtcMask(hwp, 0x95, 0x04, 0x07); /* 0x4A >> 4 = 0x04 */
-+
-+ /* Display Expire Number Bits, location: {CR94,0,6} */
-+ ViaCrtcMask(hwp, 0x94, 0x1F, 0x7F); /* 124/4 = 31 = 0x1F */
- break;
- case VIA_P4M900:
- ViaCrtcMask(hwp, 0x68, 0xB0, 0xF0);
-@@ -402,8 +455,8 @@
- break;
- case VIA_VX800:
- /* {CR68,4,7},{CR94,7,7},{CR95,7,7} : 96/8-1 = 0x0B */
-- ViaCrtcMask(hwp, 0x68, 0xA0, 0xF0);
-- ViaCrtcMask(hwp, 0x94, 0x00, 0x80);
-+ ViaCrtcMask(hwp, 0x68, 0xB0, 0xF0); /* ((0x0B & 0x0F) << 4)) = 0xB0 */
-+ ViaCrtcMask(hwp, 0x94, 0x00, 0x80); /* ((0x0B & 0x10) << 3)) = 0x00 */
- ViaCrtcMask(hwp, 0x95, 0x00, 0x80);
- /* {CR68,0,3},{CR95,4,6} : 64/4 = 0x10 */
- ViaCrtcMask(hwp, 0x68, 0x04, 0x0F);
-@@ -418,7 +471,39 @@
- ViaCrtcMask(hwp, 0x94, 0x20, 0x7F);
- break;
- case VIA_VX855:
-+ /* {CR68,4,7},{CR94,7,7},{CR95,7,7} : 200/8-1 = 24 = 0x18 */
-+ ViaCrtcMask(hwp, 0x68, 0x80, 0xF0); /* ((0x18 & 0x0F) << 4)) = 0x80 */
-+ ViaCrtcMask(hwp, 0x94, 0x80, 0x80); /* ((0x18 & 0x10) << 3)) = 0x80 */
-+ ViaCrtcMask(hwp, 0x95, 0x00, 0x80); /* ((0x18 & 0x20) << 2)) = 0x00 */
-+ /* {CR68,0,3},{CR95,4,6} : 160/4 = 0x28 */
-+ ViaCrtcMask(hwp, 0x68, 0x08, 0x0F); /* (0x28 & 0x0F) = 0x08 */
-+ ViaCrtcMask(hwp, 0x95, 0x20, 0x70); /* (0x28 & 0x70) = 0x20 */
-+ /* {CR92,0,3},{CR95,0,2} : 160/4 = 0x28 */
-+ ViaCrtcMask(hwp, 0x92, 0x08, 0x08); /* (0x28 & 0x0F) = 0x08 */
-+ ViaCrtcMask(hwp, 0x95, 0x02, 0x07); /* ((0x28 & 0x70) >> 4)) = 0x02 */
-+ /* {CR94,0,6} : 320/4 = 0x50 */
-+ if ((mode->HDisplay >= 1400) && (pScrn->bitsPerPixel == 32))
-+ ViaCrtcMask(hwp, 0x94, 0x08, 0x7F);
-+ else
-+ ViaCrtcMask(hwp, 0x94, 0x08, 0x7F);
- break;
-+ case VIA_VX900:
-+ /* {CR68,4,7},{CR94,7,7},{CR95,7,7} : 192/8-1 = 23 = 0x17 */
-+ ViaCrtcMask(hwp, 0x68, 0x70, 0xF0); /* ((0x17 & 0x0F) << 4)) = 0x70 */
-+ ViaCrtcMask(hwp, 0x94, 0x80, 0x80); /* ((0x17 & 0x10) << 3)) = 0x80 */
-+ ViaCrtcMask(hwp, 0x95, 0x00, 0x80); /* ((0x17 & 0x20) << 2)) = 0x00 */
-+ /* {CR68,0,3},{CR95,4,6} : 160/4 = 0x28 */
-+ ViaCrtcMask(hwp, 0x68, 0x08, 0x0F); /* (0x28 & 0x0F) = 0x08 */
-+ ViaCrtcMask(hwp, 0x95, 0x20, 0x70); /* (0x28 & 0x70) = 0x20 */
-+ /* {CR92,0,3},{CR95,0,2} : 160/4 = 0x28 */
-+ ViaCrtcMask(hwp, 0x92, 0x08, 0x08); /* (0x28 & 0x0F) = 0x08 */
-+ ViaCrtcMask(hwp, 0x95, 0x02, 0x07); /* ((0x28 & 0x70) >> 4)) = 0x2 */
-+ /* {CR94,0,6} : 320/4 = 0x50 */
-+ if ((mode->HDisplay >= 1400) && (pScrn->bitsPerPixel == 32))
-+ ViaCrtcMask(hwp, 0x94, 0x08, 0x7F);
-+ else
-+ ViaCrtcMask(hwp, 0x94, 0x08, 0x7F);
-+ break;
- default:
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "ViaSetSecondaryFIFO: "
- "Chipset %d not implemented\n", pVia->Chipset);
-Index: src/via_accel.c
-===================================================================
---- src/via_accel.c (revision 811)
-+++ src/via_accel.c (working copy)
-@@ -196,6 +196,7 @@
- switch (pVia->Chipset) {
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- while ((VIAGETREG(VIA_REG_STATUS) &
- (VIA_CMD_RGTR_BUSY_H5 | VIA_2D_ENG_BUSY_H5))
- && (loop++ < MAXLOOP)) ;
-@@ -287,7 +288,7 @@
-
- buf->pScrn = pScrn;
- buf->bufSize = ((size == 0) ? VIA_DMASIZE : size) >> 2;
-- buf->buf = (CARD32 *) xcalloc(buf->bufSize, sizeof(CARD32));
-+ buf->buf = (CARD32 *) calloc(buf->bufSize, sizeof(CARD32));
- if (!buf->buf)
- return BadAlloc;
- buf->waitFlags = 0;
-@@ -312,7 +313,7 @@
- viaTearDownCBuffer(ViaCommandBuffer * buf)
- {
- if (buf && buf->buf)
-- xfree(buf->buf);
-+ free(buf->buf);
- buf->buf = NULL;
- }
-
-@@ -417,6 +418,9 @@
- switch (pVia->Chipset) {
- case VIA_K8M890:
- case VIA_P4M900:
-+ case VIA_VX800:
-+ case VIA_VX855:
-+ case VIA_VX900:
- VIASETREG(0x41c, 0x00100000);
- VIASETREG(0x420, 0x74301000);
- break;
-@@ -472,16 +476,25 @@
- VIASETREG(i, 0x0);
- }
-
-- if (pVia->Chipset == VIA_VX800 || pVia->Chipset == VIA_VX855) {
-- for (i = 0x44; i < 0x5c; i += 4) {
-+ if (pVia->Chipset == VIA_VX800 ||
-+ pVia->Chipset == VIA_VX855 ||
-+ pVia->Chipset == VIA_VX900) {
-+ for (i = 0x44; i <= 0x5c; i += 4) {
- VIASETREG(i, 0x0);
- }
- }
-
-+ if (pVia->Chipset == VIA_VX900)
-+ {
-+ /*410 redefine 0x30 34 38*/
-+ VIASETREG(0x60, 0x0); /*already useable here*/
-+ }
-+
- /* Make the VIA_REG() macro magic work */
- switch (pVia->Chipset) {
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- pVia->TwodRegs = via_2d_regs_m1;
- break;
- default:
-@@ -492,6 +505,9 @@
- switch (pVia->Chipset) {
- case VIA_K8M890:
- case VIA_P4M900:
-+ case VIA_VX800:
-+ case VIA_VX855:
-+ case VIA_VX900:
- viaInitPCIe(pVia);
- break;
- default:
-@@ -503,6 +519,9 @@
- switch (pVia->Chipset) {
- case VIA_K8M890:
- case VIA_P4M900:
-+ case VIA_VX800:
-+ case VIA_VX855:
-+ case VIA_VX900:
- viaEnablePCIeVQ(pVia);
- break;
- default:
-@@ -530,6 +549,7 @@
- switch (pVia->Chipset) {
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- while ((VIAGETREG(VIA_REG_STATUS) &
- (VIA_CMD_RGTR_BUSY_H5 | VIA_2D_ENG_BUSY_H5 | VIA_3D_ENG_BUSY_H5))
- && (loop++ < MAXLOOP)) ;
-@@ -582,7 +602,7 @@
-
- /*
- * This is a small helper to wrap around a PITCH register write
-- * to deal with the sublte differences of M1 and old 2D engine
-+ * to deal with the subtle differences of M1 and old 2D engine
- */
- static void
- viaPitchHelper(VIAPtr pVia, unsigned dstPitch, unsigned srcPitch)
-@@ -590,7 +610,9 @@
- unsigned val = (dstPitch >> 3) << 16 | (srcPitch >> 3);
- RING_VARS;
-
-- if (pVia->Chipset != VIA_VX800 && pVia->Chipset != VIA_VX855) {
-+ if (pVia->Chipset != VIA_VX800 &&
-+ pVia->Chipset != VIA_VX855 &&
-+ pVia->Chipset != VIA_VX900) {
- val |= VIA_PITCH_ENABLE;
- }
- OUT_RING_H1(VIA_REG(pVia, PITCH), val);
-@@ -759,6 +781,7 @@
- tdc->cmd = cmd;
- viaAccelTransparentHelper(pVia, (trans_color != -1) ? 0x4000 : 0x0000,
- trans_color, FALSE);
-+ ADVANCE_RING;
- }
-
- static void
-@@ -796,6 +819,7 @@
- tdc->cmd = VIA_GEC_BLT | VIA_GEC_FIXCOLOR_PAT | VIAACCELPATTERNROP(rop);
- tdc->fgColor = color;
- viaAccelTransparentHelper(pVia, 0x00, 0x00, FALSE);
-+ ADVANCE_RING;
- }
-
- static void
-@@ -852,6 +876,7 @@
- tdc->pattern0 = pattern0;
- tdc->pattern1 = pattern1;
- viaAccelTransparentHelper(pVia, 0x00, 0x00, FALSE);
-+ ADVANCE_RING;
- }
-
- static void
-@@ -901,6 +926,7 @@
- tdc->patternAddr = (patternx * pVia->Bpp + patterny * pVia->Bpl);
- viaAccelTransparentHelper(pVia, (trans_color != -1) ? 0x4000 : 0x0000,
- trans_color, FALSE);
-+ ADVANCE_RING;
- }
-
- static void
-@@ -962,9 +988,9 @@
- tdc->fgColor = fg;
- tdc->bgColor = bg;
-
-+ viaAccelTransparentHelper(pVia, 0x0, 0x0, FALSE);
-+
- ADVANCE_RING;
--
-- viaAccelTransparentHelper(pVia, 0x0, 0x0, FALSE);
- }
-
- static void
-@@ -991,7 +1017,7 @@
- pScrn->fbOffset + sub * pVia->Bpl, tdc->mode,
- pVia->Bpl, pVia->Bpl, tdc->cmd);
-
-- viaFlushPCI(cb);
-+ ADVANCE_RING;
- viaDisableClipping(pScrn);
- }
-
-@@ -1005,9 +1031,9 @@
- RING_VARS;
-
- tdc->cmd = VIA_GEC_BLT | VIA_GEC_SRC_SYS | VIAACCELCOPYROP(rop);
-- ADVANCE_RING;
- viaAccelTransparentHelper(pVia, (trans_color != -1) ? 0x4000 : 0x0000,
- trans_color, FALSE);
-+ ADVANCE_RING;
- }
-
- static void
-@@ -1030,7 +1056,7 @@
- pScrn->fbOffset + pVia->Bpl * sub, tdc->mode,
- pVia->Bpl, pVia->Bpl, tdc->cmd);
-
-- viaFlushPCI(cb);
-+ ADVANCE_RING;
- viaDisableClipping(pScrn);
- }
-
-@@ -1052,6 +1078,7 @@
- OUT_RING_H1(VIA_REG(pVia, GEMODE), tdc->mode);
- OUT_RING_H1(VIA_REG(pVia, MONOPAT0), 0xFF);
- OUT_RING_H1(VIA_REG(pVia, MONOPATFGC), tdc->fgColor);
-+ ADVANCE_RING;
- }
-
- static void
-@@ -1189,6 +1216,7 @@
- OUT_RING_H1(VIA_REG(pVia, MONOPATFGC), tdc->fgColor);
- OUT_RING_H1(VIA_REG(pVia, MONOPATBGC), tdc->bgColor);
- OUT_RING_H1(VIA_REG(pVia, MONOPAT0), tdc->pattern0);
-+ ADVANCE_RING;
- }
-
- static void
-@@ -1210,7 +1238,8 @@
-
- /* General acceleration flags. */
- xaaptr->Flags = (PIXMAP_CACHE |
-- OFFSCREEN_PIXMAPS | LINEAR_FRAMEBUFFER |
-+ OFFSCREEN_PIXMAPS |
-+ LINEAR_FRAMEBUFFER |
- MICROSOFT_ZERO_LINE_BIAS | 0);
-
- if (pScrn->bitsPerPixel == 8)
-@@ -1218,24 +1247,31 @@
-
- xaaptr->SetClippingRectangle = viaSetClippingRectangle;
- xaaptr->DisableClipping = viaDisableClipping;
-- xaaptr->ClippingFlags = (HARDWARE_CLIP_SOLID_FILL |
-- HARDWARE_CLIP_SOLID_LINE |
-- HARDWARE_CLIP_DASHED_LINE |
-- HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY |
-+ xaaptr->ClippingFlags = (HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY |
- HARDWARE_CLIP_MONO_8x8_FILL |
- HARDWARE_CLIP_COLOR_8x8_FILL |
- HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND | 0);
-
-+ if (pVia->Chipset != VIA_VX800 &&
-+ pVia->Chipset != VIA_VX855 &&
-+ pVia->Chipset != VIA_VX900)
-+ xaaptr->ClippingFlags |= (HARDWARE_CLIP_SOLID_FILL |
-+ HARDWARE_CLIP_SOLID_LINE |
-+ HARDWARE_CLIP_DASHED_LINE);
-+
- xaaptr->Sync = viaAccelSync;
-
-+ /* ScreenToScreen copies */
- xaaptr->SetupForScreenToScreenCopy = viaSetupForScreenToScreenCopy;
- xaaptr->SubsequentScreenToScreenCopy = viaSubsequentScreenToScreenCopy;
- xaaptr->ScreenToScreenCopyFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
-
-+ /* Solid filled rectangles */
- xaaptr->SetupForSolidFill = viaSetupForSolidFill;
- xaaptr->SubsequentSolidFillRect = viaSubsequentSolidFillRect;
- xaaptr->SolidFillFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
-
-+ /* Mono 8x8 pattern fills */
- xaaptr->SetupForMono8x8PatternFill = viaSetupForMono8x8PatternFill;
- xaaptr->SubsequentMono8x8PatternFillRect =
- viaSubsequentMono8x8PatternFillRect;
-@@ -1244,6 +1280,7 @@
- HARDWARE_PATTERN_PROGRAMMED_ORIGIN |
- BIT_ORDER_IN_BYTE_MSBFIRST | 0);
-
-+ /* Color 8x8 pattern fills */
- xaaptr->SetupForColor8x8PatternFill = viaSetupForColor8x8PatternFill;
- xaaptr->SubsequentColor8x8PatternFillRect =
- viaSubsequentColor8x8PatternFillRect;
-@@ -1252,12 +1289,14 @@
- HARDWARE_PATTERN_PROGRAMMED_BITS |
- HARDWARE_PATTERN_PROGRAMMED_ORIGIN | 0);
-
-+ /* Solid lines */
- xaaptr->SetupForSolidLine = viaSetupForSolidLine;
- xaaptr->SubsequentSolidTwoPointLine = viaSubsequentSolidTwoPointLine;
- xaaptr->SubsequentSolidHorVertLine = viaSubsequentSolidHorVertLine;
- xaaptr->SolidBresenhamLineErrorTermBits = 14;
- xaaptr->SolidLineFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
-
-+ /* Dashed line */
- xaaptr->SetupForDashedLine = viaSetupForDashedLine;
- xaaptr->SubsequentDashedTwoPointLine = viaSubsequentDashedTwoPointLine;
- xaaptr->DashPatternMaxLength = 8;
-@@ -1266,49 +1305,50 @@
- LINE_PATTERN_POWER_OF_2_ONLY |
- LINE_PATTERN_MSBFIRST_LSBJUSTIFIED | 0);
-
-+ /* CPU to Screen color expansion */
- xaaptr->ScanlineCPUToScreenColorExpandFillFlags = NO_PLANEMASK |
-- CPU_TRANSFER_PAD_DWORD |
-- SCANLINE_PAD_DWORD |
-- BIT_ORDER_IN_BYTE_MSBFIRST |
-- LEFT_EDGE_CLIPPING | ROP_NEEDS_SOURCE | 0;
-+ CPU_TRANSFER_PAD_DWORD |
-+ SCANLINE_PAD_DWORD |
-+ BIT_ORDER_IN_BYTE_MSBFIRST |
-+ LEFT_EDGE_CLIPPING |
-+ ROP_NEEDS_SOURCE | 0;
-
- xaaptr->SetupForScanlineCPUToScreenColorExpandFill =
- viaSetupForCPUToScreenColorExpandFill;
- xaaptr->SubsequentScanlineCPUToScreenColorExpandFill =
- viaSubsequentScanlineCPUToScreenColorExpandFill;
- xaaptr->ColorExpandBase = pVia->BltBase;
-- xaaptr->ColorExpandRange = VIA_MMIO_BLTSIZE;
-+ if (pVia->Chipset == VIA_VX800 ||
-+ pVia->Chipset == VIA_VX855 ||
-+ pVia->Chipset == VIA_VX900)
-+ xaaptr->ColorExpandRange = VIA_MMIO_BLTSIZE;
-+ else
-+ xaaptr->ColorExpandRange = (64 * 1024);
-
-+ /* ImageWrite */
- xaaptr->ImageWriteFlags = (NO_PLANEMASK |
- CPU_TRANSFER_PAD_DWORD |
- SCANLINE_PAD_DWORD |
- BIT_ORDER_IN_BYTE_MSBFIRST |
-- LEFT_EDGE_CLIPPING | ROP_NEEDS_SOURCE | 0);
-- // SYNC_AFTER_IMAGE_WRITE | 0);
-+ LEFT_EDGE_CLIPPING |
-+ ROP_NEEDS_SOURCE |
-+ NO_GXCOPY | 0);
-
- /*
- * Most Unichromes are much faster using processor-to-framebuffer writes
- * than when using the 2D engine for this.
-- * test with x11perf -shmput500!
-+ * test with "x11perf -shmput500"
-+ * Example: K8M890 chipset; with GPU=86.3/sec; without GPU=132.0/sec
-+ * TODO Check speed for other chipsets
- */
-
-- switch (pVia->Chipset) {
-- case VIA_K8M800:
-- case VIA_K8M890:
-- case VIA_P4M900:
-- case VIA_VX800:
-- case VIA_VX855:
-- break;
-- default:
-- xaaptr->ImageWriteFlags |= NO_GXCOPY;
-- break;
-- }
--
- xaaptr->SetupForImageWrite = viaSetupForImageWrite;
- xaaptr->SubsequentImageWriteRect = viaSubsequentImageWriteRect;
- xaaptr->ImageWriteBase = pVia->BltBase;
-
-- if (pVia->Chipset == VIA_VX800 || pVia->Chipset == VIA_VX855)
-+ if (pVia->Chipset == VIA_VX800 ||
-+ pVia->Chipset == VIA_VX855 ||
-+ pVia->Chipset == VIA_VX900)
- xaaptr->ImageWriteRange = VIA_MMIO_BLTSIZE;
- else
- xaaptr->ImageWriteRange = (64 * 1024);
-@@ -2344,7 +2384,7 @@
- }
-
- if (!exaDriverInit(pScreen, pExa)) {
-- xfree(pExa);
-+ free(pExa);
- return NULL;
- }
-
-@@ -2354,7 +2394,7 @@
-
-
- /*
-- * Acceleration initializatuon function. Sets up offscreen memory disposition,
-+ * Acceleration initialization function. Sets up offscreen memory disposition,
- * and initializes engines and acceleration method.
- */
- Bool
-@@ -2542,7 +2582,7 @@
- }
- }
- if (pVia->dBounce)
-- xfree(pVia->dBounce);
-+ free(pVia->dBounce);
- #endif /* XF86DRI */
- if (pVia->scratchAddr) {
- exaOffscreenFree(pScreen, pVia->scratchFBBuffer);
-@@ -2551,7 +2591,7 @@
- if (pVia->exaDriverPtr) {
- exaDriverFini(pScreen);
- }
-- xfree(pVia->exaDriverPtr);
-+ free(pVia->exaDriverPtr);
- pVia->exaDriverPtr = NULL;
- return;
- }
-@@ -2577,7 +2617,7 @@
-
- if (pVia->directRenderingEnabled && pVia->useEXA) {
-
-- pVia->dBounce = xcalloc(VIA_DMA_DL_SIZE * 2, 1);
-+ pVia->dBounce = calloc(VIA_DMA_DL_SIZE * 2, 1);
-
- if (!pVia->IsPCI) {
-
-Index: src/via_vt162x.c
-===================================================================
---- src/via_vt162x.c (revision 811)
-+++ src/via_vt162x.c (working copy)
-@@ -41,30 +41,42 @@
- VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
- vgaHWPtr hwp = VGAHWPTR(pScrn);
-
-- /* External TV: */
-- switch(pVia->Chipset) {
-- case VIA_CX700:
-- case VIA_VX800:
-- if (pBIOSInfo->FirstCRTC->IsActive) {
-- if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP1)
-- ViaCrtcMask(hwp, 0x6C, 0xB0, 0xF0);
-- else if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP0)
-- ViaCrtcMask(hwp, 0x6C, 0x90, 0xF0);
-- } else {
-- /* IGA2 */
-- if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP1)
-- ViaCrtcMask(hwp, 0x6C, 0x0B, 0x0F);
-- else if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP0)
-- ViaCrtcMask(hwp, 0x6C, 0x09, 0x0F);
-+ switch(pBIOSInfo->TVEncoder) {
-+ case VIA_VT1625:
-+ /* External TV: */
-+ switch(pVia->Chipset) {
-+ case VIA_CX700:
-+ case VIA_VX800:
-+ case VIA_VX855:
-+ if (pBIOSInfo->FirstCRTC->IsActive) {
-+ if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP1)
-+ ViaCrtcMask(hwp, 0x6C, 0xB0, 0xF0);
-+ else if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP0)
-+ ViaCrtcMask(hwp, 0x6C, 0x90, 0xF0);
-+ } else {
-+ /* IGA2 */
-+ if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP1)
-+ ViaCrtcMask(hwp, 0x6C, 0x0B, 0x0F);
-+ else if(pBIOSInfo->TVDIPort == VIA_DI_PORT_DVP0)
-+ ViaCrtcMask(hwp, 0x6C, 0x09, 0x0F);
-+ }
-+ break;
-+ default:
-+ if (pBIOSInfo->FirstCRTC->IsActive)
-+ ViaCrtcMask(hwp, 0x6C, 0x21, 0x21);
-+ else
-+ ViaCrtcMask(hwp, 0x6C, 0xA1, 0xA1);
-+ break;
- }
- break;
- default:
- if (pBIOSInfo->FirstCRTC->IsActive)
-- ViaCrtcMask(hwp, 0x6C, 0x21, 0x21);
-+ ViaCrtcMask(hwp, 0x6C, 0x50, 0xF0);
- else
-- ViaCrtcMask(hwp, 0x6C, 0xA1, 0xA1);
-+ ViaCrtcMask(hwp, 0x6C, 0x05, 0x0F);
- break;
- }
-+
- }
-
- static void
-Index: src/via_vbe.c
-===================================================================
---- src/via_vbe.c (revision 811)
-+++ src/via_vbe.c (working copy)
-@@ -230,7 +230,7 @@
- /* Some cards do not like setting the clock. */
- xf86ErrorF("...but worked OK without customized "
- "refresh and dotclock.\n");
-- xfree(data->block);
-+ free(data->block);
- data->block = NULL;
- data->mode &= ~(1 << 11);
- } else {
-@@ -322,7 +322,7 @@
- && (function == MODE_SAVE)) {
- /* Do not rely on the memory not being touched. */
- if (pVia->vbeMode.pstate == NULL)
-- pVia->vbeMode.pstate = xalloc(pVia->vbeMode.stateSize);
-+ pVia->vbeMode.pstate = malloc(pVia->vbeMode.stateSize);
- memcpy(pVia->vbeMode.pstate, pVia->vbeMode.state,
- pVia->vbeMode.stateSize);
- }
-Index: src/via_xvmc.c
-===================================================================
---- src/via_xvmc.c (revision 811)
-+++ src/via_xvmc.c (working copy)
-@@ -151,7 +151,7 @@
- for (i = 0; i < VIA_XVMC_MAX_CONTEXTS; ++i) {
- vXvMC->contexts[i] = 0;
- if (vXvMC->cPrivs[i]) {
-- xfree(vXvMC->cPrivs[i]);
-+ free(vXvMC->cPrivs[i]);
- vXvMC->cPrivs[i] = 0;
- }
- }
-@@ -159,7 +159,7 @@
- for (i = 0; i < VIA_XVMC_MAX_SURFACES; ++i) {
- vXvMC->surfaces[i] = 0;
- if (vXvMC->sPrivs[i]) {
-- xfree(vXvMC->sPrivs[i]);
-+ free(vXvMC->sPrivs[i]);
- vXvMC->sPrivs[i] = 0;
- }
- }
-@@ -270,7 +270,7 @@
- /*
- * Filling in the device dependent adaptor record.
- * This is named "VIA Video Overlay" because this code falls under the
-- * XV extenstion, the name must match or it won't be used.
-+ * XV extension, the name must match or it won't be used.
- *
- * For surface and subpicture, see above.
- * The function pointers point to functions below.
-@@ -325,10 +325,11 @@
-
- if ((pVia->Chipset == VIA_KM400) ||
- (pVia->Chipset == VIA_CX700) ||
-+ (pVia->Chipset == VIA_K8M890) ||
-+ (pVia->Chipset == VIA_P4M900) ||
- (pVia->Chipset == VIA_VX800) ||
- (pVia->Chipset == VIA_VX855) ||
-- (pVia->Chipset == VIA_K8M890) ||
-- (pVia->Chipset == VIA_P4M900)) {
-+ (pVia->Chipset == VIA_VX900)) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "[XvMC] XvMC is not supported on this chipset.\n");
- return;
-@@ -424,7 +425,7 @@
- viaPortPrivPtr pPriv = XvAdaptors[i]->pPortPrivates[j].ptr;
-
- if (pPriv->xvmc_priv)
-- xfree(pPriv->xvmc_priv);
-+ free(pPriv->xvmc_priv);
- }
- }
- pVia->XvMCEnabled = 0;
-@@ -460,7 +461,7 @@
- return BadAlloc;
- }
-
-- *priv = xcalloc(1, sizeof(ViaXvMCCreateContextRec));
-+ *priv = calloc(1, sizeof(ViaXvMCCreateContextRec));
- contextRec = (ViaXvMCCreateContextRec *) * priv;
-
- if (!*priv) {
-@@ -475,12 +476,12 @@
- break;
- }
-
-- cPriv = (ViaXvMCContextPriv *) xcalloc(1, sizeof(ViaXvMCContextPriv));
-+ cPriv = (ViaXvMCContextPriv *) calloc(1, sizeof(ViaXvMCContextPriv));
-
- if (!cPriv) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "[XvMC] ViaXvMCCreateContext: Unable to allocate memory!\n");
-- xfree(*priv);
-+ free(*priv);
- *num_priv = 0;
- return BadAlloc;
- }
-@@ -532,7 +533,7 @@
- return BadAlloc;
- }
-
-- sPriv = (ViaXvMCSurfacePriv *) xcalloc(1, sizeof(ViaXvMCSurfacePriv));
-+ sPriv = (ViaXvMCSurfacePriv *) calloc(1, sizeof(ViaXvMCSurfacePriv));
-
- if (!sPriv) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-@@ -566,13 +567,13 @@
- #endif
- *num_priv = numBuffers + 2;
-
-- *priv = (INT32 *) xcalloc(*num_priv, sizeof(INT32));
-+ *priv = (INT32 *) calloc(*num_priv, sizeof(INT32));
-
- if (!*priv) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "[XvMC] ViaXvMCCreateSurface: Unable to allocate memory!\n");
- *num_priv = 0;
-- xfree(sPriv);
-+ free(sPriv);
- return BadAlloc;
- }
-
-@@ -588,8 +589,8 @@
- sPriv->memory_ref.pool = 0;
- if (VIAAllocLinear(&(sPriv->memory_ref), pScrn,
- numBuffers * bufSize + 32)) {
-- xfree(*priv);
-- xfree(sPriv);
-+ free(*priv);
-+ free(sPriv);
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[XvMC] ViaXvMCCreateSurface: "
- "Unable to allocate frambuffer memory!\n");
- return BadAlloc;
-@@ -631,7 +632,7 @@
- return BadAlloc;
- }
-
-- sPriv = (ViaXvMCSurfacePriv *) xcalloc(1, sizeof(ViaXvMCSurfacePriv));
-+ sPriv = (ViaXvMCSurfacePriv *) calloc(1, sizeof(ViaXvMCSurfacePriv));
-
- if (!sPriv) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[XvMC] ViaXvMCCreateSubpicture:"
-@@ -640,13 +641,13 @@
- return BadAlloc;
- }
-
-- *priv = (INT32 *) xcalloc(3, sizeof(INT32));
-+ *priv = (INT32 *) calloc(3, sizeof(INT32));
-
- if (!*priv) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[XvMC] ViaXvMCCreateSubpicture:"
- " Unable to allocate memory!\n");
- *num_priv = 0;
-- xfree(sPriv);
-+ free(sPriv);
- return BadAlloc;
- }
-
-@@ -663,8 +664,8 @@
- bufSize = size_xx44(ctx->width, ctx->height);
- sPriv->memory_ref.pool = 0;
- if (VIAAllocLinear(&(sPriv->memory_ref), pScrn, 1 * bufSize + 32)) {
-- xfree(*priv);
-- xfree(sPriv);
-+ free(*priv);
-+ free(sPriv);
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[XvMC] ViaXvMCCreateSubpicture:"
- " Unable to allocate framebuffer memory!\n");
- return BadAlloc;
-@@ -701,7 +702,7 @@
- vx->ctxDisplaying = 0;
- }
-
-- xfree(vXvMC->cPrivs[i]);
-+ free(vXvMC->cPrivs[i]);
- vXvMC->cPrivs[i] = 0;
- vXvMC->nContexts--;
- vXvMC->contexts[i] = 0;
-@@ -736,7 +737,7 @@
- }
-
- VIAFreeLinear(&(vXvMC->sPrivs[i]->memory_ref));
-- xfree(vXvMC->sPrivs[i]);
-+ free(vXvMC->sPrivs[i]);
- vXvMC->nSurfaces--;
- vXvMC->sPrivs[i] = 0;
- vXvMC->surfaces[i] = 0;
-@@ -778,7 +779,7 @@
- }
-
- VIAFreeLinear(&(vXvMC->sPrivs[i]->memory_ref));
-- xfree(vXvMC->sPrivs[i]);
-+ free(vXvMC->sPrivs[i]);
- vXvMC->nSurfaces--;
- vXvMC->sPrivs[i] = 0;
- vXvMC->surfaces[i] = 0;
-@@ -828,7 +829,7 @@
- for (j = 0; j < XvAdapt->nPorts; ++j) {
- pPriv = (viaPortPrivPtr) XvAdapt->pPortPrivates[j].ptr;
-
-- if (NULL == (pPriv->xvmc_priv = xcalloc(1, sizeof(ViaXvMCXVPriv))))
-+ if (NULL == (pPriv->xvmc_priv = calloc(1, sizeof(ViaXvMCXVPriv))))
- return BadAlloc;
-
- for (i = 0; i < VIA_NUM_XVMC_ATTRIBUTES; ++i) {
-Index: src/via_cursor.c
-===================================================================
---- src/via_cursor.c (revision 811)
-+++ src/via_cursor.c (working copy)
-@@ -98,6 +98,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
- pVia->CursorRegControl = VIA_REG_HI_CONTROL0;
- pVia->CursorRegBase = VIA_REG_HI_BASE0;
-@@ -145,9 +146,12 @@
- infoPtr->ShowCursor = viaShowCursor;
- infoPtr->UseHWCursor = viaUseHWCursor;
-
-+ /* ARGB Cursor init */
- infoPtr->UseHWCursorARGB = viaUseHWCursorARGB;
-- if (pVia->CursorARGBSupported)
-+ if (pVia->CursorARGBSupported) {
-+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "HWCursor ARGB enabled\n"));
- infoPtr->LoadCursorARGB = viaLoadCursorARGB;
-+ }
-
- /* Set cursor location in frame buffer. */
- VIASETREG(VIA_REG_CURSOR_MODE, pVia->cursorOffset);
-@@ -166,6 +170,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
- VIASETREG(VIA_REG_PRIM_HI_INVTCOLOR, 0x00FFFFFF);
- VIASETREG(VIA_REG_V327_HI_INVTCOLOR, 0x00FFFFFF);
-@@ -225,6 +230,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
- pVia->CursorPrimHiInvtColor = VIAGETREG(VIA_REG_PRIM_HI_INVTCOLOR);
- pVia->CursorV327HiInvtColor = VIAGETREG(VIA_REG_V327_HI_INVTCOLOR);
-@@ -265,6 +271,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
- VIASETREG(VIA_REG_PRIM_HI_INVTCOLOR, pVia->CursorPrimHiInvtColor);
- VIASETREG(VIA_REG_V327_HI_INVTCOLOR, pVia->CursorV327HiInvtColor);
-@@ -284,7 +291,7 @@
- }
-
- /*
-- * ARGB Cursor
-+ * display the current cursor
- */
-
- void
-@@ -298,6 +305,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
- VIASETREG(VIA_REG_HI_CONTROL0, 0x36000005);
- }
-@@ -319,13 +327,19 @@
- */
-
- /* Duoview */
-- if (pVia->CursorPipe)
-+ if (pVia->CursorPipe) {
-+ /* Mono Cursor Display Path [bit31]: Secondary */
-+ /* FIXME For CLE266 and KM400 try to enable 32x32 cursor size [bit1] */
- VIASETREG(VIA_REG_ALPHA_CONTROL, 0xF6000005);
-- else
-+ } else {
-+ /* Mono Cursor Display Path [bit31]: Primary */
- VIASETREG(VIA_REG_ALPHA_CONTROL, 0x76000005);
-+ }
- }
- }
-
-+
-+/* hide the current cursor */
- void
- viaHideCursor(ScrnInfoPtr pScrn)
- {
-@@ -338,6 +352,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
- temp = VIAGETREG(VIA_REG_HI_CONTROL0);
- VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFA);
-@@ -350,10 +365,16 @@
-
- default:
- temp = VIAGETREG(VIA_REG_ALPHA_CONTROL);
-+ /* Hardware cursor disable [bit0] */
- VIASETREG(VIA_REG_ALPHA_CONTROL, temp & 0xFFFFFFFA);
- }
- }
-
-+/*
-+ Set the cursor position to (x,y). X and/or y may be negative
-+ indicating that the cursor image is partially offscreen on
-+ the left and/or top edges of the screen.
-+*/
- static void
- viaSetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
- {
-@@ -380,6 +401,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
- VIASETREG(VIA_REG_HI_POS0, ((x << 16) | (y & 0x07ff)));
- VIASETREG(VIA_REG_HI_OFFSET0, ((xoff << 16) | (yoff & 0x07ff)));
-@@ -409,6 +431,15 @@
- && pCurs->bits->height <= pVia->CursorMaxHeight);
- }
-
-+/*
-+ If the driver is unable to use a hardware cursor for reasons
-+ other than the cursor being larger than the maximum specified
-+ in the MaxWidth or MaxHeight field below, it can supply the
-+ UseHWCursor function. If UseHWCursor is provided by the driver,
-+ it will be called whenever the cursor shape changes or the video
-+ mode changes. This is useful for when the hardware cursor cannot
-+ be used in interlaced or doublescan modes.
-+*/
- static Bool
- viaUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
- {
-@@ -423,8 +454,11 @@
- && pCurs->bits->height <= pVia->CursorMaxHeight);
- }
-
-+/*
-+ Load Mono Cursor Image
-+*/
- static void
--viaLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *s)
-+viaLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src)
- {
- VIAPtr pVia = VIAPTR(pScrn);
- CARD32 temp;
-@@ -439,7 +473,7 @@
- if (pVia->CursorARGBSupported) {
- #define ARGB_PER_CHUNK (8 * sizeof (chunk) / 2)
- for (i = 0; i < (pVia->CursorMaxWidth * pVia->CursorMaxHeight / ARGB_PER_CHUNK); i++) {
-- chunk = *s++;
-+ chunk = *src++;
- for (j = 0; j < ARGB_PER_CHUNK; j++, chunk >>= 2)
- *dst++ = mono_cursor_color[chunk & 3];
- }
-@@ -447,7 +481,7 @@
- pVia->CursorFG = mono_cursor_color[3];
- pVia->CursorBG = mono_cursor_color[2];
- } else {
-- memcpy(dst, (CARD8*)s, pVia->CursorSize);
-+ memcpy(dst, (CARD8*)src, pVia->CursorSize);
- }
- switch(pVia->Chipset) {
- case VIA_CX700:
-@@ -455,6 +489,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
- temp = VIAGETREG(VIA_REG_HI_CONTROL0);
- VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFE);
-@@ -471,11 +506,17 @@
- }
- }
-
-+/*
-+ Set the cursor foreground and background colors. In 8bpp, fg and
-+ bg are indices into the current colormap unless the
-+ HARDWARE_CURSOR_TRUECOLOR_AT_8BPP flag is set. In that case
-+ and in all other bpps the fg and bg are in 8-8-8 RGB format.
-+*/
-+
- static void
- viaSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg)
- {
- VIAPtr pVia = VIAPTR(pScrn);
-- CARD32 control = pVia->CursorRegControl;
- CARD32 pixel;
- CARD32 temp;
- CARD32 *dst;
-@@ -487,12 +528,10 @@
- fg |= 0xff000000;
- bg |= 0xff000000;
-
-+ /* Don't recolour the image if we don't have to. */
- if (fg == pVia->CursorFG && bg == pVia->CursorBG)
- return;
-
-- temp = VIAGETREG(control);
-- VIASETREG(control, temp & 0xFFFFFFFE);
--
- dst = (CARD32*)pVia->cursorMap;
- for (i = 0; i < pVia->CursorMaxWidth * pVia->CursorMaxHeight; i++, dst++)
- if ((pixel = *dst))
-@@ -507,6 +546,7 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- if (pVia->pBIOSInfo->FirstCRTC->IsActive) {
- temp = VIAGETREG(VIA_REG_HI_CONTROL0);
- VIASETREG(VIA_REG_HI_CONTROL0, temp & 0xFFFFFFFE);
-@@ -517,7 +557,8 @@
- }
- break;
- default:
-- VIASETREG(control, temp);
-+ temp = VIAGETREG(VIA_REG_ALPHA_CONTROL);
-+ VIASETREG(VIA_REG_ALPHA_CONTROL, temp & 0xFFFFFFFE);
- }
- }
-
-Index: src/via_i2c.c
-===================================================================
---- src/via_i2c.c (revision 811)
-+++ src/via_i2c.c (working copy)
-@@ -365,9 +365,18 @@
-
- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaI2CInit\n"));
-
-- pVia->pI2CBus1 = ViaI2CBus1Init(pScrn->scrnIndex);
-- pVia->pI2CBus2 = ViaI2CBus2Init(pScrn->scrnIndex);
-- pVia->pI2CBus3 = ViaI2CBus3Init(pScrn->scrnIndex);
-+ if (!pVia->I2CDevices) {
-+ pVia->pI2CBus1 = ViaI2CBus1Init(pScrn->scrnIndex);
-+ pVia->pI2CBus2 = ViaI2CBus2Init(pScrn->scrnIndex);
-+ pVia->pI2CBus3 = ViaI2CBus3Init(pScrn->scrnIndex);
-+ } else {
-+ if (pVia->I2CDevices & VIA_I2C_BUS1)
-+ pVia->pI2CBus1 = ViaI2CBus1Init(pScrn->scrnIndex);
-+ if (pVia->I2CDevices & VIA_I2C_BUS2)
-+ pVia->pI2CBus2 = ViaI2CBus2Init(pScrn->scrnIndex);
-+ if (pVia->I2CDevices & VIA_I2C_BUS3)
-+ pVia->pI2CBus3 = ViaI2CBus3Init(pScrn->scrnIndex);
-+ }
-
- #ifdef HAVE_DEBUG
- if (pVia->I2CScan) {
-Index: src/via_dri.c
-===================================================================
---- src/via_dri.c (revision 811)
-+++ src/via_dri.c (working copy)
-@@ -187,7 +187,7 @@
- return FALSE;
-
- /*
-- * Info frome code-snippet on DRI-DEVEL list; Erdi Chen.
-+ * Info from code-snippet on DRI-DEVEL list; Erdi Chen.
- */
-
- switch (pVia->ChipId) {
-@@ -267,6 +267,7 @@
- pVIADRI = pDRIInfo->devPrivate;
- pVia->agpSize = 0;
-
-+
- if (drmAgpAcquire(pVia->drmFD) < 0) {
- xf86DrvMsg(pScreen->myNum, X_ERROR, "[drm] drmAgpAcquire failed %d\n",
- errno);
-@@ -431,17 +432,17 @@
- if (pScrn->bitsPerPixel == 16 || pScrn->bitsPerPixel == 32) {
- numConfigs = 12;
- if (!(pConfigs = (__GLXvisualConfig *)
-- xcalloc(sizeof(__GLXvisualConfig), numConfigs)))
-+ calloc(sizeof(__GLXvisualConfig), numConfigs)))
- return FALSE;
- if (!(pVIAConfigs = (VIAConfigPrivPtr)
-- xcalloc(sizeof(VIAConfigPrivRec), numConfigs))) {
-- xfree(pConfigs);
-+ calloc(sizeof(VIAConfigPrivRec), numConfigs))) {
-+ free(pConfigs);
- return FALSE;
- }
- if (!(pVIAConfigPtrs = (VIAConfigPrivPtr *)
-- xcalloc(sizeof(VIAConfigPrivPtr), numConfigs))) {
-- xfree(pConfigs);
-- xfree(pVIAConfigs);
-+ calloc(sizeof(VIAConfigPrivPtr), numConfigs))) {
-+ free(pConfigs);
-+ free(pVIAConfigs);
- return FALSE;
- }
- for (i = 0; i < numConfigs; i++)
-@@ -593,23 +594,28 @@
- case VIA_P4M900:
- case VIA_VX800:
- case VIA_VX855:
-+ case VIA_VX900:
- pDRIInfo->clientDriverName = "swrast";
- break;
- default:
- pDRIInfo->clientDriverName = VIAClientDriverName;
- break;
- }
-- pDRIInfo->busIdString = xalloc(64);
-- sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d",
-+ if (xf86LoaderCheckSymbol("DRICreatePCIBusID")) {
-+ pDRIInfo->busIdString = DRICreatePCIBusID(pVia->PciInfo);
-+ } else {
-+ pDRIInfo->busIdString = malloc(64);
-+ sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d",
- #ifdef XSERVER_LIBPCIACCESS
-- ((pVia->PciInfo->domain << 8) | pVia->PciInfo->bus),
-- pVia->PciInfo->dev, pVia->PciInfo->func
-+ ((pVia->PciInfo->domain << 8) | pVia->PciInfo->bus),
-+ pVia->PciInfo->dev, pVia->PciInfo->func
- #else
-- ((pciConfigPtr)pVia->PciInfo->thisCard)->busnum,
-- ((pciConfigPtr)pVia->PciInfo->thisCard)->devnum,
-- ((pciConfigPtr)pVia->PciInfo->thisCard)->funcnum
-+ ((pciConfigPtr)pVia->PciInfo->thisCard)->busnum,
-+ ((pciConfigPtr)pVia->PciInfo->thisCard)->devnum,
-+ ((pciConfigPtr)pVia->PciInfo->thisCard)->funcnum
- #endif
-- );
-+ );
-+ }
- pDRIInfo->ddxDriverMajorVersion = VIA_DRIDDX_VERSION_MAJOR;
- pDRIInfo->ddxDriverMinorVersion = VIA_DRIDDX_VERSION_MINOR;
- pDRIInfo->ddxDriverPatchVersion = VIA_DRIDDX_VERSION_PATCH;
-@@ -646,7 +652,7 @@
- pDRIInfo->SAREASize = SAREA_MAX;
- #endif
-
-- if (!(pVIADRI = (VIADRIPtr) xcalloc(sizeof(VIADRIRec), 1))) {
-+ if (!(pVIADRI = (VIADRIPtr) calloc(sizeof(VIADRIRec), 1))) {
- DRIDestroyInfoRec(pVia->pDRIInfo);
- pVia->pDRIInfo = NULL;
- return FALSE;
-@@ -665,7 +671,7 @@
- if (!DRIScreenInit(pScreen, pDRIInfo, &pVia->drmFD)) {
- xf86DrvMsg(pScreen->myNum, X_ERROR,
- "[dri] DRIScreenInit failed. Disabling DRI.\n");
-- xfree(pDRIInfo->devPrivate);
-+ free(pDRIInfo->devPrivate);
- pDRIInfo->devPrivate = NULL;
- DRIDestroyInfoRec(pVia->pDRIInfo);
- pVia->pDRIInfo = NULL;
-@@ -748,7 +754,7 @@
- if (pVia->pDRIInfo) {
- if ((pVIADRI = (VIADRIPtr) pVia->pDRIInfo->devPrivate)) {
- VIADRIIrqExit(pScrn, pVIADRI);
-- xfree(pVIADRI);
-+ free(pVIADRI);
- pVia->pDRIInfo->devPrivate = NULL;
- }
- DRIDestroyInfoRec(pVia->pDRIInfo);
-@@ -756,11 +762,11 @@
- }
-
- if (pVia->pVisualConfigs) {
-- xfree(pVia->pVisualConfigs);
-+ free(pVia->pVisualConfigs);
- pVia->pVisualConfigs = NULL;
- }
- if (pVia->pVisualConfigsPriv) {
-- xfree(pVia->pVisualConfigsPriv);
-+ free(pVia->pVisualConfigsPriv);
- pVia->pVisualConfigsPriv = NULL;
- }
- }
-Index: src/via.h
-===================================================================
---- src/via.h (revision 811)
-+++ src/via.h (working copy)
-@@ -34,7 +34,7 @@
-
- /* Video Engines */
- #define VIDEO_ENGINE_UNK 0 /* Unknown video engine */
--#define VIDEO_ENGINE_CLE 1 /* CLE First generaion video engine */
-+#define VIDEO_ENGINE_CLE 1 /* CLE First generation video engine */
- #define VIDEO_ENGINE_CME 2 /* CME Second generation video engine */
-
- /* Video status flag */
-@@ -215,6 +215,9 @@
- #define HQV_DST_STRIDE 0x1F4
- #define HQV_SRC_STRIDE 0x1F8
-
-+#define HQV_H_SCALE_CONTROL 0x1B0
-+#define HQV_V_SCALE_CONTROL 0x1B4
-+
- #define PRO_HQV1_OFFSET 0x1000
- /*
- * Video command definition
-@@ -515,7 +518,23 @@
- #define HQV_FIFO_STATUS 0x00001000
- #define HQV_GEN_IRQ 0x00000080
- #define HQV_FIFO_DEPTH_1 0x00010000
-+/* for CME engine */
-+#define HQV_SW_FLIP_QUEUE_ENABLE 0x00100000
-
-+/* for hwDiff->dwNewScaleCtl */
-+#define HQV_H_SCALE_ENABLE 0x80000000
-+#define HQV_H_SCALE_UP 0x00000000
-+#define HQV_H_SCALE_DOWN_FOURTH_TO_1 0x10000000
-+#define HQV_H_SCALE_DOWN_FOURTH_TO_EIGHTH 0x20000000
-+#define HQV_H_SCALE_DOWN_UNDER_EIGHTH 0x30000000
-+
-+#define HQV_V_SCALE_ENABLE 0x80000000
-+#define HQV_V_SCALE_UP 0x00000000
-+#define HQV_V_SCALE_DOWN 0x10000000
-+
-+/* HQV Default Vodeo Color 0x3B8 */
-+#define HQV_FIX_COLOR 0x0643212c
-+
- /* HQV_FILTER_CONTROL 0x3E4 */
- #define HQV_H_LOWPASS_2TAP 0x00000001
- #define HQV_H_LOWPASS_4TAP 0x00000002
-@@ -575,6 +594,25 @@
- #define HQV_VDEBLOCK_FILTER 0x80000000
- #define HQV_HDEBLOCK_FILTER 0x00008000
-
-+/* new added registers for VT3409.For some registers have different meanings
-+ * but the same address,we add postfix _409 to distinguish */
-+#define HQV_COLOR_ADJUSTMENT_PRE_CTRL1 0x160
-+#define HQV_COLOR_ADJUSTMENT_PRE_CTRL2 0x164
-+#define HQV_COLOR_ADJUSTMENT_PRE_CTRL3 0x168
-+#define HQV_COLOR_ADJUSTMENT_PRE_CTRL4 0x16C
-+#define HQV_SRC_DATA_OFFSET_CTRL1_409 0x170
-+#define HQV_SRC_DATA_OFFSET_CTRL2_409 0x174
-+#define HQV_SRC_DATA_OFFSET_CTRL3_409 0x178
-+#define HQV_SRC_DATA_OFFSET_CTRL4_409 0x17C
-+#define HQV_DST_DATA_OFFSET_CTRL1 0x180
-+#define HQV_DST_DATA_OFFSET_CTRL2 0x184
-+#define HQV_DST_DATA_OFFSET_CTRL3 0x188
-+#define HQV_DST_DATA_OFFSET_CTRL4 0x18C
-+#define HQV_RESIDUE_PIXEL_FRAME_STARTADDR 0x1BC
-+#define HQV_BACKGROUND_DATA_OFFSET 0x1CC
-+#define HQV_SUBP_HSCALE_CTRL 0x1E0
-+#define HQV_SUBP_VSCALE_CTRL 0x1E8
-+
- /* Add new HQV Registers for VT3353: */
- #define HQV_SRC_DATA_OFFSET_CONTROL1 0x180
- #define HQV_SRC_DATA_OFFSET_CONTROL2 0x184
-@@ -588,6 +626,7 @@
- #define HQV_COLOR_ADJUSTMENT_CONTROL2 0x1A4
- #define HQV_COLOR_ADJUSTMENT_CONTROL3 0x1A8
- #define HQV_COLOR_ADJUSTMENT_CONTROL5 0x1AC
-+#define HQV_DEFAULT_VIDEO_COLOR 0x1B8
-
- #define CHROMA_KEY_LOW 0x00FFFFFF
- #define CHROMA_KEY_HIGH 0x00FFFFFF
-Index: man/openchrome.man
-===================================================================
---- man/openchrome.man (.../tags/release_0_2_904) (revision 921)
-+++ man/openchrome.man (.../trunk) (revision 921)
-@@ -22,7 +22,7 @@ The
- .B openchrome
- driver supports the following chipsets: CLE266, KM400/KN400/KM400A/P4M800,
- CN400/PM800/PN800/PM880, K8M800, CN700/VM800/P4M800Pro, CX700, P4M890, K8M890,
--P4M900/VN896/CN896, VX800 and VX855.
-+P4M900/VN896/CN896, VX800, VX855 and VX900.
- The driver includes 2D acceleration and Xv video overlay extensions.
- Flat panel, TV, and VGA outputs are supported, depending on the hardware
- configuration.
-@@ -59,16 +59,18 @@ are supported:
- .BI "Option \*qAccelMethod\*q \*q" string \*q
- The driver supports "XAA" and "EXA" acceleration methods. The default
- method is XAA, since EXA is still experimental. Contrary to XAA, EXA
--implements acceleration for screen uploads and downlads (if DRI is
-+implements acceleration for screen uploads and downloads (if DRI is
- enabled) and for the Render/Composite extension.
- .TP
- .BI "Option \*qActiveDevice\*q \*q" string \*q
- Specifies the active device combination. Any string containing "CRT",
- "LCD", "DFP", "TV" should be possible. "CRT" represents anything that
--is connected to the VGA port, "LCD" and "DFP" are for laptop panels
--(not TFT screens attached to the VGA port), "TV" is self-explanatory.
-+is connected to the VGA port, "LCD" is for laptop panels (not TFT screens
-+attached to the VGA port), "DFP" is for screens connected to the DVI port,
-+"TV" is self-explanatory.
- The default is to use what is detected. The driver is currently unable
--to use LCD and TV simultaneously, and will favour the LCD.
-+to use LCD and TV simultaneously, and will favour the LCD. The DVI port is
-+not properly probed and needs to be enabled with this option.
- .TP
- .BI "Option \*qAGPMem\*q \*q" integer \*q
- Sets the amount of AGP memory that is allocated at X server startup.
-@@ -81,7 +83,7 @@ EXA scratch area in AGP space, it will be allocate
- no room for DRI textures, they will be allocated from the DRI part of
- VRAM (see the option "MaxDRIMem"). The default amount of AGP is
- 32768 kB. Note that the AGP aperture set in the BIOS must be able
--to accomodate the amount of AGP memory specified here. Otherwise no
-+to accommodate the amount of AGP memory specified here. Otherwise no
- AGP memory will be available. It is safe to set a very large AGP
- aperture in the BIOS.
- .TP
-@@ -131,10 +133,10 @@ as possible to the EXA pixmap storage area.
- .TP
- .BI "Option \*qMigrationHeuristic\*q \*q" string \*q
- Sets the heuristic for EXA pixmap migration. This is an EXA core
--option, and on Xorg server versions after 1.1.0 this defaults to
--"smart". The openchrome driver performs best with "greedy", so you
-+option, and starting from __xservername__ server version 1.3.0 this defaults to
-+"always". The openchrome driver performs best with "greedy", so you
- should really add this option to your configuration file. The third
--possibility is "always", which might become more useful in the future.
-+possibility is "smart".
- .TP
- .BI "Option \*qNoAccel\*q \*q" boolean \*q
- Disables the use of hardware acceleration. Acceleration is enabled
-@@ -159,9 +161,16 @@ Specifies the size (width x height) of the LCD pan
- system. The sizes 640x480, 800x600, 1024x768, 1280x1024, and 1400x1050
- are supported.
- .TP
-+.BI "Option \*qRotationType\*q \*q" string \*q
-+Enabled rotation by using RandR. The driver only support unaccelerated
-+RandR rotations "SWRandR". Hardware rotations "HWRandR" is currently
-+unimplemented.
-+.TP
- .BI "Option \*qRotate\*q \*q" string \*q
- Rotates the display either clockwise ("CW"), counterclockwise ("CCW") and
--upside-down ("UD"). Rotation is only supported unaccelerated.
-+upside-down ("UD"). Rotation is only supported unaccelerated. Adding
-+option "Rotate", enables RandR rotation feature. The RandR allows
-+clients to dynamically change X screens.
- .TP
- .BI "Option \*qShadowFB\*q \*q" boolean \*q
- Enables the use of a shadow frame buffer. This is required when
-@@ -234,6 +243,6 @@ overscan). These modes are made available by the
- provided in __xconfigfile__ will be ignored.
-
- .SH "SEE ALSO"
--__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
-+__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__), EXA(__filemansuffix__), Xv(__filemansuffix__)
- .SH AUTHORS
- Authors include: ...
-Index: src/via_dga.c
-===================================================================
---- src/via_dga.c (revision 811)
-+++ src/via_dga.c (working copy)
-@@ -89,16 +89,16 @@
- otherPitch = secondPitch ? secondPitch : pMode->HDisplay;
-
- if (pMode->HDisplay != otherPitch) {
-- newmodes = xrealloc(modes, (*num + 2) * sizeof(DGAModeRec));
-+ newmodes = realloc(modes, (*num + 2) * sizeof(DGAModeRec));
- oneMore = TRUE;
- }
- else {
-- newmodes = xrealloc(modes, (*num + 1) * sizeof(DGAModeRec));
-+ newmodes = realloc(modes, (*num + 1) * sizeof(DGAModeRec));
- oneMore = FALSE;
- }
-
- if (!newmodes) {
-- xfree(modes);
-+ free(modes);
- return NULL;
- }
-
-Index: src/via_id.c
-===================================================================
---- src/via_id.c (revision 811)
-+++ src/via_id.c (working copy)
-@@ -63,6 +63,7 @@
- {"Giga-byte 7VM400(A)M", VIA_KM400, 0x1458, 0xD000, VIA_DEVICE_CRT},
- {"MSI KM4(A)M-V", VIA_KM400, 0x1462, 0x7061, VIA_DEVICE_CRT}, /* aka "DFI KM400-MLV" */
- {"MSI PM8M2-V", VIA_KM400, 0x1462, 0x7071, VIA_DEVICE_CRT},
-+ {"MSI PM8M-V", VIA_KM400, 0x1462, 0x7104, VIA_DEVICE_CRT},
- {"MSI KM4(A)M-L", VIA_KM400, 0x1462, 0x7348, VIA_DEVICE_CRT},
- {"Abit VA-10 (1)", VIA_KM400, 0x147B, 0x140B, VIA_DEVICE_CRT},
- {"Abit VA-10 (2)", VIA_KM400, 0x147B, 0x140C, VIA_DEVICE_CRT},
-@@ -92,6 +93,7 @@
- {"Shuttle FX21", VIA_K8M800, 0x1297, 0x3052, VIA_DEVICE_CRT},
- {"Shuttle FX83", VIA_K8M800, 0x1297, 0xF683, VIA_DEVICE_CRT | VIA_DEVICE_TV},
- {"Sharp Actius AL27", VIA_K8M800, 0x13BD, 0x1044, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+ {"Sharp Mebius PC-CS30H", VIA_K8M800, 0x13BD, 0x1047, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Sharp PC-AE30J", VIA_K8M800, 0x13BD, 0x104B, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Giga-byte GA-K8VM800M", VIA_K8M800, 0x1458, 0xD000, VIA_DEVICE_CRT},
- {"MSI K8M Neo-V", VIA_K8M800, 0x1462, 0x0320, VIA_DEVICE_CRT},
-@@ -114,6 +116,7 @@
- {"Packard Bell Easynote B3 800/B3340", VIA_K8M800, 0x1631, 0xC009, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Packard Bell Imedia 2097", VIA_K8M800, 0x1631, 0xD007, VIA_DEVICE_CRT},
- {"Fujitsu-Siemens Amilo K7610", VIA_K8M800, 0x1734, 0x10B3, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+ {"Lenovo ThinkCenter E51 8714", VIA_K8M800, 0x17AA, 0x1008, VIA_DEVICE_CRT},
- {"ASRock K8Upgrade-VM800", VIA_K8M800, 0x1849, 0x3108, VIA_DEVICE_CRT},
- {"Axper XP-M8VM800", VIA_K8M800, 0x1940, 0xD000, VIA_DEVICE_CRT},
-
-@@ -138,6 +141,7 @@
- {"Haier A60-440256080BD", VIA_VM800, 0x1019, 0x0F79, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"PCChips P23G", VIA_VM800, 0x1019, 0x1623, VIA_DEVICE_CRT},
- {"ECS P4M800PRO-M", VIA_VM800, 0x1019, 0x2122, VIA_DEVICE_CRT},
-+ {"ECS P4M800PRO-M2 (V2.0)", VIA_VM800, 0x1019, 0x2123, VIA_DEVICE_CRT},
- {"ECS C7VCM", VIA_VM800, 0x1019, 0xAA2D, VIA_DEVICE_CRT},
- {"PCChips V21G", VIA_VM800, 0x1019, 0xAA51, VIA_DEVICE_CRT},
- {"Asustek P5VDC-MX", VIA_VM800, 0x1043, 0x3344, VIA_DEVICE_CRT},
-@@ -152,6 +156,7 @@
- {"MSI PM8PM", VIA_VM800, 0x1462, 0x7222, VIA_DEVICE_CRT},
- {"Twinhead M6", VIA_VM800, 0x14FF, 0xA007, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"RoverBook Partner W500", VIA_VM800, 0x1509, 0x4330, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+ {"FIC PTM800Pro LF", VIA_VM800, 0x1509, 0x601A, VIA_DEVICE_CRT},
- {"Clevo/RoverBook Voyager V511L", VIA_VM800, 0x1558, 0x0662, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Clevo M5xxS", VIA_VM800, 0x1558, 0x5406, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Biostar P4M80-M4 / P4VMA-M", VIA_VM800, 0x1565, 0x1202, VIA_DEVICE_CRT},
-@@ -170,6 +175,7 @@
- {"Asustek M2V-MX SE", VIA_K8M890, 0x1043, 0x8297, VIA_DEVICE_CRT},
- {"Foxconn K8M890M2MA-RS2H", VIA_K8M890, 0x105B, 0x0C84, VIA_DEVICE_CRT},
- {"Shuttle FX22V1", VIA_K8M890, 0x1297, 0x3080, VIA_DEVICE_CRT},
-+ {"MSI K8M890M2-V", VIA_K8M890, 0x1462, 0x7139, VIA_DEVICE_CRT},
- {"MSI K9VGM-V", VIA_K8M890, 0x1462, 0x7253, VIA_DEVICE_CRT},
- {"Averatec 226x", VIA_K8M890, 0x14FF, 0xA002, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Fujitsu/Siemens Amilo La 1703", VIA_K8M890, 0x1734, 0x10D9, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-@@ -183,12 +189,14 @@
- {"Mitac 8515", VIA_P4M900, 0x1071, 0x8515, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Medion Notebook MD96483", VIA_P4M900, 0x1071, 0x8615, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Mitac 8624", VIA_P4M900, 0x1071, 0x8624, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-- {"VIA VT3364 (P4M900)", VIA_P4M900, 0x1106, 0x3371, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+ {"VIA VB8001 Mini-ITX Board (P4M900)", VIA_P4M900, 0x1106, 0x3371, VIA_DEVICE_CRT},
- {"Gigabyte GA-VM900M", VIA_P4M900, 0x1458, 0xD000, VIA_DEVICE_CRT},
- {"MSI VR321", VIA_P4M900, 0x1462, 0x3355, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"MSI P4M900M / P4M900M2-F/L", VIA_P4M900, 0x1462, 0x7255, VIA_DEVICE_CRT},
- {"MSI P4M900M3-L", VIA_P4M900, 0x1462, 0x7387, VIA_DEVICE_CRT},
- {"Twinhead H12V", VIA_P4M900, 0x14FF, 0xA00F, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+ {"Twinhead K15V", VIA_P4M900, 0x14FF, 0xA012, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+ {"Semp Informática Notebook IS 1462", VIA_P4M900, 0x1509, 0x1D41, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Everex NC1501/NC1503", VIA_P4M900, 0x1509, 0x1E30, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Clevo M660SE", VIA_P4M900, 0x1558, 0x0664, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Clevo M660SR", VIA_P4M900, 0x1558, 0x0669, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-@@ -224,14 +232,23 @@
-
- /*** VX800 ***/
- {"VIA Epia M700", VIA_VX800, 0x1106, 0x1122, VIA_DEVICE_CRT},
-+ {"Siragon ML-6200", VIA_VX800, 0x1106, 0x2211, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+ {"Guillemot-Hercules ECafe EC900B", VIA_VX800, 0x1106, 0x3349, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"VIA OpenBook", VIA_VX800, 0x1170, 0x0311, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, /* VIA OpenBook eNote VBE8910 */
- {"Samsung NC20", VIA_VX800, 0x144d, 0xc04e, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+ {"FIC CE2A1", VIA_VX800, 0x1509, 0x3002, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Quanta DreamBook Light IL1", VIA_VX800, 0x152d, 0x0771, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"Lenovo S12", VIA_VX800, 0x17aa, 0x388c, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-
- /*** VX855 ***/
- {"VIA VT8562C", VIA_VX855, 0x1106, 0x5122, VIA_DEVICE_CRT},
-+ {"OLPC XO 1.5", VIA_VX855, 0x152D, 0x0833, VIA_DEVICE_LCD},
-
-+ /*** VX900 ***/
-+ {"Foxconn L740", VIA_VX900, 0x105B, 0x0CFD, VIA_DEVICE_LCD | VIA_DEVICE_CRT},
-+ {"HP T5550 Thin Client", VIA_VX900, 0x1106, 0x7122, VIA_DEVICE_CRT},
-+
-+
- /* keep this */
- {NULL, VIA_UNKNOWN, 0x0000, 0x0000, VIA_DEVICE_NONE}
- };
-Index: src/via_timing.h
-===================================================================
---- src/via_timing.h (revision 811)
-+++ src/via_timing.h (working copy)
-@@ -40,7 +40,7 @@
- #define TIMING_CVT_WARN_REFRESH_RATE_NOT_RB 1 << 3
-
- /**
-- * Geneartes a CVT modeline
-+ * Generates a CVT modeline
- * mode must not be null, if mode->name is null a new char* will be allocated.
- *
- */
diff --git a/main/xfce4-session/APKBUILD b/main/xfce4-session/APKBUILD
index f98cb6bc54..d706612606 100644
--- a/main/xfce4-session/APKBUILD
+++ b/main/xfce4-session/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xfce4-session
-pkgver=4.8.2
-pkgrel=1
+pkgver=4.8.3
+pkgrel=0
pkgdesc="A session manager for Xfce"
url="http://www.xfce.org/"
arch="all"
@@ -45,5 +45,5 @@ package() {
find "$pkgdir" -name '*.la' -delete
}
-md5sums="48780cbcf784ab64debc9312f17765f2 xfce4-session-4.8.2.tar.bz2
+md5sums="461cc38bbd37cab881adbdf943f9a402 xfce4-session-4.8.3.tar.bz2
bfd9132f08f4a92efbe982fb911c511c busybox-shutdown.patch"
diff --git a/main/xulrunner/0004-xulrunner-malloc_usable_size.patch b/main/xulrunner/0004-xulrunner-malloc_usable_size.patch
index aae416c7da..986b183ece 100644
--- a/main/xulrunner/0004-xulrunner-malloc_usable_size.patch
+++ b/main/xulrunner/0004-xulrunner-malloc_usable_size.patch
@@ -1,25 +1,34 @@
-From a2a15c826a5e1743ba71288543b9e144603fba26 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 25 Nov 2011 08:40:53 +0000
-Subject: [PATCH 4/4] xulrunner: malloc_usable_size
+From: Timo Teräs <timo.teras@iki.fi>
----
- memory/mozalloc/mozalloc.cpp | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/memory/mozalloc/mozalloc.cpp b/memory/mozalloc/mozalloc.cpp
-index 58e5192..500c651 100644
---- a/memory/mozalloc/mozalloc.cpp
-+++ b/memory/mozalloc/mozalloc.cpp
-@@ -267,7 +267,7 @@ moz_malloc_usable_size(void *ptr)
- #if defined(XP_MACOSX)
- return malloc_size(ptr);
- #elif defined(MOZ_MEMORY)
-- return malloc_usable_size(ptr);
-+ return 0;
- #elif defined(XP_WIN)
- return _msize(ptr);
- #else
---
-1.7.7.4
+malloc_usable_size is not defined on uclibc, so workaround
+that in jemalloc. Fix mozalloc linking.
+--- mozilla-release-old/memory/jemalloc/jemalloc.h
++++ mozilla-release/memory/jemalloc/jemalloc.h
+@@ -75,8 +75,12 @@
+ /* Linux has memalign and malloc_usable_size */
+ #if !defined(MOZ_MEMORY_LINUX)
+ void *memalign(size_t alignment, size_t size);
+-size_t malloc_usable_size(const void *ptr);
+ #endif /* MOZ_MEMORY_LINUX */
++
++#include <features.h>
++#if defined(__UCLIBC__) || !defined(MOZ_MEMORY_LINUX)
++size_t malloc_usable_size(const void *ptr);
++#endif
+
+ void jemalloc_stats(jemalloc_stats_t *stats);
+
+--- mozilla-release-old/memory/mozalloc/Makefile.in
++++ mozilla-release/memory/mozalloc/Makefile.in
+@@ -43,6 +43,10 @@
+
+ include $(DEPTH)/config/autoconf.mk
+
++ifdef MOZ_MEMORY
++SHARED_LIBRARY_LIBS = $(call EXPAND_LIBNAME_PATH,jemalloc,../jemalloc)
++endif
++
+ VISIBILITY_FLAGS=
+ STL_FLAGS =
+ ifdef _MSC_VER
diff --git a/main/xulrunner/APKBUILD b/main/xulrunner/APKBUILD
index 82bd902759..e86a172630 100644
--- a/main/xulrunner/APKBUILD
+++ b/main/xulrunner/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=xulrunner
-pkgver=9.0.1
-_ffoxver=9.0.1
-pkgrel=1
+pkgver=10.0.1
+_ffoxver=10.0.1
+pkgrel=0
pkgdesc="runtime environment for xul-based applications"
url="http://developer.mozilla.org/en/XULRunner"
arch="all"
@@ -40,6 +40,7 @@ makedepends="$depends_dev
automake
libtool"
install=""
+options=""
subpackages="$pkgname-dev"
# http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/${pkgver}/source/${pkgname}-${pkgver}.source.tar.bz2
source="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${_ffoxver}/source/firefox-${_ffoxver}.source.tar.bz2
@@ -74,7 +75,8 @@ build() {
unset CFLAGS
unset CXXFLAGS
- make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" || return 1
+ make -j1 -f client.mk build \
+ MOZ_MAKE_FLAGS="$MAKEFLAGS" || return 1
}
package() {
@@ -102,9 +104,9 @@ dev() {
mv "${pkgdir}"/usr/include "${subpkgdir}"/usr/include
}
-md5sums="7cf2bd379792a9b232267c6a79680566 firefox-9.0.1.source.tar.bz2
+md5sums="265c53120fd923c742164b0002ebbf6c firefox-10.0.1.source.tar.bz2
b0f7d491bc800b69ec718667a4b08acb mozconfig
1867db217d10722675c88b655db8c2d7 0002-Use-C99-math-isfinite.patch
7faa279d64c9ec2e7abc7c0497c7e07e 0003-xulrunner-jemalloc-aslr.patch
-7cf18be3ada3eed5856fbab24219126d 0004-xulrunner-malloc_usable_size.patch
+d12e0636e1f9877ef2d1df45d5834c87 0004-xulrunner-malloc_usable_size.patch
96b40acd003a0a586e408bf09ae5af1d ff9-aslr-fix.patch"
diff --git a/testing/zd1211-firmware/APKBUILD b/main/zd1211-firmware/APKBUILD
index f34a08df19..f34a08df19 100644
--- a/testing/zd1211-firmware/APKBUILD
+++ b/main/zd1211-firmware/APKBUILD
diff --git a/main/znc/APKBUILD b/main/znc/APKBUILD
index e94651055c..441007e7b7 100644
--- a/main/znc/APKBUILD
+++ b/main/znc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=znc
-pkgver=0.202
+pkgver=0.204
pkgrel=0
pkgdesc="An advanced IRC bouncer"
url="http://znc.in"
@@ -105,5 +105,5 @@ modperl() {
_mv_mod modperl modperl.so
}
-md5sums="3c6ff4620e139e3d9745cd53111bab20 znc-0.202.tar.gz
+md5sums="7c7247423fc08b0c5c62759a50a9bca3 znc-0.204.tar.gz
c0c8a4372b79a52a287923240f24c644 libiconv.patch"
diff --git a/testing/firefox/APKBUILD b/testing/firefox/APKBUILD
deleted file mode 100644
index 757ab6f2cf..0000000000
--- a/testing/firefox/APKBUILD
+++ /dev/null
@@ -1,122 +0,0 @@
-# Contributor: William Pitcock <nenolod@dereferenced.org>
-# Maintainer: William Pitcock <nenolod@dereferenced.org>
-pkgname=firefox
-pkgver=10.0
-_pkgver=$pkgver
-_xulver=10.0
-pkgrel=3
-pkgdesc="firefox web browser"
-url="http://www.firefox.com"
-arch="all"
-license="GPL LGPL MPL"
-depends="xulrunner>=${_xulver}"
-makedepends="xulrunner-dev>=${_xulver}
-
- nspr-dev
- nss-dev
- gtk+-dev
- mesa-dev
- dbus-glib-dev
- alsa-lib-dev
- libvorbis-dev
- libogg-dev
- libtheora-dev
- wireless-tools-dev
- libnotify-dev
- libevent-dev
- libvpx-dev
- libxt-dev
- jpeg-dev
- bzip2-dev
- hunspell-dev
- startup-notification-dev
- sqlite-dev
- libidl-dev
-
- autoconf2.13
-
- python
- zip
- yasm
-
- autoconf
- automake
- libtool
-
- paxctl"
-install=""
-subpackages=""
-source="http://releases.mozilla.org/pub/mozilla.org/${pkgname}/releases/${pkgver}/source/${pkgname}-${_pkgver}.source.tar.bz2
- mozconfig
- firefox-5.0-asciidel.patch
- firefox.desktop
- firefox-safe.desktop"
-
-options="!strip"
-
-_builddir="${srcdir}/mozilla-release"
-_mozappdir=/usr/lib/firefox-$pkgver
-
-prepare() {
- local i
-
- cd "$_builddir"
-
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-
- cp "${srcdir}/mozconfig" .mozconfig
- echo "ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)" >> .mozconfig
- echo "ac_add_options --enable-debug-symbols" >> .mozconfig
- echo "ac_add_options --disable-install-strip" >>.mozconfig
-}
-
-build() {
- cd "$_builddir"
-
- # mozilla's buildsystem is on drugs
- export CFLAGS="$(echo $CFLAGS | sed -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')"
- export CXXFLAGS="$CFLAGS"
-
-# export LDFLAGS="-Wl,-rpath,${_mozappdir}"
- make -j1 -f client.mk build \
- STRIP="/bin/true" \
- MOZ_MAKE_FLAGS="$MAKEOPTS" || return 1
-}
-
-package() {
- cd "$_builddir"
- make -j1 DESTDIR="$pkgdir" -f client.mk install || return 1
-
- install -m755 -d ${pkgdir}/usr/share/applications
- install -m755 -d ${pkgdir}/usr/share/pixmaps
- install -m644 "$_builddir"/browser/branding/official/default48.png \
- ${pkgdir}/usr/share/pixmaps/firefox.png || return 1
- install -m644 ${srcdir}/firefox.desktop ${pkgdir}/usr/share/applications/firefox.desktop
- install -m644 ${srcdir}/firefox-safe.desktop ${pkgdir}/usr/share/applications/firefox-safe.desktop
-
- # firefox currently does not work with mprotect. disable it for now
- paxctl -c -m "$pkgdir"/$_mozappdir/firefox || return 1
-
- # xulrunner stub launcher has changed to using a symlink overlay...
- # go figure
- ln -sf /usr/lib/xulrunner-${_xulver} ${pkgdir}/$_mozappdir/xulrunner
-
- # launcher as symlink is broken from firefox-7.0
- rm "$pkgdir"/usr/bin/firefox || return 1
- cat > "$pkgdir"/usr/bin/firefox << __EOF__
-#!/bin/sh
-
-exec $_mozappdir/firefox "\$@"
-__EOF__
- chmod 755 "$pkgdir"/usr/bin/firefox
-}
-
-md5sums="13c61203ccfa583e5a54b4dc22f41233 firefox-10.0.source.tar.bz2
-3ba2cb7cda675e78eb0eeb0652ee3457 mozconfig
-2328df219e042f6aaec361cbf83cf9e9 firefox-5.0-asciidel.patch
-ba96924ece1d77453e462429037a2ce5 firefox.desktop
-6f38a5899034b7786cb1f75ad42032b8 firefox-safe.desktop"
diff --git a/testing/firefox/firefox-5.0-asciidel.patch b/testing/firefox/firefox-5.0-asciidel.patch
deleted file mode 100644
index 1916cb3b8a..0000000000
--- a/testing/firefox/firefox-5.0-asciidel.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Patch from: Bill Nottingham <notting@redhat.com>
-
-diff -up mozilla-release/browser/base/Makefile.in.fu mozilla-release/browser/base/Makefile.in
---- mozilla-release/browser/base/Makefile.in.fu 2011-06-24 16:50:23.802042086 -0400
-+++ mozilla-release/browser/base/Makefile.in 2011-06-24 16:50:42.324042096 -0400
-@@ -62,7 +62,7 @@ EXTRA_JS_MODULES = \
-
- include $(topsrcdir)/config/rules.mk
-
--PRE_RELEASE_SUFFIX := ""
-+PRE_RELEASE_SUFFIX :=
-
- DEFINES += \
- -DMOZ_APP_VERSION=$(MOZ_APP_VERSION) \
-
diff --git a/testing/firefox/firefox-safe.desktop b/testing/firefox/firefox-safe.desktop
deleted file mode 100644
index 1538fc6748..0000000000
--- a/testing/firefox/firefox-safe.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Exec=firefox -safe-mode %u
-Icon=firefox
-Type=Application
-Terminal=false
-MultipleArgs=false
-Name=Firefox - Safe Mode
-GenericName=Web Browser - Safe Mode
-StartupNotify=false
-Categories=Network;WebBrowser;
diff --git a/testing/firefox/firefox.desktop b/testing/firefox/firefox.desktop
deleted file mode 100644
index d048ce46c3..0000000000
--- a/testing/firefox/firefox.desktop
+++ /dev/null
@@ -1,81 +0,0 @@
-[Desktop Entry]
-Exec=firefox %u
-Icon=firefox
-Type=Application
-Terminal=false
-Name=Firefox
-Name[bn]=ফায়ারফক্স3
-Name[eo]=Fajrovulpo3
-Name[fi]=Firefox3
-Name[pa]=ਫਾਇਰਫੋਕਸ3
-Name[tg]=Рӯбоҳи оташин3
-GenericName=Web Browser
-GenericName[af]=Web Blaaier
-GenericName[ar]=متصفح ويب
-GenericName[az]=Veb Səyyahı
-GenericName[bg]=Браузър
-GenericName[bn]=ওয়েব ব্রাউজার
-GenericName[br]=Furcher ar Gwiad
-GenericName[bs]=WWW Preglednik
-GenericName[ca]=Fullejador web
-GenericName[cs]=WWW prohlížeč
-GenericName[cy]=Porydd Gwe
-GenericName[da]=Browser
-GenericName[de]=Web-Browser
-GenericName[el]=Περιηγητής Ιστού
-GenericName[eo]=TTT-legilo
-GenericName[es]=Navegador web
-GenericName[et]=Veebilehitseja
-GenericName[eu]=Web arakatzailea
-GenericName[fa]=مرورگر وب
-GenericName[fi]=WWW-selain
-GenericName[fo]=Alnótsfar
-GenericName[fr]=Navigateur web
-GenericName[gl]=Navegador Web
-GenericName[he]=דפדפן אינטרנט
-GenericName[hi]=वेब ब्राउज़र
-GenericName[hr]=Web preglednik
-GenericName[hu]=Webböngésző
-GenericName[is]=Vafri
-GenericName[it]=Browser Web
-GenericName[ja]=ウェブブラウザ
-GenericName[ko]=웹 브라우저
-GenericName[lo]=ເວັບບຣາວເຊີ
-GenericName[lt]=Žiniatinklio naršyklė
-GenericName[lv]=Web Pārlūks
-GenericName[mk]=Прелистувач на Интернет
-GenericName[mn]=Веб-Хөтөч
-GenericName[nb]=Nettleser
-GenericName[nds]=Nettkieker
-GenericName[nl]=Webbrowser
-GenericName[nn]=Nettlesar
-GenericName[nso]=Seinyakisi sa Web
-GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ
-GenericName[pl]=Przeglądarka WWW
-GenericName[pt]=Navegador Web
-GenericName[pt_BR]=Navegador Web
-GenericName[ro]=Navigator de web
-GenericName[ru]=Веб-браузер
-GenericName[se]=Fierpmádatlogan
-GenericName[sk]=Webový prehliadač
-GenericName[sl]=Spletni brskalnik
-GenericName[sr]=Веб претраживач
-GenericName[sr@Latn]=Veb pretraživač
-GenericName[ss]=Ibrawuza yeWeb
-GenericName[sv]=Webbläsare
-GenericName[ta]=வலை உலாவி
-GenericName[tg]=Тафсиргари вэб
-GenericName[th]=เว็บบราวเซอร์
-GenericName[tr]=Web Tarayıcı
-GenericName[uk]=Навігатор Тенет
-GenericName[uz]=Веб-браузер
-GenericName[ven]=Buronza ya Webu
-GenericName[vi]=Trình duyệt Web
-GenericName[wa]=Betchteu waibe
-GenericName[xh]=Umkhangeli zincwadi we Web
-GenericName[zh_CN]=网页浏览器
-GenericName[zh_TW]=網頁瀏覽器
-GenericName[zu]=Umcingi we-Web
-MimeType=text/html;
-StartupNotify=true
-Categories=Network;WebBrowser;
diff --git a/testing/firefox/mozconfig b/testing/firefox/mozconfig
deleted file mode 100644
index f1b23fae9a..0000000000
--- a/testing/firefox/mozconfig
+++ /dev/null
@@ -1,44 +0,0 @@
-. $topsrcdir/browser/config/mozconfig
-
-ac_add_options --prefix=/usr
-ac_add_options --libdir=/usr/lib
-ac_add_options --with-system-nspr
-ac_add_options --with-system-nss
-ac_add_options --with-system-jpeg
-ac_add_options --with-system-zlib
-ac_add_options --with-system-png
-ac_add_options --with-system-libvpx
-ac_add_options --with-pthreads
-ac_add_options --disable-tests
-ac_add_options --disable-debug
-ac_add_options --enable-optimize
-ac_add_options --disable-installer
-ac_add_options --enable-xinerama
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --disable-xprint
-ac_add_options --disable-strip
-ac_add_options --enable-pango
-ac_add_options --enable-svg
-ac_add_options --enable-canvas
-ac_add_options --enable-startup-notification
-ac_add_options --enable-libxul
-ac_add_options --disable-crashreporter
-ac_add_options --disable-updater
-ac_add_options --enable-safe-browsing
-ac_add_options --enable-chrome-format=jar
-ac_add_options --disable-elf-hack
-ac_add_options --enable-libnotify
-ac_add_options --disable-cpp-exceptions
-ac_add_options --enable-url-classifier
-ac_add_options --enable-gio
-ac_add_options --disable-gnomevfs
-ac_add_options --disable-static
-ac_add_options --enable-official-branding
-
-export BUILD_OFFICIAL=1
-export MOZILLA_OFFICIAL=1
-export USE_SHORT_LIBNAME=1
-
-mk_add_options BUILD_OFFICIAL=1
-mk_add_options MOZILLA_OFFICIAL=1
-mk_add_options USE_SHORT_LIBNAME=1
diff --git a/testing/gdnsd/APKBUILD b/testing/gdnsd/APKBUILD
new file mode 100644
index 0000000000..e353e12c69
--- /dev/null
+++ b/testing/gdnsd/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=gdnsd
+pkgver=1.6.2
+pkgrel=0
+pkgdesc="Geographic Authoritative DNS server"
+url="http://code.google.com/p/gdnsd/"
+arch="all"
+license="GPL-3"
+depends=""
+depends_dev=""
+makedepends="libev-dev libcap-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://gdnsd.googlecode.com/files/gdnsd-$pkgver.tar.xz"
+
+_builddir="$srcdir"/gdnsd-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la \
+ "$pkgdir"/usr/lib/gdnsd/*.la
+}
+
+md5sums="082f874d24cdc7073950ed6294f8d39b gdnsd-1.6.2.tar.xz"
diff --git a/testing/gdnsd/gdnsd.pre-install b/testing/gdnsd/gdnsd.pre-install
new file mode 100644
index 0000000000..66de81a2e1
--- /dev/null
+++ b/testing/gdnsd/gdnsd.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+addgroup gdnsd 2>/dev/null
+adduser -S -H -h /dev/null -s /bin/false -D -G gdnsd gdnsd 2>/dev/null
+exit 0
diff --git a/testing/perl-class-load/APKBUILD b/testing/perl-class-load/APKBUILD
deleted file mode 100644
index c979053cc6..0000000000
--- a/testing/perl-class-load/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=perl-class-load
-pkgver=0.13
-pkgrel=0
-pkgdesc="Class::Load perl module"
-url="http://search.cpan.org/dist/Class-Load/"
-arch="noarch"
-license="GPLv2 or Artistic"
-depends="perl perl-test-fatal perl-data-optlist perl-module-runtime perl-package-stash"
-makedepends="perl-dev"
-install=""
-subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Class-Load-$pkgver.tar.gz"
-
-_builddir="$srcdir"/Class-Load-$pkgver
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-}
-
-build() {
- cd "$_builddir"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make && make test || return 1
-}
-
-package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-md5sums="d26a8c6da4e12d72d9f06a47c89c6a73 Class-Load-0.13.tar.gz"
diff --git a/testing/perl-sub-uplevel/APKBUILD b/testing/perl-sub-uplevel/APKBUILD
deleted file mode 100644
index 3c06281438..0000000000
--- a/testing/perl-sub-uplevel/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 1
-# Contributor: Francesco Colista <francesco.colista@gmail.com>
-# Maintainer: Francesco Colista <francesco.colista@gmail.com>
-pkgname=perl-sub-uplevel
-_pkgreal=Sub-Uplevel
-pkgver=0.22
-pkgrel=0
-pkgdesc="apparently run a function in a higher stack frame"
-url="http://search.cpan.org/dist/Sub-Uplevel/"
-arch="noarch"
-license="GPL PerlArtistic"
-cpandepends=""
-cpanmakedepends=""
-depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends"
-subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/$_pkgreal-$pkgver.tar.gz"
-
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- perl Build.PL installdirs=vendor || return 1
-}
-
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- ./Build && ./Build test
-}
-
-package() {
- cd "$_builddir"
- ./Build install destdir="$pkgdir" || return 1
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-md5sums="c166738a97c0424a0075ebe205d285db Sub-Uplevel-0.22.tar.gz"
diff --git a/testing/perl-test-fatal/APKBUILD b/testing/perl-test-fatal/APKBUILD
deleted file mode 100644
index 4af1de9b3a..0000000000
--- a/testing/perl-test-fatal/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 1
-# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-pkgname=perl-test-fatal
-_pkgreal=Test-Fatal
-pkgver=0.008
-pkgrel=0
-pkgdesc="incredibly simple helpers for testing code with exceptions"
-url="http://search.cpan.org/dist/Test-Fatal/"
-arch="noarch"
-license="GPL PerlArtistic"
-cpandepends="perl-try-tiny"
-cpanmakedepends=""
-depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends"
-subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
-
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
-}
-
-build() {
- cd "$_builddir"
- make && make test
-}
-
-package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-md5sums="201c94efbbcbd38b32e3cdc6752a6c07 Test-Fatal-0.008.tar.gz"
diff --git a/testing/perl-test-warn/APKBUILD b/testing/perl-test-warn/APKBUILD
deleted file mode 100644
index 8b4779281a..0000000000
--- a/testing/perl-test-warn/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 1
-# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-pkgname=perl-test-warn
-_pkgreal=Test-Warn
-pkgver=0.23
-pkgrel=0
-pkgdesc="Perl extension to test methods for warnings "
-url="http://search.cpan.org/dist/Test-Warn/"
-arch="noarch"
-license="GPL PerlArtistic"
-cpandepends="perl-tree-dag_node perl-sub-uplevel"
-cpanmakedepends=""
-depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends"
-subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/$_pkgreal-$pkgver.tar.gz"
-
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
-}
-
-build() {
- cd "$_builddir"
- make && make test
-}
-
-package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-md5sums="96e224cba15bf69b7513c08e70496457 Test-Warn-0.23.tar.gz"
diff --git a/testing/perl-tree-dag_node/APKBUILD b/testing/perl-tree-dag_node/APKBUILD
deleted file mode 100644
index dc47d6a2fb..0000000000
--- a/testing/perl-tree-dag_node/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 1
-# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-pkgname=perl-tree-dag_node
-_pkgreal=Tree-DAG_Node
-pkgver=1.06
-pkgrel=0
-pkgdesc="(super)class for representing nodes in a tree"
-url="http://search.cpan.org/dist/Tree-DAG_Node/"
-arch="noarch"
-license="GPL PerlArtistic"
-cpandepends=""
-cpanmakedepends=""
-depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends"
-subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/C/CO/COGENT/$_pkgreal-$pkgver.tar.gz"
-
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
-}
-
-build() {
- cd "$_builddir"
- make && make test
-}
-
-package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-md5sums="3b006f128bd1d8961fc57c466ffa05f2 Tree-DAG_Node-1.06.tar.gz"
diff --git a/testing/perl-try-tiny/APKBUILD b/testing/perl-try-tiny/APKBUILD
deleted file mode 100644
index c8cad77445..0000000000
--- a/testing/perl-try-tiny/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 1
-# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-pkgname=perl-try-tiny
-_pkgreal=Try-Tiny
-pkgver=0.11
-pkgrel=0
-pkgdesc="unknown"
-url="http://search.cpan.org/dist/Try-Tiny/"
-arch="noarch"
-license="GPL PerlArtistic"
-cpandepends=""
-cpanmakedepends=""
-depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends"
-subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/D/DO/DOY/$_pkgreal-$pkgver.tar.gz"
-
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
-}
-
-build() {
- cd "$_builddir"
- make && make test
-}
-
-package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-md5sums="4d2c8ff385ac3513edf4c042dd0eacbe Try-Tiny-0.11.tar.gz"
diff --git a/testing/xen/APKBUILD b/testing/xen/APKBUILD
deleted file mode 100644
index c6c120168e..0000000000
--- a/testing/xen/APKBUILD
+++ /dev/null
@@ -1,95 +0,0 @@
-# Contributor: Roger Pau Monne <roger.pau@entel.upc.edu>
-# Maintainer:
-pkgname=xen
-pkgver=4.1.2
-pkgrel=2
-pkgdesc="Xen hypervisor"
-url="http://www.xen.org"
-arch="x86 x86_64"
-license="GPL"
-depends="udev syslinux bash"
-depends_dev="openssl-dev python-dev e2fsprogs-dev gettext zlib-dev ncurses-dev
- libiconv-dev dev86 texinfo perl iasl pciutils-dev"
-makedepends="$depends_dev"
-install=""
-subpackages="$pkgname-doc"
-source="http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.gz
- blktap2_libvhd_add_iconv.patch
- detect_libiconv.patch
- fix_bswap_blktap.patch
- fix_bswap_blktap2.patch
- fix_ipxe_no_pie_default.patch
- define_fsimage_dir.patch
- pygrub_alpine.patch
- librt.patch
- busybox-sed.patch
- xencommons.initd
- xend.initd
- xendomains.initd"
-
-_builddir="$srcdir"/$pkgname-$pkgver
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-
- # remove all -Werror
- msg "Eradicating -Werror..."
- find -name '*.mk' -o -name 'Make*' | xargs sed -i -e 's/-Werror//g'
-
- echo "LIBLEAFDIR_x86_64=lib" >> .config
-}
-
-build() {
- cd "$_builddir"
-
- # Unset CFLAGS and LDFLAGS because the xen build system
- # doesn't support them. Instead use .config in xen root
- # folder if necessary.
- unset CFLAGS
- unset LDFLAGS
-
- msg "Running preflight check..."
- (cd tools/check; ./chk build) || return 1
-
- msg "Building hypervisor..."
- make xen || return 1
-
- msg "Building tools..."
- make tools || return 1
-
- msg "Building stub domains..."
- make -j1 stubdom || return 1
-}
-
-package() {
- cd "$_builddir"
-
- unset CFLAGS
- unset LDFLAGS
-
- make -j1 DESTDIR="$pkgdir" install-xen install-tools install-stubdom \
- || return 1
-
- install -m755 -D "$srcdir"/xencommons.initd "$pkgdir"/etc/init.d/xencommons
- install -m755 -D "$srcdir"/xend.initd "$pkgdir"/etc/init.d/xend
- install -m755 -D "$srcdir"/xendomains.initd "$pkgdir"/etc/init.d/xendomains
-}
-
-md5sums="73561faf3c1b5e36ec5c089b5db848ad xen-4.1.2.tar.gz
-6d4b045ae56be6288733d0e078f591ea blktap2_libvhd_add_iconv.patch
-ed3283697cb1ddff066f4087eabf68c6 detect_libiconv.patch
-503f0883f4a0b50fe4e37e09ed9a6177 fix_bswap_blktap.patch
-b973dc1ffcc6872e222b36f3b7b4836b fix_bswap_blktap2.patch
-10dcf0b6a05691e9f88afc01bd414480 fix_ipxe_no_pie_default.patch
-0bb8a435020a5a49b38b1a447fb69977 define_fsimage_dir.patch
-a7500c42804abdf68e051dc667e65f93 pygrub_alpine.patch
-fa06495a175571f4aa3b6cb88937953e librt.patch
-1bea3543ddc712330527b62fd9ff6520 busybox-sed.patch
-4cf88b53f8ca8d99ad52bae419b620a7 xencommons.initd
-b5bfc08b82bc0d21193714719a719798 xend.initd
-86e7923383a906404da321d1814657e9 xendomains.initd"
diff --git a/testing/xen/xencommons.initd b/testing/xen/xencommons.initd
deleted file mode 100644
index 3d3c5da387..0000000000
--- a/testing/xen/xencommons.initd
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-if [ -d /etc/sysconfig ]; then
- xencommons_config=/etc/sysconfig
-else
- xencommons_config=/etc/default
-fi
-
-test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
-
-XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid
-
-# not running in Xen dom0 or domU
-if ! test -d /proc/xen ; then
- exit 0
-fi
-
-# mount xenfs in dom0 or domU with a pv_ops kernel
-if test "x$1" = xstart && \
- ! test -f /proc/xen/capabilities && \
- ! grep '^xenfs ' /proc/mounts >/dev/null;
-then
- mount -t xenfs xenfs /proc/xen
-fi
-
-# run this script only in dom0:
-# no capabilities file in xenlinux domU kernel
-# empty capabilities file in pv_ops domU kernel
-if test -f /proc/xen/capabilities && \
- ! grep -q "control_d" /proc/xen/capabilities ; then
- exit 0
-fi
-
-depend() {
- need udev
- before xend
-}
-
-start() {
- local time=0
- local timeout=30
-
- modprobe xen-evtchn 2>/dev/null
- modprobe xen-gntdev 2>/dev/null
- modprobe evtchn 2>/dev/null
- modprobe gntdev 2>/dev/null
-
- if ! `xenstore-read -s / >/dev/null 2>&1`
- then
- test -z "$XENSTORED_ROOTDIR" || XENSTORED_ROOTDIR="/var/lib/xenstored"
- rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null
- test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T /var/log/xen/xenstored-trace.log"
-
- ebegin "Starting xenstored..."
- xenstored --pid-file=/var/run/xenstored.pid $XENSTORED_ARGS
-
- # Wait for xenstored to actually come up, timing out after 30 seconds
- while [ $time -lt $timeout ] && ! `xenstore-read -s / >/dev/null 2>&1` ; do
- time=$(($time+1))
- sleep 1
- done
-
- # Exit if we timed out
- if ! [ $time -lt $timeout ] ; then
- eend 1
- echo Could not start xenstored
- exit 1
- fi
- eend 0
-
- ebegin "Setting domain 0 name..."
- xenstore-write "/local/domain/0/name" "Domain-0"
- eend $?
- fi
-
- ebegin "Starting xenconsoled..."
- test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" --log=$XENCONSOLED_TRACE"
- xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
- eend $?
-
- test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
- test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
-}
-
-stop() {
- ebegin "Stopping xenconsoled"
- if read 2>/dev/null <$XENCONSOLED_PIDFILE pid; then
- kill $pid
- while kill -9 $pid >/dev/null 2>&1; do sleep 0.1; done
- rm -f $XENCONSOLED_PIDFILE
- fi
- eend 0
-
- echo WARNING: Not stopping xenstored, as it cannot be restarted.
-}
-
-status() {
- xenstore-read -s / >/dev/null 2>&1
-}
diff --git a/testing/xen/xend.initd b/testing/xen/xend.initd
deleted file mode 100644
index 398ecd86b9..0000000000
--- a/testing/xen/xend.initd
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/sbin/runscript
-
-depend() {
- need xencommons
- before xendomains
-}
-
-await_daemons_up() {
- i=1
- rets=10
- /usr/sbin/xend status
- while [ $? -ne 0 -a $i -lt $rets ]; do
- sleep 1
- i=$(($i + 1))
- /usr/sbin/xend status
- done
-}
-
-start() {
- ebegin "Starting Xen daemons"
- if [ -z "`ps xenconsoled -o pid=`" ]; then
- eend 1
- echo "xencommons should be started first."
- exit 1
- fi
- mkdir -p /var/lock
- if [ -d /var/lock/subsys ]; then
- touch /var/lock/subsys/xend
- else
- touch /var/lock/xend
- fi
- /usr/sbin/xend start
- await_daemons_up
- eend $?
-}
-
-stop() {
- ebegin "Stopping Xen control daemon"
- /usr/sbin/xend stop
- rm -f /var/lock/subsys/xend /var/lock/xend
- eend $?
-}
-
-restart() {
- ebegin "Restarting Xen control daemon"
- /usr/sbin/xend restart
- await_daemons_up
- eend $?
-}
-
-status() {
- /usr/sbin/xend status
-}
diff --git a/testing/xen/xendomains.initd b/testing/xen/xendomains.initd
deleted file mode 100644
index 0f309ef3d0..0000000000
--- a/testing/xen/xendomains.initd
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/sbin/runscript
-
-CMD=xm
-/usr/sbin/$CMD list &> /dev/null
-if test $? -ne 0
-then
- CMD=xl
-fi
-
-/usr/sbin/$CMD list &> /dev/null
-if test $? -ne 0
-then
- eend 1;
- exit 1;
-fi
-
-# Correct exit code would probably be 5, but it's enough
-# if xend complains if we're not running as privileged domain
-if ! [ -e /proc/xen/privcmd ]; then
- eend 1;
- exit 1;
-fi
-
-# See docs/misc/distro_mapping.txt
-if [ -d /var/lock/subsys ]; then
- LOCKFILE=/var/lock/subsys/xendomains
-else
- LOCKFILE=/var/lock/xendomains
-fi
-
-if [ -d /etc/sysconfig ]; then
- XENDOM_CONFIG=/etc/sysconfig/xendomains
-else
- XENDOM_CONFIG=/etc/default/xendomains
-fi
-
-if ! [ -r $XENDOM_CONFIG ]; then
- eend 1;
- echo "$XENDOM_CONFIG not existing";
- exit 1;
-fi
-
-. $XENDOM_CONFIG
-
-depend() {
- need xencommons
- after net xend
-}
-
-get_domname() {
- local name_from_file=$(sed -rn 's/^name\W*=\W*\"?([[:alnum:]_\.-]+)\"?\W*;?/\1/p' "${1}" | tail -n 1)
-
- if [[ -z ${name_from_file} ]] ; then
- basename "${1}"
- else
- echo ${name_from_file}
- fi
-}
-
-is_running() {
- /usr/sbin/$CMD list "${1}" >/dev/null 2>&1
-}
-
-start() {
- einfo "Starting Xen domains in ${AUTODIR:=/etc/xen/auto}"
-
- for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do
- name=$(get_domname ${dom})
- if ! is_running ${name} ; then
- ebegin " Starting domain ${name}"
- /usr/sbin/$CMD create --quiet --defconfig ${dom}
- eend $?
- else
- einfo " Not starting ${name} - already running."
- fi
- done
-}
-
-stop() {
- einfo "Stopping Xen domains in ${AUTODIR:=/etc/xen/auto}"
-
- for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do
- name=$(get_domname ${dom})
- if is_running ${name} ; then
- ebegin " Sending shutdown signal to ${name}"
- /usr/sbin/$CMD shutdown ${name} >/dev/null
- eend $?
- fi
- done
-
- for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do
- name=$(get_domname ${dom})
- if is_running ${name} ; then
- ebegin " Waiting for domain ${name} to shutdown"
- /usr/sbin/$CMD shutdown --wait ${name}
- eend $?
- else
- einfo " Not stopping ${name} - not running."
- fi
- done
-}
-
-status() {
- /usr/sbin/$CMD list
-}
diff --git a/testing/xulrunner/0002-Use-C99-math-isfinite.patch b/testing/xulrunner/0002-Use-C99-math-isfinite.patch
deleted file mode 100644
index 3d85a69288..0000000000
--- a/testing/xulrunner/0002-Use-C99-math-isfinite.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From cdb9db4c1c593dbe22db4f389a62fce034f31f2d Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 25 Nov 2011 08:30:51 +0000
-Subject: [PATCH 2/4] Use C99 math isfinite
-
----
- js/src/ctypes/CTypes.cpp | 2 +-
- xpcom/ds/nsMathUtils.h | 6 +++++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/js/src/ctypes/CTypes.cpp b/js/src/ctypes/CTypes.cpp
-index 5c0f886..a3b1ae6 100644
---- a/js/src/ctypes/CTypes.cpp
-+++ b/js/src/ctypes/CTypes.cpp
-@@ -467,7 +467,7 @@ static inline bool FloatIsFinite(jsdouble f) {
- #ifdef WIN32
- return _finite(f) != 0;
- #else
-- return finite(f);
-+ return isfinite(f);
- #endif
- }
-
-diff --git a/xpcom/ds/nsMathUtils.h b/xpcom/ds/nsMathUtils.h
-index 21ffbec..2e80476 100644
---- a/xpcom/ds/nsMathUtils.h
-+++ b/xpcom/ds/nsMathUtils.h
-@@ -131,7 +131,11 @@ inline NS_HIDDEN_(bool) NS_finite(double d)
- // NOTE: '!!' casts an int to bool without spamming MSVC warning C4800.
- return !!_finite(d);
- #else
-- return finite(d);
-+#ifdef _GLIBCXX_CMATH
-+ return std::isfinite(d);
-+#else
-+ return isfinite(d);
-+#endif
- #endif
- }
-
---
-1.7.7.4
-
diff --git a/testing/xulrunner/0003-xulrunner-jemalloc-aslr.patch b/testing/xulrunner/0003-xulrunner-jemalloc-aslr.patch
deleted file mode 100644
index 6784b13e74..0000000000
--- a/testing/xulrunner/0003-xulrunner-jemalloc-aslr.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 88bb9f90ec1e4b43fb78596c8ff7577c92592eb4 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 25 Nov 2011 08:36:52 +0000
-Subject: [PATCH 3/4] xulrunner: jemalloc aslr
-
----
- memory/jemalloc/jemalloc.c | 33 ++++++++++++++++++++++-----------
- 1 files changed, 22 insertions(+), 11 deletions(-)
-
-diff --git a/memory/jemalloc/jemalloc.c b/memory/jemalloc/jemalloc.c
-index ad7c450..91de92c 100644
---- a/memory/jemalloc/jemalloc.c
-+++ b/memory/jemalloc/jemalloc.c
-@@ -410,7 +410,7 @@ void *_mmap(void *addr, size_t length, int prot, int flags,
- static const bool __isthreaded = true;
- #endif
-
--#if defined(MOZ_MEMORY_SOLARIS) && defined(MAP_ALIGN) && !defined(JEMALLOC_NEVER_USES_MAP_ALIGN)
-+#if defined(MOZ_MEMORY_SOLARIS) || defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
- #define JEMALLOC_USES_MAP_ALIGN /* Required on Solaris 10. Might improve performance elsewhere. */
- #endif
-
-@@ -2181,20 +2181,31 @@ pages_map_align(size_t size, int pfd, size_t alignment)
- * We don't use MAP_FIXED here, because it can cause the *replacement*
- * of existing mappings, and we only want to create new mappings.
- */
--#ifdef MALLOC_PAGEFILE
-- if (pfd != -1) {
-- ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-- MAP_NOSYNC | MAP_ALIGN, pfd, 0);
-- } else
--#endif
-- {
-- ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-- MAP_NOSYNC | MAP_ALIGN | MAP_ANON, -1, 0);
-- }
-+ ret = mmap(NULL, size + alignment, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-+ MAP_NOSYNC| MAP_ANON, -1, 0);
- assert(ret != NULL);
-
- if (ret == MAP_FAILED)
- ret = NULL;
-+ else {
-+ uintptr_t aligned_ret;
-+ size_t extra_size;
-+
-+ aligned_ret = (uintptr_t)ret + alignment - 1;
-+ aligned_ret &= ~(alignment - 1);
-+ extra_size = aligned_ret - (uintptr_t)ret;
-+ munmap(ret, extra_size);
-+ munmap(ret + extra_size + size, alignment - extra_size);
-+ ret = (void *)aligned_ret;
-+#ifdef MALLOC_PAGEFILE
-+ if (pfd != -1) {
-+ ret = mmap(ret, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-+ MAP_NOSYNC | MAP_FIXED, pfd, 0);
-+ }
-+ if (ret == MAP_FAILED)
-+ ret = NULL;
-+#endif
-+ }
- return (ret);
- }
- #endif
---
-1.7.7.4
-
diff --git a/testing/xulrunner/0004-xulrunner-malloc_usable_size.patch b/testing/xulrunner/0004-xulrunner-malloc_usable_size.patch
deleted file mode 100644
index 986b183ece..0000000000
--- a/testing/xulrunner/0004-xulrunner-malloc_usable_size.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Timo Teräs <timo.teras@iki.fi>
-
-malloc_usable_size is not defined on uclibc, so workaround
-that in jemalloc. Fix mozalloc linking.
-
---- mozilla-release-old/memory/jemalloc/jemalloc.h
-+++ mozilla-release/memory/jemalloc/jemalloc.h
-@@ -75,8 +75,12 @@
- /* Linux has memalign and malloc_usable_size */
- #if !defined(MOZ_MEMORY_LINUX)
- void *memalign(size_t alignment, size_t size);
--size_t malloc_usable_size(const void *ptr);
- #endif /* MOZ_MEMORY_LINUX */
-+
-+#include <features.h>
-+#if defined(__UCLIBC__) || !defined(MOZ_MEMORY_LINUX)
-+size_t malloc_usable_size(const void *ptr);
-+#endif
-
- void jemalloc_stats(jemalloc_stats_t *stats);
-
---- mozilla-release-old/memory/mozalloc/Makefile.in
-+++ mozilla-release/memory/mozalloc/Makefile.in
-@@ -43,6 +43,10 @@
-
- include $(DEPTH)/config/autoconf.mk
-
-+ifdef MOZ_MEMORY
-+SHARED_LIBRARY_LIBS = $(call EXPAND_LIBNAME_PATH,jemalloc,../jemalloc)
-+endif
-+
- VISIBILITY_FLAGS=
- STL_FLAGS =
- ifdef _MSC_VER
diff --git a/testing/xulrunner/APKBUILD b/testing/xulrunner/APKBUILD
deleted file mode 100644
index e5954846f6..0000000000
--- a/testing/xulrunner/APKBUILD
+++ /dev/null
@@ -1,112 +0,0 @@
-# Contributor: William Pitcock <nenolod@dereferenced.org>
-# Maintainer: William Pitcock <nenolod@dereferenced.org>
-pkgname=xulrunner
-pkgver=10.0
-_ffoxver=10.0
-pkgrel=4
-pkgdesc="runtime environment for xul-based applications"
-url="http://developer.mozilla.org/en/XULRunner"
-arch="all"
-license="GPL LGPL MPL"
-depends=
-depends_dev="nspr-dev
- nss-dev
- gtk+-dev
- dbus-glib-dev
- alsa-lib-dev
- libvorbis-dev
- libogg-dev
- libtheora-dev
- wireless-tools-dev
- libnotify-dev
- libevent-dev
- libxt-dev
- jpeg-dev
- bzip2-dev
- hunspell-dev
- startup-notification-dev
- sqlite-dev
- libidl-dev
- mesa-dev"
-makedepends="$depends_dev
-
- autoconf2.13
-
- python
- zip
- yasm
-
- autoconf
- automake
- libtool"
-install=""
-options=""
-subpackages="$pkgname-dev"
-# http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/${pkgver}/source/${pkgname}-${pkgver}.source.tar.bz2
-source="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${_ffoxver}/source/firefox-${_ffoxver}.source.tar.bz2
-
- mozconfig
- 0002-Use-C99-math-isfinite.patch
- 0003-xulrunner-jemalloc-aslr.patch
- 0004-xulrunner-malloc_usable_size.patch
- ff9-aslr-fix.patch
- "
-
-_builddir="${srcdir}/mozilla-release"
-prepare() {
- local i
-
- cd "$_builddir"
-
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-
- cp "${srcdir}/mozconfig" .mozconfig
-}
-
-build() {
- cd "$_builddir"
-
- # mozilla's buildsystem is on drugs, so we just kill our CFLAGS and hope
- # for the best. --nenolod
- unset CFLAGS
- unset CXXFLAGS
-
- make -j1 -f client.mk build \
- MOZ_MAKE_FLAGS="$MAKEFLAGS" || return 1
-}
-
-package() {
- cd "$_builddir"
- make -j1 DESTDIR="$pkgdir" -f client.mk install || return 1
-
- # make install does not install xpt.py but its needed by firefox
- mkdir -p "$pkgdir"/usr/lib/xulrunner-devel-$pkgver/sdk/bin
- cp xpcom/typelib/xpt/tools/xpt.py \
- "$pkgdir"/usr/lib/xulrunner-devel-$pkgver/sdk/bin/
-
- msg "Setting up compatibility symlinks..."
- ln -sf /usr/lib/xulrunner-${pkgver}/libxul.so "${pkgdir}"/usr/lib/libxul.so
- ln -sf /usr/lib/xulrunner-${pkgver}/libxpcom.so "${pkgdir}"/usr/lib/libxpcom.so
- ln -sf /usr/lib/xulrunner-${pkgver}/libmozalloc.so "${pkgdir}"/usr/lib/libmozalloc.so
-}
-
-dev() {
- replaces="xulrunner"
- depends="xulrunner"
-
- mkdir -p "${subpkgdir}"/usr/lib
- mv "${pkgdir}"/usr/lib/xulrunner-devel-${pkgver} "${subpkgdir}"/usr/lib
- mv "${pkgdir}"/usr/lib/pkgconfig "${subpkgdir}"/usr/lib
- mv "${pkgdir}"/usr/include "${subpkgdir}"/usr/include
-}
-
-md5sums="13c61203ccfa583e5a54b4dc22f41233 firefox-10.0.source.tar.bz2
-b0f7d491bc800b69ec718667a4b08acb mozconfig
-1867db217d10722675c88b655db8c2d7 0002-Use-C99-math-isfinite.patch
-7faa279d64c9ec2e7abc7c0497c7e07e 0003-xulrunner-jemalloc-aslr.patch
-d12e0636e1f9877ef2d1df45d5834c87 0004-xulrunner-malloc_usable_size.patch
-96b40acd003a0a586e408bf09ae5af1d ff9-aslr-fix.patch"
diff --git a/testing/xulrunner/ff9-aslr-fix.patch b/testing/xulrunner/ff9-aslr-fix.patch
deleted file mode 100644
index 4e4297d0ed..0000000000
--- a/testing/xulrunner/ff9-aslr-fix.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- ./js/src/jsgcchunk.cpp 2011-12-22 17:13:21.000000000 +0000
-+++ ./js/src/jsgcchunk.cpp 2011-12-22 17:18:31.000000000 +0000
-@@ -213,7 +213,7 @@
- #elif defined(XP_UNIX)
-
- /* Required on Solaris 10. Might improve performance elsewhere. */
--# if defined(SOLARIS) && defined(MAP_ALIGN)
-+# if (defined(SOLARIS) && defined(MAP_ALIGN)) || defined(MOZ_MEMORY_LINUX)
- # define JS_GC_HAS_MAP_ALIGN
-
- static void *
---- ./js/src/jsgcchunk.cpp 2011-12-22 17:55:24.000000000 +0000
-+++ ./js/src/jsgcchunk.cpp 2011-12-22 18:02:24.000000000 +0000
-@@ -226,12 +226,24 @@
- #ifdef SOLARIS
- void *p = mmap((caddr_t) alignment, size, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_NOSYNC | MAP_ALIGN | MAP_ANON, -1, 0);
-+ if (p == MAP_FAILED)
-+ return NULL;
- #else
-- void *p = mmap((void *) alignment, size, PROT_READ | PROT_WRITE,
-- MAP_PRIVATE | MAP_NOSYNC | MAP_ALIGN | MAP_ANON, -1, 0);
--#endif
-+ void *p = mmap(NULL, size + alignment, PROT_READ | PROT_WRITE,
-+ MAP_PRIVATE | MAP_NOSYNC | MAP_ANON, -1, 0);
- if (p == MAP_FAILED)
- return NULL;
-+ uintptr_t aligned_ret;
-+ size_t extra_size;
-+
-+ aligned_ret = (uintptr_t)p + alignment - 1;
-+ aligned_ret &= ~(alignment - 1);
-+ extra_size = aligned_ret - (uintptr_t)p;
-+ munmap(p, extra_size);
-+ munmap(p + extra_size + size, alignment - extra_size);
-+ p = (void *)aligned_ret;
-+#endif
-+
- return p;
- }
diff --git a/testing/xulrunner/mozconfig b/testing/xulrunner/mozconfig
deleted file mode 100644
index 2cbb45b7ae..0000000000
--- a/testing/xulrunner/mozconfig
+++ /dev/null
@@ -1,38 +0,0 @@
-. $topsrcdir/xulrunner/config/mozconfig
-
-ac_add_options --prefix=/usr
-ac_add_options --libdir=/usr/lib
-ac_add_options --with-system-nspr
-ac_add_options --with-system-nss
-ac_add_options --with-system-jpeg
-ac_add_options --with-system-zlib
-ac_add_options --with-system-bz2
-ac_add_options --with-system-libevent
-ac_add_options --enable-system-hunspell
-ac_add_options --enable-system-sqlite
-ac_add_options --enable-system-cairo
-ac_add_options --with-pthreads
-ac_add_options --enable-strip
-ac_add_options --disable-tests
-ac_add_options --disable-mochitest
-ac_add_options --disable-installer
-ac_add_options --disable-debug
-ac_add_options --enable-optimize
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --enable-pango
-ac_add_options --enable-svg
-ac_add_options --enable-canvas
-ac_add_options --disable-javaxpcom
-ac_add_options --disable-crashreporter
-ac_add_options --enable-safe-browsing
-ac_add_options --enable-startup-notification
-ac_add_options --enable-extensions=default
-ac_add_options --enable-jemalloc
-ac_add_options --disable-elf-hack
-
-# export LIBS="-lubacktrace"
-export BUILD_OFFICIAL=1
-export MOZILLA_OFFICIAL=1
-
-mk_add_options BUILD_OFFICIAL=1
-mk_add_options MOZILLA_OFFICIAL=1
diff --git a/unstable/jabberd14/APKBUILD b/unstable/jabberd14/APKBUILD
index ac499e289b..a9b7f7f505 100644
--- a/unstable/jabberd14/APKBUILD
+++ b/unstable/jabberd14/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
pkgname=jabberd14
pkgver=1.6.1.1
-pkgrel=1
+pkgrel=2
pkgdesc="Jabber server or XMPP"
url="http://jabberd.org/"
license="GPL"
depends=
-makedepends="uclibc-dev automake pkgconfig gnutls-dev libidn-dev libtool
- uclibc++-dev popt-dev pth-dev expat-dev libgcrypt-dev"
+makedepends="automake pkgconfig gnutls-dev libidn-dev libtool
+ popt-dev pth-dev expat-dev libgcrypt-dev"
install=
subpackages="$pkgname-doc $pkgname-dev"
source="http://download.jabberd.org/jabberd14/$pkgname-$pkgver.tar.gz