diff options
-rw-r--r-- | testing/kdelibs/APKBUILD | 46 | ||||
-rw-r--r-- | testing/kdelibs/kdelibs-madvise.patch | 22 | ||||
-rw-r--r-- | testing/kdelibs/kdelibs-skipname.patch | 60 |
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; |