Date: Wednesday, May 23, 2012 @ 14:22:20 Author: andrea Revision: 159394
Upstream release; use make-package.py from the upstream devs to create the qtwebkit tarball; add a _source() function to create the tarballs Added: qtwebkit/trunk/glibc.patch Modified: qtwebkit/trunk/PKGBUILD Deleted: qtwebkit/trunk/python2-path.patch --------------------+ PKGBUILD | 99 +++++++++++--- glibc.patch | 339 +++++++++++++++++++++++++++++++++++++++++++++++++++ python2-path.patch | 29 ---- 3 files changed, 417 insertions(+), 50 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2012-05-23 18:14:40 UTC (rev 159393) +++ PKGBUILD 2012-05-23 18:22:20 UTC (rev 159394) @@ -2,8 +2,8 @@ # Maintainer: Andrea Scarpino <[email protected]> pkgname=qtwebkit -pkgver=2.2.1 -pkgrel=2 +pkgver=2.2.2 +pkgrel=1 arch=('i686' 'x86_64') url='http://trac.webkit.org/wiki/QtWebKit' pkgdesc='An open source web browser engine (Qt port)' @@ -11,39 +11,96 @@ depends=('qt' 'gstreamer0.10-base') makedepends=('python2' 'mesa' 'chrpath' 'gperf') conflicts=('qt<4.8') -#source=("http://get.qt.nokia.com/${pkgname}/QtWebKit-${pkgver}.tar.gz" -source=("ftp://ftp.archlinux.org/other/${pkgname}/QtWebKit-${pkgver}.tar.gz" - "ftp://ftp.archlinux.org/other/${pkgname}/qwebview-4.8.0.tar.bz2" - 'python2-path.patch') -sha1sums=('283fc116882157df0474af496be73bb9b34cb001' - '0e44b27a0f71aceb91a89a2c28ab6331126518d9' - 'b0ef3d5596171e3900a685df9bcfac3068ad6330') +_qtver=4.8.2 +source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}-source.tar.gz" + "ftp://ftp.archlinux.org/other/${pkgname}/qwebview-${_qtver}.tar.xz" + 'glibc.patch') +sha1sums=('914d7cc099e5b6181c2d74fc7a74e1b4478b75a4' + '33c83272ed8110180ee6e7e3733e68cc513e2802' + '9e47ba5725a2ebd072b8bff31fa2f71aa83f0333') build() { - cd "${srcdir}"/QtWebKit-${pkgver} + cd "${srcdir}"/${pkgname}-${pkgver}-source - patch -p1 -i "${srcdir}"/python2-path.patch + patch -p1 -i "${srcdir}"/glibc.patch - cd Tools/Scripts - ./build-webkit --qt \ - --prefix=/usr \ - --makeargs="${MAKEFLAGS}" \ - --release \ - --3d-canvas + # move headers + mv include Source/ + cd Source + qmake + cd ../ + + make -C Source + # Build the QWebView plugin (FS#27914) - cd "${srcdir}"/QtWebKit-${pkgver}/qwebview-4.8.0/plugins/qwebview + cd "${srcdir}"/${pkgname}-${pkgver}-source/qwebview-${_qtver}/plugins/qwebview qmake make } package() { - cd "${srcdir}"/QtWebKit-${pkgver} - make INSTALL_ROOT="${pkgdir}" -C WebKitBuild/Release install + cd "${srcdir}"/${pkgname}-${pkgver}-source + make INSTALL_ROOT="${pkgdir}" -C Source install # Fix RPATH chrpath -r /usr/lib/ "${pkgdir}"/usr/lib/qt/imports/QtWebKit/libqmlwebkitplugin.so - cd "${srcdir}"/QtWebKit-${pkgver}/qwebview-4.8.0/plugins/qwebview + cd "${srcdir}"/${pkgname}-${pkgver}-source/qwebview-${_qtver}/plugins/qwebview make INSTALL_ROOT="${pkgdir}" install } + +_source() { + local _current_dir=$(pwd) + local _tmp=$(mktemp -d --tmpdir) + + cd _tmp + git clone git://gitorious.org/+qtwebkit-developers/webkit/qtwebkit.git + + # fetch the make-package.py script + git clone git://qt.gitorious.org/qtwebkit/tools.git + + # create the qtwebkit tarball + cd qtwebkit + git checkout -b ${pkgname}-${pkgver} ${pkgname}-${pkgver} + + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \ + ../tools/make-package.py + python2 ../tools/make-package.py + + mv ${pkgname}-${pkgver}-source.tar.gz ${_current_dir}/ + + cd .. + + # create the qwebview plugin tarball + mkdir qwebview-${_qtver} + cd qwebview-${_qtver} + wget http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-${_qtver}.tar.gz + tar xf qt-everywhere-opensource-src-${_qtver}.tar.gz + mkdir -p ${pkgname}-${pkgver}-source/qwebview-${_qtver}/plugins/ + cp -ra qt-everywhere-opensource-src-${_qtver}/tools/designer/src/plugins/qwebview \ + ${pkgname}-${pkgver}-source/qwebview-${_qtver}/plugins/ + + cat > ${pkgname}-${pkgver}-source/qwebview-${_qtver}/plugins/plugins.pro <<"EOF" +TEMPLATE = subdirs +CONFIG += ordered + +REQUIRES = !CONFIG(static,shared|static) +contains(QT_CONFIG, webkit): SUBDIRS += qwebview +EOF + + cat > $(_tmp)/header.txt <<"EOF" +INCLUDEPATH += ../../../Source/include +LIBS += -L../../../Source/lib + +EOF + + cat $(_tmp)/header.txt qt-everywhere-opensource-src-${_qtver}/tools/designer/src/plugins/plugins.pri > \ + ${pkgname}-${pkgver}-source/qwebview-${_qtver}/plugins/plugins.pri + + tar cJf qwebview-${_qtver}.tar.xz ${pkgname}-${pkgver}-source + + mv qwebview-${_qtver}.tar.xz ${_current_dir}/ + + rm -rf ${_tmp} +} Added: glibc.patch =================================================================== --- glibc.patch (rev 0) +++ glibc.patch 2012-05-23 18:22:20 UTC (rev 159394) @@ -0,0 +1,339 @@ +diff -up webkit-qtwebkit/Source/JavaScriptCore/GNUmakefile.list.am.glib231 webkit-qtwebkit/Source/JavaScriptCore/GNUmakefile.list.am +--- webkit-qtwebkit/Source/JavaScriptCore/GNUmakefile.list.am.glib231 2011-11-09 16:32:47.000000000 +0100 ++++ webkit-qtwebkit/Source/JavaScriptCore/GNUmakefile.list.am 2011-12-21 12:50:19.000000000 +0100 +@@ -438,7 +438,6 @@ javascriptcore_sources += \ + Source/JavaScriptCore/wtf/gobject/GRefPtr.h \ + Source/JavaScriptCore/wtf/gobject/GTypedefs.h \ + Source/JavaScriptCore/wtf/gtk/MainThreadGtk.cpp \ +- Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp \ + Source/JavaScriptCore/wtf/HashCountedSet.h \ + Source/JavaScriptCore/wtf/HashFunctions.h \ + Source/JavaScriptCore/wtf/HashIterators.h \ +diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp +--- webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp.glib231 2011-11-09 16:32:47.000000000 +0100 ++++ webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp 2011-12-21 12:50:19.000000000 +0100 +@@ -37,18 +37,6 @@ template <> void freeOwnedGPtr<GList>(GL + g_list_free(ptr); + } + +-template <> void freeOwnedGPtr<GCond>(GCond* ptr) +-{ +- if (ptr) +- g_cond_free(ptr); +-} +- +-template <> void freeOwnedGPtr<GMutex>(GMutex* ptr) +-{ +- if (ptr) +- g_mutex_free(ptr); +-} +- + template <> void freeOwnedGPtr<GPatternSpec>(GPatternSpec* ptr) + { + if (ptr) +diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h +--- webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h.glib231 2011-11-09 16:32:47.000000000 +0100 ++++ webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h 2011-12-21 12:50:19.000000000 +0100 +@@ -35,8 +35,6 @@ namespace WTF { + template <typename T> inline void freeOwnedGPtr(T* ptr); + template<> void freeOwnedGPtr<GError>(GError*); + template<> void freeOwnedGPtr<GList>(GList*); +-template<> void freeOwnedGPtr<GCond>(GCond*); +-template<> void freeOwnedGPtr<GMutex>(GMutex*); + template<> void freeOwnedGPtr<GPatternSpec>(GPatternSpec*); + template<> void freeOwnedGPtr<GDir>(GDir*); + +diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h +--- webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h.glib231 2011-11-09 16:32:47.000000000 +0100 ++++ webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h 2011-12-21 12:50:19.000000000 +0100 +@@ -39,7 +39,6 @@ typedef void* gpointer; + typedef struct _GAsyncResult GAsyncResult; + typedef struct _GCancellable GCancellable; + typedef struct _GCharsetConverter GCharsetConverter; +-typedef struct _GCond GCond; + typedef struct _GDir GDir; + typedef struct _GdkAtom* GdkAtom; + typedef struct _GdkCursor GdkCursor; +@@ -52,7 +51,6 @@ typedef struct _GFile GFile; + typedef struct _GHashTable GHashTable; + typedef struct _GInputStream GInputStream; + typedef struct _GList GList; +-typedef struct _GMutex GMutex; + typedef struct _GPatternSpec GPatternSpec; + typedef struct _GPollableOutputStream GPollableOutputStream; + typedef struct _GSocketClient GSocketClient; +diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp +--- webkit-qtwebkit/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp.glib231 2011-12-21 12:52:25.000000000 +0100 ++++ webkit-qtwebkit/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp 2011-12-21 12:52:28.000000000 +0100 +@@ -1,248 +0,0 @@ +-/* +- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. +- * Copyright (C) 2007 Justin Haygood ([email protected]) +- * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions +- * are met: +- * +- * 1. Redistributions of source code must retain the above copyright +- * notice, this list of conditions and the following disclaimer. +- * 2. Redistributions in binary form must reproduce the above copyright +- * notice, this list of conditions and the following disclaimer in the +- * documentation and/or other materials provided with the distribution. +- * 3. Neither the name of Apple Inc. ("Apple") nor the names of +- * its contributors may be used to endorse or promote products derived +- * from this software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY +- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY +- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- */ +- +-#include "config.h" +-#include "Threading.h" +- +-#if !USE(PTHREADS) +- +-#include "CurrentTime.h" +-#include "HashMap.h" +-#include "MainThread.h" +-#include "RandomNumberSeed.h" +-#include <wtf/StdLibExtras.h> +- +-#include <glib.h> +-#include <limits.h> +- +-namespace WTF { +- +-typedef HashMap<ThreadIdentifier, GThread*> ThreadMap; +- +-static Mutex* atomicallyInitializedStaticMutex; +- +-static Mutex& threadMapMutex() +-{ +- DEFINE_STATIC_LOCAL(Mutex, mutex, ()); +- return mutex; +-} +- +-void initializeThreading() +-{ +- if (!g_thread_supported()) +- g_thread_init(NULL); +- ASSERT(g_thread_supported()); +- +- if (!atomicallyInitializedStaticMutex) { +- atomicallyInitializedStaticMutex = new Mutex; +- threadMapMutex(); +- initializeRandomNumberGenerator(); +- } +-} +- +-void lockAtomicallyInitializedStaticMutex() +-{ +- ASSERT(atomicallyInitializedStaticMutex); +- atomicallyInitializedStaticMutex->lock(); +-} +- +-void unlockAtomicallyInitializedStaticMutex() +-{ +- atomicallyInitializedStaticMutex->unlock(); +-} +- +-static ThreadMap& threadMap() +-{ +- DEFINE_STATIC_LOCAL(ThreadMap, map, ()); +- return map; +-} +- +-static ThreadIdentifier identifierByGthreadHandle(GThread*& thread) +-{ +- MutexLocker locker(threadMapMutex()); +- +- ThreadMap::iterator i = threadMap().begin(); +- for (; i != threadMap().end(); ++i) { +- if (i->second == thread) +- return i->first; +- } +- +- return 0; +-} +- +-static ThreadIdentifier establishIdentifierForThread(GThread*& thread) +-{ +- ASSERT(!identifierByGthreadHandle(thread)); +- +- MutexLocker locker(threadMapMutex()); +- +- static ThreadIdentifier identifierCount = 1; +- +- threadMap().add(identifierCount, thread); +- +- return identifierCount++; +-} +- +-static GThread* threadForIdentifier(ThreadIdentifier id) +-{ +- MutexLocker locker(threadMapMutex()); +- +- return threadMap().get(id); +-} +- +-static void clearThreadForIdentifier(ThreadIdentifier id) +-{ +- MutexLocker locker(threadMapMutex()); +- +- ASSERT(threadMap().contains(id)); +- +- threadMap().remove(id); +-} +- +-ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, const char*) +-{ +- GThread* thread; +- if (!(thread = g_thread_create(entryPoint, data, TRUE, 0))) { +- LOG_ERROR("Failed to create thread at entry point %p with data %p", entryPoint, data); +- return 0; +- } +- +- ThreadIdentifier threadID = establishIdentifierForThread(thread); +- return threadID; +-} +- +-void initializeCurrentThreadInternal(const char*) +-{ +-} +- +-int waitForThreadCompletion(ThreadIdentifier threadID, void** result) +-{ +- ASSERT(threadID); +- +- GThread* thread = threadForIdentifier(threadID); +- +- void* joinResult = g_thread_join(thread); +- if (result) +- *result = joinResult; +- +- clearThreadForIdentifier(threadID); +- return 0; +-} +- +-void detachThread(ThreadIdentifier) +-{ +-} +- +-ThreadIdentifier currentThread() +-{ +- GThread* currentThread = g_thread_self(); +- if (ThreadIdentifier id = identifierByGthreadHandle(currentThread)) +- return id; +- return establishIdentifierForThread(currentThread); +-} +- +-void yield() +-{ +- g_thread_yield(); +-} +- +-Mutex::Mutex() +- : m_mutex(g_mutex_new()) +-{ +-} +- +-Mutex::~Mutex() +-{ +-} +- +-void Mutex::lock() +-{ +- g_mutex_lock(m_mutex.get()); +-} +- +-bool Mutex::tryLock() +-{ +- return g_mutex_trylock(m_mutex.get()); +-} +- +-void Mutex::unlock() +-{ +- g_mutex_unlock(m_mutex.get()); +-} +- +-ThreadCondition::ThreadCondition() +- : m_condition(g_cond_new()) +-{ +-} +- +-ThreadCondition::~ThreadCondition() +-{ +-} +- +-void ThreadCondition::wait(Mutex& mutex) +-{ +- g_cond_wait(m_condition.get(), mutex.impl().get()); +-} +- +-bool ThreadCondition::timedWait(Mutex& mutex, double absoluteTime) +-{ +- // Time is in the past - return right away. +- if (absoluteTime < currentTime()) +- return false; +- +- // Time is too far in the future for g_cond_timed_wait - wait forever. +- if (absoluteTime > INT_MAX) { +- wait(mutex); +- return true; +- } +- +- int timeSeconds = static_cast<int>(absoluteTime); +- int timeMicroseconds = static_cast<int>((absoluteTime - timeSeconds) * 1000000.0); +- +- GTimeVal targetTime; +- targetTime.tv_sec = timeSeconds; +- targetTime.tv_usec = timeMicroseconds; +- +- return g_cond_timed_wait(m_condition.get(), mutex.impl().get(), &targetTime); +-} +- +-void ThreadCondition::signal() +-{ +- g_cond_signal(m_condition.get()); +-} +- +-void ThreadCondition::broadcast() +-{ +- g_cond_broadcast(m_condition.get()); +-} +- +- +-} +- +-#endif // !USE(PTHREADS) +diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/ThreadingPrimitives.h.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/ThreadingPrimitives.h +--- webkit-qtwebkit/Source/JavaScriptCore/wtf/ThreadingPrimitives.h.glib231 2011-11-09 16:32:47.000000000 +0100 ++++ webkit-qtwebkit/Source/JavaScriptCore/wtf/ThreadingPrimitives.h 2011-12-21 12:50:19.000000000 +0100 +@@ -44,8 +44,6 @@ + + #if USE(PTHREADS) + #include <pthread.h> +-#elif PLATFORM(GTK) +-#include "GOwnPtr.h" + #endif + + #if PLATFORM(QT) +@@ -66,10 +64,6 @@ typedef pthread_rwlock_t PlatformReadWri + typedef void* PlatformReadWriteLock; + #endif + typedef pthread_cond_t PlatformCondition; +-#elif PLATFORM(GTK) +-typedef GOwnPtr<GMutex> PlatformMutex; +-typedef void* PlatformReadWriteLock; // FIXME: Implement. +-typedef GOwnPtr<GCond> PlatformCondition; + #elif PLATFORM(QT) + typedef QT_PREPEND_NAMESPACE(QMutex)* PlatformMutex; + typedef void* PlatformReadWriteLock; // FIXME: Implement. Deleted: python2-path.patch =================================================================== --- python2-path.patch 2012-05-23 18:14:40 UTC (rev 159393) +++ python2-path.patch 2012-05-23 18:22:20 UTC (rev 159394) @@ -1,29 +0,0 @@ ---- QtWebKit-2.2.0/Source/JavaScriptCore/DerivedSources.pro~ 2011-10-20 22:39:56.044519075 +0000 -+++ QtWebKit-2.2.0/Source/JavaScriptCore/DerivedSources.pro 2011-10-20 22:41:21.302047082 +0000 -@@ -88,5 +88,5 @@ - retgen.output = $$JSC_GENERATED_SOURCES_DIR/RegExpJitTables.h - retgen.wkScript = $$PWD/create_regex_tables - retgen.input = retgen.wkScript --retgen.commands = python $$retgen.wkScript > ${QMAKE_FILE_OUT} -+retgen.commands = python2 $$retgen.wkScript > ${QMAKE_FILE_OUT} - addExtraCompiler(retgen) ---- QtWebKit-2.2.0/Source/WebCore/CodeGenerators.pri~ 2011-10-20 22:44:23.827225580 +0000 -+++ QtWebKit-2.2.0/Source/WebCore/CodeGenerators.pri 2011-10-20 22:44:38.550707819 +0000 -@@ -640,7 +640,7 @@ - inspectorJSON.output = $${WC_GENERATED_SOURCES_DIR}/Inspector.idl - inspectorJSON.input = INSPECTOR_JSON - inspectorJSON.wkScript = $$PWD/inspector/generate-inspector-idl --inspectorJSON.commands = python $$inspectorJSON.wkScript -o $${WC_GENERATED_SOURCES_DIR}/Inspector.idl $$PWD/inspector/Inspector.json -+inspectorJSON.commands = python2 $$inspectorJSON.wkScript -o $${WC_GENERATED_SOURCES_DIR}/Inspector.idl $$PWD/inspector/Inspector.json - inspectorJSON.depends = $$PWD/inspector/generate-inspector-idl - inspectorJSON.wkAddOutputToSources = false - addExtraCompiler(inspectorJSON) -@@ -723,7 +723,7 @@ - entities.output = $${WC_GENERATED_SOURCES_DIR}/HTMLEntityTable.cpp - entities.input = HTML_ENTITIES - entities.wkScript = $$PWD/html/parser/create-html-entity-table --entities.commands = python $$entities.wkScript -o $${WC_GENERATED_SOURCES_DIR}/HTMLEntityTable.cpp $$HTML_ENTITIES -+entities.commands = python2 $$entities.wkScript -o $${WC_GENERATED_SOURCES_DIR}/HTMLEntityTable.cpp $$HTML_ENTITIES - entities.clean = ${QMAKE_FILE_OUT} - entities.depends = $$PWD/html/parser/create-html-entity-table - addExtraCompiler(entities)
