diff options
author | Francesco Colista <francesco.colista@gmail.com> | 2012-02-13 16:11:00 +0000 |
---|---|---|
committer | Francesco Colista <francesco.colista@gmail.com> | 2012-02-13 16:11:00 +0000 |
commit | bb8be67c88100eb4b3c0121d7c2695f995c40b03 (patch) | |
tree | 7897ce9beec4ac11af1b599cbb3d45a084d150a6 | |
parent | e115817423b4eb038c449bef018c712f41bf236a (diff) | |
parent | 5263b83fea44e653e1f1891b20a33abe5d8783d9 (diff) | |
download | aports-bb8be67c88100eb4b3c0121d7c2695f995c40b03.tar.bz2 aports-bb8be67c88100eb4b3c0121d7c2695f995c40b03.tar.xz |
Merge git://dev.alpinelinux.org/aports
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 |