aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testing/kdelibs/APKBUILD46
-rw-r--r--testing/kdelibs/kdelibs-madvise.patch22
-rw-r--r--testing/kdelibs/kdelibs-skipname.patch60
3 files changed, 128 insertions, 0 deletions
diff --git a/testing/kdelibs/APKBUILD b/testing/kdelibs/APKBUILD
new file mode 100644
index 0000000000..3cf1e3bd19
--- /dev/null
+++ b/testing/kdelibs/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=kdelibs
+pkgver=4.6.3
+pkgrel=0
+pkgdesc="KDE base libraries"
+url="http://www.kde.org/"
+arch="all"
+license="GPL"
+depends=
+depends_dev="qt-dev phonon-dev polkit-qt-dev pcre-dev gamin-dev enchant-dev udev-dev
+ giflib-dev docbook-xml docbook-xsl acl-dev jasper-dev strigi-dev xz-dev
+ avahi-dev attica-dev aspell-dev libdbusmenu-qt-dev soprano-dev"
+makedepends="$depends_dev cmake automoc4"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdelibs-$pkgver.tar.bz2
+ kdelibs-madvise.patch
+ kdelibs-skipname.patch"
+
+_builddir="$srcdir"/kdelibs-$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
+ mkdir -p "$_builddir"/build
+}
+
+build() {
+ cd "$_builddir"/build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr "$_builddir" || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="923a7e8f89aa504647e14472b24b8c0a kdelibs-4.6.3.tar.bz2
+90c533263848d54312ba37c6ac203818 kdelibs-madvise.patch
+9ff128752c657094dff94bae96d1528f kdelibs-skipname.patch"
diff --git a/testing/kdelibs/kdelibs-madvise.patch b/testing/kdelibs/kdelibs-madvise.patch
new file mode 100644
index 0000000000..3f3b42569f
--- /dev/null
+++ b/testing/kdelibs/kdelibs-madvise.patch
@@ -0,0 +1,22 @@
+--- kdelibs-4.6.3.orig/kdecore/sycoca/ksycoca.cpp
++++ kdelibs-4.6.3/kdecore/sycoca/ksycoca.cpp
+@@ -139,7 +139,7 @@
+ return false;
+ } else {
+ #ifdef HAVE_MADVISE
+- (void) posix_madvise((void*)sycoca_mmap, sycoca_size, POSIX_MADV_WILLNEED);
++ (void) madvise((void*)sycoca_mmap, sycoca_size, MADV_WILLNEED);
+ #endif // HAVE_MADVISE
+ return true;
+ }
+--- kdelibs-4.6.3.orig/kdeui/util/kpixmapcache.cpp
++++ kdelibs-4.6.3/kdeui/util/kpixmapcache.cpp
+@@ -443,7 +443,7 @@
+ }
+ info->indexHeader = reinterpret_cast<KPixmapCacheIndexHeader *>(indexMem);
+ #ifdef HAVE_MADVISE
+- posix_madvise(indexMem, info->size, POSIX_MADV_WILLNEED);
++ madvise(indexMem, info->size, MADV_WILLNEED);
+ #endif
+
+ info->file->close();
diff --git a/testing/kdelibs/kdelibs-skipname.patch b/testing/kdelibs/kdelibs-skipname.patch
new file mode 100644
index 0000000000..7bcb5895ed
--- /dev/null
+++ b/testing/kdelibs/kdelibs-skipname.patch
@@ -0,0 +1,60 @@
+--- kdelibs-4.6.3.orig/kio/misc/kpac/discovery.cpp
++++ kdelibs-4.6.3/kio/misc/kpac/discovery.cpp
+@@ -90,6 +90,34 @@
+ return !m_hostname.isEmpty();
+ }
+
++ int
++ Discovery::skipName(const unsigned char *comp_dn, const unsigned char *eom) const
++ {
++ const u_char *cp;
++ int n;
++
++ cp = comp_dn;
++ while (cp < eom && (n = *cp++)) {
++ /*
++ * check for indirection
++ */
++ switch (n & INDIR_MASK) {
++ case 0: /* normal case, n == len */
++ cp += n;
++ continue;
++ case INDIR_MASK: /* indirection */
++ cp++;
++ break;
++ default: /* illegal type */
++ return (-1);
++ }
++ break;
++ }
++ if (cp > eom)
++ return (-1);
++ return (cp - comp_dn);
++ }
++
+ bool Discovery::checkDomain() const
+ {
+ // If a domain has a SOA record, don't traverse any higher.
+@@ -107,10 +135,10 @@
+ unsigned char* pos = response.buf + sizeof( response.header );
+ unsigned char* end = response.buf + len;
+ // skip query section
+- pos += dn_skipname( pos, end ) + QFIXEDSZ;
++ pos += this->skipName( pos, end ) + QFIXEDSZ;
+ if ( pos >= end ) return true;
+ // skip answer domain
+- pos += dn_skipname( pos, end );
++ pos += this->skipName( pos, end );
+ short type;
+ GETSHORT( type, pos );
+ return type != T_SOA;
+--- kdelibs-4.6.3.orig/kio/misc/kpac/discovery.h
++++ kdelibs-4.6.3/kio/misc/kpac/discovery.h
+@@ -43,6 +43,7 @@
+ private:
+ bool initHostName();
+ bool checkDomain() const;
++ int skipName(const unsigned char*, const unsigned char*) const;
+
+ KProcess* m_helper;
+ QString m_hostname;