On Sun, Apr 26, 2020 at 10:17:02AM +0200, Rafael Sadowski wrote:
> On Thu Mar 26, 2020 at 09:37:48PM +0100, Rafael Sadowski wrote:
> > Please find below one all-in-on diff to update exiv2 to 0.27.2 and fix all
> > consumer. Here is a full list:
> > 
> > FIXED 11/kde4/libs
> > FIXED databases/strigi
> > FIXED graphics/hugin
> > FIXED graphics/nomacs
> > FIXED graphics/rawstudio
> > FIXED graphics/ufraw
> > FIXED sysutils/krename
> > FIXED x11/kde4/kfilemetadata
> > FIXED x11/kde4/libkexiv2
> > 
> > OK devel/kf5/kfilemetadata
> > OK geo/qgis
> > OK graphics/darktable
> > OK graphics/dibuja
> > OK graphics/digikam
> > OK graphics/geeqie
> > OK graphics/gthumb
> > OK graphics/krita
> > OK graphics/libgexiv2
> > OK graphics/pdf2djvu
> > OK graphics/viewnior
> > OK x11/gnome/color-manager
> > OK x11/kde-applications/gwenvie
> > OK x11/kde-applications/libkexiv2
> > 
> > Fixed by fixing x11/kde4/libs so REVISION bump only:
> > OK x11/kde4/nepomuk-core
> > OK 11/kde4/runtime
> > 
> > Noteable exiv2 port changes:
> > 
> > - Switch to cmake and enable i18n support
> > - Change COMMENT and cleanup DESCR
> > - Switch to https
> > - don't provide the new Exiv2::getProcessPath() function.  Not portable,
> >   doesn't work on OpenBSD, and shouldn't be exposed in the API of a
> >   graphics library.  Instead, define a macro with CMake to help runtime
> >   find gettext files. from jca@'s commit
> >   https://v4.freshbsd.org/commit/openbsd/ports/fHGCS7kzl4zKjdnW
> > - All consumer fixed. configure checks, port-lib-depends-checks checks
> >   and also some run-time tests with krita, digikam, nomacs.
> > 
> > Consumer patches from upstream, gentoo, freebsd and by me for the old
> > creepy KDE4 stuff.
> > 
> > Bulk welcome but I'm quite sure it'll survive. OK?
> > 
> > 
> 
> This went through a full bulk build and will go in after 6.7.
> 
> Bulk build found an error with gegl03. The following diff fix this error

What error?
There's no comment in the patch.

> and also add archivers/zstd as dependency for gegl03. (cc maintainer)

Please remove that (but keep the WANTLIB).

