From 8f0a971364bf8fee254a13a94adf2bfa9173e804 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 24 Sep 2012 00:22:59 -0700 Subject: Mon Sep 24 00:22:58 PDT 2012 --- extra/audacious/PKGBUILD | 9 +- extra/libffado/PKGBUILD | 5 +- extra/libmtp/PKGBUILD | 6 +- extra/qt/PKGBUILD | 15 +- extra/qt/undo-fix-jit-crash-on-x86_64.patch | 280 ++++++++++++++++++++++++++++ extra/transmission/PKGBUILD | 4 +- extra/transmission/transmission-cli.install | 5 +- extra/whois/PKGBUILD | 6 +- 8 files changed, 309 insertions(+), 21 deletions(-) create mode 100644 extra/qt/undo-fix-jit-crash-on-x86_64.patch (limited to 'extra') diff --git a/extra/audacious/PKGBUILD b/extra/audacious/PKGBUILD index 29898c04c..d660f6d86 100644 --- a/extra/audacious/PKGBUILD +++ b/extra/audacious/PKGBUILD @@ -1,20 +1,20 @@ -# $Id: PKGBUILD 165171 2012-08-12 04:07:04Z bisson $ +# $Id: PKGBUILD 166973 2012-09-23 22:56:56Z bisson $ # Contributor: Alexander Fehr # Contributor: Giovanni Scafora # Maintainer: Gaetan Bisson pkgname=audacious -pkgver=3.3.1 +pkgver=3.3.2 pkgrel=1 pkgdesc='Lightweight, advanced audio player focused on audio quality' url='http://audacious-media-player.org/' -license=('GPL3') +license=('custom:BSD') arch=('i686' 'x86_64') depends=('gtk3' 'dbus-glib' 'libguess' 'libsm' 'audacious-plugins' 'hicolor-icon-theme' 'desktop-file-utils') optdepends=('unzip: zipped skins support') source=("http://distfiles.audacious-media-player.org/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('6ccd6856df853d939ea41402be4bfc76a5423a8f') +sha1sums=('bab3bcb267b8b333570c85cae9590470fe509eb9') provides=('audacious-player') replaces=('audacious-player') @@ -29,4 +29,5 @@ build() { package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/extra/libffado/PKGBUILD b/extra/libffado/PKGBUILD index a3ebc3d37..d0fbd0b4f 100644 --- a/extra/libffado/PKGBUILD +++ b/extra/libffado/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 166872 2012-09-20 10:13:42Z schiv $ +# $Id: PKGBUILD 166955 2012-09-23 09:44:31Z schiv $ # Maintainer: Ray Rashif # Contributor: galiyosha@gmail.com # Contributor: Jon Kristian Nilsen pkgname=libffado pkgver=2.1.0 -pkgrel=1 +pkgrel=2 pkgdesc="Driver for FireWire audio devices" arch=('i686' 'x86_64') url="http://www.ffado.org/" @@ -26,6 +26,7 @@ _scons-conf() { PREFIX=/usr \ MANDIR=/usr/share/man \ UDEVDIR=/usr/lib/udev/rules.d \ + ENABLE_SETBUFFERSIZE_API_VER=false \ COMPILE_FLAGS="$CFLAGS" $@ } diff --git a/extra/libmtp/PKGBUILD b/extra/libmtp/PKGBUILD index 4fedbdd6a..97169c70c 100644 --- a/extra/libmtp/PKGBUILD +++ b/extra/libmtp/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 165552 2012-08-23 17:48:12Z tomegun $ +# $Id: PKGBUILD 166960 2012-09-23 11:44:00Z tomegun $ # Maintainer: Tom Gundersen # Contributor: damir # Contributor: Kevin Edmonds pkgname=libmtp -pkgver=1.1.4 +pkgver=1.1.5 pkgrel=1 pkgdesc="Library implementation of the Media Transfer Protocol" arch=("i686" "x86_64") @@ -24,4 +24,4 @@ package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install } -md5sums=('27d9bcbc925c1ef84869eb27fdda54e8') +md5sums=('f80e45c0e6e5798c434bb1c26a7b602d') diff --git a/extra/qt/PKGBUILD b/extra/qt/PKGBUILD index 4dae23cae..a29c185e7 100644 --- a/extra/qt/PKGBUILD +++ b/extra/qt/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 166901 2012-09-21 13:44:23Z andrea $ +# $Id: PKGBUILD 166954 2012-09-23 09:22:55Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz pkgbase=qt pkgname=('qt' 'qt-private-headers') pkgver=4.8.3 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') url='http://qt-project.org/' license=('GPL3' 'LGPL') @@ -19,14 +19,16 @@ source=("http://releases.qt-project.org/qt4/source/${_pkgfqn}.tar.gz" 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qtconfig.desktop' 'improve-cups-support.patch' - 'fix-crash-in-assistant.patch') + 'fix-crash-in-assistant.patch' + 'undo-fix-jit-crash-on-x86_64.patch') md5sums=('a663b6c875f8d7caa8ac9c30e4a4ec3b' 'fc211414130ab2764132e7370f8e5caa' '85179f5e0437514f8639957e1d8baf62' 'f11852b97583610f3dbb669ebc3e21bc' '6b771c8a81dd90b45e8a79afa0e5bbfd' 'c439c7731c25387352d8453ca7574971' - '57590084078b6379f0501f7728b02ae2') + '57590084078b6379f0501f7728b02ae2' + '094e5a4e30e52423c77daa4a9c782df5') build() { cd "${srcdir}"/${_pkgfqn} @@ -34,8 +36,11 @@ build() { # (FS#28381) (KDEBUG#180051) patch -p1 -i "${srcdir}"/improve-cups-support.patch - # (FS#) + # (FS#29469) patch -p1 -i "${srcdir}"/fix-crash-in-assistant.patch + + # (FS#31654) + patch -Rp1 -i "${srcdir}"/undo-fix-jit-crash-on-x86_64.patch export QT4DIR="${srcdir}"/${_pkgfqn} export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH} diff --git a/extra/qt/undo-fix-jit-crash-on-x86_64.patch b/extra/qt/undo-fix-jit-crash-on-x86_64.patch new file mode 100644 index 000000000..ac86a846b --- /dev/null +++ b/extra/qt/undo-fix-jit-crash-on-x86_64.patch @@ -0,0 +1,280 @@ +Description: Fix JIT crash on x86-64 (avoid 32-bit branch offset overflow) + . + Cherry-picked from webkit commit + a5b3261a8c4386b4e14ce40a34c7fc933a5f7001 +Origin: commit ada98493bbfbd9af0d0b593017e29d39bcd3495e +Author: Kent Hansen +Forwarded: not-needed +Applied-Upstream: yes +Reviewed-by: Simon Hausmann +Reviewed-by: Kent Hansen +--- + .../javascriptcore/JavaScriptCore/ChangeLog | 27 +++++++++++++++++ + .../JavaScriptCore/JavaScriptCore.pri | 1 + + .../JavaScriptCore/jit/ExecutableAllocator.cpp | 21 +++++++++++++ + .../jit/ExecutableAllocatorFixedVMPool.cpp | 31 +++++++++++++------- + .../jit/ExecutableAllocatorPosix.cpp | 29 ++---------------- + .../jit/ExecutableAllocatorSymbian.cpp | 2 +- + .../JavaScriptCore/jit/ExecutableAllocatorWin.cpp | 2 +- + .../javascriptcore/JavaScriptCore/wtf/Platform.h | 10 +++++++ + 8 files changed, 84 insertions(+), 39 deletions(-) + +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog +index 9cbf0c1..5ab23e6 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog +@@ -1,3 +1,30 @@ ++2010-07-08 Gavin Barraclough ++ ++ Reviewed by Sam Weinig. ++ ++ https://bugs.webkit.org/show_bug.cgi?id=41641 ++ ++ Update compile flags to allow use of ExecutableAllocatorFixedVMPool on platforms ++ other than x86-64 (this may be useful on 32-bit platforms, too). ++ ++ Simplify ifdefs by dividing into thwo broad allocation strategies ++ (ENABLE_EXECUTABLE_ALLOCATOR_FIXED & ENABLE_EXECUTABLE_ALLOCATOR_DEMAND). ++ ++ Rename constant used in the code to have names descriptive of their purpose, ++ rather than their specific value on a given platform. ++ ++ * jit/ExecutableAllocator.cpp: ++ (JSC::ExecutableAllocator::reprotectRegion): ++ (JSC::ExecutableAllocator::cacheFlush): ++ * jit/ExecutableAllocatorFixedVMPool.cpp: ++ (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator): ++ (JSC::FixedVMPoolAllocator::free): ++ (JSC::ExecutablePool::systemAlloc): ++ * jit/ExecutableAllocatorPosix.cpp: ++ * jit/ExecutableAllocatorSymbian.cpp: ++ * jit/ExecutableAllocatorWin.cpp: ++ * wtf/Platform.h: ++ + 2010-08-24 Oliver Hunt + + Reviewed by Geoff Garen. +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri +index b061321..847f69c 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri +@@ -100,6 +100,7 @@ SOURCES += \ + interpreter/CallFrame.cpp \ + interpreter/Interpreter.cpp \ + interpreter/RegisterFile.cpp \ ++ jit/ExecutableAllocatorFixedVMPool.cpp \ + jit/ExecutableAllocatorPosix.cpp \ + jit/ExecutableAllocatorSymbian.cpp \ + jit/ExecutableAllocatorWin.cpp \ +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp +index f6b27ec..f0ebbab 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.cpp +@@ -33,6 +33,27 @@ namespace JSC { + + size_t ExecutableAllocator::pageSize = 0; + ++#if ENABLE(ASSEMBLER_WX_EXCLUSIVE) ++void ExecutableAllocator::reprotectRegion(void* start, size_t size, ProtectionSeting setting) ++{ ++ if (!pageSize) ++ intializePageSize(); ++ ++ // Calculate the start of the page containing this region, ++ // and account for this extra memory within size. ++ intptr_t startPtr = reinterpret_cast(start); ++ intptr_t pageStartPtr = startPtr & ~(pageSize - 1); ++ void* pageStart = reinterpret_cast(pageStartPtr); ++ size += (startPtr - pageStartPtr); ++ ++ // Round size up ++ size += (pageSize - 1); ++ size &= ~(pageSize - 1); ++ ++ mprotect(pageStart, size, (setting == Writable) ? PROTECTION_FLAGS_RW : PROTECTION_FLAGS_RX); ++} ++#endif ++ + } + + #endif // HAVE(ASSEMBLER) +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp +index dd1db4e..16d0fb1 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp +@@ -27,25 +27,33 @@ + + #include "ExecutableAllocator.h" + +-#include ++#if ENABLE(EXECUTABLE_ALLOCATOR_FIXED) + +-#if ENABLE(ASSEMBLER) && OS(DARWIN) && CPU(X86_64) ++#include + + #include "TCSpinLock.h" +-#include +-#include + #include + #include + #include + #include + ++#if CPU(X86_64) ++ // These limits suitable on 64-bit platforms (particularly x86-64, where we require all jumps to have a 2Gb max range). ++ #define VM_POOL_SIZE (2u * 1024u * 1024u * 1024u) // 2Gb ++ #define COALESCE_LIMIT (16u * 1024u * 1024u) // 16Mb ++#else ++ // These limits are hopefully sensible on embedded platforms. ++ #define VM_POOL_SIZE (32u * 1024u * 1024u) // 32Mb ++ #define COALESCE_LIMIT (4u * 1024u * 1024u) // 4Mb ++#endif ++ ++// ASLR currently only works on darwin (due to arc4random) & 64-bit (due to address space size). ++#define VM_POOL_ASLR (OS(DARWIN) && CPU(X86_64)) ++ + using namespace WTF; + + namespace JSC { + +-#define TWO_GB (2u * 1024u * 1024u * 1024u) +-#define SIXTEEN_MB (16u * 1024u * 1024u) +- + // FreeListEntry describes a free chunk of memory, stored in the freeList. + struct FreeListEntry { + FreeListEntry(void* pointer, size_t size) +@@ -291,9 +299,12 @@ public: + // for now instead of 2^26 bits of ASLR lets stick with 25 bits of randomization plus + // 2^24, which should put up somewhere in the middle of usespace (in the address range + // 0x200000000000 .. 0x5fffffffffff). +- intptr_t randomLocation = arc4random() & ((1 << 25) - 1); ++ intptr_t randomLocation = 0; ++#if VM_POOL_ASLR ++ randomLocation = arc4random() & ((1 << 25) - 1); + randomLocation += (1 << 24); + randomLocation <<= 21; ++#endif + m_base = mmap(reinterpret_cast(randomLocation), m_totalHeapSize, INITIAL_PROTECTION_FLAGS, MAP_PRIVATE | MAP_ANON, VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY, 0); + if (!m_base) + CRASH(); +@@ -387,7 +398,7 @@ public: + // 16MB of allocations have been freed, sweep m_freeList + // coalescing any neighboring fragments. + m_countFreedSinceLastCoalesce += size; +- if (m_countFreedSinceLastCoalesce >= SIXTEEN_MB) { ++ if (m_countFreedSinceLastCoalesce >= COALESCE_LIMIT) { + m_countFreedSinceLastCoalesce = 0; + coalesceFreeSpace(); + } +@@ -429,7 +440,7 @@ ExecutablePool::Allocation ExecutablePool::systemAlloc(size_t size) + SpinLockHolder lock_holder(&spinlock); + + if (!allocator) +- allocator = new FixedVMPoolAllocator(JIT_ALLOCATOR_LARGE_ALLOC_SIZE, TWO_GB); ++ allocator = new FixedVMPoolAllocator(JIT_ALLOCATOR_LARGE_ALLOC_SIZE, VM_POOL_SIZE); + ExecutablePool::Allocation alloc = {reinterpret_cast(allocator->alloc(size)), size}; + return alloc; + } +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp +index 2eb0c87..b04049c 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorPosix.cpp +@@ -27,7 +27,7 @@ + + #include "ExecutableAllocator.h" + +-#if ENABLE(ASSEMBLER) && OS(UNIX) && !OS(SYMBIAN) ++#if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND) && !OS(WINDOWS) && !OS(SYMBIAN) + + #include + #include +@@ -35,8 +35,6 @@ + + namespace JSC { + +-#if !(OS(DARWIN) && !PLATFORM(QT) && CPU(X86_64)) +- + void ExecutableAllocator::intializePageSize() + { + ExecutableAllocator::pageSize = getpagesize(); +@@ -57,29 +55,6 @@ void ExecutablePool::systemRelease(const ExecutablePool::Allocation& alloc) + ASSERT_UNUSED(result, !result); + } + +-#endif // !(OS(DARWIN) && !PLATFORM(QT) && CPU(X86_64)) +- +-#if ENABLE(ASSEMBLER_WX_EXCLUSIVE) +-void ExecutableAllocator::reprotectRegion(void* start, size_t size, ProtectionSeting setting) +-{ +- if (!pageSize) +- intializePageSize(); +- +- // Calculate the start of the page containing this region, +- // and account for this extra memory within size. +- intptr_t startPtr = reinterpret_cast(start); +- intptr_t pageStartPtr = startPtr & ~(pageSize - 1); +- void* pageStart = reinterpret_cast(pageStartPtr); +- size += (startPtr - pageStartPtr); +- +- // Round size up +- size += (pageSize - 1); +- size &= ~(pageSize - 1); +- +- mprotect(pageStart, size, (setting == Writable) ? PROTECTION_FLAGS_RW : PROTECTION_FLAGS_RX); +-} +-#endif +- + } + +-#endif // HAVE(ASSEMBLER) ++#endif +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp +index e82975c..9028f50 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorSymbian.cpp +@@ -22,7 +22,7 @@ + + #include "ExecutableAllocator.h" + +-#if ENABLE(ASSEMBLER) && OS(SYMBIAN) ++#if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND) && OS(SYMBIAN) + + #include + #include +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp +index e38323c..72a1d5f 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocatorWin.cpp +@@ -27,7 +27,7 @@ + + #include "ExecutableAllocator.h" + +-#if ENABLE(ASSEMBLER) && OS(WINDOWS) ++#if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND) && OS(WINDOWS) + + #include "windows.h" + +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h +index 700977e..d930ed7 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h +@@ -1016,6 +1016,16 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */ + #define ENABLE_ASSEMBLER_WX_EXCLUSIVE 0 + #endif + ++/* Pick which allocator to use; we only need an executable allocator if the assembler is compiled in. ++ On x86-64 we use a single fixed mmap, on other platforms we mmap on demand. */ ++#if ENABLE(ASSEMBLER) ++#if CPU(X86_64) ++#define ENABLE_EXECUTABLE_ALLOCATOR_FIXED 1 ++#else ++#define ENABLE_EXECUTABLE_ALLOCATOR_DEMAND 1 ++#endif ++#endif ++ + #if !defined(ENABLE_PAN_SCROLLING) && OS(WINDOWS) + #define ENABLE_PAN_SCROLLING 1 + #endif +-- +1.7.10.4 + diff --git a/extra/transmission/PKGBUILD b/extra/transmission/PKGBUILD index dc5bca7f2..f0af5797e 100644 --- a/extra/transmission/PKGBUILD +++ b/extra/transmission/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 165472 2012-08-20 13:29:51Z tomegun $ +# $Id: PKGBUILD 166956 2012-09-23 09:55:03Z tomegun $ # Maintainer : Ionut Biru pkgbase=transmission pkgname=('transmission-cli' 'transmission-gtk' 'transmission-qt') pkgver=2.61 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') url="http://www.transmissionbt.com/" license=('MIT') diff --git a/extra/transmission/transmission-cli.install b/extra/transmission/transmission-cli.install index 68df89498..8ab275e61 100644 --- a/extra/transmission/transmission-cli.install +++ b/extra/transmission/transmission-cli.install @@ -3,14 +3,15 @@ post_install() { If you want to run the Transmission daemon at boot, add transmissiond to the DAEMONS array in /etc/rc.conf. - _EOF + +post_upgrade +passwd -l transmission &>/dev/null } post_upgrade() { # create user/group that the daemon will run as by default, do not delete this on uninstall, as it will own files getent group transmission >/dev/null || groupadd -g 169 transmission getent passwd transmission >/dev/null || useradd -c 'Transmission BitTorrent Client' -u 169 -g transmission -b '/var/lib' -m -s /bin/false transmission - passwd -l transmission &>/dev/null systemd-tmpfiles --create transmission.conf } diff --git a/extra/whois/PKGBUILD b/extra/whois/PKGBUILD index e753c4317..c58a2a649 100644 --- a/extra/whois/PKGBUILD +++ b/extra/whois/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 164051 2012-07-25 06:08:06Z giovanni $ +# $Id: PKGBUILD 166946 2012-09-23 04:27:14Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: Tom Newsom pkgname=whois -pkgver=5.0.18 +pkgver=5.0.19 pkgrel=1 pkgdesc="The whois client by Marco d'Itri" arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ license=('GPL') depends=('libidn') makedepends=('perl') source=("http://ftp.debian.org/debian/pool/main/w/whois/${pkgname}_${pkgver}.tar.xz") -md5sums=('15d777273d44a5b9a0814c1ea0d22b1a') +md5sums=('16b0a0e5e3757287462bbeb01b66b191') build() { cd "${srcdir}/${pkgname}-${pkgver}" -- cgit v1.2.3-54-g00ecf