svn commit: r359751 - in head/converters/wkhtmltopdf: . files
Martin Matuska
mm at FreeBSD.org
Sun Jun 29 10:27:40 UTC 2014
Author: mm
Date: Sun Jun 29 10:27:39 2014
New Revision: 359751
URL: http://svnweb.freebsd.org/changeset/ports/359751
QAT: https://qat.redports.org/buildarchive/r359751/
Log:
Update wkhtmltopdf to 0.12.1
Deleted:
head/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__jit__JITStubs.cpp
head/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__Collector.cpp
head/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__runtime__JSValue.h
head/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__HashTable.h
head/converters/wkhtmltopdf/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h
Modified:
head/converters/wkhtmltopdf/Makefile
head/converters/wkhtmltopdf/distinfo
head/converters/wkhtmltopdf/files/patch-libcxx
head/converters/wkhtmltopdf/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h
head/converters/wkhtmltopdf/pkg-plist
Modified: head/converters/wkhtmltopdf/Makefile
==============================================================================
--- head/converters/wkhtmltopdf/Makefile Sun Jun 29 09:59:25 2014 (r359750)
+++ head/converters/wkhtmltopdf/Makefile Sun Jun 29 10:27:39 2014 (r359751)
@@ -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 at 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}
+LIBVERSION= 0.12.0
-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 \
+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>
Modified: head/converters/wkhtmltopdf/distinfo
==============================================================================
--- head/converters/wkhtmltopdf/distinfo Sun Jun 29 09:59:25 2014 (r359750)
+++ head/converters/wkhtmltopdf/distinfo Sun Jun 29 10:27:39 2014 (r359751)
@@ -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
Modified: head/converters/wkhtmltopdf/files/patch-libcxx
==============================================================================
--- head/converters/wkhtmltopdf/files/patch-libcxx Sun Jun 29 09:59:25 2014 (r359750)
+++ head/converters/wkhtmltopdf/files/patch-libcxx Sun Jun 29 10:27:39 2014 (r359751)
@@ -208,7 +208,7 @@ libc++ provides std::nullptr emulation,
#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,
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,
--- 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,
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,
--- 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,
, 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)) {
Modified: head/converters/wkhtmltopdf/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h
==============================================================================
--- head/converters/wkhtmltopdf/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h Sun Jun 29 09:59:25 2014 (r359750)
+++ head/converters/wkhtmltopdf/files/patch-src__3rdparty__webkit__Source__JavaScriptCore__wtf__Atomics.h Sun Jun 29 10:27:39 2014 (r359751)
@@ -1,49 +1,5 @@
-From e3c44790065894f4e7f98ab097fce22c5bcbbd0a Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <rakuco at 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 at 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 at 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 at 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
-
Modified: head/converters/wkhtmltopdf/pkg-plist
==============================================================================
--- head/converters/wkhtmltopdf/pkg-plist Sun Jun 29 09:59:25 2014 (r359750)
+++ head/converters/wkhtmltopdf/pkg-plist Sun Jun 29 10:27:39 2014 (r359751)
@@ -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
More information about the svn-ports-head
mailing list