Tue Jan 17 14:01:57 2023 UTC ()
Update print/podofo to version 0.9.8
Fixes many CVE.

Note upstream pushed their src/ contents to src/podofo so patches
had to move that didn't otherwise change.

upstream changelog:

  PoDoFo 0.9.8 released - last release on current code base

  May 3rd 2022

  The PoDoFo developers are happy to announce the release of PoDoFo 0.9.8.
  This release contains over 25 patches submitted by various contributors
  (see SVN Log for details). We encourage all users to upgrade to this
  release.

  Also, this will be the final release of PoDoFo based on the current
  codebase.
  After the release we plan to introduce two major changes to PoDoFo
  development.

  First of all, we will lock/close the current SVN trunk and switch PoDoFo
  development to a more modern development platform, where we can leverage
  state of the art development features such as Continuous Integration or
  Pull Requests. The mailing list and webpage will stay on SourceForge
  as well as the issue tracker. Still, we will open a new issue tracker
  for the new development environment and gradually migrate open issues.
  We will share more news on this, once the new development environment
  was set up.

  Secondly and most importantly, we will replace the current codebase
  of PoDoFo with the amazing work Francesco Pretto has done with pdfmm.
  pdfmm is based on PoDoFo but with an improved and reworked API based
  on C++17 which we consider more suitable for future development of PoDoFo.
  After rebasing PoDoFo on pdfmm, we plan to release PoDoFo 1.0.0.

  Please note, PoDoFo 1.0.0 will be API incompatible (binary and in
  source code) with PoDoFo 0.9.8. We expect migration steps to be necessary.
  PoDoFo Tools are currently being ported to pdfmm as a showcase for
  the migration.

  PoDoFo 0.9.7 released

  January 9th 2021

  PoDoFo 0.9.7 was released today, after over 2 year of development
  and with the help of many new contributors.

  As there are so many improvements, patches and fixes that made it
  into this release, we are not able to list them, so please stick with
  the svn log.

  This release also includes a release of podofobrowser which was
  ported to Qt5.


(spz)
diff -r1.39 -r1.40 pkgsrc/print/podofo/Makefile
diff -r1.5 -r1.6 pkgsrc/print/podofo/PLIST
diff -r1.23 -r1.24 pkgsrc/print/podofo/distinfo
diff -r1.1 -r0 pkgsrc/print/podofo/patches/patch-src_CMakeLists.txt
diff -r1.1 -r0 pkgsrc/print/podofo/patches/patch-test_TokenizerTest_CMakeLists.txt
diff -r1.2 -r0 pkgsrc/print/podofo/patches/patch-src_base_PdfMemoryManagement.cpp
diff -r1.3 -r0 pkgsrc/print/podofo/patches/patch-src_doc_PdfImage.cpp
diff -r0 -r1.1 pkgsrc/print/podofo/patches/patch-src_podofo_CMakeLists.txt
diff -r0 -r1.1 pkgsrc/print/podofo/patches/patch-src_podofo_base_PdfMemoryManagement.cpp
diff -r0 -r1.1 pkgsrc/print/podofo/patches/patch-src_podofo_doc_PdfImage.cpp

cvs diff -r1.39 -r1.40 pkgsrc/print/podofo/Makefile (expand / switch to unified diff)

--- pkgsrc/print/podofo/Makefile 2023/01/03 17:36:31 1.39
+++ pkgsrc/print/podofo/Makefile 2023/01/17 14:01:57 1.40
@@ -1,17 +1,17 @@ @@ -1,17 +1,17 @@
1# $NetBSD: Makefile,v 1.39 2023/01/03 17:36:31 wiz Exp $ 1# $NetBSD: Makefile,v 1.40 2023/01/17 14:01:57 spz Exp $
2 2
3DISTNAME= podofo-0.9.6 3DISTNAME= podofo-0.9.8
4PKGREVISION= 5 4#PKGREVISION= 0
5CATEGORIES= print 5CATEGORIES= print
6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=podofo/} 6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=podofo/}
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= http://podofo.sourceforge.net/ 9HOMEPAGE= http://podofo.sourceforge.net/
10COMMENT= Library to work with the PDF file format 10COMMENT= Library to work with the PDF file format
11LICENSE= gnu-lgpl-v2 AND gnu-gpl-v2 11LICENSE= gnu-lgpl-v2 AND gnu-gpl-v2
12 12
13USE_CMAKE= yes 13USE_CMAKE= yes
14USE_LANGUAGES= c c++ 14USE_LANGUAGES= c c++
15USE_TOOLS+= pkg-config 15USE_TOOLS+= pkg-config
16 16
17CMAKE_ARGS+= -DPODOFO_BUILD_SHARED=ON 17CMAKE_ARGS+= -DPODOFO_BUILD_SHARED=ON