> Rafael
> 
> diff --git a/databases/strigi/Makefile b/databases/strigi/Makefile
> index 3907e5153d4..6f6e832bdd3 100644
> --- a/databases/strigi/Makefile
> +++ b/databases/strigi/Makefile
> @@ -2,7 +2,7 @@
>  
>  COMMENT =    document indexer
>  DISTNAME =   strigi-0.7.8
> -REVISION =   3
> +REVISION =   4
>  CATEGORIES = databases devel textproc sysutils
>  
>  HOMEPAGE =   https://www.vandenoever.info/software/strigi/
> diff --git 
> a/databases/strigi/patches/patch-libstreamanalyzer_cmake_FindExiv2_cmake 
> b/databases/strigi/patches/patch-libstreamanalyzer_cmake_FindExiv2_cmake
> new file mode 100644
> index 00000000000..62ad1e4f332
> --- /dev/null
> +++ b/databases/strigi/patches/patch-libstreamanalyzer_cmake_FindExiv2_cmake
> @@ -0,0 +1,19 @@
> +$OpenBSD$
> +
> +Fix configure step with exiv2 2.27
> +
> +Index: libstreamanalyzer/cmake/FindExiv2.cmake
> +--- libstreamanalyzer/cmake/FindExiv2.cmake.orig
> ++++ libstreamanalyzer/cmake/FindExiv2.cmake
> +@@ -55,9 +55,9 @@ find_library(EXIV2_LIBRARY NAMES exiv2 libexiv2
> +             )
> + 
> + 
> +-# Get the version number from exiv2/version.hpp and store it in the cache:
> ++# Get the version number from exiv2/exv_conf.h and store it in the cache:
> + if(EXIV2_INCLUDE_DIR  AND NOT  EXIV2_VERSION)
> +-  file(READ ${EXIV2_INCLUDE_DIR}/exiv2/version.hpp EXIV2_VERSION_CONTENT)
> ++  file(READ ${EXIV2_INCLUDE_DIR}/exiv2/exv_conf.h EXIV2_VERSION_CONTENT)
> +   string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)"  
> _dummy "${EXIV2_VERSION_CONTENT}")
> +   set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}")
> + 
> diff --git 
> a/databases/strigi/patches/patch-libstreamanalyzer_plugins_endplugins_jpegendanalyzer_cpp
>  
> b/databases/strigi/patches/patch-libstreamanalyzer_plugins_endplugins_jpegendanalyzer_cpp
> new file mode 100644
> index 00000000000..d42c01e597a
> --- /dev/null
> +++ 
> b/databases/strigi/patches/patch-libstreamanalyzer_plugins_endplugins_jpegendanalyzer_cpp
> @@ -0,0 +1,20 @@
> +$OpenBSD$
> +
> +Index: libstreamanalyzer/plugins/endplugins/jpegendanalyzer.cpp
> +--- libstreamanalyzer/plugins/endplugins/jpegendanalyzer.cpp.orig
> ++++ libstreamanalyzer/plugins/endplugins/jpegendanalyzer.cpp
> +@@ -27,12 +27,14 @@
> + #include <strigi/fieldtypes.h>
> + #include <strigi/stringstream.h>
> + #include <strigi/textutils.h>
> ++#include <exiv2/exiv2.hpp>
> + #include <exiv2/exif.hpp>
> + #include <exiv2/image.hpp>
> + #include <exiv2/jpgimage.hpp>
> + #include <exiv2/error.hpp>
> + #include <math.h>
> + #include <time.h>
> ++#include <iostream>
> + 
> + #ifdef _MSC_VER
> + // at least MSVC2008 needs this define for defines like M_LN2
> diff --git a/graphics/exiv2/Makefile b/graphics/exiv2/Makefile
> index 37b85598cb7..69a70830eec 100644
> --- a/graphics/exiv2/Makefile
> +++ b/graphics/exiv2/Makefile
> @@ -1,38 +1,38 @@
>  # $OpenBSD: Makefile,v 1.32 2019/07/12 20:46:58 sthen Exp $
>  
> -COMMENT=     manipulate image meta-data such as exif and ipct
> +COMMENT=     image metadata manipulation
>  
> -DISTNAME=    exiv2-0.26-trunk
> -PKGNAME=     exiv2-0.26
>  CATEGORIES=  graphics devel
> +
> +DISTNAME=    exiv2-0.27.2-Source
> +PKGNAME=     exiv2-0.27.2
>  EPOCH=               0
> -REVISION=    1
>  
> -SHARED_LIBS +=  exiv2                11.0      # 14.0
> +SHARED_LIBS +=  exiv2                12.0      # 14.0
>  
> -HOMEPAGE=    http://www.exiv2.org/
> +HOMEPAGE=    https://www.exiv2.org/
>  
>  # GPLv2+
>  PERMIT_PACKAGE=      Yes
>  
>  WANTLIB += ${COMPILER_LIBCXX} c expat iconv intl m z
>  
> -COMPILER =           base-clang ports-gcc base-gcc
> -
> -MASTER_SITES=        http://www.exiv2.org/builds/
> +MASTER_SITES =               https://www.exiv2.org/builds/
>  
> -USE_GMAKE=   Yes
> -
> -CONFIGURE_STYLE=gnu
> -
> -BUILD_DEPENDS=       devel/gettext,-tools
> +COMPILER =           base-clang ports-gcc base-gcc
>  
> -LIB_DEPENDS= devel/gettext,-runtime
> +MODULES =            devel/cmake
>  
> -CONFIGURE_ARGS=      --enable-static
> +BUILD_DEPENDS =              devel/gettext,-tools
> +LIB_DEPENDS =                devel/gettext,-runtime
>  
> -NO_TEST=     Yes
> +CONFIGURE_ARGS =     -DEXIV2_ENABLE_NLS=ON
>  
> -WRKDIST=             ${WRKDIR}/exiv2-trunk
> +# dos line-endings in file needing patch
> +post-extract:
> +     @cd ${WRKSRC} && perl -i -pe 's/\r$$//' cmake/compilerFlags.cmake
>  
>  .include <bsd.port.mk>
> +.if ${USE_CCACHE:L} == "yes"
> +CONFIGURE_ARGS +=    -DBUILD_WITH_CCACHE=0N
> +.endif
> diff --git a/graphics/exiv2/distinfo b/graphics/exiv2/distinfo
> index 13f849ba76a..2eb1fed97c2 100644
> --- a/graphics/exiv2/distinfo
> +++ b/graphics/exiv2/distinfo
> @@ -1,2 +1,2 @@
> -SHA256 (exiv2-0.26-trunk.tar.gz) = 
> x148SggRv3ANksgjGTc7eoJaIzHBK4s31B61jk8Y6vs=
> -SIZE (exiv2-0.26-trunk.tar.gz) = 5677925
> +SHA256 (exiv2-0.27.2-Source.tar.gz) = 
> JlL1a5EnETJ7r/bcDJCWCBghHPerebteHrWTILeNFT8=
> +SIZE (exiv2-0.27.2-Source.tar.gz) = 27591236
> diff --git a/graphics/exiv2/patches/patch-cmake_compilerFlags_cmake 
> b/graphics/exiv2/patches/patch-cmake_compilerFlags_cmake
> new file mode 100644
> index 00000000000..7d5dbfefb8f
> --- /dev/null
> +++ b/graphics/exiv2/patches/patch-cmake_compilerFlags_cmake
> @@ -0,0 +1,14 @@
> +$OpenBSD$
> +
> +Index: cmake/compilerFlags.cmake
> +--- cmake/compilerFlags.cmake.orig
> ++++ cmake/compilerFlags.cmake
> +@@ -30,7 +30,7 @@ if ( MINGW OR UNIX OR MSYS ) # MINGW, Linux, APPLE, CY
> +             set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} 
> --coverage")
> +         endif()
> + 
> +-        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wcast-align 
> -Wpointer-arith -Wformat-security -Wmissing-format-attribute 
> -Woverloaded-virtual -W")
> ++        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wcast-align 
> -Wpointer-arith -Wformat-security -Woverloaded-virtual -W")
> + 
> +         if ( EXIV2_TEAM_USE_SANITIZERS )
> +             # ASAN is available in gcc from 4.8 and UBSAN from 4.9
> diff --git a/graphics/exiv2/patches/patch-config_config_mk_in 
> b/graphics/exiv2/patches/patch-config_config_mk_in
> deleted file mode 100644
> index 7668259d117..00000000000
> --- a/graphics/exiv2/patches/patch-config_config_mk_in
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -$OpenBSD: patch-config_config_mk_in,v 1.4 2019/02/14 16:03:34 jca Exp $
> -
> -- warnings about c++locale.h clutter the build
> -
> ---- config/config.mk.in.orig Sun Jun 21 16:19:25 2015
> -+++ config/config.mk.in      Thu Nov 19 19:56:00 2015
> -@@ -58,7 +58,7 @@ GXX = @GXX@
> - # Common compiler flags (warnings, symbols [-ggdb], optimization [-O2], etc)
> - CXXFLAGS = @CXXFLAGS@
> - ifeq ($(GXX),yes)
> --    CXXFLAGS += -Wall -Wcast-align -Wpointer-arith -Wformat-security 
> -Wmissing-format-attribute -Woverloaded-virtual -W
> -+    CXXFLAGS += -Wall -Wcast-align -Wpointer-arith -Wformat-security 
> -Woverloaded-virtual -W
> - endif
> - 
> - # Command to run only the preprocessor
> diff --git a/graphics/exiv2/patches/patch-src_Makefile 
> b/graphics/exiv2/patches/patch-src_Makefile
> deleted file mode 100644
> index b981592a8e2..00000000000
> --- a/graphics/exiv2/patches/patch-src_Makefile
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -$OpenBSD: patch-src_Makefile,v 1.7 2019/02/14 16:03:34 jca Exp $
> -Index: src/Makefile
> ---- src/Makefile.orig
> -+++ src/Makefile
> -@@ -151,7 +151,7 @@ LIBRARY = libexiv2.la
> - 
> - # 
> ******************************************************************************
> - # Initialisations
> --SHELL = /bin/bash
> -+SHELL = /bin/sh
> - 
> - .SUFFIXES:
> - .SUFFIXES: .c .cpp .o .so
> -@@ -235,7 +235,7 @@ $(SRC): ../include/exiv2/exv_conf.h svn_version.h
> - 
> - # svn_version.h is only rewritten when the svn info | grep Revision has 
> changed
> - svn_version.h:
> --    ./svn_version.sh
> -+#   ./svn_version.sh
> - 
> - version.hpp : svn_version.h
> - 
> -@@ -252,7 +252,7 @@ $(BINARY): %: %.o lib
> -     @$(LIBTOOL) --mode=link $(LINK.cc) -o $@ $(LIBRARY) [email protected] -rpath 
> $(libdir)
> - 
> - $(EXIV2EXE): lib $(EXIV2OBJ) $(EXIV2COBJ)
> --    mkdir -pv ../bin 2>&1 > /dev/null
> -+    mkdir -p ../bin 2>&1 > /dev/null
> -     @$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(EXIV2OBJ) 
> $(EXIV2COBJ) -rpath $(libdir)
> - 
> - install-header:
> diff --git a/graphics/exiv2/patches/patch-src_actions_cpp 
> b/graphics/exiv2/patches/patch-src_actions_cpp
> index 870ea4e9dfc..5432e4c2935 100644
> --- a/graphics/exiv2/patches/patch-src_actions_cpp
> +++ b/graphics/exiv2/patches/patch-src_actions_cpp
> @@ -9,12 +9,15 @@ mutex, I'll admit that it's a bit cumbersome to use." -- 
> jca@
>  Index: src/actions.cpp
>  --- src/actions.cpp.orig
>  +++ src/actions.cpp
> -@@ -2049,7 +2049,7 @@ namespace {
> -   /* This is the critical section object (statically allocated). */
> -   static pthread_mutex_t cs =  PTHREAD_RECURSIVE_MUTEX_INITIALIZER;
> +@@ -2025,11 +2025,7 @@ namespace {
> +     static pthread_mutex_t cs =  PTHREAD_MUTEX_INITIALIZER;
> +   #endif
>    #else
> --  static pthread_mutex_t cs =  PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
> -+  static pthread_mutex_t cs =  PTHREAD_MUTEX_INITIALIZER;
> +-  #if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)
> +-    static pthread_mutex_t cs =  PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
> +-   #else
> +     static pthread_mutex_t cs =  PTHREAD_MUTEX_INITIALIZER;
> +-  #endif
>    #endif
>   #endif
>   
> diff --git a/graphics/exiv2/patches/patch-src_http_cpp 
> b/graphics/exiv2/patches/patch-src_http_cpp
> deleted file mode 100644
> index f428b79abb7..00000000000
> --- a/graphics/exiv2/patches/patch-src_http_cpp
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -$OpenBSD: patch-src_http_cpp,v 1.4 2019/02/14 16:03:34 jca Exp $
> -Index: src/http.cpp
> ---- src/http.cpp.orig
> -+++ src/http.cpp
> -@@ -41,6 +41,7 @@
> - #include <time.h>
> - #include <sys/stat.h>
> - #include <string.h>
> -+#include <cerrno>
> - 
> - #ifdef  _MSC_VER
> - #pragma message("Using exiv2 http support")
> diff --git a/graphics/exiv2/patches/patch-src_pentaxmn_cpp 
> b/graphics/exiv2/patches/patch-src_pentaxmn_cpp
> deleted file mode 100644
> index 23ba8f72ab9..00000000000
> --- a/graphics/exiv2/patches/patch-src_pentaxmn_cpp
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -$OpenBSD: patch-src_pentaxmn_cpp,v 1.3 2019/02/14 16:03:34 jca Exp $
> -
> -Fix http://dev.exiv2.org/issues/1305
> -
> -Index: src/pentaxmn.cpp
> ---- src/pentaxmn.cpp.orig
> -+++ src/pentaxmn.cpp
> -@@ -1167,6 +1167,8 @@ namespace Exiv2 {
> - 
> -     std::ostream& PentaxMakerNote::printShutterCount(std::ostream& os, 
> const Value& value, const ExifData* metadata)
> -     {
> -+        if ( ! metadata ) return os << "undefined" ;
> -+
> -         ExifData::const_iterator dateIt = metadata->findKey(
> -                 ExifKey("Exif.PentaxDng.Date"));
> -         if (dateIt == metadata->end()) {
> diff --git a/graphics/exiv2/patches/patch-src_value_cpp 
> b/graphics/exiv2/patches/patch-src_value_cpp
> index 6dea5102c87..533a348029d 100644
> --- a/graphics/exiv2/patches/patch-src_value_cpp
> +++ b/graphics/exiv2/patches/patch-src_value_cpp
> @@ -1,21 +1,16 @@
>  $OpenBSD: patch-src_value_cpp,v 1.9 2019/02/14 16:03:34 jca Exp $
> ---- src/value.cpp.orig       Sat May  2 13:55:40 2015
> -+++ src/value.cpp    Thu Nov 19 19:30:30 2015
> -@@ -982,7 +982,7 @@ namespace Exiv2 {
> +
> +Avoid sprintf warnings when linking with libexiv2.
> +
> +Index: src/value.cpp
> +--- src/value.cpp.orig
> ++++ src/value.cpp
> +@@ -1012,7 +1012,7 @@ namespace Exiv2 {
>           // sprintf wants to add the null terminator, so use oversized buffer
>           char temp[9];
>   
> --        int wrote = sprintf(temp, "%04d%02d%02d",
> -+        int wrote = snprintf(temp, sizeof temp, "%04d%02d%02d",
> -                             date_.year, date_.month, date_.day);
> +-        int wrote = sprintf(temp, "%04d%02d%02d", date_.year, date_.month, 
> date_.day);
> ++        int wrote = snprintf(temp, sizeof temp, "%04d%02d%02d", date_.year, 
> date_.month, date_.day);
>           assert(wrote == 8);
> -         std::memcpy(buf, temp, 8);
> -@@ -1157,7 +1157,7 @@ namespace Exiv2 {
> -         char plusMinus = '+';
> -         if (time_.tzHour < 0 || time_.tzMinute < 0) plusMinus = '-';
> - 
> --        int wrote = sprintf(temp,
> -+        int wrote = snprintf(temp, sizeof temp,
> -                    "%02d%02d%02d%1c%02d%02d",
> -                    time_.hour, time_.minute, time_.second,
> -                    plusMinus, abs(time_.tzHour), abs(time_.tzMinute));
> +         std::memcpy(buf, temp, wrote);
> +         return wrote;
> diff --git a/graphics/exiv2/patches/patch-src_version_cpp 
> b/graphics/exiv2/patches/patch-src_version_cpp
> index 570faa1d49c..2c7dfd52bef 100644
> --- a/graphics/exiv2/patches/patch-src_version_cpp
> +++ b/graphics/exiv2/patches/patch-src_version_cpp
> @@ -1,12 +1,16 @@
>  $OpenBSD: patch-src_version_cpp,v 1.7 2019/02/14 16:03:34 jca Exp $
> +
> +getProcessPath() doesn't work on OpenBSD.
> +
>  Index: src/version.cpp
>  --- src/version.cpp.orig
>  +++ src/version.cpp
> -@@ -126,6 +126,7 @@ namespace Exiv2 {
> -         return os.str();
> -     }
> - 
> -+const char* version() __attribute__((visibility ("default")));
> -     const char* version()
> -     {
> -         return EXV_PACKAGE_VERSION;
> +@@ -482,7 +482,7 @@ void Exiv2::dumpLibraryInfo(std::ostream& os,const exv
> +     output(os,keys,"version"        , __VERSION__);
> +     output(os,keys,"date"           , __DATE__   );
> +     output(os,keys,"time"           , __TIME__   );
> +-    output(os,keys,"processpath"    , Exiv2::getProcessPath());
> ++    //output(os,keys,"processpath"    , Exiv2::getProcessPath());
> + #ifdef EXV_ENABLE_NLS
> +     output(os,keys,"localedir"      , EXV_LOCALEDIR);
> + #endif
> diff --git a/graphics/exiv2/patches/patch-xmpsdk_src_XMPMeta-Serialize_cpp 
> b/graphics/exiv2/patches/patch-xmpsdk_src_XMPMeta-Serialize_cpp
> index 72263582316..10d96fd2a21 100644
> --- a/graphics/exiv2/patches/patch-xmpsdk_src_XMPMeta-Serialize_cpp
> +++ b/graphics/exiv2/patches/patch-xmpsdk_src_XMPMeta-Serialize_cpp
> @@ -1,7 +1,8 @@
>  $OpenBSD: patch-xmpsdk_src_XMPMeta-Serialize_cpp,v 1.4 2019/02/14 16:03:34 
> jca Exp $
> ---- xmpsdk/src/XMPMeta-Serialize.cpp.orig    Thu Nov 19 19:37:14 2015
> -+++ xmpsdk/src/XMPMeta-Serialize.cpp Thu Nov 19 20:02:26 2015
> -@@ -303,7 +303,7 @@ AppendNodeValue ( XMP_VarString & outputStr, const XMP
> +Index: xmpsdk/src/XMPMeta-Serialize.cpp
> +--- xmpsdk/src/XMPMeta-Serialize.cpp.orig
> ++++ xmpsdk/src/XMPMeta-Serialize.cpp
> +@@ -302,7 +302,7 @@ AppendNodeValue ( XMP_VarString & outputStr, const XMP
>                               XMP_Assert ( (ch == kTab) || (ch == kLF) || (ch 
> == kCR) );
>   
>                               char hexBuf[16];
> diff --git a/graphics/exiv2/pkg/DESCR b/graphics/exiv2/pkg/DESCR
> index ccc2cbf2b2c..b7bae69fe88 100644
> --- a/graphics/exiv2/pkg/DESCR
> +++ b/graphics/exiv2/pkg/DESCR
> @@ -1,6 +1,6 @@
> -Exiv2 is a C++ library and a command line utility to access image metadata. 
> +Exiv2 is a C++ library and a command line utility to access image metadata.
>  
> -The Exiv2 library provides 
> +The Exiv2 library provides
>   * full read and write access to the Exif and IPTC  metadata of an
>     image through Exiv2 keys and standard C++ iterators
>   * a smart IPTC implementation that does not affect data that
> diff --git a/graphics/exiv2/pkg/PLIST b/graphics/exiv2/pkg/PLIST
> index 62af92188a3..ca6fd34f521 100644
> --- a/graphics/exiv2/pkg/PLIST
> +++ b/graphics/exiv2/pkg/PLIST
> @@ -1,7 +1,42 @@
>  @comment $OpenBSD: PLIST,v 1.12 2019/02/14 16:03:34 jca Exp $
> +@bin bin/addmoddel
> +@bin bin/convert-test
> +@bin bin/easyaccess-test
> +@bin bin/exifcomment
> +@bin bin/exifdata
> +@bin bin/exifdata-test
> +@bin bin/exifprint
> +@bin bin/exifvalue
>  @bin bin/exiv2
> +@bin bin/exiv2json
> +@bin bin/geotag
> +@bin bin/ini-test
> +@bin bin/iotest
> +@bin bin/iptceasy
> +@bin bin/iptcprint
> +@bin bin/iptctest
> +@bin bin/key-test
> +@bin bin/largeiptc-test
> +@bin bin/metacopy
> +@bin bin/mmap-test
> +@bin bin/mrwthumb
> +@bin bin/path-test
> +@bin bin/prevtest
> +@bin bin/stringto-test
> +@bin bin/taglist
> +@bin bin/tiff-test
> +@bin bin/werror-test
> +@bin bin/write-test
> +@bin bin/write2-test
> +@bin bin/xmpdump
> +@bin bin/xmpparse
> +@bin bin/xmpparser-test
> +@bin bin/xmpprint
> +@bin bin/xmpsample
>  include/exiv2/
> +include/exiv2/asfvideo.hpp
>  include/exiv2/basicio.hpp
> +include/exiv2/bigtiffimage.hpp
>  include/exiv2/bmpimage.hpp
>  include/exiv2/config.h
>  include/exiv2/convert.hpp
> @@ -13,8 +48,8 @@ include/exiv2/epsimage.hpp
>  include/exiv2/error.hpp
>  include/exiv2/exif.hpp
>  include/exiv2/exiv2.hpp
> +include/exiv2/exiv2lib_export.h
>  include/exiv2/exv_conf.h
> -include/exiv2/exv_msvc.h
>  include/exiv2/futils.hpp
>  include/exiv2/gifimage.hpp
>  include/exiv2/http.hpp
> @@ -23,6 +58,7 @@ include/exiv2/ini.hpp
>  include/exiv2/iptc.hpp
>  include/exiv2/jp2image.hpp
>  include/exiv2/jpgimage.hpp
> +include/exiv2/matroskavideo.hpp
>  include/exiv2/metadatum.hpp
>  include/exiv2/mrwimage.hpp
>  include/exiv2/orfimage.hpp
> @@ -31,42 +67,81 @@ include/exiv2/pngimage.hpp
>  include/exiv2/preview.hpp
>  include/exiv2/properties.hpp
>  include/exiv2/psdimage.hpp
> +include/exiv2/quicktimevideo.hpp
>  include/exiv2/rafimage.hpp
> +include/exiv2/riffvideo.hpp
>  include/exiv2/rw2image.hpp
>  include/exiv2/rwlock.hpp
> +include/exiv2/slice.hpp
> +include/exiv2/ssh.hpp
>  include/exiv2/tags.hpp
>  include/exiv2/tgaimage.hpp
>  include/exiv2/tiffimage.hpp
>  include/exiv2/types.hpp
> +include/exiv2/utilsvideo.hpp
>  include/exiv2/value.hpp
>  include/exiv2/version.hpp
>  include/exiv2/webpimage.hpp
> -include/exiv2/xmp.hpp
> +include/exiv2/xmp_exiv2.hpp
>  include/exiv2/xmpsidecar.hpp
> -lib/libexiv2.a
> -lib/libexiv2.la
> +lib/cmake/
> +lib/cmake/exiv2/
> +lib/cmake/exiv2/exiv2Config${MODCMAKE_BUILD_SUFFIX}
> +lib/cmake/exiv2/exiv2Config.cmake
> +lib/cmake/exiv2/exiv2ConfigVersion.cmake
> +@static-lib lib/libexiv2-xmp.a
>  @lib lib/libexiv2.so.${LIBexiv2_VERSION}
>  lib/pkgconfig/exiv2.pc
>  @man man/man1/exiv2.1
> -@man man/man1/exiv2samples.1
> +share/locale/
>  share/locale/bs/
>  share/locale/bs/LC_MESSAGES/
>  share/locale/bs/LC_MESSAGES/exiv2.mo
> +share/locale/ca/
> +share/locale/ca/LC_MESSAGES/
> +share/locale/ca/LC_MESSAGES/exiv2.mo
> +share/locale/de/
> +share/locale/de/LC_MESSAGES/
>  share/locale/de/LC_MESSAGES/exiv2.mo
> +share/locale/es/
> +share/locale/es/LC_MESSAGES/
>  share/locale/es/LC_MESSAGES/exiv2.mo
> +share/locale/fi/
> +share/locale/fi/LC_MESSAGES/
>  share/locale/fi/LC_MESSAGES/exiv2.mo
> +share/locale/fr/
> +share/locale/fr/LC_MESSAGES/
>  share/locale/fr/LC_MESSAGES/exiv2.mo
> +share/locale/gl/
> +share/locale/gl/LC_MESSAGES/
>  share/locale/gl/LC_MESSAGES/exiv2.mo
>  share/locale/ms/
>  share/locale/ms/LC_MESSAGES/
>  share/locale/ms/LC_MESSAGES/exiv2.mo
> +share/locale/nl/
> +share/locale/nl/LC_MESSAGES/
> +share/locale/nl/LC_MESSAGES/exiv2.mo
> +share/locale/pl/
> +share/locale/pl/LC_MESSAGES/
>  share/locale/pl/LC_MESSAGES/exiv2.mo
> +share/locale/pt/
> +share/locale/pt/LC_MESSAGES/
>  share/locale/pt/LC_MESSAGES/exiv2.mo
> +share/locale/ru/
> +share/locale/ru/LC_MESSAGES/
>  share/locale/ru/LC_MESSAGES/exiv2.mo
> +share/locale/sk/
> +share/locale/sk/LC_MESSAGES/
>  share/locale/sk/LC_MESSAGES/exiv2.mo
> +share/locale/sv/
> +share/locale/sv/LC_MESSAGES/
>  share/locale/sv/LC_MESSAGES/exiv2.mo
>  share/locale/ug/
>  share/locale/ug/LC_MESSAGES/
>  share/locale/ug/LC_MESSAGES/exiv2.mo
> +share/locale/uk/
> +share/locale/uk/LC_MESSAGES/
>  share/locale/uk/LC_MESSAGES/exiv2.mo
> +share/locale/vi/
> +share/locale/vi/LC_MESSAGES/
>  share/locale/vi/LC_MESSAGES/exiv2.mo
> diff --git a/graphics/gegl03/Makefile b/graphics/gegl03/Makefile
> index 46a7557185f..163c2299f15 100644
> --- a/graphics/gegl03/Makefile
> +++ b/graphics/gegl03/Makefile
> @@ -8,7 +8,7 @@ V=                    0.3.34
>  DISTNAME=            gegl-${V}
>  PKGNAME=             gegl03-${V}
>  EXTRACT_SUFX=                .tar.bz2
> -REVISION=            3
> +REVISION=            4
>  
>  SHARED_LIBS +=  gegl-0.3             0.6      # 332.0
>  
> @@ -30,7 +30,7 @@ WANTLIB += glib-2.0 gmodule-2.0 gobject-2.0 graphite2 
> gthread-2.0
>  WANTLIB += harfbuzz iconv intl jasper jpeg json-glib-1.0 lcms2
>  WANTLIB += lzma m pango-1.0 pangocairo-1.0 pangoft2-1.0 pcre pixman-1
>  WANTLIB += png pthread raw rsvg-2 tiff webp xcb xcb-render xcb-shm
> -WANTLIB += xml2 z
> +WANTLIB += xml2 z zstd
>  
>  COMPILER=            base-clang ports-gcc base-gcc
>  
> @@ -44,7 +44,8 @@ USE_GMAKE=          Yes
>  
>  BUILD_DEPENDS=               graphics/libgexiv2
>  
> -LIB_DEPENDS=         devel/json-glib \
> +LIB_DEPENDS=         archivers/zstd \
> +                     devel/json-glib \
>                       graphics/babl \
>                       graphics/lcms2 \
>                       graphics/libraw \
> diff --git a/graphics/gegl03/patches/patch-tools_exp_combine_cpp 
> b/graphics/gegl03/patches/patch-tools_exp_combine_cpp
> new file mode 100644
> index 00000000000..4009914771a
> --- /dev/null
> +++ b/graphics/gegl03/patches/patch-tools_exp_combine_cpp
> @@ -0,0 +1,13 @@
> +$OpenBSD$
> +
> +Index: tools/exp_combine.cpp
> +--- tools/exp_combine.cpp.orig
> ++++ tools/exp_combine.cpp
> +@@ -10,6 +10,7 @@
> + 
> + #include <exiv2/image.hpp>
> + #include <exiv2/exif.hpp>
> ++#include <exiv2/error.hpp>
> + 
> + using namespace std;
> + 
> diff --git a/graphics/hugin/Makefile b/graphics/hugin/Makefile
> index bb518ce2a32..27c960104e8 100644
> --- a/graphics/hugin/Makefile
> +++ b/graphics/hugin/Makefile
> @@ -5,7 +5,7 @@ BROKEN-hppa = run dep on enblend-enfuse which will not build 
> on hppa
>  COMMENT =    panorama image stitcher
>  
>  DISTNAME =   hugin-2019.0.0
> -REVISION =   1
> +REVISION =   2
>  EXTRACT_SUFX =       .tar.bz2
>  
>  # not needed for releases, but makes RCs/betas easier to work with
> diff --git a/graphics/hugin/patches/patch-src_hugin1_hugin_RawImport_cpp 
> b/graphics/hugin/patches/patch-src_hugin1_hugin_RawImport_cpp
> new file mode 100644
> index 00000000000..1efd316dc5a
> --- /dev/null
> +++ b/graphics/hugin/patches/patch-src_hugin1_hugin_RawImport_cpp
> @@ -0,0 +1,13 @@
> +$OpenBSD$
> +
> +Index: src/hugin1/hugin/RawImport.cpp
> +--- src/hugin1/hugin/RawImport.cpp.orig
> ++++ src/hugin1/hugin/RawImport.cpp
> +@@ -36,6 +36,7 @@
> + #define HAVE_PID_T 1
> + #endif
> + #include <exiv2/exif.hpp>
> ++#include <exiv2/error.hpp>
> + #include <exiv2/image.hpp>
> + #include <exiv2/easyaccess.hpp>
> + #include <exiv2/xmpsidecar.hpp>
> diff --git 
> a/graphics/hugin/patches/patch-src_hugin_base_panodata_SrcPanoImage_cpp 
> b/graphics/hugin/patches/patch-src_hugin_base_panodata_SrcPanoImage_cpp
> new file mode 100644
> index 00000000000..720a1dd7e7e
> --- /dev/null
> +++ b/graphics/hugin/patches/patch-src_hugin_base_panodata_SrcPanoImage_cpp
> @@ -0,0 +1,13 @@
> +$OpenBSD$
> +
> +Index: src/hugin_base/panodata/SrcPanoImage.cpp
> +--- src/hugin_base/panodata/SrcPanoImage.cpp.orig
> ++++ src/hugin_base/panodata/SrcPanoImage.cpp
> +@@ -41,6 +41,7 @@
> + #include <vigra/imageinfo.hxx>
> + #include <hugin_utils/utils.h>
> + #include <exiv2/exif.hpp>
> ++#include <exiv2/error.hpp>
> + #include <exiv2/image.hpp>
> + #include <exiv2/easyaccess.hpp>
> + #include <lensdb/LensDB.h>
> diff --git a/graphics/hugin/pkg/PLIST b/graphics/hugin/pkg/PLIST
> index f98e4222447..b9ebf61d853 100644
> --- a/graphics/hugin/pkg/PLIST
> +++ b/graphics/hugin/pkg/PLIST
> @@ -39,7 +39,7 @@ lib/hugin/
>  @lib lib/hugin/libhuginbasewx.so.${LIBhuginbasewx_VERSION}
>  @lib lib/hugin/libicpfindlib.so.${LIBicpfindlib_VERSION}
>  @lib lib/hugin/liblocalfeatures.so.${LIBlocalfeatures_VERSION}
> -lib/python${MODPY_VERSION}/site-packages/_hsi.so
> +@so lib/python${MODPY_VERSION}/site-packages/_hsi.so
>  lib/python${MODPY_VERSION}/site-packages/hpi.py
>  lib/python${MODPY_VERSION}/site-packages/hpi.pyc
>  lib/python${MODPY_VERSION}/site-packages/hsi.py
> diff --git a/graphics/nomacs/Makefile b/graphics/nomacs/Makefile
> index a3122dab0d2..14c062c6772 100644
> --- a/graphics/nomacs/Makefile
> +++ b/graphics/nomacs/Makefile
> @@ -5,7 +5,7 @@ COMMENT =     small and fast Qt image viewer
>  GH_ACCOUNT = nomacs
>  GH_PROJECT = nomacs
>  GH_TAGNAME = 3.12
> -REVISION =   2
> +REVISION =   3
>  
>  CATEGORIES = graphics
>  
> diff --git a/graphics/nomacs/patches/patch-src_DkCore_DkMetaData_cpp 
> b/graphics/nomacs/patches/patch-src_DkCore_DkMetaData_cpp
> new file mode 100644
> index 00000000000..1488b6e533f
> --- /dev/null
> +++ b/graphics/nomacs/patches/patch-src_DkCore_DkMetaData_cpp
> @@ -0,0 +1,16 @@
> +$OpenBSD$
> +
> +Missing include after exiv2 0.27.2
> +
> +Index: src/DkCore/DkMetaData.cpp
> +--- src/DkCore/DkMetaData.cpp.orig
> ++++ src/DkCore/DkMetaData.cpp
> +@@ -42,6 +42,8 @@
> + #include <QApplication>
> + #pragma warning(pop)                // no warnings from includes - end
> + 
> ++#include <iostream>
> ++
> + namespace nmc {
> + 
> + // DkMetaDataT 
> --------------------------------------------------------------------
> diff --git a/graphics/nomacs/patches/patch-src_DkGui_DkNoMacs_cpp 
> b/graphics/nomacs/patches/patch-src_DkGui_DkNoMacs_cpp
> new file mode 100644
> index 00000000000..02b0577230d
> --- /dev/null
> +++ b/graphics/nomacs/patches/patch-src_DkGui_DkNoMacs_cpp
> @@ -0,0 +1,16 @@
> +$OpenBSD$
> +
> +Missing include after exiv2 0.27.2
> +
> +Index: src/DkGui/DkNoMacs.cpp
> +--- src/DkGui/DkNoMacs.cpp.orig
> ++++ src/DkGui/DkNoMacs.cpp
> +@@ -96,6 +96,8 @@
> + #include <QWinTaskbarButton>
> + #endif
> + 
> ++#include <iostream>
> ++
> + namespace nmc {
> + 
> + DkNomacsOSXEventFilter::DkNomacsOSXEventFilter(QObject *parent) : 
> QObject(parent) {
> diff --git a/graphics/rawstudio/Makefile b/graphics/rawstudio/Makefile
> index d2c0ab024bf..f890d990c2e 100644
> --- a/graphics/rawstudio/Makefile
> +++ b/graphics/rawstudio/Makefile
> @@ -3,7 +3,7 @@
>  COMMENT =    tool for working with RAW images
>  
>  DISTNAME =   rawstudio-1.2
> -REVISION =   21
> +REVISION =   22
>  
>  CATEGORIES = graphics
>  
> diff --git a/graphics/rawstudio/patch-librawstudio_rs-exif_cc 
> b/graphics/rawstudio/patch-librawstudio_rs-exif_cc
> new file mode 100644
> index 00000000000..77aeb9878dd
> --- /dev/null
> +++ b/graphics/rawstudio/patch-librawstudio_rs-exif_cc
> @@ -0,0 +1,14 @@
> +$OpenBSD$
> +
> +Index: librawstudio/rs-exif.cc
> +--- librawstudio/rs-exif.cc.orig
> ++++ librawstudio/rs-exif.cc
> +@@ -19,7 +19,7 @@
> + 
> + #include <iostream>
> + #include <iomanip>
> +-#include <exiv2/exiv2.hpp>
> ++
> + #include <exiv2/image.hpp>
> + #include <exiv2/exif.hpp>
> + #include "rs-exif.h"
> diff --git a/graphics/rawstudio/patches/patch-src_rs-exif_cc 
> b/graphics/rawstudio/patches/patch-src_rs-exif_cc
> new file mode 100644
> index 00000000000..42686535cfa
> --- /dev/null
> +++ b/graphics/rawstudio/patches/patch-src_rs-exif_cc
> @@ -0,0 +1,15 @@
> +$OpenBSD$
> +
> +unbreak with exiv2 2.27
> +
> +Index: src/rs-exif.cc
> +--- src/rs-exif.cc.orig
> ++++ src/rs-exif.cc
> +@@ -19,6 +19,7 @@
> + 
> + #include <iostream>
> + #include <iomanip>
> ++#include <exiv2/exiv2.hpp>
> + #include <exiv2/image.hpp>
> + #include <exiv2/exif.hpp>
> + #include "rs-exif.h"
> diff --git a/graphics/ufraw/Makefile b/graphics/ufraw/Makefile
> index e1ed9fba8d4..34dceb22b13 100644
> --- a/graphics/ufraw/Makefile
> +++ b/graphics/ufraw/Makefile
> @@ -3,7 +3,7 @@
>  COMMENT=     read and manipulate raw images from digital cameras
>  
>  DISTNAME=    ufraw-0.22
> -REVISION=    5
> +REVISION=    6
>  
>  CATEGORIES=  graphics
>  MASTER_SITES=        ${MASTER_SITE_SOURCEFORGE:=ufraw/}
> @@ -12,14 +12,15 @@ HOMEPAGE= http://ufraw.sourceforge.net/
>  # GPLv2+
>  PERMIT_PACKAGE=      Yes
>  
> -WANTLIB += X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi Xinerama
> -WANTLIB += Xrandr Xrender atk-1.0 bz2 c cairo cfitsio exiv2
> -WANTLIB += fontconfig freetype gdk-x11-2.0 gdk_pixbuf-2.0 gimp-2.0
> -WANTLIB += gimpbase-2.0 gimpcolor-2.0 gimpconfig-2.0 gimpmath-2.0
> -WANTLIB += gimpmodule-2.0 gimpui-2.0 gimpwidgets-2.0 gio-2.0 glib-2.0
> -WANTLIB += gobject-2.0 gthread-2.0 gtk-x11-2.0 gtkimageview iconv intl
> -WANTLIB += jasper jpeg lcms2 m pango-1.0 pangocairo-1.0 pangoft2-1.0
> -WANTLIB += png pthread ${COMPILER_LIBCXX} tiff z
> +WANTLIB += ${COMPILER_LIBCXX} X11 Xcomposite Xcursor Xdamage Xext
> +WANTLIB += Xfixes Xi Xinerama Xrandr Xrender atk-1.0 babl-0.1
> +WANTLIB += bz2 c cairo cfitsio exiv2 fontconfig freetype gdk-x11-2.0
> +WANTLIB += gdk_pixbuf-2.0 gegl-0.4 gimp-2.0 gimpbase-2.0 gimpcolor-2.0
> +WANTLIB += gimpconfig-2.0 gimpmath-2.0 gimpmodule-2.0 gimpui-2.0
> +WANTLIB += gimpwidgets-2.0 gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0
> +WANTLIB += gthread-2.0 gtk-x11-2.0 gtkimageview harfbuzz intl
> +WANTLIB += jasper jpeg json-glib-1.0 lcms2 m pango-1.0 pangocairo-1.0
> +WANTLIB += pangoft2-1.0 png tiff z
>  
>  # don't remove unless you are sure:
>  WANTLIB += lensfun
> diff --git a/graphics/ufraw/patches/patch-ufraw_exiv2_cc 
> b/graphics/ufraw/patches/patch-ufraw_exiv2_cc
> new file mode 100644
> index 00000000000..13c7f0cac59
> --- /dev/null
> +++ b/graphics/ufraw/patches/patch-ufraw_exiv2_cc
> @@ -0,0 +1,31 @@
> +$OpenBSD$
> +
> +unbreak with exiv2 0.27
> +
> +Index: ufraw_exiv2.cc
> +--- ufraw_exiv2.cc.orig
> ++++ ufraw_exiv2.cc
> +@@ -15,9 +15,8 @@
> + #include "ufraw.h"
> + 
> + #ifdef HAVE_EXIV2
> +-#include <exiv2/image.hpp>
> +-#include <exiv2/easyaccess.hpp>
> +-#include <exiv2/exif.hpp>
> ++#include <iostream>
> ++#include <exiv2/exiv2.hpp>
> + #include <sstream>
> + #include <cassert>
> + 
> +@@ -67,7 +66,11 @@ extern "C" int ufraw_exif_read_input(ufraw_data *uf)
> +         if (exifData.empty()) {
> +             std::string error(uf->filename);
> +             error += ": No Exif data found in the file";
> ++#if EXIV2_TEST_VERSION(0,27,0)
> ++            throw Exiv2::Error(Exiv2::kerErrorMessage, error);
> ++#else
> +             throw Exiv2::Error(1, error);
> ++#endif
> +         }
> + 
> +         /* List of tag names taken from exiv2's printSummary() in 
> actions.cpp */
> diff --git a/sysutils/krename/Makefile b/sysutils/krename/Makefile
> index 4b4f61225ce..c692ffdc8ce 100644
> --- a/sysutils/krename/Makefile
> +++ b/sysutils/krename/Makefile
> @@ -4,7 +4,7 @@ COMMENT =     powerful batch file renamer
>  
>  VERSION =    5.0.0
>  DISTNAME =   krename-${VERSION}
> -REVISION =   2
> +REVISION =   3
>  
>  CATEGORIES = sysutils x11
>  
> diff --git a/sysutils/krename/patches/patch-CMakeLists_txt 
> b/sysutils/krename/patches/patch-CMakeLists_txt
> new file mode 100644
> index 00000000000..202cb371c46
> --- /dev/null
> +++ b/sysutils/krename/patches/patch-CMakeLists_txt
> @@ -0,0 +1,46 @@
> +$OpenBSD$
> +
> +https://gitweb.gentoo.org/repo/gentoo.git/plain/kde-misc/krename/files/krename-5.0.0-exiv2-0.27.patch
> +
> +Index: CMakeLists.txt
> +--- CMakeLists.txt.orig
> ++++ CMakeLists.txt
> +@@ -1,6 +1,7 @@
> +-project(krename)
> + 
> +-cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
> ++cmake_minimum_required(VERSION 3.7)
> ++
> ++project(krename VERSION "5.0.0")
> + # search packages used by KDE
> + find_package(ECM 0.0.11 REQUIRED NO_MODULE)
> + set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
> +@@ -39,10 +40,6 @@ add_definitions(
> +     -DQT_STRICT_ITERATORS
> + )
> + 
> +-set(KRENAME_VERSION "5.0.0")
> +-
> +-include(FindGettext)
> +-
> + # Find taglib
> + set(TAGLIB_MIN_VERSION "1.5")
> + find_package(Taglib ${TAGLIB_MIN_VERSION})
> +@@ -52,11 +49,12 @@ set_package_properties(Taglib PROPERTIES
> +     TYPE OPTIONAL)
> + 
> + # Find exiv2
> +-find_package(Exiv2 0.13) # AccessMode was added in 0.13
> +-set_package_properties(Exiv2 PROPERTIES
> +-    DESCRIPTION "A library to access image metadata"
> +-    URL "http://www.exiv2.org";
> +-    TYPE OPTIONAL)
> ++find_package(LibExiv2 0.13) # AccessMode was added in 0.13
> ++set_package_properties(LibExiv2 PROPERTIES TYPE OPTIONAL)
> ++
> ++if (LibExiv2_VERSION VERSION_GREATER_EQUAL "0.27")
> ++    set(HAVE_LIBEXIV2_0_27 TRUE)
> ++endif()
> + 
> + # Find podofo
> + find_package(PoDoFo)
> diff --git a/sysutils/krename/patches/patch-config-krename_h_cmake 
> b/sysutils/krename/patches/patch-config-krename_h_cmake
> new file mode 100644
> index 00000000000..a70d5090b28
> --- /dev/null
> +++ b/sysutils/krename/patches/patch-config-krename_h_cmake
> @@ -0,0 +1,17 @@
> +$OpenBSD$
> +
> +https://gitweb.gentoo.org/repo/gentoo.git/plain/kde-misc/krename/files/krename-5.0.0-exiv2-0.27.patch
> +
> +Index: config-krename.h.cmake
> +--- config-krename.h.cmake.orig
> ++++ config-krename.h.cmake
> +@@ -6,6 +6,9 @@
> + /* have Exiv2 */
> + #cmakedefine01 HAVE_EXIV2
> + 
> ++/* Defined if we have libexiv2 >= 0.27 */
> ++#cmakedefine HAVE_LIBEXIV2_0_27
> ++
> + /* have PoDoFo */
> + #cmakedefine01 HAVE_PODOFO
> + 
> diff --git a/sysutils/krename/patches/patch-src_CMakeLists_txt 
> b/sysutils/krename/patches/patch-src_CMakeLists_txt
> new file mode 100644
> index 00000000000..aadd30fb964
> --- /dev/null
> +++ b/sysutils/krename/patches/patch-src_CMakeLists_txt
> @@ -0,0 +1,37 @@
> +$OpenBSD$
> +
> +https://gitweb.gentoo.org/repo/gentoo.git/plain/kde-misc/krename/files/krename-5.0.0-exiv2-0.27.patch
> +
> +Index: src/CMakeLists.txt
> +--- src/CMakeLists.txt.orig
> ++++ src/CMakeLists.txt
> +@@ -23,7 +23,7 @@ if(FREETYPE_FOUND)
> +     include_directories(${FREETYPE_INCLUDE_DIRS})
> + endif()
> + 
> +-add_definitions(${TAGLIB_CFLAGS} ${EXIV2_CFLAGS})
> ++add_definitions(${TAGLIB_CFLAGS})
> + # Exiv2 needs exceptions
> + kde_enable_exceptions()
> + 
> +@@ -67,7 +67,7 @@ set(krename_SRCS
> +     snumplugin.cpp
> + )
> + 
> +-if(EXIV2_FOUND)
> ++if(LibExiv2_FOUND)
> +     set(krename_SRCS ${krename_SRCS}
> +         exiv2plugin.cpp
> +     )
> +@@ -131,9 +131,9 @@ if(TAGLIB_FOUND)
> +         ${TAGLIB_LIBRARIES}
> +     )
> + endif()
> +-if(EXIV2_FOUND)
> ++if(LibExiv2_FOUND)
> +     target_link_libraries(krename
> +-        ${EXIV2_LIBRARIES}
> ++        LibExiv2::LibExiv2
> +     )
> + endif()
> + if(PoDoFo_FOUND)
> diff --git a/sysutils/krename/patches/patch-src_exiv2plugin_cpp 
> b/sysutils/krename/patches/patch-src_exiv2plugin_cpp
> new file mode 100644
> index 00000000000..6e4c424baae
> --- /dev/null
> +++ b/sysutils/krename/patches/patch-src_exiv2plugin_cpp
> @@ -0,0 +1,28 @@
> +$OpenBSD$
> +
> +https://gitweb.gentoo.org/repo/gentoo.git/plain/kde-misc/krename/files/krename-5.0.0-exiv2-0.27.patch
> +
> +Index: src/exiv2plugin.cpp
> +--- src/exiv2plugin.cpp.orig
> ++++ src/exiv2plugin.cpp
> +@@ -17,13 +17,19 @@
> + 
> + #include "exiv2plugin.h"
> + 
> ++#include "../config-krename.h"
> ++
> + #include <KLocalizedString>
> + 
> + #include <exiv2/error.hpp>
> + #include <exiv2/exif.hpp>
> + #include <exiv2/image.hpp>
> + #include <exiv2/iptc.hpp>
> +-#include <exiv2/xmp.hpp>
> ++#ifdef HAVE_LIBEXIV2_0_27
> ++    #include <exiv2/xmp_exiv2.hpp>
> ++#else
> ++    #include <exiv2/xmp.hpp>
> ++#endif
> + #include <exiv2/tags.hpp>
> + 
> + #include "batchrenamer.h"
> diff --git a/x11/kde4/kfilemetadata/Makefile b/x11/kde4/kfilemetadata/Makefile
> index beb733283b4..dbb88867052 100644
> --- a/x11/kde4/kfilemetadata/Makefile
> +++ b/x11/kde4/kfilemetadata/Makefile
> @@ -2,7 +2,7 @@
>  
>  COMMENT =    file metadata extraction library for KDE
>  DISTNAME =   kfilemetadata-${MODKDE4_VERSION}
> -REVISION =   2
> +REVISION =   3
>  
>  CATEGORIES = sysutils
>  
> diff --git a/x11/kde4/libkexiv2/Makefile b/x11/kde4/libkexiv2/Makefile
> index 72ee5a1e294..c8e142d98cc 100644
> --- a/x11/kde4/libkexiv2/Makefile
> +++ b/x11/kde4/libkexiv2/Makefile
> @@ -4,7 +4,7 @@ COMMENT =     KDE exiv2 wrapper
>  CATEGORIES = graphics devel
>  DISTNAME =   libkexiv2-${MODKDE4_VERSION}
>  PKGSPEC =    libkexiv2-${MODKDE4_SPEC}
> -REVISION =   1
> +REVISION =   2
>  
>  SHARED_LIBS =        kexiv2                  51.0    # 10.0
>  
> diff --git a/x11/kde4/libkexiv2/patches/patch-CMakeLists_txt 
> b/x11/kde4/libkexiv2/patches/patch-CMakeLists_txt
> index c73445580d4..7feab3201a9 100644
> --- a/x11/kde4/libkexiv2/patches/patch-CMakeLists_txt
> +++ b/x11/kde4/libkexiv2/patches/patch-CMakeLists_txt
> @@ -1,7 +1,8 @@
>  $OpenBSD: patch-CMakeLists_txt,v 1.1 2013/12/08 19:13:32 zhuk Exp $
> ---- CMakeLists.txt.orig      Sun Aug 11 18:39:21 2013
> -+++ CMakeLists.txt   Sun Aug 11 18:42:22 2013
> -@@ -115,3 +115,17 @@ IF (EXIV2_FOUND)
> +Index: CMakeLists.txt
> +--- CMakeLists.txt.orig
> ++++ CMakeLists.txt
> +@@ -137,3 +137,17 @@ IF (EXIV2_FOUND)
>   ENDIF (EXIV2_FOUND)
>   
>   MACRO_DISPLAY_FEATURE_LOG()
> diff --git a/x11/kde4/libkexiv2/patches/patch-libkexiv2_kexiv2_cpp 
> b/x11/kde4/libkexiv2/patches/patch-libkexiv2_kexiv2_cpp
> new file mode 100644
> index 00000000000..f6cae3e4e59
> --- /dev/null
> +++ b/x11/kde4/libkexiv2/patches/patch-libkexiv2_kexiv2_cpp
> @@ -0,0 +1,14 @@
> +$OpenBSD$
> +
> +Index: libkexiv2/kexiv2.cpp
> +--- libkexiv2/kexiv2.cpp.orig
> ++++ libkexiv2/kexiv2.cpp
> +@@ -31,6 +31,8 @@
> + // Local includes
> + 
> + #include "version.h"
> ++ #include <exiv2/version.hpp>
> ++ #include <exiv2/exiv2.hpp>
> + 
> + namespace KExiv2Iface
> + {
> diff --git a/x11/kde4/libkexiv2/patches/patch-libkexiv2_kexiv2_p_cpp 
> b/x11/kde4/libkexiv2/patches/patch-libkexiv2_kexiv2_p_cpp
> new file mode 100644
> index 00000000000..d4bc0737b54
> --- /dev/null
> +++ b/x11/kde4/libkexiv2/patches/patch-libkexiv2_kexiv2_p_cpp
> @@ -0,0 +1,13 @@
> +$OpenBSD$
> +
> +Index: libkexiv2/kexiv2_p.cpp
> +--- libkexiv2/kexiv2_p.cpp.orig
> ++++ libkexiv2/kexiv2_p.cpp
> +@@ -33,6 +33,7 @@ extern "C"
> + {
> + #include <sys/stat.h>
> + #include <utime.h>
> ++ #include <exiv2/version.hpp>
> + }
> + 
> + namespace KExiv2Iface
> diff --git a/x11/kde4/libkexiv2/patches/patch-libkexiv2_kexiv2exif_cpp 
> b/x11/kde4/libkexiv2/patches/patch-libkexiv2_kexiv2exif_cpp
> new file mode 100644
> index 00000000000..ec70fbef4f3
> --- /dev/null
> +++ b/x11/kde4/libkexiv2/patches/patch-libkexiv2_kexiv2exif_cpp
> @@ -0,0 +1,21 @@
> +$OpenBSD$
> +Index: libkexiv2/kexiv2exif.cpp
> +--- libkexiv2/kexiv2exif.cpp.orig
> ++++ libkexiv2/kexiv2exif.cpp
> +@@ -28,6 +28,7 @@
> + #include "kexiv2.h"
> + #include "kexiv2_p.h"
> + #include "rotationmatrix.h"
> ++ #include <exiv2/error.hpp>
> + 
> + // C++ includes
> + 
> +@@ -986,7 +987,7 @@ bool KExiv2::setTiffThumbnail(const QImage& thumbImage
> + 
> +         if (pos == d->exifMetadata().end() || pos->count() != 1 || 
> pos->toLong() != 0)
> +         {
> +-            throw Exiv2::Error(1, "Exif.Image.NewSubfileType missing or not 
> set as main image");
> ++            throw Exiv2::Error(Exiv2::kerErrorMessage, 
> "Exif.Image.NewSubfileType missing or not set as main image");
> +         }
> + 
> +         // Remove sub-IFD tags
> diff --git a/x11/kde4/libs/Makefile b/x11/kde4/libs/Makefile
> index 35ac40d30a6..bdbd5ffba3e 100644
> --- a/x11/kde4/libs/Makefile
> +++ b/x11/kde4/libs/Makefile
> @@ -12,7 +12,7 @@ PKGNAME-langlist =  kde4-langlist-$V
>  PKG_ARCH-en_US =     *
>  PKG_ARCH-langlist =  *
>  PKGSPEC-main =               kdelibs-${MODKDE4_SPEC}
> -REVISION-main =              20
> +REVISION-main =              21
>  REVISION-en_US =     0
>  REVISION-langlist =  0
>  
> diff --git a/x11/kde4/libs/patches/patch-cmake_modules_FindExiv2_cmake 
> b/x11/kde4/libs/patches/patch-cmake_modules_FindExiv2_cmake
> new file mode 100644
> index 00000000000..860fb037b8d
> --- /dev/null
> +++ b/x11/kde4/libs/patches/patch-cmake_modules_FindExiv2_cmake
> @@ -0,0 +1,19 @@
> +$OpenBSD$
> +
> +Fix exiv2 2.27
> +
> +Index: cmake/modules/FindExiv2.cmake
> +--- cmake/modules/FindExiv2.cmake.orig
> ++++ cmake/modules/FindExiv2.cmake
> +@@ -55,9 +55,9 @@ find_library(EXIV2_LIBRARY NAMES exiv2 libexiv2
> +             )
> + 
> + 
> +-# Get the version number from exiv2/version.hpp and store it in the cache:
> ++# Get the version number from exiv2/exv_conf.h and store it in the cache:
> + if(EXIV2_INCLUDE_DIR  AND NOT  EXIV2_VERSION)
> +-  file(READ ${EXIV2_INCLUDE_DIR}/exiv2/version.hpp EXIV2_VERSION_CONTENT)
> ++  file(READ ${EXIV2_INCLUDE_DIR}/exiv2/exv_conf.h EXIV2_VERSION_CONTENT)
> +   string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)"  
> _dummy "${EXIV2_VERSION_CONTENT}")
> +   set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}")
> + 
> diff --git a/x11/kde4/nepomuk-core/Makefile b/x11/kde4/nepomuk-core/Makefile
> index bd1264199e7..7a43f90f5f2 100644
> --- a/x11/kde4/nepomuk-core/Makefile
> +++ b/x11/kde4/nepomuk-core/Makefile
> @@ -2,7 +2,7 @@
>  
>  COMMENT =    KDE Nepomuk core libraries
>  DISTNAME =   nepomuk-core-${MODKDE4_VERSION}
> -REVISION =   3
> +REVISION =   4
>  
>  SHARED_LIBS =        nepomukcore             53.0 # 4.9
>  SHARED_LIBS +=       nepomukcommon           53.0 # 4.10
> diff --git a/x11/kde4/runtime/Makefile b/x11/kde4/runtime/Makefile
> index 8c68d78ad1d..8b5c802a415 100644
> --- a/x11/kde4/runtime/Makefile
> +++ b/x11/kde4/runtime/Makefile
> @@ -6,7 +6,7 @@ DISTNAME =            kde-runtime-${MODKDE4_VERSION}
>  PKGNAME-main =               ${DISTNAME}
>  PKGNAME-locale =     kde4-locale-${MODKDE4_VERSION}
>  PKG_ARCH-locale =    *
> -REVISION-main =              16
> +REVISION-main =              17
>  REVISION-locale =    2
>  
>  DPB_PROPERTIES =     parallel

-- 
Antoine

Reply via email to