Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Jun 2014 10:27:39 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r359751 - in head/converters/wkhtmltopdf: . files
Message-ID:  <201406291027.s5TARd16043242@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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@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
-

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406291027.s5TARd16043242>