cvs diff -r1.5 -r1.6 pkgsrc/print/podofo/PLIST (expand / switch to unified diff)

--- pkgsrc/print/podofo/PLIST 2017/02/11 22:27:00 1.5
+++ pkgsrc/print/podofo/PLIST 2023/01/17 14:01:57 1.6
@@ -1,25 +1,26 @@ @@ -1,25 +1,26 @@
1@comment $NetBSD: PLIST,v 1.5 2017/02/11 22:27:00 adam Exp $ 1@comment $NetBSD: PLIST,v 1.6 2023/01/17 14:01:57 spz Exp $
2bin/podofobox 2bin/podofobox
3bin/podofocolor 3bin/podofocolor
4bin/podofocountpages 4bin/podofocountpages
5bin/podofocrop 5bin/podofocrop
6bin/podofoencrypt 6bin/podofoencrypt
7bin/podofogc 7bin/podofogc
8bin/podofoimg2pdf 8bin/podofoimg2pdf
9bin/podofoimgextract 9bin/podofoimgextract
10bin/podofoimpose 10bin/podofoimpose
11bin/podofoincrementalupdates 11bin/podofoincrementalupdates
12bin/podofomerge 12bin/podofomerge
 13bin/podofonooc
13bin/podofopages 14bin/podofopages
14bin/podofopdfinfo 15bin/podofopdfinfo
15bin/podofosign 16bin/podofosign
16bin/podofotxt2pdf 17bin/podofotxt2pdf
17bin/podofotxtextract 18bin/podofotxtextract
18bin/podofouncompress 19bin/podofouncompress
19bin/podofoxmp 20bin/podofoxmp
20include/podofo/base/Pdf3rdPtyForwardDecl.h 21include/podofo/base/Pdf3rdPtyForwardDecl.h
21include/podofo/base/PdfArray.h 22include/podofo/base/PdfArray.h
22include/podofo/base/PdfCanvas.h 23include/podofo/base/PdfCanvas.h
23include/podofo/base/PdfColor.h 24include/podofo/base/PdfColor.h
24include/podofo/base/PdfCompilerCompat.h 25include/podofo/base/PdfCompilerCompat.h
25include/podofo/base/PdfCompilerCompatPrivate.h 26include/podofo/base/PdfCompilerCompatPrivate.h
@@ -39,26 +40,27 @@ include/podofo/base/PdfFileStream.h @@ -39,26 +40,27 @@ include/podofo/base/PdfFileStream.h
39include/podofo/base/PdfFilter.h 40include/podofo/base/PdfFilter.h
40include/podofo/base/PdfFiltersPrivate.h 41include/podofo/base/PdfFiltersPrivate.h
41include/podofo/base/PdfImmediateWriter.h 42include/podofo/base/PdfImmediateWriter.h
42include/podofo/base/PdfInputDevice.h 43include/podofo/base/PdfInputDevice.h
43include/podofo/base/PdfInputStream.h 44include/podofo/base/PdfInputStream.h
44include/podofo/base/PdfLocale.h 45include/podofo/base/PdfLocale.h
45include/podofo/base/PdfMemStream.h 46include/podofo/base/PdfMemStream.h
46include/podofo/base/PdfMemoryManagement.h 47include/podofo/base/PdfMemoryManagement.h
47include/podofo/base/PdfName.h 48include/podofo/base/PdfName.h
48include/podofo/base/PdfObject.h 49include/podofo/base/PdfObject.h
49include/podofo/base/PdfObjectStreamParserObject.h 50include/podofo/base/PdfObjectStreamParserObject.h
50include/podofo/base/PdfOutputDevice.h 51include/podofo/base/PdfOutputDevice.h
51include/podofo/base/PdfOutputStream.h 52include/podofo/base/PdfOutputStream.h
 53include/podofo/base/PdfOwnedDataType.h
