git: bf222db11a38 - main - graphics/podofo: update to 0.10.0 preserving version 0.9.x

From: Guido Falsi <madpilot_at_FreeBSD.org>
Date: Thu, 15 Jun 2023 16:08:03 UTC
The branch main has been updated by madpilot:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bf222db11a38d41e5a97742d48f2c149c6462bfc

commit bf222db11a38d41e5a97742d48f2c149c6462bfc
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2023-06-15 16:04:37 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2023-06-15 16:08:02 +0000

    graphics/podofo: update to 0.10.0 preserving version 0.9.x
    
    Version 0.10.0 of podofo is API/ABI incompatible with previous
    version. so with the update we need to preserve the previous version
    in the tree as graphics/podofo09 for ports depending on that version.
    The old port is modified so that it can be installed concurrently
    with the new version.
    
    Ports depending on the old version on the ports are modified
    accordingly.
    
    Approved by:            sunpoet (maintainer, via private mail), pkubaj, yuri
    Differential Revision:  https://reviews.freebsd.org/D40328
---
 cad/horizon-eda/Makefile                           |  15 +-
 cad/horizon-eda/files/patch-Makefile               |  26 ++
 graphics/Makefile                                  |   1 +
 graphics/podofo/Makefile                           |  42 +--
 graphics/podofo/distinfo                           |   6 +-
 graphics/podofo/files/patch-CMakeLists.txt         | 122 ++++-----
 .../podofo/files/patch-src-podofo-CMakeLists.txt   |  33 ---
 graphics/podofo/files/patch-utf8cpp                | 176 +++++++++++++
 graphics/podofo/pkg-plist                          | 290 +++++++++++----------
 graphics/podofo09/Makefile                         |  58 +++++
 graphics/podofo09/distinfo                         |   3 +
 graphics/podofo09/files/patch-CMakeLists.txt       |  91 +++++++
 .../files/patch-cmake-modules-FindLua51.cmake      |   0
 .../podofo09/files/patch-src-podofo-CMakeLists.txt |  69 +++++
 .../files/patch-src_podofo_libpodofo.pc.in         |  15 ++
 graphics/podofo09/pkg-descr                        |  11 +
 graphics/podofo09/pkg-plist                        | 147 +++++++++++
 print/scribus-devel/Makefile                       |  13 +-
 .../files/patch-cmake_modules_FindLIBPODOFO.cmake  |  48 ++++
 sysutils/krename/Makefile                          |   9 +-
 .../files/patch-cmake_modules_FindPoDoFo.cmake     |  28 ++
 21 files changed, 922 insertions(+), 281 deletions(-)

diff --git a/cad/horizon-eda/Makefile b/cad/horizon-eda/Makefile
index 604f7606a994..75b3e4088d20 100644
--- a/cad/horizon-eda/Makefile
+++ b/cad/horizon-eda/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	horizon-eda
 DISTVERSIONPREFIX=	v
 DISTVERSION=	2.4.0
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	cad
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -19,7 +19,7 @@ LIB_DEPENDS=	libcurl.so:ftp/curl \
 		libgit2.so:devel/libgit2 \
 		libharfbuzz.so:print/harfbuzz \
 		libpng16.so:graphics/png \
-		libpodofo.so:graphics/podofo \
+		libpodofo09.so:graphics/podofo09 \
 		libTKSTEP.so:cad/opencascade \
 		libuuid.so:misc/e2fsprogs-libuuid \
 		libzip.so:archivers/libzip \
@@ -41,6 +41,17 @@ CPP=		clang-cpp${LLVM_VER}
 CC=		clang${LLVM_VER}
 CXX=		clang++${LLVM_VER}
 
+# Patch sources to force using include files installed by graphics/podofo09
+post-patch:
+	@${REINPLACE_CMD} -e '/^#include/s|podofo/podofo.h|podofo09/podofo.h|' \
+		${WRKSRC}/src/export_pdf/export_pdf.cpp \
+		${WRKSRC}/src/export_pdf/export_pdf_board.cpp \
+		${WRKSRC}/src/python_module/board.cpp \
+		${WRKSRC}/src/python_module/schematic.cpp \
+		${WRKSRC}/src/imp/pdf_export_window.cpp \
+		${WRKSRC}/src/export_pdf/export_pdf_util.hpp \
+		${WRKSRC}/src/export_pdf/canvas_pdf.hpp
+
 post-install: # https://github.com/horizon-eda/horizon/issues/558
 	@cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} horizon-eda horizon-imp
 
