FreeBSD Bugzilla – Attachment 243104 Details for
Bug 272311
graphics/exiv2: upgrade to v0.28
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
graphics/exiv2: upgrade to v0.28 (take #3)
0001-graphics-exiv2-upgrade-to-v0.28.patch (text/plain), 12.86 KB, created by
Matthias Andree
on 2023-07-01 16:01:15 UTC
(
hide
)
Description:
graphics/exiv2: upgrade to v0.28 (take #3)
Filename:
MIME Type:
Creator:
Matthias Andree
Created:
2023-07-01 16:01:15 UTC
Size:
12.86 KB
patch
obsolete
>From 4147808b281530cc17fb1f0596f69155f29d1aec Mon Sep 17 00:00:00 2001 >From: Matthias Andree <mandree@FreeBSD.org> >Date: Sat, 1 Jul 2023 13:58:04 +0200 >Subject: [PATCH 1/3] graphics/exiv2: upgrade to v0.28 > >Add DOCS and DOXYGEN options to allow building/installing >extra documentation. > >Cherry-pick a few fixes from the upstream Git repo, >and add one FreeBSD-specific fix to libprocinfo interface >that caused crashes in the test rig, and add >sscanf/printf vs type fixes. > >All local fixes to .cpp filed with upstream repo as pull req. > >Assisted and >Reviewed by: diizzy@ >PR: 272311 >Differential Revision: https://reviews.freebsd.org/D40828 >--- > graphics/exiv2/Makefile | 66 +++++++++++-------- > graphics/exiv2/distinfo | 18 ++++- > .../exiv2/files/patch-cmake_mainSetup.cmake | 4 +- > graphics/exiv2/files/patch-src_version.cpp | 16 +++++ > .../exiv2/files/patch-xmpsdk_src_XMPMeta.cpp | 15 +++++ > .../exiv2/files/patch-xmpsdk_src_XMPUtils.cpp | 17 +++++ > graphics/exiv2/pkg-plist | 12 ++-- > 7 files changed, 108 insertions(+), 40 deletions(-) > create mode 100644 graphics/exiv2/files/patch-src_version.cpp > create mode 100644 graphics/exiv2/files/patch-xmpsdk_src_XMPMeta.cpp > create mode 100644 graphics/exiv2/files/patch-xmpsdk_src_XMPUtils.cpp > >diff --git a/graphics/exiv2/Makefile b/graphics/exiv2/Makefile >index 8dd128d14cf7..24c967ff7cc7 100644 >--- a/graphics/exiv2/Makefile >+++ b/graphics/exiv2/Makefile >@@ -1,58 +1,70 @@ > PORTNAME= exiv2 >-DISTVERSION= 0.27.6 >+DISTVERSION= 0.28.0 > DISTVERSIONSUFFIX= -Source > PORTEPOCH= 1 > CATEGORIES= graphics > MASTER_SITES= https://github.com/Exiv2/exiv2/releases/download/v${DISTVERSION}/ >+PATCH_SITES= https://github.com/Exiv2/exiv2/commit/ >+ >+# https://git.alpinelinux.org/aports/log/community/exiv2 >+# https://github.com/Exiv2/exiv2/compare/v0.28.0...0.28.x >+PATCHFILES= 16c1cd7da0cd159ee2d53c39088564edaf046c77.patch:-p1 \ >+ 2876c8c5f70f71b5b51b0f26b31dd0dc08583212.patch:-p1 \ >+ 3664f5b826f5688b82470235d1dceef0c9c4c47d.patch:-p1 \ >+ b4f435a4ecceba0ef3a785dbe8eead6f55f49cc1.patch:-p1 \ >+ c5c4a54d4cf4ea544c30fe6780dab2755f404300.patch:-p1 \ >+ f47e7bd666aa063d016bdf00ea8f62c97a5b5a7a.patch:-p1 > > MAINTAINER= multimedia@FreeBSD.org > COMMENT= Exif, IPTC, and XMP metadata manipulation library and tools > WWW= https://www.exiv2.org/ > > LICENSE= GPLv2+ > LICENSE_FILE= ${WRKSRC}/COPYING > >-LIB_DEPENDS= libexpat.so:textproc/expat2 >-TEST_DEPENDS= bash:shells/bash >-TEST_LIB_DEPENDS= libgtest.so:devel/googletest >+LIB_DEPENDS= libbrotlidec.so:archivers/brotli \ >+ libexpat.so:textproc/expat2 \ >+ libinih.so:devel/inih \ >+ libpng.so:graphics/png > >-USES= cmake compiler:c++11-lang cpe dos2unix gettext-tools pathfix \ >- python:test localbase:ldflags >-USE_LDCONFIG= yes >+USES= cmake compiler:c++17-lang cpe dos2unix gettext-tools iconv \ >+ localbase:ldflags pathfix shebangfix > DOS2UNIX_FILES= cmake/compilerFlags.cmake >+USE_LDCONFIG= yes >+SHEBANG_FILES= fuzz/mkdictionary.py tests/runner.py > >-TEST_TARGET= tests >+CMAKE_ARGS= -DPython${PYTHON_MAJOR_VER}_EXECUTABLE:FILEPATH="${PYTHON_CMD}" > > CMAKE_ON= EXIV2_ENABLE_VIDEO >-CMAKE_OFF= EXIV2_ENABLE_LIBXMP >+CMAKE_OFF= EXIV2_ENABLE_EXTERNAL_XMP > >-OPTIONS_DEFINE= NLS SAMPLE TEST >+WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}-Source >+ >+OPTIONS_DEFINE= DOCS DOXYGEN NLS SAMPLE TEST > OPTIONS_SUB= yes >-TEST_IMPLIES= SAMPLE > >-NLS_CMAKE_BOOL= EXIV2_ENABLE_NLS >+SAMPLE_DESC= Include sample applications >+ >+DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen dot:graphics/graphviz >+DOXYGEN_CMAKE_BOOL= EXIV2_BUILD_DOC >+DOXYGEN_ALL_TARGET= all doc >+DOXYGEN_PORTDOCS= * >+ > NLS_USES= gettext-runtime >+NLS_CMAKE_BOOL= EXIV2_ENABLE_NLS > >-SAMPLE_DESC= Include sample applications > SAMPLE_CMAKE_BOOL= EXIV2_BUILD_SAMPLES > >+TEST_IMPLIES= SAMPLE >+TEST_LIB_DEPENDS= libgtest.so:devel/googletest >+TEST_TEST_DEPENDS= bash:shells/bash >+TEST_USES= python:build,test > TEST_CMAKE_BOOL= EXIV2_BUILD_UNIT_TESTS >- >-PATHFIX_CMAKELISTSTXT= CMakeChecks.txt >- >-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-Source >+TEST_TEST_TARGET= test > > .include <bsd.port.options.mk> > >-LDFLAGS_mips= -lintl >-LDFLAGS_mips64= -lintl >- >-post-patch: >- @${REINPLACE_CMD} -e 's|python3|${PYTHON_CMD}|' \ >- ${WRKSRC}/CMakeLists.txt >- @${REINPLACE_CMD} -e 's|python3|${PYTHON_CMD}|' \ >- ${WRKSRC}/test/Makefile >- @${REINPLACE_CMD} -e 's|python3|${PYTHON_CMD}|' \ >- ${WRKSRC}/test/functions.source >+LDFLAGS_mips= -lintl >+LDFLAGS_mips64= -lintl > > .include <bsd.port.mk> >diff --git a/graphics/exiv2/distinfo b/graphics/exiv2/distinfo >index cfb011d7e28a..7e5d91c42aac 100644 >--- a/graphics/exiv2/distinfo >+++ b/graphics/exiv2/distinfo >@@ -1,3 +1,15 @@ >-TIMESTAMP = 1674215187 >-SHA256 (exiv2-0.27.6-Source.tar.gz) = 4c192483a1125dc59a3d70b30d30d32edace9e14adf52802d2f853abf72db8a6 >-SIZE (exiv2-0.27.6-Source.tar.gz) = 32280263 >+TIMESTAMP = 1688222531 >+SHA256 (exiv2-0.28.0-Source.tar.gz) = 89af3b5ef7277753ef7a7b5374ae017c6b9e304db3b688f1948e73e103491f3d >+SIZE (exiv2-0.28.0-Source.tar.gz) = 44893310 >+SHA256 (16c1cd7da0cd159ee2d53c39088564edaf046c77.patch) = 04cc88ba5e575fef02545022a8f862dadc16752e21d9bbfdbc3788b86992821b >+SIZE (16c1cd7da0cd159ee2d53c39088564edaf046c77.patch) = 4997 >+SHA256 (2876c8c5f70f71b5b51b0f26b31dd0dc08583212.patch) = f05ab7b3355ae6d5346f6bbd9d0fc9d8db26b04943f27b0f851ac5ad13561a41 >+SIZE (2876c8c5f70f71b5b51b0f26b31dd0dc08583212.patch) = 2269 >+SHA256 (3664f5b826f5688b82470235d1dceef0c9c4c47d.patch) = 6b725a884c8bc225b0bda6a907a39e2238fe0cee4800f7852d18377e66aad2a3 >+SIZE (3664f5b826f5688b82470235d1dceef0c9c4c47d.patch) = 12997 >+SHA256 (b4f435a4ecceba0ef3a785dbe8eead6f55f49cc1.patch) = e3b0dce84cdacbdbb24c6c39772f6cdbba7e3e3101be540d7695d3d981c810e5 >+SIZE (b4f435a4ecceba0ef3a785dbe8eead6f55f49cc1.patch) = 755 >+SHA256 (c5c4a54d4cf4ea544c30fe6780dab2755f404300.patch) = ef9789c846982e6d15ef47f53f25c42229e7d2eb135ac9fa5e0e09e7da0e0d91 >+SIZE (c5c4a54d4cf4ea544c30fe6780dab2755f404300.patch) = 778 >+SHA256 (f47e7bd666aa063d016bdf00ea8f62c97a5b5a7a.patch) = f96c50432d45adf30bffbb21ebfda30c1ffeae08ce3a603eacda1befb9240fb8 >+SIZE (f47e7bd666aa063d016bdf00ea8f62c97a5b5a7a.patch) = 1127 >diff --git a/graphics/exiv2/files/patch-cmake_mainSetup.cmake b/graphics/exiv2/files/patch-cmake_mainSetup.cmake >index be278291f00f..1e8a3939a3ac 100644 >--- a/graphics/exiv2/files/patch-cmake_mainSetup.cmake >+++ b/graphics/exiv2/files/patch-cmake_mainSetup.cmake >@@ -1,11 +1,11 @@ >---- cmake/mainSetup.cmake.orig 2019-07-13 09:31:40 UTC >+--- cmake/mainSetup.cmake.orig 2023-05-08 16:01:13 UTC > +++ cmake/mainSetup.cmake >-@@ -13,7 +13,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} >+@@ -17,7 +17,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} > set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) > set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) > > -if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") > +if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang") > set(CMAKE_CXX_VISIBILITY_PRESET hidden) > set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) > endif() >diff --git a/graphics/exiv2/files/patch-src_version.cpp b/graphics/exiv2/files/patch-src_version.cpp >new file mode 100644 >index 000000000000..0175b6a0c1b6 >--- /dev/null >+++ b/graphics/exiv2/files/patch-src_version.cpp >@@ -0,0 +1,16 @@ >+This patch fixes a crash when the procstat_getfiles() >+return list contains non-vnodes that don't have an fs_path. >+ >+filed as https://github.com/Exiv2/exiv2/pull/2672 >+ >+--- src/version.cpp.orig 2023-05-08 16:01:13 UTC >++++ src/version.cpp >+@@ -148,7 +148,7 @@ static std::vector<std::string> getLoadedLibraries() { >+ struct filestat_list* files = procs ? procstat_getfiles(procstat, procs, true) : nullptr; >+ if (files) { >+ filestat* entry; >+- STAILQ_FOREACH(entry, files, next) { >++ STAILQ_FOREACH(entry, files, next) if (entry && PS_FST_TYPE_VNODE == entry->fs_type && entry->fs_path) { >+ std::string path(entry->fs_path); >+ pushPath(path, libs, paths); >+ } >diff --git a/graphics/exiv2/files/patch-xmpsdk_src_XMPMeta.cpp b/graphics/exiv2/files/patch-xmpsdk_src_XMPMeta.cpp >new file mode 100644 >index 000000000000..d6bd611488eb >--- /dev/null >+++ b/graphics/exiv2/files/patch-xmpsdk_src_XMPMeta.cpp >@@ -0,0 +1,15 @@ >+XMP code is not dealing with format types properly. Cast argument to match format string. >+ >+filed as https://github.com/Exiv2/exiv2/pull/2671 >+ >+--- xmpsdk/src/XMPMeta.cpp.orig 2023-05-08 16:01:13 UTC >++++ xmpsdk/src/XMPMeta.cpp >+@@ -87,7 +87,7 @@ static const char * kTenSpaces = " "; >+ #define OutProcHexInt(num) { snprintf ( buffer, sizeof(buffer), "%X", (num) ); /* AUDIT: Using sizeof for snprintf length is safe */ \ >+ status = (*outProc) ( refCon, buffer, strlen(buffer) ); if ( status != 0 ) goto EXIT; } >+ #else >+-#define OutProcHexInt(num) { snprintf ( buffer, sizeof(buffer), "%lX", (num) ); /* AUDIT: Using sizeof for snprintf length is safe */ \ >++#define OutProcHexInt(num) { snprintf ( buffer, sizeof(buffer), "%lX", (long)(num) ); /* AUDIT: Using sizeof for snprintf length is safe */ \ >+ status = (*outProc) ( refCon, buffer, strlen(buffer) ); if ( status != 0 ) goto EXIT; } >+ #endif >+ >diff --git a/graphics/exiv2/files/patch-xmpsdk_src_XMPUtils.cpp b/graphics/exiv2/files/patch-xmpsdk_src_XMPUtils.cpp >new file mode 100644 >index 000000000000..e609063362b0 >--- /dev/null >+++ b/graphics/exiv2/files/patch-xmpsdk_src_XMPUtils.cpp >@@ -0,0 +1,17 @@ >+XMP code is not dealing with format types properly. >+Provide a variable that matches the format string to >+avoid crashes when sizeof(long long) != sizeof(XMP_Int64). >+ >+filed as https://github.com/Exiv2/exiv2/pull/2671 >+ >+--- xmpsdk/src/XMPUtils.cpp.orig 2023-05-08 16:01:13 UTC >++++ xmpsdk/src/XMPUtils.cpp >+@@ -1215,7 +1215,7 @@ XMPUtils::ConvertToInt64 ( XMP_StringPtr strValue ) >+ >+ int count; >+ char nextCh; >+- XMP_Int64 result; >++ long long result; >+ >+ if ( ! XMP_LitNMatch ( strValue, "0x", 2 ) ) { >+ count = sscanf ( strValue, "%lld%c", &result, &nextCh ); >diff --git a/graphics/exiv2/pkg-plist b/graphics/exiv2/pkg-plist >index 93b45ca366df..0ce169f2b461 100644 >--- a/graphics/exiv2/pkg-plist >+++ b/graphics/exiv2/pkg-plist >@@ -1,93 +1,89 @@ > %%SAMPLE%%bin/addmoddel > %%SAMPLE%%bin/exifcomment > %%SAMPLE%%bin/exifdata > %%SAMPLE%%bin/exifprint > %%SAMPLE%%bin/exifvalue > bin/exiv2 >-%%SAMPLE%%bin/exiv2json > %%SAMPLE%%bin/geotag > %%SAMPLE%%bin/iptceasy > %%SAMPLE%%bin/iptcprint > %%SAMPLE%%bin/metacopy > %%SAMPLE%%bin/mrwthumb > %%SAMPLE%%bin/taglist > %%SAMPLE%%bin/xmpdump > %%SAMPLE%%bin/xmpparse > %%SAMPLE%%bin/xmpprint > %%SAMPLE%%bin/xmpsample > include/exiv2/asfvideo.hpp > include/exiv2/basicio.hpp > include/exiv2/bmffimage.hpp > include/exiv2/bmpimage.hpp > include/exiv2/config.h > include/exiv2/convert.hpp > include/exiv2/cr2image.hpp > include/exiv2/crwimage.hpp > include/exiv2/datasets.hpp > include/exiv2/easyaccess.hpp > 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/futils.hpp > include/exiv2/gifimage.hpp > include/exiv2/http.hpp > include/exiv2/image.hpp >-include/exiv2/ini.hpp >+include/exiv2/image_types.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 > include/exiv2/pgfimage.hpp >+include/exiv2/photoshop.hpp > 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_exiv2.hpp > include/exiv2/xmpsidecar.hpp > lib/cmake/exiv2/exiv2Config-%%CMAKE_BUILD_TYPE%%.cmake > lib/cmake/exiv2/exiv2Config.cmake > lib/cmake/exiv2/exiv2ConfigVersion.cmake > lib/libexiv2.so >-lib/libexiv2.so.0.27.6 >-lib/libexiv2.so.27 >-lib/libexiv2-xmp.a >+lib/libexiv2.so.0.28.0 >+lib/libexiv2.so.28 > libdata/pkgconfig/exiv2.pc > share/man/man1/exiv2.1.gz > %%NLS%%share/locale/bs/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/ca/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/de/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/es/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/fi/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/fr/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/gl/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/ms/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/nl/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/pl/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/pt/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/ru/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/sk/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/sv/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/ug/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/uk/LC_MESSAGES/exiv2.mo > %%NLS%%share/locale/vi/LC_MESSAGES/exiv2.mo >-- >2.41.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 272311
:
243098
|
243100
|
243103
|
243104
|
243106
|
243111
|
243124
|
243125
|
243135
|
243136
|
243137
|
243138
|
243139
|
243140
|
243141
|
243142
|
243143
|
243144
|
243145
|
243146
|
243147
|
243148
|
243154
|
243155
|
243156
|
243157
|
243158
|
243159
|
243160
|
243166
|
243167
|
243168
|
243169
|
243170
|
243171
|
243172
|
243175
|
243176