52include/podofo/base/PdfParser.h 54include/podofo/base/PdfParser.h
53include/podofo/base/PdfParserObject.h 55include/podofo/base/PdfParserObject.h
54include/podofo/base/PdfRect.h 56include/podofo/base/PdfRect.h
55include/podofo/base/PdfRefCountedBuffer.h 57include/podofo/base/PdfRefCountedBuffer.h
56include/podofo/base/PdfRefCountedInputDevice.h 58include/podofo/base/PdfRefCountedInputDevice.h
57include/podofo/base/PdfReference.h 59include/podofo/base/PdfReference.h
58include/podofo/base/PdfStream.h 60include/podofo/base/PdfStream.h
59include/podofo/base/PdfString.h 61include/podofo/base/PdfString.h
60include/podofo/base/PdfTokenizer.h 62include/podofo/base/PdfTokenizer.h
61include/podofo/base/PdfVariant.h 63include/podofo/base/PdfVariant.h
62include/podofo/base/PdfVecObjects.h 64include/podofo/base/PdfVecObjects.h
63include/podofo/base/PdfVersion.h 65include/podofo/base/PdfVersion.h
64include/podofo/base/PdfWriter.h 66include/podofo/base/PdfWriter.h
@@ -116,27 +118,27 @@ include/podofo/doc/PdfPainter.h @@ -116,27 +118,27 @@ include/podofo/doc/PdfPainter.h
116include/podofo/doc/PdfPainterMM.h 118include/podofo/doc/PdfPainterMM.h
117include/podofo/doc/PdfShadingPattern.h 119include/podofo/doc/PdfShadingPattern.h
118include/podofo/doc/PdfSignOutputDevice.h 120include/podofo/doc/PdfSignOutputDevice.h
119include/podofo/doc/PdfSignatureField.h 121include/podofo/doc/PdfSignatureField.h
120include/podofo/doc/PdfStreamedDocument.h 122include/podofo/doc/PdfStreamedDocument.h
121include/podofo/doc/PdfTable.h 123include/podofo/doc/PdfTable.h
122include/podofo/doc/PdfTilingPattern.h 124include/podofo/doc/PdfTilingPattern.h
123include/podofo/doc/PdfXObject.h 125include/podofo/doc/PdfXObject.h
124include/podofo/podofo-base.h 126include/podofo/podofo-base.h
125include/podofo/podofo.h 127include/podofo/podofo.h
126lib/libpodofo.a 128lib/libpodofo.a
127lib/libpodofo.so 129lib/libpodofo.so
128lib/libpodofo.so.${PKGVERSION} 130lib/libpodofo.so.${PKGVERSION}
129lib/pkgconfig/libpodofo-0.pc 131lib/pkgconfig/libpodofo.pc
130man/man1/podofobox.1 132man/man1/podofobox.1
131man/man1/podofocolor.1 133man/man1/podofocolor.1
132man/man1/podofocountpages.1 134man/man1/podofocountpages.1
133man/man1/podofocrop.1 135man/man1/podofocrop.1
134man/man1/podofoencrypt.1 136man/man1/podofoencrypt.1
135man/man1/podofogc.1 137man/man1/podofogc.1
136man/man1/podofoimg2pdf.1 138man/man1/podofoimg2pdf.1
137man/man1/podofoimgextract.1 139man/man1/podofoimgextract.1
138man/man1/podofoimpose.1 140man/man1/podofoimpose.1
139man/man1/podofoincrementalupdates.1 141man/man1/podofoincrementalupdates.1
140man/man1/podofomerge.1 142man/man1/podofomerge.1
141man/man1/podofopages.1 143man/man1/podofopages.1
142man/man1/podofopdfinfo.1 144man/man1/podofopdfinfo.1

cvs diff -r1.23 -r1.24 pkgsrc/print/podofo/distinfo (expand / switch to unified diff)

