From d1c27ceff22c1e85e2f0f15af32c1af86ab52041 Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Mon, 23 Oct 2023 01:20:09 +0100 Subject: [PATCH 01/22] inih: add `libINIReader.so.0` common/shlibs entry. --- common/shlibs | 1 + 1 file changed, 1 insertion(+) diff --git a/common/shlibs b/common/shlibs index 185ba856d7e6c..d8c41afe078af 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3903,6 +3903,7 @@ libnotcurses++.so.3 notcurses-3.0.5_1 libnotcurses-ffi.so.3 notcurses-3.0.5_1 libevemu.so.3 evemu-2.7.0_1 libinih.so.0 inih-52_1 +libINIReader.so.0 inih-57_1 libpcaudio.so.0 pcaudiolib-1.1_1 libdcerpc-samr.so.0 samba-4.13.2_1 libdcerpc-server-core.so.0 samba-4.13.2_1 From 3833f25ee5f47ae4e52057681b97bb24d968723a Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:12 +0100 Subject: [PATCH 02/22] exiv2: update to 0.28.0. --- common/shlibs | 2 +- srcpkgs/exiv2/patches/fix-tests.diff | 31 ++++++++++++++++++++++++++++ srcpkgs/exiv2/template | 14 ++++++++----- 3 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 srcpkgs/exiv2/patches/fix-tests.diff diff --git a/common/shlibs b/common/shlibs index d8c41afe078af..b3fee66f7e206 100644 --- a/common/shlibs +++ b/common/shlibs @@ -555,7 +555,7 @@ libgimpcolor-2.0.so.0 libgimp-2.10.0_1 libgimpmodule-2.0.so.0 libgimp-2.10.0_1 libgmic.so.3 gmic-3.1.6_1 libcgmic.so.3 gmic-3.1.6_1 -libexiv2.so.27 exiv2-0.27_1 +libexiv2.so.28 exiv2-0.28.0_1 libKF5Holidays.so.5 kholidays-5.47.0_1 libPhabricatorHelpers.so.5 purpose-5.48.0_1 libKF5PurposeWidgets.so.5 purpose-5.48.0_1 diff --git a/srcpkgs/exiv2/patches/fix-tests.diff b/srcpkgs/exiv2/patches/fix-tests.diff new file mode 100644 index 0000000000000..3eb7adc1635f3 --- /dev/null +++ b/srcpkgs/exiv2/patches/fix-tests.diff @@ -0,0 +1,31 @@ +diff --git a/tests/tiff_test/test_tag_compare.py b/tests/tiff_test/test_tag_compare.py +index a8538bd2..974d1a9a 100644 +--- a/tests/tiff_test/test_tag_compare.py ++++ b/tests/tiff_test/test_tag_compare.py +@@ -28,8 +28,8 @@ class OutputTagExtract(metaclass=system_tests.CaseMeta): + tmp = line.split() + + exif, image, tag = tmp[0].split('.') +- self.assertEquals(exif, "Exif") +- self.assertEquals(image, "Image") ++ self.assertEqual(exif, "Exif") ++ self.assertEqual(image, "Image") + + data.append({ + "tag": tag, +@@ -87,13 +87,13 @@ class OutputTagExtract(metaclass=system_tests.CaseMeta): + """ + for pa_elem, pS_elem in zip(self.pa_data, self.pS_data): + for key in ["tag", "type", "len"]: +- self.assertEquals(pa_elem[key], pS_elem[key]) ++ self.assertEqual(pa_elem[key], pS_elem[key]) + + if pa_elem["tag"] in [ + "ImageWidth", "ImageLength", "BitsPerSample", + "DocumentName", "ImageDescription", "StripOffsets", + "SamplesPerPixel", "StripByteCounts"]: +- self.assertEquals(pa_elem["val"], pS_elem["val"]) ++ self.assertEqual(pa_elem["val"], pS_elem["val"]) + + def compare_stdout(self, i, command, got_stdout, expected_stdout): + super().compare_stdout(i, command, got_stdout, expected_stdout) diff --git a/srcpkgs/exiv2/template b/srcpkgs/exiv2/template index 49985fe82cc14..876b253541d00 100644 --- a/srcpkgs/exiv2/template +++ b/srcpkgs/exiv2/template @@ -1,17 +1,17 @@ # Template file for 'exiv2' pkgname=exiv2 -version=0.27.6 +version=0.28.0 revision=1 build_style=cmake configure_args="-DEXIV2_BUILD_SAMPLES=OFF -DEXIV2_ENABLE_BMFF=ON" -makedepends="zlib-devel expat-devel" -checkdepends="gtest-devel" +makedepends="zlib-devel brotli-devel expat-devel inih-devel" +checkdepends="gtest-devel python3" short_desc="Image metadata manipulation" maintainer="Enno Boland " license="GPL-2.0-or-later" homepage="https://www.exiv2.org" distfiles="https://github.com/Exiv2/exiv2/releases/download/v${version}/exiv2-${version}-Source.tar.gz" -checksum=4c192483a1125dc59a3d70b30d30d32edace9e14adf52802d2f853abf72db8a6 +checksum=89af3b5ef7277753ef7a7b5374ae017c6b9e304db3b688f1948e73e103491f3d if [ -n "$XBPS_CHECK_PKGS" ]; then configure_args+=" -DEXIV2_BUILD_UNIT_TESTS=ON" @@ -21,6 +21,11 @@ if [ -n "$XBPS_CCACHE" ]; then configure_args+=" -DBUILD_WITH_CCACHE=ON" fi +pre_check() { + # https://github.com/Exiv2/exiv2/issues/2762 + rm -f tests/bugfixes/github/test_issue_2427.py +} + exiv2-devel_package() { depends="${makedepends} ${sourcepkg}-${version}_${revision}" short_desc+=" - development files" @@ -28,7 +33,6 @@ exiv2-devel_package() { vmove usr/include vmove usr/lib/cmake vmove usr/lib/pkgconfig - vmove "usr/lib/*.a" vmove "usr/lib/*.so" } } From 6083c58617db7d2d932acb65b2c332f6361d1279 Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:37 +0100 Subject: [PATCH 03/22] ART: revbump for exiv2-0.28.0. --- srcpkgs/ART/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/ART/template b/srcpkgs/ART/template index b6c47fc6c4cdf..94c7aa0378061 100644 --- a/srcpkgs/ART/template +++ b/srcpkgs/ART/template @@ -1,7 +1,7 @@ # Template file for 'ART' pkgname=ART version=1.20.2 -revision=1 +revision=2 build_style=cmake hostmakedepends="pkg-config" makedepends="fftw-devel gtkmm-devel lensfun-devel From acd859e69cad533b7acdd9b8872d85b3f391efe3 Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:38 +0100 Subject: [PATCH 04/22] darktable: revbump for exiv2-0.28.0. --- srcpkgs/darktable/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/darktable/template b/srcpkgs/darktable/template index 60415a34dc018..3d35571239a93 100644 --- a/srcpkgs/darktable/template +++ b/srcpkgs/darktable/template @@ -1,7 +1,7 @@ # Template file for 'darktable' pkgname=darktable version=4.4.2 -revision=2 +revision=3 # upstream only supports these archs: archs="x86_64* aarch64* ppc64le*" build_style=cmake From 7651d5cd2f34199021c36a9e545c6953f52a67db Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:38 +0100 Subject: [PATCH 05/22] digikam: revbump for exiv2-0.28.0. --- srcpkgs/digikam/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/digikam/template b/srcpkgs/digikam/template index 206185f565488..4784bf7d62a8e 100644 --- a/srcpkgs/digikam/template +++ b/srcpkgs/digikam/template @@ -1,7 +1,7 @@ # Template file for 'digikam' pkgname=digikam version=8.1.0 -revision=1 +revision=2 build_style=cmake configure_args="-DBUILD_TESTING=OFF" hostmakedepends="extra-cmake-modules gettext pkg-config bison flex qt5-qmake From 9a863545a61ccc6e2d5ac942db8e3cd34e9ce358 Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:38 +0100 Subject: [PATCH 06/22] geeqie: revbump for exiv2-0.28.0. --- srcpkgs/geeqie/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/geeqie/template b/srcpkgs/geeqie/template index b5f958f854c1b..b494bc149e957 100644 --- a/srcpkgs/geeqie/template +++ b/srcpkgs/geeqie/template @@ -1,7 +1,7 @@ # Template file for 'geeqie' pkgname=geeqie version=2.1 -revision=1 +revision=2 build_style=meson hostmakedepends="pkg-config gettext xxd gdk-pixbuf-devel glib-devel" makedepends="gtk+3-devel glib-devel lcms2-devel exiv2-devel libheif-devel From 3f341ca73959f4657b9979c5ee0074037225c036 Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:38 +0100 Subject: [PATCH 07/22] gthumb: revbump for exiv2-0.28.0. --- srcpkgs/gthumb/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/gthumb/template b/srcpkgs/gthumb/template index c8e19f0dedb61..732d5e1c6089f 100644 --- a/srcpkgs/gthumb/template +++ b/srcpkgs/gthumb/template @@ -1,7 +1,7 @@ # Template file for 'gthumb' pkgname=gthumb version=3.12.3 -revision=1 +revision=2 build_style=meson hostmakedepends="gettext pkg-config itstool glib-devel" makedepends="webkit2gtk-devel json-glib-devel libsecret-devel librsvg-devel From 5c0742953c5df36f41f0417d69363578f0f11f3a Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:38 +0100 Subject: [PATCH 08/22] gwenview: revbump for exiv2-0.28.0. --- srcpkgs/gwenview/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/gwenview/template b/srcpkgs/gwenview/template index 73d450a458c4d..eb876cfadcfe8 100644 --- a/srcpkgs/gwenview/template +++ b/srcpkgs/gwenview/template @@ -1,7 +1,7 @@ # Template file for 'gwenview' pkgname=gwenview version=23.08.2 -revision=1 +revision=2 build_style=cmake build_helper=qemu hostmakedepends="extra-cmake-modules pkg-config qt5-qmake qt5-host-tools From ee96979d666324d52f4e28f53b5b144b3dfb027c Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:38 +0100 Subject: [PATCH 09/22] hugin: revbump for exiv2-0.28.0. --- srcpkgs/hugin/patches/exiv2-0.28.patch | 77 ++++++++++++++++++++++++++ srcpkgs/hugin/template | 2 +- 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/hugin/patches/exiv2-0.28.patch diff --git a/srcpkgs/hugin/patches/exiv2-0.28.patch b/srcpkgs/hugin/patches/exiv2-0.28.patch new file mode 100644 index 0000000000000..49f0518117020 --- /dev/null +++ b/srcpkgs/hugin/patches/exiv2-0.28.patch @@ -0,0 +1,77 @@ +Patch-Source: https://gitlab.archlinux.org/archlinux/packaging/packages/hugin/-/blob/main/exiv2-0.28.patch +diff -r 79cd11a7a66f src/hugin_base/panodata/Exiv2Helper.cpp +--- a/src/hugin_base/panodata/Exiv2Helper.cpp Wed May 24 19:13:20 2023 +0200 ++++ b/src/hugin_base/panodata/Exiv2Helper.cpp Mon Jun 05 00:31:19 2023 +0200 +@@ -40,7 +40,7 @@ + Exiv2::ExifData::iterator itr = exifData.findKey(Exiv2::ExifKey(keyName)); + if (itr != exifData.end() && itr->count()) + { +- value = itr->toLong(); ++ value = itr->toUint32(); + return true; + } + else +@@ -165,7 +165,7 @@ + { + if(it!=exifData.end() && it->count()) + { +- return it->toLong(); ++ return it->toUint32(); + } + return 0; + }; +@@ -600,4 +600,4 @@ + }; + + }; //namespace Exiv2Helper +-}; //namespace HuginBase +\ No newline at end of file ++}; //namespace HuginBase +diff -r 79cd11a7a66f src/hugin_base/panodata/SrcPanoImage.cpp +--- a/src/hugin_base/panodata/SrcPanoImage.cpp Wed May 24 19:13:20 2023 +0200 ++++ b/src/hugin_base/panodata/SrcPanoImage.cpp Mon Jun 05 00:31:19 2023 +0200 +@@ -384,7 +384,7 @@ + pos = xmpData.findKey(Exiv2::XmpKey("Xmp.GPano.CroppedAreaImageWidthPixels")); + if (pos != xmpData.end()) + { +- croppedWidth = pos->toLong(); ++ croppedWidth = pos->toUint32(); + } + else + { +@@ -394,7 +394,7 @@ + pos = xmpData.findKey(Exiv2::XmpKey("Xmp.GPano.CroppedAreaImageHeightPixels")); + if (pos != xmpData.end()) + { +- croppedHeight = pos->toLong(); ++ croppedHeight = pos->toUint32(); + } + else + { +@@ -408,7 +408,7 @@ + double hfov = 0; + if (pos != xmpData.end()) + { +- hfov = 360 * croppedWidth / (double)pos->toLong(); ++ hfov = 360 * croppedWidth / (double)pos->toUint32(); + } + else + { +@@ -419,7 +419,7 @@ + pos = xmpData.findKey(Exiv2::XmpKey("Xmp.GPano.FullPanoHeightPixels")); + if (pos != xmpData.end()) + { +- fullHeight = pos->toLong(); ++ fullHeight = pos->toUint32(); + } + else + { +@@ -430,7 +430,7 @@ + pos = xmpData.findKey(Exiv2::XmpKey("Xmp.GPano.CroppedAreaTopPixels")); + if (pos != xmpData.end()) + { +- cropTop = pos->toLong(); ++ cropTop = pos->toUint32(); + } + else + { diff --git a/srcpkgs/hugin/template b/srcpkgs/hugin/template index f96d2f6e27d42..ce71f6e4cbb2d 100644 --- a/srcpkgs/hugin/template +++ b/srcpkgs/hugin/template @@ -1,7 +1,7 @@ # Template file for 'hugin' pkgname=hugin version=2022.0.0 -revision=10 +revision=11 build_style=cmake build_helper=cmake-wxWidgets-gtk3 pycompile_dirs="usr/share/hugin/data/plugins usr/share/hugin/data/plugins-templates" From 333968ba69e827e78acd5bf1e10e2f4b5047c24e Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:38 +0100 Subject: [PATCH 10/22] kfilemetadata5: revbump for exiv2-0.28.0. --- srcpkgs/kfilemetadata5/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/kfilemetadata5/template b/srcpkgs/kfilemetadata5/template index c034d62deec8f..e6e9fe11aa55d 100644 --- a/srcpkgs/kfilemetadata5/template +++ b/srcpkgs/kfilemetadata5/template @@ -1,7 +1,7 @@ # Template file for 'kfilemetadata5' pkgname=kfilemetadata5 version=5.110.0 -revision=1 +revision=2 build_style=cmake hostmakedepends="kcoreaddons extra-cmake-modules pkg-config qt5-host-tools qt5-qmake gettext kcoreaddons python3" From 43dbf5319b04f35588652fe00bdce3eb27772eab Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:39 +0100 Subject: [PATCH 11/22] krename: revbump for exiv2-0.28.0. --- srcpkgs/krename/patches/e7dd767a.patch | 90 ++++++++++++++++++++++++++ srcpkgs/krename/template | 2 +- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/krename/patches/e7dd767a.patch diff --git a/srcpkgs/krename/patches/e7dd767a.patch b/srcpkgs/krename/patches/e7dd767a.patch new file mode 100644 index 0000000000000..a0ef428ce46b1 --- /dev/null +++ b/srcpkgs/krename/patches/e7dd767a.patch @@ -0,0 +1,90 @@ +Patch-Source: https://invent.kde.org/utilities/krename/-/commit/e7dd767a +From e7dd767a9a1068ee1fe1502c4d619b57d3b12add Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner +Date: Fri, 26 May 2023 23:23:10 +0200 +Subject: [PATCH] Fix build with >=exiv2-0.28, raise minimum to 0.27 + +- enables use of EXIV2_TEST_VERSION macro +- exiv2 headers cleanup + +Signed-off-by: Andreas Sturmlechner +--- + CMakeLists.txt | 6 +----- + config-krename.h.cmake | 3 --- + src/exiv2plugin.cpp | 17 +++++------------ + 3 files changed, 6 insertions(+), 20 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0bda8ac..72e7297 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,13 +56,9 @@ set_package_properties(Taglib PROPERTIES + TYPE OPTIONAL) + + # Find exiv2 +-find_package(LibExiv2 0.13) # AccessMode was added in 0.13 ++find_package(LibExiv2 0.27) # EXIV2_TEST_VERSION was added in 0.27 + 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) + set_package_properties(PoDoFo PROPERTIES +diff --git a/config-krename.h.cmake b/config-krename.h.cmake +index 76c3d30..862e40b 100644 +--- a/config-krename.h.cmake ++++ b/config-krename.h.cmake +@@ -6,9 +6,6 @@ + /* 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/src/exiv2plugin.cpp b/src/exiv2plugin.cpp +index 5694d8c..25e8869 100644 +--- a/src/exiv2plugin.cpp ++++ b/src/exiv2plugin.cpp +@@ -3,20 +3,9 @@ + + #include "exiv2plugin.h" + +-#include "../config-krename.h" +- + #include + +-#include +-#include +-#include +-#include +-#ifdef HAVE_LIBEXIV2_0_27 +- #include +-#else +- #include +-#endif +-#include ++#include + + #include "batchrenamer.h" + #include "tokenhelpdialog.h" +@@ -381,7 +370,11 @@ QString Exiv2Plugin::processFile(BatchRenamer *b, int index, const QString &file + std::string strFilename(asc.constData(), asc.length()); + + try { ++#if EXIV2_TEST_VERSION(0,28,0) ++ Image::UniquePtr image = Exiv2::ImageFactory::open(strFilename); ++#else + Image::AutoPtr image = Exiv2::ImageFactory::open(strFilename); ++#endif + if (image.get() != nullptr && image->good()) { + image->readMetadata(); + +-- +GitLab + diff --git a/srcpkgs/krename/template b/srcpkgs/krename/template index 66023163e3293..df5535007714a 100644 --- a/srcpkgs/krename/template +++ b/srcpkgs/krename/template @@ -1,7 +1,7 @@ # Template file for 'krename' pkgname=krename version=5.0.2 -revision=1 +revision=2 build_style=cmake hostmakedepends="extra-cmake-modules gettext kcoreaddons pkg-config qt5-host-tools qt5-qmake" makedepends="exiv2-devel freetype-devel kjs-devel kparts-devel libpodofo-devel From f5a4ae6bd23368b29b3d4344a41ba5fce3966f7a Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:39 +0100 Subject: [PATCH 12/22] krita: revbump for exiv2-0.28.0. --- srcpkgs/krita/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/krita/template b/srcpkgs/krita/template index a4d3de04b049f..b479e0db798ee 100644 --- a/srcpkgs/krita/template +++ b/srcpkgs/krita/template @@ -1,7 +1,7 @@ # Template file for 'krita' pkgname=krita version=5.2.0 -revision=1 +revision=2 build_style=cmake configure_args="-Wno-dev -DBUILD_TESTING=OFF" hostmakedepends="extra-cmake-modules gettext pkg-config python3 From a24a79c92117d854c718c876dac103bd2876f89a Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:39 +0100 Subject: [PATCH 13/22] libextractor: revbump for exiv2-0.28.0. --- srcpkgs/libextractor/patches/exiv2-0.28.patch | 286 ++++++++++++++++++ srcpkgs/libextractor/template | 2 +- 2 files changed, 287 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/libextractor/patches/exiv2-0.28.patch diff --git a/srcpkgs/libextractor/patches/exiv2-0.28.patch b/srcpkgs/libextractor/patches/exiv2-0.28.patch new file mode 100644 index 0000000000000..270a626d8ab06 --- /dev/null +++ b/srcpkgs/libextractor/patches/exiv2-0.28.patch @@ -0,0 +1,286 @@ +Patch-Source: https://gitlab.archlinux.org/archlinux/packaging/packages/libextractor/-/blob/main/exiv2-0.28.patch +diff --git a/src/plugins/exiv2_extractor.cc b/src/plugins/exiv2_extractor.cc +index 78f9bda..d32ed6a 100644 +--- a/src/plugins/exiv2_extractor.cc ++++ b/src/plugins/exiv2_extractor.cc +@@ -90,7 +90,11 @@ virtual int close (); + * @param rcount number of bytes to read + * @return buffer with data read, empty buffer (!) on failure (!) + */ ++#if EXIV2_TEST_VERSION (0,28,0) ++virtual Exiv2::DataBuf read (size_t rcount); ++#else + virtual Exiv2::DataBuf read (long rcount); ++#endif + + /** + * Read up to 'rcount' bytes into 'buf'. +@@ -99,8 +103,17 @@ virtual Exiv2::DataBuf read (long rcount); + * @param rcount size of 'buf' + * @return number of bytes read successfully, 0 on failure (!) + */ ++#if EXIV2_TEST_VERSION (0,28,0) ++virtual size_t read (Exiv2::byte *buf, ++ size_t rcount); ++#else + virtual long read (Exiv2::byte *buf, + long rcount); ++#endif ++ ++#if EXIV2_TEST_VERSION (0,28,0) ++virtual void populateFakeData(); ++#endif + + /** + * Read a single character. +@@ -117,8 +130,13 @@ virtual int getb (); + * @param wcount how many bytes to write + * @return -1 (always fails) + */ ++#if EXIV2_TEST_VERSION(0,28,0) ++virtual size_t write (const Exiv2::byte *data, ++ size_t wcount); ++#else + virtual long write (const Exiv2::byte *data, + long wcount); ++#endif + + /** + * Write to stream. +@@ -126,7 +144,11 @@ virtual long write (const Exiv2::byte *data, + * @param src stream to copy + * @return -1 (always fails) + */ ++#if EXIV2_TEST_VERSION(0,28,0) ++virtual size_t write (Exiv2::BasicIo &src); ++#else + virtual long write (Exiv2::BasicIo &src); ++#endif + + /** + * Write a single byte. +@@ -172,7 +194,11 @@ virtual int munmap (); + * + * @return -1 on error + */ ++#if EXIV2_TEST_VERSION(0,28,0) ++virtual size_t tell (void) const; ++#else + virtual long int tell (void) const; ++#endif + + /** + * Return overall size of the file. +@@ -213,7 +239,11 @@ virtual bool eof () const; + * + * @throws error + */ ++#if EXIV2_TEST_VERSION(0,28,0) ++virtual const std::string& path () const noexcept; ++#else + virtual std::string path () const; ++#endif + + #ifdef EXV_UNICODE_PATH + /** +@@ -230,7 +260,11 @@ virtual std::wstring wpath () const; + * + * @throws error + */ ++#if EXIV2_TEST_VERSION(0,28,0) ++virtual Exiv2::BasicIo::UniquePtr temporary () const; ++#else + virtual Exiv2::BasicIo::AutoPtr temporary () const; ++#endif + + }; + +@@ -266,7 +300,11 @@ ExtractorIO::close () + * @return buffer with data read, empty buffer (!) on failure (!) + */ + Exiv2::DataBuf ++#if EXIV2_TEST_VERSION (0,28,0) ++ExtractorIO::read (size_t rcount) ++#else + ExtractorIO::read (long rcount) ++#endif + { + void *data; + ssize_t ret; +@@ -284,9 +322,15 @@ ExtractorIO::read (long rcount) + * @param rcount size of 'buf' + * @return number of bytes read successfully, 0 on failure (!) + */ ++#if EXIV2_TEST_VERSION (0,28,0) ++size_t ++ExtractorIO::read (Exiv2::byte *buf, ++ size_t rcount) ++#else + long + ExtractorIO::read (Exiv2::byte *buf, + long rcount) ++#endif + { + void *data; + ssize_t ret; +@@ -305,6 +349,12 @@ ExtractorIO::read (Exiv2::byte *buf, + return got; + } + ++#if EXIV2_TEST_VERSION (0,28,0) ++void ExtractorIO::populateFakeData() ++{ ++ return; ++} ++#endif + + /** + * Read a single character. +@@ -319,7 +369,9 @@ ExtractorIO::getb () + const unsigned char *r; + + if (1 != ec->read (ec->cls, &data, 1)) +-#if EXIV2_TEST_VERSION (0,27,0) ++#if EXIV2_TEST_VERSION(0,28,0) ++ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed); ++#elif EXIV2_TEST_VERSION (0,27,0) + throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); + #else + throw Exiv2::BasicError (42 /* error code */); +@@ -336,9 +388,15 @@ ExtractorIO::getb () + * @param wcount how many bytes to write + * @return -1 (always fails) + */ ++#if EXIV2_TEST_VERSION(0,28,0) ++size_t ++ExtractorIO::write (const Exiv2::byte *data, ++ size_t wcount) ++#else + long + ExtractorIO::write (const Exiv2::byte *data, + long wcount) ++#endif + { + return -1; + } +@@ -350,7 +408,11 @@ ExtractorIO::write (const Exiv2::byte *data, + * @param src stream to copy + * @return -1 (always fails) + */ ++#if EXIV2_TEST_VERSION(0,28,0) ++size_t ++#else + long ++#endif + ExtractorIO::write (Exiv2::BasicIo &src) + { + return -1; +@@ -378,7 +440,9 @@ ExtractorIO::putb (Exiv2::byte data) + void + ExtractorIO::transfer (Exiv2::BasicIo& src) + { +-#if EXIV2_TEST_VERSION (0,27,0) ++#if EXIV2_TEST_VERSION(0,28,0) ++ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed); ++#elif EXIV2_TEST_VERSION (0,27,0) + throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); + #else + throw Exiv2::BasicError (42 /* error code */); +@@ -427,7 +491,9 @@ ExtractorIO::seek (long offset, + Exiv2::byte * + ExtractorIO::mmap (bool isWritable) + { +-#if EXIV2_TEST_VERSION (0,27,0) ++#if EXIV2_TEST_VERSION (0,28,0) ++ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed); ++#elif EXIV2_TEST_VERSION (0,27,0) + throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); + #else + throw Exiv2::BasicError (42 /* error code */); +@@ -452,7 +518,11 @@ ExtractorIO::munmap () + * + * @return -1 on error + */ ++#if EXIV2_TEST_VERSION(0,28,0) ++size_t ++#else + long int ++#endif + ExtractorIO::tell (void) const + { + return (long) ec->seek (ec->cls, 0, SEEK_CUR); +@@ -516,10 +586,17 @@ ExtractorIO::eof () const + * + * @throws error + */ ++#if EXIV2_TEST_VERSION (0,28,0) ++const std::string& ++ExtractorIO::path () const noexcept ++#else + std::string + ExtractorIO::path () const ++#endif + { +-#if EXIV2_TEST_VERSION (0,27,0) ++#if EXIV2_TEST_VERSION (0,28,0) ++ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed); ++#elif EXIV2_TEST_VERSION (0,27,0) + throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); + #else + throw Exiv2::BasicError (42 /* error code */); +@@ -536,7 +613,9 @@ ExtractorIO::path () const + std::wstring + ExtractorIO::wpath () const + { +-#if EXIV2_TEST_VERSION (0,27,0) ++#if EXIV2_TEST_VERSION (0,28,0) ++ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed); ++#elif EXIV2_TEST_VERSION (0,27,0) + throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); + #else + throw Exiv2::BasicError (42 /* error code */); +@@ -552,11 +631,17 @@ ExtractorIO::wpath () const + * + * @throws error + */ ++#if EXIV2_TEST_VERSION(0,28,0) ++Exiv2::BasicIo::UniquePtr ++#else + Exiv2::BasicIo::AutoPtr ++#endif + ExtractorIO::temporary () const + { + fprintf (stderr, "throwing temporary error\n"); +-#if EXIV2_TEST_VERSION (0,27,0) ++#if EXIV2_TEST_VERSION(0,28,0) ++ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed); ++#elif EXIV2_TEST_VERSION (0,27,0) + throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); + #else + throw Exiv2::BasicError (42 /* error code */); +@@ -737,8 +822,13 @@ EXTRACTOR_exiv2_extract_method (struct EXTRACTOR_ExtractContext *ec) + #if ! EXIV2_TEST_VERSION (0,24,0) + Exiv2::LogMsg::setLevel (Exiv2::LogMsg::mute); + #endif ++#if EXIV2_TEST_VERSION(0,28,0) ++ std::unique_ptr eio (new ExtractorIO (ec)); ++ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open (std::move(eio)); ++#else + std::auto_ptr eio (new ExtractorIO (ec)); + Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open (eio); ++#endif + if (0 == image.get ()) + return; + image->readMetadata (); +@@ -822,7 +912,11 @@ EXTRACTOR_exiv2_extract_method (struct EXTRACTOR_ExtractContext *ec) + ADDXMP ("Xmp.lr.hierarchicalSubject", EXTRACTOR_METATYPE_SUBJECT); + } + } ++#if EXIV2_TEST_VERSION (0,28,0) ++ catch (const Exiv2::Error& e) ++#else + catch (const Exiv2::AnyError& e) ++#endif + { + #if DEBUG + std::cerr << "Caught Exiv2 exception '" << e << "'\n"; diff --git a/srcpkgs/libextractor/template b/srcpkgs/libextractor/template index ddd4790f93e88..bfcea979a308c 100644 --- a/srcpkgs/libextractor/template +++ b/srcpkgs/libextractor/template @@ -1,7 +1,7 @@ # Template file for 'libextractor' pkgname=libextractor version=1.11 -revision=2 +revision=3 build_style=gnu-configure configure_args="--disable-static" hostmakedepends="pkg-config" From 162e6d403327cfd0bc309c97a6e150d514dc81ee Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:39 +0100 Subject: [PATCH 14/22] libgexiv2: update to 0.14.2. --- srcpkgs/libgexiv2/template | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/srcpkgs/libgexiv2/template b/srcpkgs/libgexiv2/template index 23780e5397dc4..91dbcaa9aca52 100644 --- a/srcpkgs/libgexiv2/template +++ b/srcpkgs/libgexiv2/template @@ -1,19 +1,19 @@ # Template file for 'libgexiv2' pkgname=libgexiv2 -version=0.14.0 -revision=3 +version=0.14.2 +revision=1 build_style=meson build_helper="gir" -configure_args="-Dintrospection=$(vopt_if gir true false) - -Dvapi=$(vopt_if vala true false)" +configure_args="$(vopt_bool gir introspection) $(vopt_bool vala vapi)" hostmakedepends="pkg-config glib-devel $(vopt_if vala 'vala') python3-gobject" makedepends="libglib-devel exiv2-devel" short_desc="GObject-based wrapper around the Exiv2 library" maintainer="Enno Boland " license="GPL-2.0-or-later" homepage="https://wiki.gnome.org/Projects/gexiv2" -distfiles="${GNOME_SITE}/gexiv2/${version%.*}/${pkgname/lib/}-${version}.tar.xz" -checksum=e58279a6ff20b6f64fa499615da5e9b57cf65ba7850b72fafdf17221a9d6d69e +changelog="https://gitlab.gnome.org/GNOME/gexiv2/-/raw/master/NEWS" +distfiles="${GNOME_SITE}/gexiv2/${version%.*}/gexiv2-${version}.tar.xz" +checksum=2a0c9cf48fbe8b3435008866ffd40b8eddb0667d2212b42396fdf688e93ce0be build_options="gir vala" build_options_default="gir vala" @@ -23,7 +23,7 @@ libgexiv2-devel_package() { short_desc+=" - development files" pkg_install() { vmove usr/include - vmove usr/lib/*.so + vmove "usr/lib/*.so" vmove usr/lib/pkgconfig if [ "$build_option_vala" ]; then vmove usr/share/vala From cfd1dbe47c17109af780d3ecadec8905c90d5c1a Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:39 +0100 Subject: [PATCH 15/22] libkexiv25: update to 23.08.2. --- srcpkgs/libkexiv25/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libkexiv25/template b/srcpkgs/libkexiv25/template index 05c3deb508195..5700eb6e6e026 100644 --- a/srcpkgs/libkexiv25/template +++ b/srcpkgs/libkexiv25/template @@ -1,6 +1,6 @@ # Template file for 'libkexiv25' pkgname=libkexiv25 -version=23.04.0 +version=23.08.2 revision=1 build_style=cmake configure_args="-DBUILD_TESTING=OFF" @@ -11,7 +11,7 @@ maintainer="Denis Revin " license="GPL-2.0-or-later" homepage="https://invent.kde.org/graphics/libkexiv2" distfiles="${KDE_SITE}/release-service/${version}/src/libkexiv2-${version}.tar.xz" -checksum=18d3eed06df9d1e31d8434ed9887e305aba176d0856e19a8cd3bdb555b80d391 +checksum=d06e36a408bf2e846a18056a1f15e61d981fa2a1fceb81f7c15136604319d033 libkexiv25-devel_package() { short_desc+=" - development files" From 1ab053430d5be561153e9acda51dfde6ec538891 Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:39 +0100 Subject: [PATCH 16/22] nomacs: update to 3.17.2287. --- srcpkgs/nomacs/template | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/srcpkgs/nomacs/template b/srcpkgs/nomacs/template index 57d3a1e98e846..4f4d9a851d7ac 100644 --- a/srcpkgs/nomacs/template +++ b/srcpkgs/nomacs/template @@ -1,7 +1,8 @@ # Template file for 'nomacs' pkgname=nomacs -version=3.16.224 -revision=5 +version=3.17.2287 +revision=1 +_plugins_ver=3.17.2285 build_wrksrc=ImageLounge build_style=cmake configure_args="-DCMAKE_BUILD_TYPE=None -DENABLE_TRANSLATIONS=1 @@ -13,5 +14,13 @@ short_desc="Simple yet powerful Qt imageviewer" maintainer="Kharlamov Alexey " license="GPL-3.0-or-later" homepage="https://github.com/nomacs/nomacs" -distfiles="https://github.com/nomacs/nomacs/archive/${version}.tar.gz" -checksum=bbc7e9048026ef9e0d2b64902c88050f17a679ef3d3c009de2c3b7de5d1d217c +distfiles="https://github.com/nomacs/nomacs/archive/${version}.tar.gz + https://github.com/novomesk/nomacs-plugins/archive/refs/tags/${_plugins_ver}.tar.gz>plugins.tar.gz" +checksum="6905ea615358f84a0c83d5b1b7077871dea0526ec667500a1951448cb845a92c + 946b2d754be9ecca5cb155f7ecc5dcafb164f6c3dcc7bf5c3c0610d3b47774aa" +skip_extraction="plugins.tar.gz" + +post_extract() { + cd ${build_wrksrc} + vsrcextract -C plugins "plugins.tar.gz" +} From d37c0a07168cf2f656ec1428c2e98ce7026b440f Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:40 +0100 Subject: [PATCH 17/22] pdf2djvu: revbump for exiv2-0.28.0. --- srcpkgs/pdf2djvu/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/pdf2djvu/template b/srcpkgs/pdf2djvu/template index ef7433c0c98ae..5a6f3ddf4ed35 100644 --- a/srcpkgs/pdf2djvu/template +++ b/srcpkgs/pdf2djvu/template @@ -1,7 +1,7 @@ # Template file for 'pdf2djvu' pkgname=pdf2djvu version=0.9.19 -revision=4 +revision=5 build_style=gnu-configure hostmakedepends="pkg-config djvulibre gettext" makedepends="djvulibre-devel poppler-devel libgraphicsmagick-devel exiv2-devel libuuid-devel" From 96dbf4362a30d0b359a2cc551bc4fcffdc713264 Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:40 +0100 Subject: [PATCH 18/22] phototonic: revbump for exiv2-0.28.0. --- srcpkgs/phototonic/patches/exiv2-0.28.patch | 135 ++++++++++++++++++++ srcpkgs/phototonic/template | 2 +- 2 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/phototonic/patches/exiv2-0.28.patch diff --git a/srcpkgs/phototonic/patches/exiv2-0.28.patch b/srcpkgs/phototonic/patches/exiv2-0.28.patch new file mode 100644 index 0000000000000..1c75b628dab33 --- /dev/null +++ b/srcpkgs/phototonic/patches/exiv2-0.28.patch @@ -0,0 +1,135 @@ +From 923a3fc14de0b779a45696c5f0aef34c74d84f13 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner +Date: Sun, 28 May 2023 18:54:10 +0200 +Subject: [PATCH] Fix build with exiv2-0.28 + +Signed-off-by: Andreas Sturmlechner +--- + ImageViewer.cpp | 9 +++++++++ + MetadataCache.cpp | 8 ++++++++ + Phototonic.cpp | 4 ++++ + Tags.cpp | 8 ++++++++ + ThumbsViewer.cpp | 4 ++++ + 5 files changed, 33 insertions(+) + +diff --git a/ImageViewer.cpp b/ImageViewer.cpp +index 357d223..df3ac43 100644 +--- a/ImageViewer.cpp ++++ b/ImageViewer.cpp +@@ -945,7 +945,11 @@ void ImageViewer::keyMoveEvent(int direction) { + } + + void ImageViewer::saveImage() { ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr image; ++#else + Exiv2::Image::AutoPtr image; ++#endif + bool exifError = false; + + if (newImage) { +@@ -985,8 +989,13 @@ void ImageViewer::saveImage() { + } + + void ImageViewer::saveImageAs() { ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr exifImage; ++ Exiv2::Image::UniquePtr newExifImage; ++#else + Exiv2::Image::AutoPtr exifImage; + Exiv2::Image::AutoPtr newExifImage; ++#endif + bool exifError = false; + + setCursorHiding(false); +diff --git a/MetadataCache.cpp b/MetadataCache.cpp +index 524ae74..5ddd4c8 100644 +--- a/MetadataCache.cpp ++++ b/MetadataCache.cpp +@@ -64,7 +64,11 @@ void MetadataCache::clear() { + } + + bool MetadataCache::loadImageMetadata(const QString &imageFullPath) { ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr exifImage; ++#else + Exiv2::Image::AutoPtr exifImage; ++#endif + QSet tags; + long orientation = 0; + +@@ -78,7 +82,11 @@ bool MetadataCache::loadImageMetadata(const QString &imageFullPath) { + try { + Exiv2::ExifData &exifData = exifImage->exifData(); + if (!exifData.empty()) { ++#if EXIV2_TEST_VERSION(0,28,0) ++ orientation = exifData["Exif.Image.Orientation"].value().toUint32(); ++#else + orientation = exifData["Exif.Image.Orientation"].value().toLong(); ++#endif + } + } catch (Exiv2::Error &error) { + qWarning() << "Failed to read Exif metadata"; +diff --git a/Phototonic.cpp b/Phototonic.cpp +index 6cc95b3..bd5497d 100644 +--- a/Phototonic.cpp ++++ b/Phototonic.cpp +@@ -3151,7 +3151,11 @@ void Phototonic::removeMetadata() { + + if (ret == MessageBox::Yes) { + for (int file = 0; file < fileList.size(); ++file) { ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr image; ++#else + Exiv2::Image::AutoPtr image; ++#endif + try { + image = Exiv2::ImageFactory::open(fileList[file].toStdString()); + image->clearMetadata(); +diff --git a/Tags.cpp b/Tags.cpp +index 84eea16..a62da9d 100644 +--- a/Tags.cpp ++++ b/Tags.cpp +@@ -136,7 +136,11 @@ void ImageTags::addTag(QString tagName, bool tagChecked) { + + bool ImageTags::writeTagsToImage(QString &imageFileName, QSet &newTags) { + QSet imageTags; ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr exifImage; ++#else + Exiv2::Image::AutoPtr exifImage; ++#endif + + try { + exifImage = Exiv2::ImageFactory::open(imageFileName.toStdString()); +@@ -160,7 +164,11 @@ bool ImageTags::writeTagsToImage(QString &imageFileName, QSet &newTags) + QSetIterator newTagsIt(newTags); + while (newTagsIt.hasNext()) { + QString tag = newTagsIt.next(); ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Value::UniquePtr value = Exiv2::Value::create(Exiv2::string); ++#else + Exiv2::Value::AutoPtr value = Exiv2::Value::create(Exiv2::string); ++#endif + value->read(tag.toStdString()); + Exiv2::IptcKey key("Iptc.Application2.Keywords"); + newIptcData.add(key, value.get()); +diff --git a/ThumbsViewer.cpp b/ThumbsViewer.cpp +index 77a6189..4a11475 100644 +--- a/ThumbsViewer.cpp ++++ b/ThumbsViewer.cpp +@@ -210,7 +210,11 @@ void ThumbsViewer::updateImageInfoViewer(QString imageFullPath) { + infoView->addEntry(key, val); + } + ++#if EXIV2_TEST_VERSION(0,28,0) ++ Exiv2::Image::UniquePtr exifImage; ++#else + Exiv2::Image::AutoPtr exifImage; ++#endif + try { + exifImage = Exiv2::ImageFactory::open(imageFullPath.toStdString()); + exifImage->readMetadata(); +-- +2.40.1 + diff --git a/srcpkgs/phototonic/template b/srcpkgs/phototonic/template index 77ae8bf6a4406..4af006cb7da41 100644 --- a/srcpkgs/phototonic/template +++ b/srcpkgs/phototonic/template @@ -1,7 +1,7 @@ # Template file for 'phototonic' pkgname=phototonic version=2.1 -revision=3 +revision=4 build_style=qmake hostmakedepends="pkg-config qt5-qmake qt5-host-tools" makedepends="qt5-svg-devel exiv2-devel" From efec2988d8dfe985beb897ba352596f2a040a332 Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:40 +0100 Subject: [PATCH 19/22] qimgv: revbump for exiv2-0.28.0. --- srcpkgs/qimgv/patches/exiv2-0.28.patch | 16 ++++++++++++++++ srcpkgs/qimgv/template | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/qimgv/patches/exiv2-0.28.patch diff --git a/srcpkgs/qimgv/patches/exiv2-0.28.patch b/srcpkgs/qimgv/patches/exiv2-0.28.patch new file mode 100644 index 0000000000000..11f37b5ae2be3 --- /dev/null +++ b/srcpkgs/qimgv/patches/exiv2-0.28.patch @@ -0,0 +1,16 @@ +Patch-Source: https://git.alpinelinux.org/aports/tree/community/qimgv/exiv2-0.28.patch +diff --git a/qimgv/sourcecontainers/documentinfo.cpp b/qimgv/sourcecontainers/documentinfo.cpp +index 98a68f7..c062474 100644 +--- a/qimgv/sourcecontainers/documentinfo.cpp ++++ b/qimgv/sourcecontainers/documentinfo.cpp +@@ -271,10 +271,6 @@ void DocumentInfo::loadExifTags() { + //std::cout << "Caught Exiv2 exception '" << e.what() << "'\n"; + return; + } +- catch (Exiv2::BasicError e) { +- //std::cout << "Caught BasicError Exiv2 exception '" << e.what() << "'\n"; +- return; +- } + #endif + } + diff --git a/srcpkgs/qimgv/template b/srcpkgs/qimgv/template index 7eb30db33992c..dd341dfe1bfce 100644 --- a/srcpkgs/qimgv/template +++ b/srcpkgs/qimgv/template @@ -1,7 +1,7 @@ # Template file for 'qimgv' pkgname=qimgv version=1.0.2 -revision=2 +revision=3 build_style=cmake configure_args="$(vopt_if video -DVIDEO_SUPPORT=ON -DVIDEO_SUPPORT=OFF) $(vopt_if scale -DOPENCV_SUPPORT=ON -DOPENCV_SUPPORT=OFF) From 2578f8827a2aec3460b991a771f8b9e6cfeed3e7 Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:40 +0100 Subject: [PATCH 20/22] SIR: revbump for exiv2-0.28.0. --- srcpkgs/SIR/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/SIR/template b/srcpkgs/SIR/template index 113077acad354..c6da4c26b6c71 100644 --- a/srcpkgs/SIR/template +++ b/srcpkgs/SIR/template @@ -1,7 +1,7 @@ # Template file for 'SIR' pkgname=SIR version=3.2.2 -revision=1 +revision=2 build_style=cmake hostmakedepends="pkg-config" makedepends="exiv2-devel qt5-svg-devel qt5-tools-devel" From c7a1aa459033fd7921feb15bc503bb0fe7cb9c4b Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:40 +0100 Subject: [PATCH 21/22] ufraw: revbump for exiv2-0.28.0. --- srcpkgs/ufraw/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/ufraw/template b/srcpkgs/ufraw/template index ceddcacacefb2..15de1e78293f7 100644 --- a/srcpkgs/ufraw/template +++ b/srcpkgs/ufraw/template @@ -1,7 +1,7 @@ # Template file for 'ufraw' pkgname=ufraw version=0.22 -revision=5 +revision=6 build_style=gnu-configure configure_args="--enable-contrast --enable-mime --enable-openmp --with-gimp $(vopt_enable extras)" From da440b1e24998dbed5ae8164a3ea07fb740b3fcf Mon Sep 17 00:00:00 2001 From: Mohammed Anas Date: Wed, 18 Oct 2023 19:18:40 +0100 Subject: [PATCH 22/22] viewnior: revbump for exiv2-0.28.0. --- srcpkgs/viewnior/patches/exiv2-0.28.patch | 147 ++++++++++++++++++++++ srcpkgs/viewnior/template | 2 +- 2 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/viewnior/patches/exiv2-0.28.patch diff --git a/srcpkgs/viewnior/patches/exiv2-0.28.patch b/srcpkgs/viewnior/patches/exiv2-0.28.patch new file mode 100644 index 0000000000000..71459dee15768 --- /dev/null +++ b/srcpkgs/viewnior/patches/exiv2-0.28.patch @@ -0,0 +1,147 @@ +Patch-Source: https://gitlab.archlinux.org/archlinux/packaging/packages/viewnior/-/blob/f206ce6c22a3ec5f1f9ea1bde4077584f80458dd/exiv2-0.28.patch +-- +From b6bb81a1b46e911d15bbf9a730972523de177705 Mon Sep 17 00:00:00 2001 +From: tastytea +Date: Tue, 16 May 2023 10:54:40 +0200 +Subject: [PATCH 1/2] change exiv2 AutoPtr to unique_ptr + +exiv2-0.28.0 removed Exiv2::Image::AutoPtr and added +Exiv2::Image::UniquePtr instead. since it's a typedef for +std::unique_ptr, i'm using that directly instead of adding a +condition on the exiv2 version. +--- + src/uni-exiv2.cpp | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) + +diff --git a/src/uni-exiv2.cpp b/src/uni-exiv2.cpp +index 0d14b9f..77064c2 100644 +--- a/src/uni-exiv2.cpp ++++ b/src/uni-exiv2.cpp +@@ -22,12 +22,13 @@ + + #include + #include ++#include + + #include "uni-exiv2.hpp" + + #define ARRAY_SIZE(array) (sizeof array/sizeof(array[0])) + +-static Exiv2::Image::AutoPtr cached_image; ++static std::unique_ptr cached_image; + + extern "C" + void +@@ -35,8 +36,8 @@ uni_read_exiv2_map(const char *uri, void (*callback)(const char*, const char*, v + { + Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute); + try { +- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri); +- if ( image.get() == 0 ) { ++ std::unique_ptr image = Exiv2::ImageFactory::open(uri); ++ if (image == nullptr) { + return; + } + +@@ -91,14 +92,14 @@ uni_read_exiv2_to_cache(const char *uri) + { + Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute); + +- if ( cached_image.get() != NULL ) { ++ if (cached_image != nullptr) { + cached_image->clearMetadata(); +- cached_image.reset(NULL); ++ cached_image.reset(nullptr); + } + + try { + cached_image = Exiv2::ImageFactory::open(uri); +- if ( cached_image.get() == 0 ) { ++ if (cached_image == nullptr) { + return 1; + } + +@@ -116,13 +117,13 @@ uni_write_exiv2_from_cache(const char *uri) + { + Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute); + +- if ( cached_image.get() == NULL ) { ++ if (cached_image == nullptr) { + return 1; + } + + try { +- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri); +- if ( image.get() == 0 ) { ++ std::unique_ptr image = Exiv2::ImageFactory::open(uri); ++ if (image == nullptr) { + return 2; + } + +@@ -130,7 +131,7 @@ uni_write_exiv2_from_cache(const char *uri) + image->writeMetadata(); + + cached_image->clearMetadata(); +- cached_image.reset(NULL); ++ cached_image.reset(nullptr); + + return 0; + } catch (Exiv2::AnyError& e) { + +From 47d0b98cb46526aa8aa035bebcabc14a11fa57ee Mon Sep 17 00:00:00 2001 +From: tastytea +Date: Tue, 16 May 2023 11:17:00 +0200 +Subject: [PATCH 2/2] add support for exiv-0.28.0 errors + +exiv2-0.28.0 changed Exiv2::AnyError to Exiv2::Error. +--- + src/uni-exiv2.cpp | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/src/uni-exiv2.cpp b/src/uni-exiv2.cpp +index 77064c2..567a50f 100644 +--- a/src/uni-exiv2.cpp ++++ b/src/uni-exiv2.cpp +@@ -28,6 +28,15 @@ + + #define ARRAY_SIZE(array) (sizeof array/sizeof(array[0])) + ++#define EXIV_ERROR Exiv2::AnyError ++#ifdef EXIV2_VERSION ++ #ifdef EXIV2_TEST_VERSION ++ #if EXIV2_TEST_VERSION(0,28,0) ++ #define EXIV_ERROR Exiv2::Error ++ #endif ++ #endif ++#endif ++ + static std::unique_ptr cached_image; + + extern "C" +@@ -81,7 +90,7 @@ uni_read_exiv2_map(const char *uri, void (*callback)(const char*, const char*, v + } + } + } +- } catch (Exiv2::AnyError& e) { ++ } catch (EXIV_ERROR& e) { + std::cerr << "Exiv2: '" << e << "'\n"; + } + } +@@ -104,7 +113,7 @@ uni_read_exiv2_to_cache(const char *uri) + } + + cached_image->readMetadata(); +- } catch (Exiv2::AnyError& e) { ++ } catch (EXIV_ERROR& e) { + std::cerr << "Exiv2: '" << e << "'\n"; + } + +@@ -134,7 +143,7 @@ uni_write_exiv2_from_cache(const char *uri) + cached_image.reset(nullptr); + + return 0; +- } catch (Exiv2::AnyError& e) { ++ } catch (EXIV_ERROR& e) { + std::cerr << "Exiv2: '" << e << "'\n"; + } + diff --git a/srcpkgs/viewnior/template b/srcpkgs/viewnior/template index ea1e528a8651f..4c73226662ca0 100644 --- a/srcpkgs/viewnior/template +++ b/srcpkgs/viewnior/template @@ -1,7 +1,7 @@ # Template file for 'viewnior' pkgname=viewnior version=1.8 -revision=1 +revision=2 build_style=meson hostmakedepends="pkg-config intltool glib-devel gettext-devel" makedepends="gtk+-devel exiv2-devel"