diff --git a/cad/horizon-eda/files/patch-Makefile b/cad/horizon-eda/files/patch-Makefile
new file mode 100644
index 000000000000..f683e29eb4b2
--- /dev/null
+++ b/cad/horizon-eda/files/patch-Makefile
@@ -0,0 +1,26 @@
+--- Makefile.orig	2022-10-15 16:47:51 UTC
++++ Makefile
+@@ -1071,9 +1071,10 @@ $(BUILDDIR)/gen/help_texts.hpp: scripts/make_help.py s
+ 	$(ECHO) " $@"
+ 	$(QUIET)python3 scripts/make_help.py h src/help_texts.txt > $@
+ 
++# Force linking to podofo09 library provided by the graphics/podofo09 port
+ $(BUILDDIR)/horizon-imp: $(OBJ_COMMON) $(OBJ_ROUTER) $(OBJ_OCE) $(OBJ_IMP)
+ 	$(ECHO) " $@"
+-	$(QUIET)$(CXX) $^ $(LDFLAGS) $(LDFLAGS_GUI) $(LDFLAGS_OCE) $(shell $(PKG_CONFIG) --libs $(LIBS_COMMON) gtkmm-3.0 epoxy cairomm-pdf-1.0 librsvg-2.0 libzmq libcurl libpng libarchive) -lpodofo -lTKHLR -lTKGeomBase $(EXTRA_LIBS) -o $@
++	$(QUIET)$(CXX) $^ $(LDFLAGS) $(LDFLAGS_GUI) $(LDFLAGS_OCE) $(shell $(PKG_CONFIG) --libs $(LIBS_COMMON) gtkmm-3.0 epoxy cairomm-pdf-1.0 librsvg-2.0 libzmq libcurl libpng libarchive) -lpodofo09 -lTKHLR -lTKGeomBase $(EXTRA_LIBS) -o $@
+ 
+ $(BUILDDIR)/horizon-pool: $(OBJ_COMMON) $(OBJ_POOL_UTIL)
+ 	$(ECHO) " $@"
+@@ -1103,9 +1104,10 @@ $(BUILDDIR)/horizon-pr-review: $(OBJ_COMMON) $(OBJ_PR_
+ 	$(ECHO) " $@"
+ 	$(QUIET)$(CXX) $^ $(LDFLAGS) $(INC) $(CXXFLAGS) $(shell $(PKG_CONFIG) --libs $(LIBS_COMMON) glibmm-2.4 giomm-2.4 cairomm-1.0 libgit2 libpng) -lOSMesa $(LDFLAGS_OCE) -o $@
+ 
++# Force linking to podofo09 library provided by the graphics/podofo09 port
+ $(BUILDDIR)/horizon.so: $(OBJ_PYTHON) $(OBJ_SHARED) $(OBJ_SHARED_OCE)
+ 	$(ECHO) " $@"
+-	$(QUIET)$(CXX) $^ $(LDFLAGS) $(INC) $(CXXFLAGS) $(shell $(PKG_CONFIG) --libs $(LIBS_COMMON) python3 glibmm-2.4 giomm-2.4 cairomm-1.0 py3cairo libpng libarchive) -lpodofo  $(OCE_LIBDIRS) -lTKXDESTEP -lOSMesa -shared -o $@
++	$(QUIET)$(CXX) $^ $(LDFLAGS) $(INC) $(CXXFLAGS) $(shell $(PKG_CONFIG) --libs $(LIBS_COMMON) python3 glibmm-2.4 giomm-2.4 cairomm-1.0 py3cairo libpng libarchive) -lpodofo09  $(OCE_LIBDIRS) -lTKXDESTEP -lOSMesa -shared -o $@
+ 
+ $(OBJDIR)/%.o: %.c
+ 	$(QUIET)$(MKDIR) $(dir $@)
diff --git a/graphics/Makefile b/graphics/Makefile
index fee35e57f0b2..9e36f44bc112 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -815,6 +815,7 @@
     SUBDIR += pngrewrite
     SUBDIR += pngwriter
     SUBDIR += podofo
+    SUBDIR += podofo09
     SUBDIR += polyclipping
     SUBDIR += poppler
     SUBDIR += poppler-data
diff --git a/graphics/podofo/Makefile b/graphics/podofo/Makefile
index a4ed11511d01..99b070c65bce 100644
--- a/graphics/podofo/Makefile
+++ b/graphics/podofo/Makefile
@@ -1,49 +1,53 @@
 PORTNAME=	podofo
-PORTVERSION=	0.9.8
-PORTREVISION=	1
+PORTVERSION=	0.10.0
 CATEGORIES=	graphics print
-MASTER_SITES=	SF
 
 MAINTAINER=	sunpoet@FreeBSD.org
 COMMENT=	PDF manipulation library and tools
 WWW=		https://podofo.sourceforge.net/ \
 		https://github.com/podofo/podofo
 
-LICENSE=	GPLv2 LGPL21
-LICENSE_COMB=	multi
+LICENSE=	LGPL20
+LICENSE_FILE=	${WRKSRC}/COPYING
 
+BUILD_DEPENDS=	fast_float>=0:math/fast_float \
+		hhdate>=0:devel/hhdate \
+		libfmt>=0:devel/libfmt \
+		utf8cpp>=0:devel/utf8cpp
 LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
 		libfreetype.so:print/freetype2 \
 		libidn.so:dns/libidn
 
-USES=		cmake compiler:c++11-lang cpe dos2unix pkgconfig ssl
+USES=		cmake compiler:c++17-lang cpe gnome localbase:ldflags pkgconfig ssl
+USE_GNOME=	libxml2
 
+CFLAGS+=	-I${LOCALBASE}/include/fast_float
 CMAKE_ARGS=	-DFONTCONFIG_LIBRARIES=${LOCALBASE}/lib/libfontconfig.so \
 		-DOPENSSL_INCLUDE_DIR=${OPENSSLINC} \
 		-DOPENSSL_LIBRARIES=${OPENSSLDIR}
-CMAKE_ON=	PODOFO_BUILD_SHARED PODOFO_BUILD_STATIC
+CMAKE_OFF=	PODOFO_BUILD_EXAMPLES PODOFO_BUILD_LIB_ONLY PODOFO_BUILD_STATIC PODOFO_BUILD_TEST PODOFO_BUILD_TOOLS
+CMAKE_TESTING_ON=	PODOFO_BUILD_TEST
 USE_LDCONFIG=	yes
 
-CPE_VENDOR=	podofo_project
+USE_GITHUB=	yes
 
-DOS2UNIX_FILES=	cmake/modules/FindFREETYPE.cmake
+CPE_VENDOR=	podofo_project
 
-OPTIONS_DEFINE=	IMPOSE JPEG PNG TIFF UNISTRING
-OPTIONS_DEFAULT=JPEG PNG TIFF UNISTRING
-IMPOSE_DESC=	Build impose tool (Lua required)
-UNISTRING_DESC=	Use libunistring for conversion
+OPTIONS_DEFINE=	JPEG PNG TIFF
+OPTIONS_DEFAULT=JPEG PNG TIFF
 
-IMPOSE_CMAKE_BOOL=	WANT_LUA
-IMPOSE_CXXFLAGS=	-I${LUA_INCDIR}
-IMPOSE_LDFLAGS=		-L${LUA_LIBDIR}
-IMPOSE_USES=		lua
 JPEG_CMAKE_BOOL=	WANT_LIBJPEG
 JPEG_USES=		jpeg
 PNG_CMAKE_BOOL=		WANT_PNG
 PNG_LIB_DEPENDS=	libpng.so:graphics/png
 TIFF_CMAKE_BOOL=	WANT_TIFF
 TIFF_LIB_DEPENDS=	libtiff.so:graphics/tiff
-UNISTRING_CMAKE_BOOL=	WANT_UNISTRING
-UNISTRING_LIB_DEPENDS=	libunistring.so:devel/libunistring
+
+post-patch:
+# Clean up bundled libraries
+	@${RM} ${WRKSRC}/3rdparty/fast_float.h
+	@${RM} -r ${WRKSRC}/3rdparty/date/
+	@${RM} -r ${WRKSRC}/3rdparty/fmt/
+	@${RM} -r ${WRKSRC}/3rdparty/utfcpp/
 
 .include <bsd.port.mk>
diff --git a/graphics/podofo/distinfo b/graphics/podofo/distinfo
index 1a0b2c2472c9..429ff9e8f512 100644
--- a/graphics/podofo/distinfo
+++ b/graphics/podofo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652122561
-SHA256 (podofo-0.9.8.tar.gz) = 5de607e15f192b8ad90738300759d88dea0f5ccdce3bf00048a0c932bc645154
-SIZE (podofo-0.9.8.tar.gz) = 1012918
+TIMESTAMP = 1685219099
+SHA256 (podofo-podofo-0.10.0_GH0.tar.gz) = c9bf607fe4862b5cc6eac1754f0e39674c553350e8bbde68f5fff3e3eb2ed4bc
+SIZE (podofo-podofo-0.10.0_GH0.tar.gz) = 1660970
diff --git a/graphics/podofo/files/patch-CMakeLists.txt b/graphics/podofo/files/patch-CMakeLists.txt
index 4e57653dc3ff..bb895715b2e1 100644
--- a/graphics/podofo/files/patch-CMakeLists.txt
+++ b/graphics/podofo/files/patch-CMakeLists.txt
@@ -1,77 +1,47 @@
---- CMakeLists.txt.orig	2022-05-03 12:18:23 UTC
+--- CMakeLists.txt.orig	2023-03-25 11:01:27 UTC
 +++ CMakeLists.txt
-@@ -348,6 +348,7 @@ ELSE(LIBIDN_FOUND)
- 	MESSAGE("Libidn not found. AES-256 Encryption support will be disabled")
- ENDIF(LIBIDN_FOUND)
- 
-+IF(WANT_LIBJPEG)
- FIND_PACKAGE(LIBJPEG)
- 
- IF(LIBJPEG_FOUND)
-@@ -357,7 +358,9 @@ IF(LIBJPEG_FOUND)
- ELSE(LIBJPEG_FOUND)
-   MESSAGE("Libjpeg not found. JPEG support will be disabled")
- ENDIF(LIBJPEG_FOUND)
-+ENDIF(WANT_LIBJPEG)
- 
-+IF(WANT_TIFF)
- FIND_PACKAGE(TIFF)
- 
- IF(TIFF_FOUND)
-@@ -367,7 +370,9 @@ IF(TIFF_FOUND)
- ELSE(TIFF_FOUND)
-   MESSAGE("Libtiff not found. TIFF support will be disabled")
- ENDIF(TIFF_FOUND)
-+ENDIF(WANT_TIFF)
- 
-+IF(WANT_PNG)
- FIND_PACKAGE(PNG)
- 
- IF(PNG_FOUND)
-@@ -378,7 +383,9 @@ ELSE(PNG_FOUND)
-   MESSAGE("LibPng not found. PNG support will be disabled")
-   SET(PNG_LIBRARIES "")
- ENDIF(PNG_FOUND)
-+ENDIF(WANT_PNG)
- 
-+IF(WANT_UNISTRING)
- FIND_PACKAGE(UNISTRING)
- 
- IF(UNISTRING_FOUND)
-@@ -389,10 +396,12 @@ ELSE(UNISTRING_FOUND)
-   MESSAGE("LibUnistring not found. Unistring support will be disabled")
-   SET(UNISTRING_LIBRARY "")
- ENDIF(UNISTRING_FOUND)
-+ENDIF(WANT_UNISTRING)
- 
- 
- IF(NOT PODOFO_BUILD_LIB_ONLY)
- 
-+IF(WANT_CppUnit)
- FIND_PACKAGE(CppUnit)
- 
- IF(CppUnit_FOUND)
-@@ -402,6 +411,7 @@ IF(CppUnit_FOUND)
- ELSE(CppUnit_FOUND)
-   MESSAGE("Cppunit not found. No unit tests will be built.")
- ENDIF(CppUnit_FOUND)
-+ENDIF(WANT_CppUnit)
- 
- ENDIF(NOT PODOFO_BUILD_LIB_ONLY)
- 
-@@ -442,6 +452,7 @@ ELSE(WANT_FONTCONFIG)
- ENDIF(WANT_FONTCONFIG)
- 
- IF(NOT PODOFO_BUILD_LIB_ONLY)
-+IF(WANT_LUA)
- FIND_PACKAGE(LUA)
- IF(LUA_FOUND)
- 	# If we have lua, we can build podofoimpose.
-@@ -453,6 +464,7 @@ IF(LUA_FOUND)
- ELSE(LUA_FOUND)
- 	MESSAGE("Lua not found - PoDoFoImpose and PoDoFoColor will be built without Lua support")
- ENDIF(LUA_FOUND)
-+ENDIF(WANT_LUA)
- ENDIF(NOT PODOFO_BUILD_LIB_ONLY)
- 
- 
+@@ -21,7 +21,7 @@ set(PODOFO_VERSION_PATCH "0" CACHE STRING "Patchlevel 
+ set(PODOFO_VERSION_MAJOR "0" CACHE STRING "Major part of podofo version number")
+ set(PODOFO_VERSION_MINOR "10" CACHE STRING "Minor part of podofo version number")
+ set(PODOFO_VERSION_PATCH "0" CACHE STRING "Patchlevel part of podofo version number")
+-set(PODOFO_LIBVERSION "${PODOFO_VERSION_MAJOR}.${PODOFO_VERSION_MINOR}.${PODOFO_VERSION_PATCH}")
++set(PODOFO_LIBVERSION "1.${PODOFO_VERSION_MAJOR}.${PODOFO_VERSION_MINOR}.${PODOFO_VERSION_PATCH}")
+ set(PODOFO_SOVERSION "1")
+ 
+ #
+@@ -149,6 +149,7 @@ endif()
+     message("Libidn not found. AES-256 Encryption support will be disabled")
+ endif()
+ 
++if(WANT_LIBJPEG)
+ find_package(JPEG)
+ 
+ if(JPEG_FOUND)
+@@ -157,7 +158,9 @@ endif()
+ else()
+     message("Libjpeg not found. JPEG support will be disabled")
+ endif()
++endif()
+ 
++if(WANT_TIFF)
+ find_package(TIFF)
+ 
+ if(TIFF_FOUND)
+@@ -166,7 +169,9 @@ endif()
+ else()
+     message("Libtiff not found. TIFF support will be disabled")
+ endif()
++endif()
+ 
++if(WANT_PNG)
+ find_package(PNG)
+ 
+ if(PNG_FOUND)
+@@ -175,6 +180,7 @@ else()
+ else()
+     message("LibPng not found. PNG support will be disabled")
+     set(PNG_LIBRARIES "")
++endif()
+ endif()
+ 
+ find_package(Freetype REQUIRED)
diff --git a/graphics/podofo/files/patch-src-podofo-CMakeLists.txt b/graphics/podofo/files/patch-src-podofo-CMakeLists.txt
deleted file mode 100644
index 8302365d68ee..000000000000
--- a/graphics/podofo/files/patch-src-podofo-CMakeLists.txt
+++ /dev/null
@@ -1,33 +0,0 @@
---- src/podofo/CMakeLists.txt.orig	2020-03-27 16:13:28 UTC
-+++ src/podofo/CMakeLists.txt
-@@ -265,8 +265,8 @@ IF(PODOFO_BUILD_STATIC)
-     ADD_LIBRARY(podofo_static STATIC ${PODOFO_BASE_SOURCES} ${PODOFO_DOC_SOURCES} ${PODOFO_HEADER_FILES})
-     TARGET_LINK_LIBRARIES(podofo_static ${PODOFO_LIB_DEPENDS})
-     SET_TARGET_PROPERTIES(podofo_static PROPERTIES
--        VERSION "${PODOFO_LIBVERSION}"
--        SOVERSION "${PODOFO_SOVERSION}"
-+        VERSION "0"
-+        SOVERSION "0"
-         CLEAN_DIRECT_OUTPUT 1
-         OUTPUT_NAME "podofo"
-         COMPILE_FLAGS "-DBUILDING_PODOFO"
-@@ -289,8 +289,8 @@ IF(PODOFO_BUILD_SHARED)
-     # Visual Studio, since it produces invalid warnings about STL
-     # use.
-     SET_TARGET_PROPERTIES(podofo_shared PROPERTIES
--        VERSION "${PODOFO_LIBVERSION}"
--        SOVERSION "${PODOFO_SOVERSION}"
-+        VERSION "0"
-+        SOVERSION "0"
-         CLEAN_DIRECT_OUTPUT 1
-         OUTPUT_NAME "podofo"
-         COMPILE_FLAGS "-DBUILDING_PODOFO"
-@@ -320,7 +320,7 @@ IF(PODOFO_BUILD_SHARED)
-           @ONLY)
-         INSTALL(
-           FILES "${PoDoFo_BINARY_DIR}/libpodofo.pc"
--          DESTINATION "${LIBDIRNAME}/pkgconfig")
-+          DESTINATION "${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig")
-       ELSE(PKG_CONFIG_FOUND)
-         MESSAGE("Pkg-config not found. No pkg-config file will be created.")
-       ENDIF(PKG_CONFIG_FOUND)
diff --git a/graphics/podofo/files/patch-utf8cpp b/graphics/podofo/files/patch-utf8cpp
new file mode 100644
index 000000000000..5788189e8fe5
--- /dev/null
+++ b/graphics/podofo/files/patch-utf8cpp
@@ -0,0 +1,176 @@
+--- src/podofo/main/PdfCMapEncoding.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfCMapEncoding.cpp
+@@ -7,7 +7,7 @@
+ #include <podofo/private/PdfDeclarationsPrivate.h>
+ #include "PdfCMapEncoding.h"
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include "PdfDictionary.h"
+ #include "PdfObjectStream.h"
+--- src/podofo/main/PdfCharCodeMap.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfCharCodeMap.cpp
+@@ -8,7 +8,7 @@
+ #include "PdfCharCodeMap.h"
+ #include <random>
+ #include <algorithm>
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ using namespace std;
+ using namespace PoDoFo;
+--- src/podofo/main/PdfDifferenceEncoding.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfDifferenceEncoding.cpp
+@@ -9,7 +9,7 @@
+ 
+ #include <algorithm>
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ #include <podofo/private/charconv_compat.h>
+ 
+ #include "PdfArray.h"
+--- src/podofo/main/PdfEncoding.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfEncoding.cpp
+@@ -8,7 +8,7 @@
+ #include "PdfEncoding.h"
+ 
+ #include <atomic>
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include <podofo/private/PdfEncodingPrivate.h>
+ 
+--- src/podofo/main/PdfEncodingMap.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfEncodingMap.cpp
+@@ -7,7 +7,7 @@
+ #include <podofo/private/PdfDeclarationsPrivate.h>
+ #include "PdfEncodingMap.h"
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include "PdfDictionary.h"
+ #include "PdfCMapEncoding.h"
+--- src/podofo/main/PdfFont.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfFont.cpp
+@@ -7,7 +7,7 @@
+ #include <podofo/private/PdfDeclarationsPrivate.h>
+ #include "PdfFont.h"
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include <podofo/private/PdfEncodingPrivate.h>
+ #include <podofo/private/PdfStandard14FontData.h>
+--- src/podofo/main/PdfFontManager.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfFontManager.cpp
+@@ -16,7 +16,7 @@
+ 
+ #include <podofo/private/FreetypePrivate.h>
+ #include FT_TRUETYPE_TABLES_H
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include "PdfDictionary.h"
+ #include <podofo/auxiliary/InputDevice.h>
+--- src/podofo/main/PdfFontType1.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfFontType1.cpp
+@@ -7,7 +7,7 @@
+ #include <podofo/private/PdfDeclarationsPrivate.h>
+ #include "PdfFontType1.h"
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include <podofo/auxiliary/InputDevice.h>
+ #include "PdfArray.h"
+--- src/podofo/main/PdfIdentityEncoding.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfIdentityEncoding.cpp
+@@ -7,7 +7,7 @@
+ #include <podofo/private/PdfDeclarationsPrivate.h>
+ #include "PdfIdentityEncoding.h"
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include "PdfDictionary.h"
+ #include "PdfFont.h"
+--- src/podofo/main/PdfImage.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfImage.cpp
+@@ -13,7 +13,7 @@ extern "C" {
+ }
+ #endif // PODOFO_HAVE_TIFF_LIB
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include <podofo/private/FileSystem.h>
+ #include <podofo/private/PdfFiltersPrivate.h>
+--- src/podofo/main/PdfPage_TextExtraction.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfPage_TextExtraction.cpp
+@@ -11,7 +11,7 @@
+ #include <deque>
+ #include <stack>
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include "PdfDocument.h"
+ #include "PdfTextState.h"
+--- src/podofo/main/PdfPainter.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfPainter.cpp
+@@ -9,7 +9,7 @@
+ 
+ #include <podofo/private/PdfDrawingOperations.h>
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include "PdfExtGState.h"
+ #include "PdfFont.h"
+--- src/podofo/main/PdfString.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/main/PdfString.cpp
+@@ -7,7 +7,7 @@
+ #include <podofo/private/PdfDeclarationsPrivate.h>
+ #include "PdfString.h"
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ #include <podofo/private/PdfEncodingPrivate.h>
+ 
+--- src/podofo/private/PdfEncodingPrivate.cpp.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/private/PdfEncodingPrivate.cpp
+@@ -7,7 +7,7 @@
+ #include "PdfDeclarationsPrivate.h"
+ #include "PdfEncodingPrivate.h"
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ using namespace std;
+ using namespace PoDoFo;
+--- src/podofo/private/utfcpp_extensions.h.orig	2023-03-25 11:01:27 UTC
++++ src/podofo/private/utfcpp_extensions.h
+@@ -3,7 +3,7 @@
+ 
+ #include <cstddef>
+ #include <stdexcept>
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ namespace utf8
+ {
+--- test/common/PdfTest.cpp.orig	2023-03-25 11:01:27 UTC
++++ test/common/PdfTest.cpp
+@@ -8,7 +8,7 @@
+ 
+ #include "PdfTest.h"
+ 
+-#include <utfcpp/utf8.h>
++#include <utf8cpp/utf8.h>
+ 
+ using namespace std;
+ using namespace PoDoFo;
diff --git a/graphics/podofo/pkg-plist b/graphics/podofo/pkg-plist
index 91553156fea3..a3eafb891f41 100644
--- a/graphics/podofo/pkg-plist
+++ b/graphics/podofo/pkg-plist
@@ -1,147 +1,149 @@
-bin/podofobox
-bin/podofocolor
-bin/podofocountpages
-bin/podofocrop
-bin/podofoencrypt
-bin/podofogc
-bin/podofoimg2pdf
-bin/podofoimgextract
-bin/podofoimpose
-bin/podofoincrementalupdates
-bin/podofomerge
-bin/podofonooc
-bin/podofopages
-bin/podofopdfinfo
-bin/podofosign
-bin/podofotxt2pdf
-bin/podofotxtextract
-bin/podofouncompress
-bin/podofoxmp
-include/podofo/base/Pdf3rdPtyForwardDecl.h
-include/podofo/base/PdfArray.h
-include/podofo/base/PdfCanvas.h
-include/podofo/base/PdfColor.h
-include/podofo/base/PdfCompilerCompat.h
-include/podofo/base/PdfCompilerCompatPrivate.h
-include/podofo/base/PdfContentsTokenizer.h
-include/podofo/base/PdfData.h
-include/podofo/base/PdfDataType.h
-include/podofo/base/PdfDate.h
-include/podofo/base/PdfDefines.h
-include/podofo/base/PdfDefinesPrivate.h
-include/podofo/base/PdfDictionary.h
-include/podofo/base/PdfEncoding.h
-include/podofo/base/PdfEncodingFactory.h
-include/podofo/base/PdfEncrypt.h
-include/podofo/base/PdfError.h
-include/podofo/base/PdfExtension.h
-include/podofo/base/PdfFileStream.h
-include/podofo/base/PdfFilter.h
-include/podofo/base/PdfFiltersPrivate.h
-include/podofo/base/PdfImmediateWriter.h
-include/podofo/base/PdfInputDevice.h
-include/podofo/base/PdfInputStream.h
-include/podofo/base/PdfLocale.h
-include/podofo/base/PdfMemStream.h
-include/podofo/base/PdfMemoryManagement.h
-include/podofo/base/PdfName.h
-include/podofo/base/PdfObject.h
-include/podofo/base/PdfObjectStreamParserObject.h
-include/podofo/base/PdfOutputDevice.h
-include/podofo/base/PdfOutputStream.h
-include/podofo/base/PdfOwnedDataType.h
-include/podofo/base/PdfParser.h
-include/podofo/base/PdfParserObject.h
-include/podofo/base/PdfRect.h
-include/podofo/base/PdfRefCountedBuffer.h
-include/podofo/base/PdfRefCountedInputDevice.h
-include/podofo/base/PdfReference.h
-include/podofo/base/PdfStream.h
-include/podofo/base/PdfString.h
-include/podofo/base/PdfTokenizer.h
-include/podofo/base/PdfVariant.h
-include/podofo/base/PdfVecObjects.h
-include/podofo/base/PdfVersion.h
-include/podofo/base/PdfWriter.h
-include/podofo/base/PdfXRef.h
-include/podofo/base/PdfXRefStream.h
-include/podofo/base/PdfXRefStreamParserObject.h
-include/podofo/base/podofo_config.h
-include/podofo/base/podofoapi.h
-include/podofo/base/util/PdfMutex.h
-include/podofo/base/util/PdfMutexImpl_noop.h
-include/podofo/base/util/PdfMutexImpl_pthread.h
-include/podofo/base/util/PdfMutexImpl_win32.h
-include/podofo/base/util/PdfMutexWrapper.h
-include/podofo/doc/PdfAcroForm.h
-include/podofo/doc/PdfAction.h
-include/podofo/doc/PdfAnnotation.h
-include/podofo/doc/PdfCMapEncoding.h
-include/podofo/doc/PdfContents.h
-include/podofo/doc/PdfDestination.h
-include/podofo/doc/PdfDifferenceEncoding.h
-include/podofo/doc/PdfDocument.h
-include/podofo/doc/PdfElement.h
-include/podofo/doc/PdfEncodingObjectFactory.h
-include/podofo/doc/PdfExtGState.h
-include/podofo/doc/PdfField.h
-include/podofo/doc/PdfFileSpec.h
-include/podofo/doc/PdfFont.h
-include/podofo/doc/PdfFontCID.h
-include/podofo/doc/PdfFontCache.h
-include/podofo/doc/PdfFontConfigWrapper.h
-include/podofo/doc/PdfFontFactory.h
-include/podofo/doc/PdfFontFactoryBase14Data.h
-include/podofo/doc/PdfFontMetrics.h
-include/podofo/doc/PdfFontMetricsBase14.h
-include/podofo/doc/PdfFontMetricsFreetype.h
-include/podofo/doc/PdfFontMetricsObject.h
-include/podofo/doc/PdfFontSimple.h
-include/podofo/doc/PdfFontTTFSubset.h
-include/podofo/doc/PdfFontTrueType.h
-include/podofo/doc/PdfFontType1.h
-include/podofo/doc/PdfFontType1Base14.h
-include/podofo/doc/PdfFontType3.h
-include/podofo/doc/PdfFunction.h
-include/podofo/doc/PdfHintStream.h
-include/podofo/doc/PdfIdentityEncoding.h
-include/podofo/doc/PdfImage.h
-include/podofo/doc/PdfInfo.h
-include/podofo/doc/PdfMemDocument.h
-include/podofo/doc/PdfNamesTree.h
-include/podofo/doc/PdfOutlines.h
-include/podofo/doc/PdfPage.h
-include/podofo/doc/PdfPagesTree.h
-include/podofo/doc/PdfPagesTreeCache.h
-include/podofo/doc/PdfPainter.h
-include/podofo/doc/PdfPainterMM.h
-include/podofo/doc/PdfShadingPattern.h
-include/podofo/doc/PdfSignOutputDevice.h
-include/podofo/doc/PdfSignatureField.h
-include/podofo/doc/PdfStreamedDocument.h
-include/podofo/doc/PdfTable.h
-include/podofo/doc/PdfTilingPattern.h
-include/podofo/doc/PdfXObject.h
-include/podofo/podofo-base.h
+include/podofo/auxiliary/EnumFlags.h
+include/podofo/auxiliary/InputDevice.h
+include/podofo/auxiliary/InputStream.h
+include/podofo/auxiliary/MathBase.h
+include/podofo/auxiliary/Matrix.h
+include/podofo/auxiliary/OutputDevice.h
+include/podofo/auxiliary/OutputStream.h
+include/podofo/auxiliary/Rect.h
+include/podofo/auxiliary/StateStack.h
+include/podofo/auxiliary/StreamDevice.h
+include/podofo/auxiliary/StreamDeviceBase.h
+include/podofo/auxiliary/Vector2.h
+include/podofo/auxiliary/Version.h
+include/podofo/auxiliary/basecompat.h
+include/podofo/auxiliary/basedefs.h
+include/podofo/auxiliary/baseincludes.h
+include/podofo/auxiliary/basetypes.h
+include/podofo/auxiliary/nullable.h
+include/podofo/auxiliary/podofo_config.h
+include/podofo/auxiliary/span.h
+include/podofo/auxiliary/span.hpp
+include/podofo/main/PdfAcroForm.h
+include/podofo/main/PdfAction.h
+include/podofo/main/PdfAnnotation.h
+include/podofo/main/PdfAnnotationActionBase.h
+include/podofo/main/PdfAnnotationCollection.h
+include/podofo/main/PdfAnnotationWidget.h
+include/podofo/main/PdfAnnotation_Types.h
+include/podofo/main/PdfArray.h
+include/podofo/main/PdfButton.h
+include/podofo/main/PdfCIDToGIDMap.h
+include/podofo/main/PdfCMapEncoding.h
+include/podofo/main/PdfCanvas.h
+include/podofo/main/PdfCanvasInputDevice.h
+include/podofo/main/PdfCatalog.h
+include/podofo/main/PdfCharCodeMap.h
+include/podofo/main/PdfCheckBox.h
+include/podofo/main/PdfChoiceField.h
+include/podofo/main/PdfColor.h
+include/podofo/main/PdfComboBox.h
+include/podofo/main/PdfCommon.h
+include/podofo/main/PdfContentStreamOperators.h
+include/podofo/main/PdfContentStreamReader.h
+include/podofo/main/PdfContents.h
+include/podofo/main/PdfData.h
+include/podofo/main/PdfDataContainer.h
+include/podofo/main/PdfDataProvider.h
+include/podofo/main/PdfDate.h
+include/podofo/main/PdfDeclarations.h
+include/podofo/main/PdfDestination.h
+include/podofo/main/PdfDictionary.h
+include/podofo/main/PdfDifferenceEncoding.h
+include/podofo/main/PdfDocument.h
+include/podofo/main/PdfElement.h
+include/podofo/main/PdfEncoding.h
+include/podofo/main/PdfEncodingCommon.h
+include/podofo/main/PdfEncodingFactory.h
+include/podofo/main/PdfEncodingMap.h
+include/podofo/main/PdfEncodingMapFactory.h
+include/podofo/main/PdfEncodingShim.h
+include/podofo/main/PdfEncrypt.h
+include/podofo/main/PdfError.h
+include/podofo/main/PdfExtGState.h
+include/podofo/main/PdfExtension.h
+include/podofo/main/PdfField.h
+include/podofo/main/PdfFieldChildrenCollection.h
+include/podofo/main/PdfFileSpec.h
+include/podofo/main/PdfFilter.h
+include/podofo/main/PdfFont.h
+include/podofo/main/PdfFontCID.h
+include/podofo/main/PdfFontCIDTrueType.h
+include/podofo/main/PdfFontCIDType1.h
+include/podofo/main/PdfFontConfigWrapper.h
+include/podofo/main/PdfFontManager.h
+include/podofo/main/PdfFontMetrics.h
+include/podofo/main/PdfFontMetricsFreetype.h
+include/podofo/main/PdfFontMetricsObject.h
+include/podofo/main/PdfFontMetricsStandard14.h
+include/podofo/main/PdfFontObject.h
+include/podofo/main/PdfFontSimple.h
+include/podofo/main/PdfFontTrueType.h
+include/podofo/main/PdfFontTrueTypeSubset.h
+include/podofo/main/PdfFontType1.h
+include/podofo/main/PdfFontType3.h
+include/podofo/main/PdfGraphicsState.h
+include/podofo/main/PdfIdentityEncoding.h
+include/podofo/main/PdfImage.h
+include/podofo/main/PdfImmediateWriter.h
+include/podofo/main/PdfIndirectObjectList.h
+include/podofo/main/PdfInfo.h
+include/podofo/main/PdfListBox.h
+include/podofo/main/PdfMath.h
+include/podofo/main/PdfMemDocument.h
+include/podofo/main/PdfMemoryObjectStream.h
+include/podofo/main/PdfMetadata.h
+include/podofo/main/PdfName.h
+include/podofo/main/PdfNameTree.h
+include/podofo/main/PdfObject.h
+include/podofo/main/PdfObjectStream.h
+include/podofo/main/PdfObjectStreamParser.h
+include/podofo/main/PdfObjectStreamProvider.h
+include/podofo/main/PdfOperatorUtils.h
+include/podofo/main/PdfOutlines.h
+include/podofo/main/PdfPage.h
+include/podofo/main/PdfPageCollection.h
+include/podofo/main/PdfPageTreeCache.h
+include/podofo/main/PdfPainter.h
+include/podofo/main/PdfPainterPath.h
+include/podofo/main/PdfPainterTextObject.h
+include/podofo/main/PdfParser.h
+include/podofo/main/PdfParserObject.h
+include/podofo/main/PdfPostScriptTokenizer.h
+include/podofo/main/PdfPredefinedEncoding.h
+include/podofo/main/PdfPushButton.h
+include/podofo/main/PdfRadioButton.h
+include/podofo/main/PdfReference.h
+include/podofo/main/PdfResources.h
+include/podofo/main/PdfSignature.h
+include/podofo/main/PdfSigner.h
+include/podofo/main/PdfStatefulEncrypt.h
+include/podofo/main/PdfStreamedDocument.h
+include/podofo/main/PdfStreamedObjectStream.h
+include/podofo/main/PdfString.h
+include/podofo/main/PdfStringStream.h
+include/podofo/main/PdfTextBox.h
+include/podofo/main/PdfTextState.h
+include/podofo/main/PdfTokenizer.h
+include/podofo/main/PdfTrailer.h
+include/podofo/main/PdfVariant.h
+include/podofo/main/PdfVariantStack.h
+include/podofo/main/PdfWriter.h
+include/podofo/main/PdfXMPMetadata.h
+include/podofo/main/PdfXMPPacket.h
+include/podofo/main/PdfXObject.h
+include/podofo/main/PdfXObjectForm.h
+include/podofo/main/PdfXObjectPostScript.h
+include/podofo/main/PdfXRef.h
+include/podofo/main/PdfXRefEntry.h
+include/podofo/main/PdfXRefStream.h
+include/podofo/main/PdfXRefStreamParserObject.h
 include/podofo/podofo.h
-lib/libpodofo.a
+include/podofo/staging/PdfFunction.h
+include/podofo/staging/PdfPainterExtensions.h
+include/podofo/staging/PdfShadingPattern.h
+include/podofo/staging/PdfTilingPattern.h
 lib/libpodofo.so
-lib/libpodofo.so.0
+lib/libpodofo.so.1
+lib/libpodofo.so.1.0.10.0
 libdata/pkgconfig/libpodofo.pc
-share/man/man1/podofobox.1.gz
-share/man/man1/podofocolor.1.gz
-share/man/man1/podofocountpages.1.gz
-share/man/man1/podofocrop.1.gz
-share/man/man1/podofoencrypt.1.gz
-share/man/man1/podofogc.1.gz
-share/man/man1/podofoimg2pdf.1.gz
-share/man/man1/podofoimgextract.1.gz
-share/man/man1/podofoimpose.1.gz
-share/man/man1/podofoincrementalupdates.1.gz
-share/man/man1/podofomerge.1.gz
-share/man/man1/podofopages.1.gz
-share/man/man1/podofopdfinfo.1.gz
-share/man/man1/podofotxt2pdf.1.gz
-share/man/man1/podofotxtextract.1.gz
-share/man/man1/podofouncompress.1.gz
-share/man/man1/podofoxmp.1.gz
diff --git a/graphics/podofo09/Makefile b/graphics/podofo09/Makefile
new file mode 100644
index 000000000000..20029886e4a1
--- /dev/null
+++ b/graphics/podofo09/Makefile
@@ -0,0 +1,58 @@
+PORTNAME=	podofo
+PORTVERSION=	0.9.8
+PORTREVISION=	1
+CATEGORIES=	graphics print
+MASTER_SITES=	SF
+PKGNAMESUFFIX=	09
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	PDF manipulation library and tools
+WWW=		https://podofo.sourceforge.net/ \
+		https://github.com/podofo/podofo
+
+LICENSE=	GPLv2 LGPL21
+LICENSE_COMB=	multi
+
+LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
+		libfreetype.so:print/freetype2 \
+		libidn.so:dns/libidn
+
+USES=		cmake compiler:c++11-lang cpe dos2unix pkgconfig ssl
+
+CMAKE_ARGS=	-DFONTCONFIG_LIBRARIES=${LOCALBASE}/lib/libfontconfig.so \
+		-DOPENSSL_INCLUDE_DIR=${OPENSSLINC} \
+		-DOPENSSL_LIBRARIES=${OPENSSLDIR}
+CMAKE_ON=	PODOFO_BUILD_SHARED PODOFO_BUILD_STATIC
+USE_LDCONFIG=	yes
+
+CPE_VENDOR=	podofo_project
+
+DOS2UNIX_FILES=	cmake/modules/FindFREETYPE.cmake
+
+OPTIONS_DEFINE=	IMPOSE JPEG PNG TIFF UNISTRING
+OPTIONS_DEFAULT=JPEG PNG TIFF UNISTRING
+IMPOSE_DESC=	Build impose tool (Lua required)
+UNISTRING_DESC=	Use libunistring for conversion
+
+IMPOSE_CMAKE_BOOL=	WANT_LUA
+IMPOSE_CXXFLAGS=	-I${LUA_INCDIR}
+IMPOSE_LDFLAGS=		-L${LUA_LIBDIR}
+IMPOSE_USES=		lua
+JPEG_CMAKE_BOOL=	WANT_LIBJPEG
+JPEG_USES=		jpeg
+PNG_CMAKE_BOOL=		WANT_PNG
+PNG_LIB_DEPENDS=	libpng.so:graphics/png
+TIFF_CMAKE_BOOL=	WANT_TIFF
+TIFF_LIB_DEPENDS=	libtiff.so:graphics/tiff
+UNISTRING_CMAKE_BOOL=	WANT_UNISTRING
+UNISTRING_LIB_DEPENDS=	libunistring.so:devel/libunistring
+
+post-patch:
+	@${REINPLACE_CMD} -e '/^#include/s|podofo/podofo.h|podofo09/podofo.h|' \
+		${WRKSRC}/examples/pdfcontentsgraph/PdfContentsGraph.h
+	@${REINPLACE_CMD} -e '/^#include/s|podofo/base|podofo09/base|' \
+		${WRKSRC}/src/podofo/doc/* \
+		${WRKSRC}/src/podofo/base/PdfExtension.h
+	@${RLN} ${WRKSRC}/src/podofo ${WRKSRC}/src/podofo09
+
+.include <bsd.port.mk>
diff --git a/graphics/podofo09/distinfo b/graphics/podofo09/distinfo
new file mode 100644
index 000000000000..1a0b2c2472c9
--- /dev/null
+++ b/graphics/podofo09/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1652122561
+SHA256 (podofo-0.9.8.tar.gz) = 5de607e15f192b8ad90738300759d88dea0f5ccdce3bf00048a0c932bc645154
+SIZE (podofo-0.9.8.tar.gz) = 1012918
diff --git a/graphics/podofo09/files/patch-CMakeLists.txt b/graphics/podofo09/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..4cd36e1fdef6
--- /dev/null
+++ b/graphics/podofo09/files/patch-CMakeLists.txt
@@ -0,0 +1,91 @@
+--- CMakeLists.txt.orig	2022-05-03 12:18:23 UTC
++++ CMakeLists.txt
+@@ -348,6 +348,7 @@ ENDIF(LIBIDN_FOUND)
+ 	MESSAGE("Libidn not found. AES-256 Encryption support will be disabled")
+ ENDIF(LIBIDN_FOUND)
+ 
++IF(WANT_LIBJPEG)
+ FIND_PACKAGE(LIBJPEG)
+ 
+ IF(LIBJPEG_FOUND)
+@@ -357,7 +358,9 @@ ENDIF(LIBJPEG_FOUND)
+ ELSE(LIBJPEG_FOUND)
+   MESSAGE("Libjpeg not found. JPEG support will be disabled")
+ ENDIF(LIBJPEG_FOUND)
++ENDIF(WANT_LIBJPEG)
+ 
++IF(WANT_TIFF)
+ FIND_PACKAGE(TIFF)
+ 
+ IF(TIFF_FOUND)
+@@ -367,7 +370,9 @@ ENDIF(TIFF_FOUND)
+ ELSE(TIFF_FOUND)
+   MESSAGE("Libtiff not found. TIFF support will be disabled")
+ ENDIF(TIFF_FOUND)
++ENDIF(WANT_TIFF)
+ 
++IF(WANT_PNG)
+ FIND_PACKAGE(PNG)
+ 
+ IF(PNG_FOUND)
+@@ -378,7 +383,9 @@ ENDIF(PNG_FOUND)
+   MESSAGE("LibPng not found. PNG support will be disabled")
+   SET(PNG_LIBRARIES "")
+ ENDIF(PNG_FOUND)
++ENDIF(WANT_PNG)
+ 
++IF(WANT_UNISTRING)
+ FIND_PACKAGE(UNISTRING)
+ 
+ IF(UNISTRING_FOUND)
+@@ -389,10 +396,12 @@ ENDIF(UNISTRING_FOUND)
+   MESSAGE("LibUnistring not found. Unistring support will be disabled")
*** 475 LINES SKIPPED ***