Sunday, April 26, 2020

Re: UPDATE: graphics/exiv2

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) $@.o -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;
> +

No comments:

Post a Comment