--- pkgsrc/print/podofo/distinfo 2021/10/26 11:12:13 1.23
+++ pkgsrc/print/podofo/distinfo 2023/01/17 14:01:57 1.24
@@ -1,12 +1,11 @@ @@ -1,12 +1,11 @@
1$NetBSD: distinfo,v 1.23 2021/10/26 11:12:13 nia Exp $ 1$NetBSD: distinfo,v 1.24 2023/01/17 14:01:57 spz Exp $
2 2
3BLAKE2s (podofo-0.9.6.tar.gz) = 4d56bd684ef53114d2b5a0c23fccf55aeedf930d25d3c88c08803e2e75edd92d 3BLAKE2s (podofo-0.9.8.tar.gz) = 16c57b22a80fa29abbd4cf34895efc9cd4e549ac4590234363652a60d48ec50c
4SHA512 (podofo-0.9.6.tar.gz) = 35c1a457758768bdadc93632385f6b9214824fead279f1b85420443fb2135837cefca9ced476df0d47066f060e9150e12fcd40f60fa1606b177da433feb20130 4SHA512 (podofo-0.9.8.tar.gz) = b220322114450f1656c73d325f5172bc4cec0b1913e98b4eb2455f8ed7394bcaa47438d41003c9678937ef44d411e135431ddd6784f83d3663337d471baa02b1
5Size (podofo-0.9.6.tar.gz) = 995898 bytes 5Size (podofo-0.9.8.tar.gz) = 1012918 bytes
6SHA1 (patch-CMakeLists.txt) = cb576aaf2e6ebe875818aefbba8d83c4ddbae7e4 6SHA1 (patch-CMakeLists.txt) = cb576aaf2e6ebe875818aefbba8d83c4ddbae7e4
7SHA1 (patch-cmake_modules_FindFREETYPE.cmake) = 755d6d7ad73dea490479b90299728129bb1b0795 7SHA1 (patch-cmake_modules_FindFREETYPE.cmake) = 755d6d7ad73dea490479b90299728129bb1b0795
8SHA1 (patch-src_CMakeLists.txt) = eb44b1ba06a850340a7fb2de42ac982336cb04cd 8SHA1 (patch-src_podofo_CMakeLists.txt) = 9a75d0ce18f331b02bcd74a2935d36e0de701266
9SHA1 (patch-src_base_PdfMemoryManagement.cpp) = 9303daf1e471106d9d22e42230db650dba5f1006 9SHA1 (patch-src_podofo_base_PdfMemoryManagement.cpp) = ad5772c41f401b1a31caa37c4f05209f31899c87
10SHA1 (patch-src_doc_PdfImage.cpp) = 844250a772d40ba3ea2322ea623990b87b27c664 10SHA1 (patch-src_podofo_doc_PdfImage.cpp) = e9ff858a56e14b6b19d2e9c5f043d9d905d998b3
11SHA1 (patch-test_CMakeLists.txt) = 846871dac995ff80544ad9096574eddd776e324f 11SHA1 (patch-test_CMakeLists.txt) = 846871dac995ff80544ad9096574eddd776e324f
12SHA1 (patch-test_TokenizerTest_CMakeLists.txt) = 588f0f26aa5c8d6a1d1e6119680b9ee7416781d6 

File Deleted: pkgsrc/print/podofo/patches/Attic/patch-src_CMakeLists.txt

File Deleted: pkgsrc/print/podofo/patches/Attic/patch-test_TokenizerTest_CMakeLists.txt

File Deleted: pkgsrc/print/podofo/patches/Attic/patch-src_base_PdfMemoryManagement.cpp

File Deleted: pkgsrc/print/podofo/patches/Attic/patch-src_doc_PdfImage.cpp

File Added: pkgsrc/print/podofo/patches/patch-src_podofo_CMakeLists.txt
$NetBSD: patch-src_podofo_CMakeLists.txt,v 1.1 2023/01/17 14:01:57 spz Exp $

Inherit CMake requirement from the main CMakeLists.txt.

--- src/podofo/CMakeLists.txt.orig	2018-03-11 11:42:20.000000000 +0000
+++ src/podofo/CMakeLists.txt
@@ -1,4 +1,3 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
 IF(NOT PODOFO_MAIN_CMAKELISTS_READ)
   MESSAGE(FATAL_ERROR "Run cmake on the CMakeLists.txt in the project root, not the one in the 'src' directory. You will need to delete CMakeCache.txt from the current directory.")

File Added: pkgsrc/print/podofo/patches/patch-src_podofo_base_PdfMemoryManagement.cpp
$NetBSD: patch-src_podofo_base_PdfMemoryManagement.cpp,v 1.1 2023/01/17 14:01:57 spz Exp $

Make sure SIZE_MAX is defined.

--- src/podofo/base/PdfMemoryManagement.cpp.orig	2017-01-29 12:26:55.000000000 +0000
+++ src/podofo/base/PdfMemoryManagement.cpp
@@ -31,6 +31,9 @@
  *   files in the program, then also delete it here.                       *
  ***************************************************************************/
 
+#define __STDC_LIMIT_MACROS 1
+#include <stdint.h>
+
 #include "PdfMemoryManagement.h"
 #include "PdfDefines.h"
 #include "PdfDefinesPrivate.h"

File Added: pkgsrc/print/podofo/patches/patch-src_podofo_doc_PdfImage.cpp
$NetBSD: patch-src_podofo_doc_PdfImage.cpp,v 1.1 2023/01/17 14:01:57 spz Exp $

Recognize TIFF images with alpha channel when using the photometric
colour tag.

--- src/podofo/doc/PdfImage.cpp.orig	2016-05-15 19:06:35.000000000 +0000
+++ src/podofo/doc/PdfImage.cpp
@@ -589,7 +589,7 @@ void PdfImage::LoadFromTiffHandle(void* 
             break;
             
         case PHOTOMETRIC_RGB:
-            if ( bitsPixel != 24 )
+            if ( bitsPixel != 24 && bitsPixel != 32 )
             {
                 TIFFClose(hInTiffHandle);
                 PODOFO_RAISE_ERROR( ePdfError_UnsupportedImageFormat );