aboutsummaryrefslogtreecommitdiffstats
path: root/converters/wkhtmltopdf
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2014-06-29 18:27:39 +0800
committermm <mm@FreeBSD.org>2014-06-29 18:27:39 +0800
commit00b1ce0dc870975cfd19b5d9eaffc4cc185515e9 (patch)
tree257b022238866b774326913f6f401b1090dbe541 /converters/wkhtmltopdf
parentdb6d7ebcb88b64846318a8dd05cff24530457a04 (diff)
downloadfreebsd-ports-gnome-00b1ce0dc870975cfd19b5d9eaffc4cc185515e9.tar.gz
freebsd-ports-gnome-00b1ce0dc870975cfd19b5d9eaffc4cc185515e9.tar.zst
freebsd-ports-gnome-00b1ce0dc870975cfd19b5d9eaffc4cc185515e9.zip
Update wkhtmltopdf to 0.12.1
Diffstat (limited to 'converters/wkhtmltopdf')
-rw-r--r--converters/wkhtmltopdf/Makefile97
-rw-r--r--converters/wkhtmltopdf/distinfo6
-rw-r--r--converters/wkhtmltopdf/files/patch-libcxx369
-rw-r--r--converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__jit__JITStubs.cpp11
-rw-r--r--converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__Collector.cpp38
-rw-r--r--converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__JSValue.h26
-rw-r--r--converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__HashTable.h40
-rw-r--r--converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h91
-rw-r--r--converters/wkhtmltopdf/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h66
-rw-r--r--converters/wkhtmltopdf/pkg-plist14
10 files changed, 55 insertions, 703 deletions
diff --git a/converters/wkhtmltopdf/Makefile b/converters/wkhtmltopdf/Makefile
index 70db94aa5b0d..12e91aee2b9b 100644
--- a/converters/wkhtmltopdf/Makefile
+++ b/converters/wkhtmltopdf/Makefile
@@ -2,56 +2,56 @@
# $FreeBSD$
PORTNAME= wkhtmltopdf
-PORTVERSION= 0.12.0
-PORTREVISION= 2
+PORTVERSION= 0.12.1
CATEGORIES= converters
-MASTER_SITES= GH:wk \
- http://github.com/${GH_ACCOUNT}/qt/archive/${WKQT_TAGNAME}.tar.gz?dummy=/:wkqt
-DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz:wk \
- wkhtmltopdf-qt-${PORTVERSION}.tar.gz:wkqt
+MASTER_SITES= SF
+MASTER_SITE_SUBDIR= ${PORTNAME}/${PORTVERSION}
+DISTNAME= wkhtmltox-${PORTVERSION}
MAINTAINER= mm@FreeBSD.org
-COMMENT= Convert HTML (or live webpages) to PDF or image files
+COMMENT= Convert HTML (or live webpages) to PDF or image
LICENSE= LGPL3
LICENSE_FILE_LGPL3= ${INSTALL_WRKSRC}/COPYING
LIB_DEPENDS+= libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \
- libfreetype.so:${PORTSDIR}/print/freetype2
+ libfreetype.so:${PORTSDIR}/print/freetype2 \
+ libjpeg.so:${PORTSDIR}/graphics/jpeg \
+ libpng15.so:${PORTSDIR}/graphics/png
-USE_GITHUB= yes
-GH_ACCOUNT= wkhtmltopdf
-GH_PROJECT= wkhtmltopdf
-GH_COMMIT= 03c001d
-GH_TAGNAME= 0.12.0
-WKQT_TAGNAME= wkhtmltopdf_0.12.0
+USE_BZIP2= yes
-USES= pkgconfig gmake perl5
+USES= pkgconfig gmake perl5 iconv
USE_XORG= x11 xext xrender
USE_PERL5= build
USE_LDCONFIG= yes
HAS_CONFIGURE= yes
-WRKSRC= ${WRKDIR}/qt-${WKQT_TAGNAME}
-INSTALL_WRKSRC= ${WRKDIR}/${GH_ACCOUNT}-${GH_PROJECT}-${GH_COMMIT}
-
-OPTIONS_DEFINE= BUNDLED_LIBS
-BUNDLED_LIBS_DESC= Use Qt-bundled jpeg, mng, png and tiff
-
-CONFIGURE_ARGS= -prefix ${WRKDIR}/qt-wk \
- -release -static -fast -exceptions -no-accessibility -no-stl \
- -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite \
- -no-sql-sqlite2 -no-qt3support -xmlpatterns -no-phonon \
- -no-phonon-backend -webkit -no-scripttools -no-mmx -no-3dnow -no-sse \
- -no-sse2 -system-zlib \
- -graphicssystem raster -opensource -confirm-license \
- -nomake tools -nomake examples -nomake demos -nomake docs \
- -nomake translations -no-opengl -no-dbus -no-multimedia -openssl \
- -no-declarative -largefile -rpath -no-nis -no-cups -no-iconv -no-pch \
+LIBVERSION= 0.12.0
+
+WRKSRC= ${WRKDIR}/wkhtmltox-${PORTVERSION}
+PATCH_WRKSRC= ${WRKSRC}/qt
+CONFIGURE_WRKSRC= ${WRKSRC}/build/qt
+BUILD_WRKSRC= ${WRKSRC}/build/qt
+INSTALL_WRKSRC= ${WRKSRC}/build/app
+
+CONFIGURE_SCRIPT= ../../qt/configure
+CONFIGURE_ARGS= -prefix ${WRKSRC}/build/qt \
+ -opensource -confirm-license -fast -release -static \
+ -graphicssystem raster -webkit -exceptions -xmlpatterns -system-zlib \
+ -system-libpng -system-libjpeg -no-libmng -no-libtiff -no-stl \
+ -no-accessibility -no-qt3support -no-phonon -no-phonon-backend \
+ -no-opengl -no-declarative -no-script -no-scripttools \
+ -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql \
+ -no-sql-sqlite -no-sql-sqlite2 -no-mmx -no-3dnow -no-sse -no-sse2 \
+ -no-multimedia -nomake demos -nomake docs -nomake examples \
+ -nomake tools -nomake tests -nomake translations -xrender -largefile \
+ -iconv -openssl -no-rpath -no-dbus -no-nis -no-cups -no-pch \
-no-gtkstyle -no-nas-sound -no-sm -no-xshape -no-xinerama -no-xcursor \
- -no-xfixes -no-xrandr -no-mitshm -no-xinput -no-xkb -no-glib -no-openvg \
- -no-opengl -no-xsync -no-audio-backend -no-sse3 -no-ssse3 -no-sse4.1 \
- -no-sse4.2
+ -no-xfixes -no-xrandr -no-mitshm -no-xinput -no-xkb -no-glib \
+ -no-gstreamer -D ENABLE_VIDEO=0 -no-openvg -no-xsync \
+ -no-audio-backend -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx \
+ -no-neon
MAKE_ARGS+= INSTALL_ROOT="${STAGEDIR}${PREFIX}"
@@ -65,38 +65,27 @@ BROKEN= fails to extract on FreeBSD 7.X
BROKEN= Does not link on powerpc
.endif
-.if ${PORT_OPTIONS:MBUNDLED_LIBS}
-CONFIGURE_ARGS+= -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg
-.else
-LIB_DEPENDS+= libjpeg.so:${PORTSDIR}/graphics/jpeg \
- libpng15.so:${PORTSDIR}/graphics/png \
- libmng.so:${PORTSDIR}/graphics/libmng \
- libtiff.so:${PORTSDIR}/graphics/tiff
-CONFIGURE_ARGS+= -system-libtiff -system-libpng -system-libmng \
- -system-libjpeg
-.endif
-
post-patch:
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
-e 's|/usr/X11R6/include|${LOCALBASE}/include/X11|g' \
-e 's|/usr/X11R6/lib|${LOCALBASE}/lib|g' \
- ${WRKSRC}/mkspecs/freebsd-g++/qmake.conf
+ ${PATCH_WRKSRC}/mkspecs/freebsd-g++/qmake.conf
@${REINPLACE_CMD} -e "s|gcc|${CC}|g" -e "s|g++|${CXX}|g" \
- ${WRKSRC}/mkspecs/common/g++-base.conf
+ ${PATCH_WRKSRC}/mkspecs/common/g++-base.conf
+ @${REINPLACE_CMD} -e "s|share/man|man|g" \
+ ${WRKSRC}/src/image/image.pro \
+ ${WRKSRC}/src/pdf/pdf.pro
+ @${MKDIR} ${WRKSRC}/build/app ${WRKSRC}/build/qt \
+ ${WRKSRC}/build/wkhtmltox
post-build:
- @cd ${WRKSRC} && \
- ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} \
- ${MAKE_ARGS} ${INSTALL_TARGET} INSTALL_ROOT=
-
- @cd ${INSTALL_WRKSRC} && ${WRKDIR}/qt-wk/bin/qmake && \
+ @cd ${WRKSRC}/build/app && ${SETENV} ${MAKE_ENV} \
+ ../qt/bin/qmake ../../wkhtmltopdf.pro && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} \
${_MAKE_JOBS} ${MAKE_ARGS:C,^${DESTDIRNAME}=.*,,g} \
${ALL_TARGET}
post-install:
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/wkhtmltopdf \
- ${STAGEDIR}${PREFIX}/bin/wkhtmltoimage
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
diff --git a/converters/wkhtmltopdf/distinfo b/converters/wkhtmltopdf/distinfo
index 3d9200f99d20..8a0f8e75ce56 100644
--- a/converters/wkhtmltopdf/distinfo
+++ b/converters/wkhtmltopdf/distinfo
@@ -1,4 +1,2 @@
-SHA256 (wkhtmltopdf-0.12.0.tar.gz) = 47b35536ca60220c402113c9ceee9b1f68bd7ca0dc831e3242e26684a9fd4baf
-SIZE (wkhtmltopdf-0.12.0.tar.gz) = 135609
-SHA256 (wkhtmltopdf-qt-0.12.0.tar.gz) = 45c675a379478ec6bc4a5bae92264b92ba413a7b870615fac5f7868c304b992d
-SIZE (wkhtmltopdf-qt-0.12.0.tar.gz) = 173004829
+SHA256 (wkhtmltox-0.12.1.tar.bz2) = 383041db30d6e08b9a6f126193a9e120e2791ff99005c39b1d0adacd53e2faca
+SIZE (wkhtmltox-0.12.1.tar.bz2) = 36186476
diff --git a/converters/wkhtmltopdf/files/patch-libcxx b/converters/wkhtmltopdf/files/patch-libcxx
index 1107c65e587f..ab695126e9fc 100644
--- a/converters/wkhtmltopdf/files/patch-libcxx
+++ b/converters/wkhtmltopdf/files/patch-libcxx
@@ -208,7 +208,7 @@ libc++ provides std::nullptr emulation, so we don't have to.
#define __has_feature(feature) 0
#endif
--#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL))
+-#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL)) || defined(_LIBCPP_VERSION)
+#include <ciso646>
+
+#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL)) || defined(_LIBCPP_VERSION)
@@ -231,288 +231,6 @@ libc++ provides std::nullptr emulation, so we don't have to.
document()->setParsing(false); // Make the doc think it's done, so it will apply xsl sheets.
document()->styleSelectorChanged(RecalcStyleImmediately);
document()->setParsing(true);
---- src/3rdparty/webkit/Source/WebCore/platform/Timer.cpp (revision 92555)
-+++ src/3rdparty/webkit/Source/WebCore/platform/Timer.cpp (revision 92556)
-@@ -41,6 +41,8 @@
-
- namespace WebCore {
-
-+class TimerHeapReference;
-+
- // Timers are stored in a heap data structure, used to implement a priority queue.
- // This allows us to efficiently determine which timer needs to fire the soonest.
- // Then we set a single shared system timer to fire at that time.
-@@ -53,113 +55,141 @@
- return threadGlobalData().threadTimers().timerHeap();
- }
-
--// Class to represent elements in the heap when calling the standard library heap algorithms.
--// Maintains the m_heapIndex value in the timers themselves, which allows us to do efficient
--// modification of the heap.
--class TimerHeapElement {
-+// ----------------
-+
-+class TimerHeapPointer {
- public:
-- explicit TimerHeapElement(int i)
-- : m_index(i)
-- , m_timer(timerHeap()[m_index])
-- {
-- checkConsistency();
-- }
-+ TimerHeapPointer(TimerBase** pointer) : m_pointer(pointer) { }
-+ TimerHeapReference operator*() const;
-+ TimerBase* operator->() const { return *m_pointer; }
-+private:
-+ TimerBase** m_pointer;
-+};
-
-- TimerHeapElement(const TimerHeapElement&);
-- TimerHeapElement& operator=(const TimerHeapElement&);
--
-- TimerBase* timer() const { return m_timer; }
--
-- void checkConsistency() const
-- {
-- ASSERT(m_index >= 0);
-- ASSERT(m_index < static_cast<int>(timerHeap().size()));
-- }
--
-+class TimerHeapReference {
-+public:
-+ TimerHeapReference(TimerBase*& reference) : m_reference(reference) { }
-+ operator TimerBase*() const { return m_reference; }
-+ TimerHeapPointer operator&() const { return &m_reference; }
-+ TimerHeapReference& operator=(TimerBase*);
-+ TimerHeapReference& operator=(TimerHeapReference);
- private:
-- TimerHeapElement();
--
-- int m_index;
-- TimerBase* m_timer;
-+ TimerBase*& m_reference;
- };
-
--inline TimerHeapElement::TimerHeapElement(const TimerHeapElement& o)
-- : m_index(-1), m_timer(o.timer())
-+inline TimerHeapReference TimerHeapPointer::operator*() const
- {
-+ return *m_pointer;
- }
-
--inline TimerHeapElement& TimerHeapElement::operator=(const TimerHeapElement& o)
-+inline TimerHeapReference& TimerHeapReference::operator=(TimerBase* timer)
- {
-- TimerBase* t = o.timer();
-- m_timer = t;
-- if (m_index != -1) {
-- checkConsistency();
-- timerHeap()[m_index] = t;
-- t->m_heapIndex = m_index;
-- }
-+ m_reference = timer;
-+ Vector<TimerBase*>& heap = timerHeap();
-+ if (&m_reference >= heap.data() && &m_reference < heap.data() + heap.size())
-+ timer->m_heapIndex = &m_reference - heap.data();
- return *this;
- }
-
--inline bool operator<(const TimerHeapElement& a, const TimerHeapElement& b)
-+inline TimerHeapReference& TimerHeapReference::operator=(TimerHeapReference b)
- {
-- // The comparisons below are "backwards" because the heap puts the largest
-- // element first and we want the lowest time to be the first one in the heap.
-- double aFireTime = a.timer()->m_nextFireTime;
-- double bFireTime = b.timer()->m_nextFireTime;
-- if (bFireTime != aFireTime)
-- return bFireTime < aFireTime;
--
-- // We need to look at the difference of the insertion orders instead of comparing the two
-- // outright in case of overflow.
-- unsigned difference = a.timer()->m_heapInsertionOrder - b.timer()->m_heapInsertionOrder;
-- return difference < UINT_MAX / 2;
-+ TimerBase* timer = b;
-+ return *this = timer;
- }
-
-+inline void swap(TimerHeapReference a, TimerHeapReference b)
-+{
-+ TimerBase* timerA = a;
-+ TimerBase* timerB = b;
-+
-+ // Invoke the assignment operator, since that takes care of updating m_heapIndex.
-+ a = timerB;
-+ b = timerA;
-+}
-+
- // ----------------
-
- // Class to represent iterators in the heap when calling the standard library heap algorithms.
--// Returns TimerHeapElement for elements in the heap rather than the TimerBase pointers themselves.
--class TimerHeapIterator : public iterator<random_access_iterator_tag, TimerHeapElement, int> {
-+// Uses a custom pointer and reference type that update indices for pointers in the heap.
-+class TimerHeapIterator : public iterator<random_access_iterator_tag, TimerBase*, ptrdiff_t, TimerHeapPointer, TimerHeapReference> {
- public:
-- TimerHeapIterator() : m_index(-1) { }
-- TimerHeapIterator(int i) : m_index(i) { checkConsistency(); }
-+ explicit TimerHeapIterator(TimerBase** pointer) : m_pointer(pointer) { checkConsistency(); }
-
-- TimerHeapIterator& operator++() { checkConsistency(); ++m_index; checkConsistency(); return *this; }
-- TimerHeapIterator operator++(int) { checkConsistency(); checkConsistency(1); return m_index++; }
-+ TimerHeapIterator& operator++() { checkConsistency(); ++m_pointer; checkConsistency(); return *this; }
-+ TimerHeapIterator operator++(int) { checkConsistency(1); return TimerHeapIterator(m_pointer++); }
-
-- TimerHeapIterator& operator--() { checkConsistency(); --m_index; checkConsistency(); return *this; }
-- TimerHeapIterator operator--(int) { checkConsistency(); checkConsistency(-1); return m_index--; }
-+ TimerHeapIterator& operator--() { checkConsistency(); --m_pointer; checkConsistency(); return *this; }
-+ TimerHeapIterator operator--(int) { checkConsistency(-1); return TimerHeapIterator(m_pointer--); }
-
-- TimerHeapIterator& operator+=(int i) { checkConsistency(); m_index += i; checkConsistency(); return *this; }
-- TimerHeapIterator& operator-=(int i) { checkConsistency(); m_index -= i; checkConsistency(); return *this; }
-+ TimerHeapIterator& operator+=(ptrdiff_t i) { checkConsistency(); m_pointer += i; checkConsistency(); return *this; }
-+ TimerHeapIterator& operator-=(ptrdiff_t i) { checkConsistency(); m_pointer -= i; checkConsistency(); return *this; }
-
-- TimerHeapElement operator*() const { return TimerHeapElement(m_index); }
-- TimerHeapElement operator[](int i) const { return TimerHeapElement(m_index + i); }
-+ TimerHeapReference operator*() const { return TimerHeapReference(*m_pointer); }
-+ TimerHeapReference operator[](ptrdiff_t i) const { return TimerHeapReference(m_pointer[i]); }
-+ TimerBase* operator->() const { return *m_pointer; }
-
-- int index() const { return m_index; }
--
-- void checkConsistency(int offset = 0) const
-+private:
-+ void checkConsistency(ptrdiff_t offset = 0) const
- {
-- ASSERT_UNUSED(offset, m_index + offset >= 0);
-- ASSERT_UNUSED(offset, m_index + offset <= static_cast<int>(timerHeap().size()));
-+ ASSERT(m_pointer >= timerHeap().data());
-+ ASSERT(m_pointer <= timerHeap().data() + timerHeap().size());
-+ ASSERT_UNUSED(offset, m_pointer + offset >= timerHeap().data());
-+ ASSERT_UNUSED(offset, m_pointer + offset <= timerHeap().data() + timerHeap().size());
- }
-
--private:
-- int m_index;
-+ friend bool operator==(TimerHeapIterator, TimerHeapIterator);
-+ friend bool operator!=(TimerHeapIterator, TimerHeapIterator);
-+ friend bool operator<(TimerHeapIterator, TimerHeapIterator);
-+ friend bool operator>(TimerHeapIterator, TimerHeapIterator);
-+ friend bool operator<=(TimerHeapIterator, TimerHeapIterator);
-+ friend bool operator>=(TimerHeapIterator, TimerHeapIterator);
-+
-+ friend TimerHeapIterator operator+(TimerHeapIterator, size_t);
-+ friend TimerHeapIterator operator+(size_t, TimerHeapIterator);
-+
-+ friend TimerHeapIterator operator-(TimerHeapIterator, size_t);
-+ friend ptrdiff_t operator-(TimerHeapIterator, TimerHeapIterator);
-+
-+ TimerBase** m_pointer;
- };
-
--inline bool operator==(TimerHeapIterator a, TimerHeapIterator b) { return a.index() == b.index(); }
--inline bool operator!=(TimerHeapIterator a, TimerHeapIterator b) { return a.index() != b.index(); }
--inline bool operator<(TimerHeapIterator a, TimerHeapIterator b) { return a.index() < b.index(); }
-+inline bool operator==(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer == b.m_pointer; }
-+inline bool operator!=(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer != b.m_pointer; }
-+inline bool operator<(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer < b.m_pointer; }
-+inline bool operator>(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer > b.m_pointer; }
-+inline bool operator<=(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer <= b.m_pointer; }
-+inline bool operator>=(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer >= b.m_pointer; }
-
--inline TimerHeapIterator operator+(TimerHeapIterator a, int b) { return a.index() + b; }
--inline TimerHeapIterator operator+(int a, TimerHeapIterator b) { return a + b.index(); }
-+inline TimerHeapIterator operator+(TimerHeapIterator a, size_t b) { return TimerHeapIterator(a.m_pointer + b); }
-+inline TimerHeapIterator operator+(size_t a, TimerHeapIterator b) { return TimerHeapIterator(a + b.m_pointer); }
-
--inline TimerHeapIterator operator-(TimerHeapIterator a, int b) { return a.index() - b; }
--inline int operator-(TimerHeapIterator a, TimerHeapIterator b) { return a.index() - b.index(); }
-+inline TimerHeapIterator operator-(TimerHeapIterator a, size_t b) { return TimerHeapIterator(a.m_pointer - b); }
-+inline ptrdiff_t operator-(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer - b.m_pointer; }
-
- // ----------------
-
-+class TimerHeapLessThanFunction {
-+public:
-+ bool operator()(TimerBase*, TimerBase*) const;
-+};
-+
-+inline bool TimerHeapLessThanFunction::operator()(TimerBase* a, TimerBase* b) const
-+{
-+ // The comparisons below are "backwards" because the heap puts the largest
-+ // element first and we want the lowest time to be the first one in the heap.
-+ double aFireTime = a->m_nextFireTime;
-+ double bFireTime = b->m_nextFireTime;
-+ if (bFireTime != aFireTime)
-+ return bFireTime < aFireTime;
-+
-+ // We need to look at the difference of the insertion orders instead of comparing the two
-+ // outright in case of overflow.
-+ unsigned difference = a->m_heapInsertionOrder - b->m_heapInsertionOrder;
-+ return difference < numeric_limits<unsigned>::max() / 2;
-+}
-+
-+// ----------------
-+
- TimerBase::TimerBase()
- : m_nextFireTime(0)
- , m_repeatInterval(0)
-@@ -225,7 +255,8 @@
- {
- ASSERT(m_nextFireTime != 0);
- checkHeapIndex();
-- push_heap(TimerHeapIterator(0), TimerHeapIterator(m_heapIndex + 1));
-+ TimerBase** heapData = timerHeap().data();
-+ push_heap(TimerHeapIterator(heapData), TimerHeapIterator(heapData + m_heapIndex + 1), TimerHeapLessThanFunction());
- checkHeapIndex();
- }
-
-@@ -274,7 +305,9 @@
- {
- ASSERT(this == timerHeap().first());
- checkHeapIndex();
-- pop_heap(TimerHeapIterator(0), TimerHeapIterator(timerHeap().size()));
-+ Vector<TimerBase*>& heap = timerHeap();
-+ TimerBase** heapData = heap.data();
-+ pop_heap(TimerHeapIterator(heapData), TimerHeapIterator(heapData + heap.size()), TimerHeapLessThanFunction());
- checkHeapIndex();
- ASSERT(this == timerHeap().last());
- }
---- src/3rdparty/webkit/Source/WebCore/platform/Timer.h (revision 92555)
-+++ src/3rdparty/webkit/Source/WebCore/platform/Timer.h (revision 92556)
-@@ -84,9 +84,9 @@
- ThreadIdentifier m_thread;
- #endif
-
-- friend class TimerHeapElement;
- friend class ThreadTimers;
-- friend bool operator<(const TimerHeapElement&, const TimerHeapElement&);
-+ friend class TimerHeapLessThanFunction;
-+ friend class TimerHeapReference;
- };
-
- template <typename TimerFiredClass> class Timer : public TimerBase {
---- src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp (revision 86531)
-+++ src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp (revision 86532)
-@@ -944,7 +944,7 @@
-
- GraphicsLayerQt::GraphicsLayerQt(GraphicsLayerClient* client)
- : GraphicsLayer(client)
-- , m_impl(PassOwnPtr<GraphicsLayerQtImpl>(new GraphicsLayerQtImpl(this)))
-+ , m_impl(adoptPtr(new GraphicsLayerQtImpl(this)))
- {
- }
-
-@@ -955,7 +955,7 @@
- // This is the hook for WebCore compositor to know that Qt implements compositing with GraphicsLayerQt.
- PassOwnPtr<GraphicsLayer> GraphicsLayer::create(GraphicsLayerClient* client)
- {
-- return new GraphicsLayerQt(client);
-+ return adoptPtr(new GraphicsLayerQt(client));
- }
-
- /* \reimp (GraphicsLayer.h): The current size might change, thus we need to update the whole display.
-
--- src/3rdparty/webkit/Source/WebCore/loader/icon/IconRecord.h
+++ src/3rdparty/webkit/Source/WebCore/loader/icon/IconRecord.h
@@ -38,7 +38,7 @@
@@ -548,15 +266,6 @@ libc++ provides std::nullptr emulation, so we don't have to.
--- src/3rdparty/webkit/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp (revision 86529)
+++ src/3rdparty/webkit/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp (revision 86530)
-@@ -235,7 +235,7 @@
- resetConnections();
- QNetworkReply* reply = m_reply;
- m_reply = 0;
-- m_sniffer = 0;
-+ m_sniffer = nullptr;
-
- reply->setParent(0);
- return reply;
@@ -285,7 +285,7 @@
Q_ASSERT(!m_sniffer);
@@ -566,58 +275,7 @@ libc++ provides std::nullptr emulation, so we don't have to.
if (m_sniffer->isFinished()) {
receiveSniffedMIMEType();
-@@ -300,7 +300,7 @@
- Q_ASSERT(m_sniffer);
-
- m_sniffedMIMEType = m_sniffer->mimeType();
-- m_sniffer = 0;
-+ m_sniffer = nullptr;
-
- emitMetaDataChanged();
- }
-@@ -417,7 +417,7 @@
- return 0;
-
- QNetworkReply* reply = m_replyWrapper->release();
-- m_replyWrapper = 0;
-+ m_replyWrapper = nullptr;
- return reply;
- }
-
-@@ -440,12 +440,12 @@
-
- ResourceHandleClient* client = m_resourceHandle->client();
- if (!client) {
-- m_replyWrapper = 0;
-+ m_replyWrapper = nullptr;
- return;
- }
-
- if (m_replyWrapper->wasRedirected()) {
-- m_replyWrapper = 0;
-+ m_replyWrapper = nullptr;
- m_queue.push(&QNetworkReplyHandler::start);
- return;
- }
-@@ -465,7 +465,7 @@
- }
- }
-
-- m_replyWrapper = 0;
-+ m_replyWrapper = nullptr;
- }
-
- void QNetworkReplyHandler::sendResponseIfNeeded()
-@@ -539,7 +539,7 @@
- newUrl.toString(),
- QCoreApplication::translate("QWebPage", "Redirection limit reached"));
- client->didFail(m_resourceHandle, error);
-- m_replyWrapper = 0;
-+ m_replyWrapper = nullptr;
- return;
- }
-
-@@ -660,7 +660,7 @@
+@@ -666,7 +666,7 @@
if (!reply)
return;
@@ -641,16 +299,7 @@ libc++ provides std::nullptr emulation, so we don't have to.
--- src/3rdparty/webkit/Source/WebKit/qt/Api/qgraphicswebview.cpp (revision 86532)
+++ src/3rdparty/webkit/Source/WebKit/qt/Api/qgraphicswebview.cpp (revision 86533)
-@@ -473,7 +473,7 @@
- return;
-
- page->d->view.clear();
-- page->d->client = 0;
-+ page->d->client = nullptr;
-
- // if the page was created by us, we own it and need to
- // destroy it as well.
-@@ -506,7 +506,7 @@
+@@ -504,7 +504,7 @@
if (!d->page)
return;
@@ -927,18 +576,6 @@ libc++ provides std::nullptr emulation, so we don't have to.
, m_destroyingInspectorView(false)
--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp (revision 86536)
+++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp (revision 86550)
-@@ -73,9 +73,9 @@
- #if ENABLE(NOTIFICATIONS)
-
- #ifndef QT_NO_SYSTEMTRAYICON
-- m_notificationIcon = 0;
-+ m_notificationIcon = nullptr;
- #endif
-- m_presenter = 0;
-+ m_presenter = nullptr;
- #endif
- }
-
@@ -211,9 +211,9 @@
QPixmap pixmap;
if (bytes.length() && pixmap.loadFromData(bytes)) {
diff --git a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__jit__JITStubs.cpp b/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__jit__JITStubs.cpp
deleted file mode 100644
index 093c17420874..000000000000
--- a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__jit__JITStubs.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp.orig 2012-12-12 20:18:37.000000000 +0100
-+++ ./src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp 2012-12-17 02:10:50.513375070 +0100
-@@ -80,7 +80,7 @@
- #define THUMB_FUNC_PARAM(name)
- #endif
-
--#if OS(LINUX) && CPU(X86_64)
-+#if (OS(LINUX) || OS(FREEBSD)) && CPU(X86_64)
- #define SYMBOL_STRING_RELOCATION(name) #name "@plt"
- #else
- #define SYMBOL_STRING_RELOCATION(name) SYMBOL_STRING(name)
diff --git a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__Collector.cpp b/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__Collector.cpp
deleted file mode 100644
index 95e112ac20eb..000000000000
--- a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__Collector.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-From 952b046ba5bc99986f747729681914e21f8fb8b0 Mon Sep 17 00:00:00 2001
-From: "Bradley T. Hughes" <bradley.hughes@nokia.com>
-Date: Wed, 30 May 2012 11:49:40 +0200
-Subject: [PATCH] Compile with clang's libc++
-
-An overload for std::swap() what works with std::pair<A,B> is included
-in libc++ (but not libstdc++). Avoid ambiguity in HashTable.h by
-omitting the version there and using the std::swap() version.
-
-Collector.cpp needs to include pthread.h directly, as it is not
-automatically included by libc++'s headers (libstdc++ does pull in
-pthread.h though).
-
-Cherry-picked from qtscript/48baeef0766ba145d26d374561e152b40245f3b8.
-
-Change-Id: I4dc88638ce8553bb97037b841fc6cc5e8c9911e2
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
----
- src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 2 ++
- src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h | 4 ++--
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
-index 6af1784..711949b 100644
---- src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
-+++ src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
-@@ -52,6 +52,8 @@
- #include <mach/task.h>
- #include <mach/thread_act.h>
- #include <mach/vm_map.h>
-+// clang's libc++ headers does not pull in pthread.h (but libstdc++ does)
-+#include <pthread.h>
-
- #elif OS(WINDOWS)
-
---
-1.8.4
-
diff --git a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__JSValue.h b/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__JSValue.h
deleted file mode 100644
index ab3985eaaf8a..000000000000
--- a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__JSValue.h
+++ /dev/null
@@ -1,26 +0,0 @@
---- ./src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h.orig 2012-12-12 20:18:36.000000000 +0100
-+++ ./src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h 2012-12-17 02:13:05.073285539 +0100
-@@ -491,7 +491,11 @@
- u.asBits.tag = CellTag;
- else
- u.asBits.tag = EmptyValueTag;
-+#if defined(__sparc64__)
-+ u.asBits.payload = reinterpret_cast<int64_t>(ptr);
-+#else
- u.asBits.payload = reinterpret_cast<int32_t>(ptr);
-+#endif
- #if ENABLE(JSC_ZOMBIES)
- ASSERT(!isZombie());
- #endif
-@@ -503,7 +507,11 @@
- u.asBits.tag = CellTag;
- else
- u.asBits.tag = EmptyValueTag;
-+#if defined(__sparc64__)
-+ u.asBits.payload = reinterpret_cast<int64_t>(const_cast<JSCell*>(ptr));
-+#else
- u.asBits.payload = reinterpret_cast<int32_t>(const_cast<JSCell*>(ptr));
-+#endif
- #if ENABLE(JSC_ZOMBIES)
- ASSERT(!isZombie());
- #endif
diff --git a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__HashTable.h b/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__HashTable.h
deleted file mode 100644
index 20f5b8c74a99..000000000000
--- a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__HashTable.h
+++ /dev/null
@@ -1,40 +0,0 @@
-From 952b046ba5bc99986f747729681914e21f8fb8b0 Mon Sep 17 00:00:00 2001
-From: "Bradley T. Hughes" <bradley.hughes@nokia.com>
-Date: Wed, 30 May 2012 11:49:40 +0200
-Subject: [PATCH] Compile with clang's libc++
-
-An overload for std::swap() what works with std::pair<A,B> is included
-in libc++ (but not libstdc++). Avoid ambiguity in HashTable.h by
-omitting the version there and using the std::swap() version.
-
-Collector.cpp needs to include pthread.h directly, as it is not
-automatically included by libc++'s headers (libstdc++ does pull in
-pthread.h though).
-
-Cherry-picked from qtscript/48baeef0766ba145d26d374561e152b40245f3b8.
-
-Change-Id: I4dc88638ce8553bb97037b841fc6cc5e8c9911e2
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
----
- src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 2 ++
- src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h | 4 ++--
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h
-index bea9daa..42a9233 100644
---- src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h
-+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h
-@@ -257,8 +257,8 @@ namespace WTF {
-
- using std::swap;
-
--#if !COMPILER(MSVC) && !OS(QNX)
-- // The Dinkumware C++ library (used by MSVC and QNX) has a swap for pairs defined.
-+#if !COMPILER(MSVC) && !OS(QNX) && !defined(_LIBCPP_VERSION)
-+ // The Dinkumware C++ library (used by MSVC and QNX) and clang's libc++ have a swap for pairs defined.
-
- // swap pairs by component, in case of pair members that specialize swap
- template<typename T, typename U> inline void swap(pair<T, U>& a, pair<T, U>& b)
---
-1.8.4
-
diff --git a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h b/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h
deleted file mode 100644
index 524827951209..000000000000
--- a/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h
+++ /dev/null
@@ -1,91 +0,0 @@
-From 0de22e80ac645afc3793419300d6271d95809196 Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
-Date: Tue, 11 Jun 2013 19:25:08 +0300
-Subject: [PATCH] Bring in WebKit revisions 139553 and 139921.
-
-They are primarily useful for getting rid of some libstdc++-specific
-includes which break the build with libc++, and also for simplifying the
-code and removing a Darwin-specific code path.
-
-r139553 by ossy@webkit.org:
- Use sync_add_and_fetch instead of gnu_cxx::exchange_and_add
- https://bugs.webkit.org/show_bug.cgi?id=106729
-
- After r139514 we need atomicIncrement(int64_t volatile*) for all
- platform. Now the GCC implementation of atomicIncrement() is based on
- gnu_cxx::exchange_and_add, which doesn't support int64_t type, but
- sync_add_and_fetch does.
-
- Reviewed by Benjamin Poulain.
-
-r139921 by benjamin@webkit.org:
- Use GCC's implementation of atomicIncrement/Decrement on Mac
- https://bugs.webkit.org/show_bug.cgi?id=106976
-
- Reviewed by Filip Pizlo.
-
- wtf/Atomics.h: GCC and LLVM have builtin for atomic ADD and SUB:
- sync_add_and_fetch, sync_sub_and_fetch.
-
- Using them let the compiler just generate the atomic operations inline
- instead of generating a function call to LibC. It also simplify the
- code a bit.
-
-Cherry-picked from qtscript/184fc178f4c753727445694c4830c250f53da588.
-
-Change-Id: Id785e35944682691725947e0f329668d17ff6903
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
----
- .../javascriptcore/JavaScriptCore/wtf/Threading.h | 18 ++----------------
- 1 file changed, 2 insertions(+), 16 deletions(-)
-
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 8b76c0f..b3ea7d2 100644
---- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -71,18 +71,10 @@
-
- #if OS(WINDOWS) && !OS(WINCE)
- #include <windows.h>
--#elif OS(DARWIN)
--#include <libkern/OSAtomic.h>
- #elif OS(ANDROID)
- #include <cutils/atomic.h>
- #elif OS(QNX)
- #include <atomic.h>
--#elif COMPILER(GCC) && !OS(SYMBIAN)
--#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2))
--#include <ext/atomicity.h>
--#else
--#include <bits/atomicity.h>
--#endif
- #endif
-
- #if USE(PTHREADS)
-@@ -230,12 +222,6 @@ inline int atomicIncrement(int volatile* addend) { return InterlockedIncrement(r
- inline int atomicDecrement(int volatile* addend) { return InterlockedDecrement(reinterpret_cast<long volatile*>(addend)); }
- #endif
-
--#elif OS(DARWIN)
--#define WTF_USE_LOCKFREE_THREADSAFESHARED 1
--
--inline int atomicIncrement(int volatile* addend) { return OSAtomicIncrement32Barrier(const_cast<int*>(addend)); }
--inline int atomicDecrement(int volatile* addend) { return OSAtomicDecrement32Barrier(const_cast<int*>(addend)); }
--
- #elif OS(ANDROID)
-
- inline int atomicIncrement(int volatile* addend) { return android_atomic_inc(addend); }
-@@ -250,8 +236,8 @@ inline int atomicDecrement(int volatile* addend) { return (int) atomic_sub_value
- #elif COMPILER(GCC) && !CPU(SPARC64) && !OS(SYMBIAN) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc
- #define WTF_USE_LOCKFREE_THREADSAFESHARED 1
-
--inline int atomicIncrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, 1) + 1; }
--inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; }
-+inline int atomicIncrement(int volatile* addend) { return __sync_add_and_fetch(addend, 1); }
-+inline int atomicDecrement(int volatile* addend) { return __sync_sub_and_fetch(addend, 1); }
-
- #endif
-
---
-1.8.4
-
diff --git a/converters/wkhtmltopdf/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h b/converters/wkhtmltopdf/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h
index 3e08330c3868..4fc6d3251ea5 100644
--- a/converters/wkhtmltopdf/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h
+++ b/converters/wkhtmltopdf/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h
@@ -1,49 +1,5 @@
-From e3c44790065894f4e7f98ab097fce22c5bcbbd0a Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
-Date: Tue, 2 Jul 2013 13:48:28 +0300
-Subject: [PATCH] Bring in WebKit revisions 139553 and 139921.
-
-They are primarily useful for getting rid of some libstdc++-specific
-includes which break the build with libc++, and also for simplifying the
-code and removing a Darwin-specific code path.
-
-r139553 by ossy@webkit.org:
- Use sync_add_and_fetch instead of gnu_cxx::exchange_and_add
- https://bugs.webkit.org/show_bug.cgi?id=106729
-
- After r139514 we need atomicIncrement(int64_t volatile*) for all
- platform. Now the GCC implementation of atomicIncrement() is based on
- gnu_cxx::exchange_and_add, which doesn't support int64_t type, but
- sync_add_and_fetch does.
-
- Reviewed by Benjamin Poulain.
-
-r139921 by benjamin@webkit.org:
- Use GCC's implementation of atomicIncrement/Decrement on Mac
- https://bugs.webkit.org/show_bug.cgi?id=106976
-
- Reviewed by Filip Pizlo.
-
- wtf/Atomics.h: GCC and LLVM have builtin for atomic ADD and SUB:
- sync_add_and_fetch, sync_sub_and_fetch.
-
- Using them let the compiler just generate the atomic operations inline
- instead of generating a function call to LibC. It also simplify the
- code a bit.
-
-Cherry-picked from qtwebkit/0baf197 and qtwebkit/801fc96. I'm cherry-picking
-both revisions together to match what was done in 0de22e80.
-
-Change-Id: Ie5c1067980662ff04e8e36d8cf6e9459b7c46aab
-Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
----
- .../webkit/Source/JavaScriptCore/wtf/Atomics.h | 18 ++----------------
- 1 file changed, 2 insertions(+), 16 deletions(-)
-
-diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h
-index bce5fba..acf0e5a 100644
---- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h
-+++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h
+--- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h.orig 2014-04-10 20:37:11.000000000 +0200
++++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h 2014-04-24 16:11:40.000000000 +0200
@@ -63,18 +63,10 @@
#if OS(WINDOWS)
@@ -63,12 +19,12 @@ index bce5fba..acf0e5a 100644
#endif
namespace WTF {
-@@ -90,12 +82,6 @@ inline int atomicIncrement(int volatile* addend) { return InterlockedIncrement(r
+@@ -90,12 +82,6 @@
inline int atomicDecrement(int volatile* addend) { return InterlockedDecrement(reinterpret_cast<long volatile*>(addend)); }
#endif
-#elif OS(DARWIN)
--#define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
+-#define WTF_USE_LOCKFREE_THREADSAFESHARED 1
-
-inline int atomicIncrement(int volatile* addend) { return OSAtomicIncrement32Barrier(const_cast<int*>(addend)); }
-inline int atomicDecrement(int volatile* addend) { return OSAtomicDecrement32Barrier(const_cast<int*>(addend)); }
@@ -76,17 +32,3 @@ index bce5fba..acf0e5a 100644
#elif OS(ANDROID)
inline int atomicIncrement(int volatile* addend) { return android_atomic_inc(addend); }
-@@ -109,8 +95,8 @@ inline int atomicDecrement(int volatile* addend) { return (int) atomic_sub_value
- #elif COMPILER(GCC) && !CPU(SPARC64) && !OS(SYMBIAN) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc
- #define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
-
--inline int atomicIncrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, 1) + 1; }
--inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; }
-+inline int atomicIncrement(int volatile* addend) { return __sync_add_and_fetch(addend, 1); }
-+inline int atomicDecrement(int volatile* addend) { return __sync_sub_and_fetch(addend, 1); }
-
- #endif
-
---
-1.8.4
-
diff --git a/converters/wkhtmltopdf/pkg-plist b/converters/wkhtmltopdf/pkg-plist
index fb1fe078bbd5..c56030ee90bf 100644
--- a/converters/wkhtmltopdf/pkg-plist
+++ b/converters/wkhtmltopdf/pkg-plist
@@ -1,21 +1,13 @@
bin/wkhtmltopdf
bin/wkhtmltoimage
-include/wkhtmltox/converter.hh
include/wkhtmltox/dllbegin.inc
include/wkhtmltox/dllend.inc
include/wkhtmltox/image.h
-include/wkhtmltox/imageconverter.hh
-include/wkhtmltox/imagesettings.hh
-include/wkhtmltox/loadsettings.hh
-include/wkhtmltox/multipageloader.hh
include/wkhtmltox/pdf.h
-include/wkhtmltox/pdfconverter.hh
-include/wkhtmltox/pdfsettings.hh
-include/wkhtmltox/settings.hh
-include/wkhtmltox/utilities.hh
-include/wkhtmltox/websettings.hh
lib/libwkhtmltox.so
lib/libwkhtmltox.so.0
lib/libwkhtmltox.so.0.12
-lib/libwkhtmltox.so.0.12.0
+lib/libwkhtmltox.so.0.12.1
+man/man1/wkhtmltoimage.1.gz
+man/man1/wkhtmltopdf.1.gz
@dirrm include/wkhtmltox