git: b4b03c1745c5 - main - graphics/geeqie: update 2.0.1 → 2.1

From: Dmitry Marakasov <amdmi3_at_FreeBSD.org>
Date: Thu, 05 Oct 2023 13:20:44 UTC
The branch main has been updated by amdmi3:

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

commit b4b03c1745c5282e2280cbcd7381877d3a9aa2b6
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2023-10-04 17:46:14 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2023-10-05 13:20:29 +0000

    graphics/geeqie: update 2.0.1 → 2.1
---
 graphics/geeqie/Makefile                           | 18 ++--
 graphics/geeqie/distinfo                           |  6 +-
 graphics/geeqie/files/patch-config.h.in            | 11 ---
 graphics/geeqie/files/patch-doc_meson.build        | 29 -------
 graphics/geeqie/files/patch-meson.build            | 65 +++------------
 graphics/geeqie/files/patch-src_exiv2.cc           | 95 ----------------------
 graphics/geeqie/files/patch-src_image-load-cr3.cc  | 11 +++
 graphics/geeqie/files/patch-src_image-load-jpeg.cc | 11 +++
 graphics/geeqie/files/patch-src_lua.cc             | 13 +++
 graphics/geeqie/pkg-plist                          |  1 +
 10 files changed, 61 insertions(+), 199 deletions(-)

diff --git a/graphics/geeqie/Makefile b/graphics/geeqie/Makefile
index fb7214b8bdd9..c61143279dc3 100644
--- a/graphics/geeqie/Makefile
+++ b/graphics/geeqie/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	geeqie
 DISTVERSIONPREFIX=	v
-DISTVERSION=	2.0.1
-PORTREVISION=	13
+DISTVERSION=	2.1
 CATEGORIES=	graphics
 
 MAINTAINER=	amdmi3@FreeBSD.org
@@ -11,7 +10,6 @@ WWW=		https://www.geeqie.org/
 LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libpng.so:graphics/png
 RUN_DEPENDS=	bash:shells/bash
 BUILD_DEPENDS=	xxd:editors/vim
 
@@ -20,16 +18,21 @@ USES=		desktop-file-utils gettext-tools gnome jpeg \
 USE_GNOME=	cairo gdkpixbuf2 gtk30 glib20
 USE_GITHUB=	yes
 GH_ACCOUNT=	BestImageViewer
+GH_TAGNAME=	ad80078  # a bunch of commits after 2.1 with mostly fixes, including exiv2 0.28 crash fix
 SHEBANG_FILES=	plugins/*/geeqie-*
-CFLAGS=		-Wno-deprecated-declarations
+CFLAGS+=	-Wno-deprecated-declarations
+MESON_ARGS=	-Ddoxygen=disabled
+MESON_ARGS+=	-Dpandoc=disabled
+MESON_ARGS+=	-Devince=disabled
+MESON_ARGS+=	-Dgit=disabled
 
 PORTDOCS=	*
 
 OPTIONS_DEFINE=	EXIV2 LCMS MAP FFMPEGTHUMBNAILER ARCHIVE SPELL DOCS NLS
 OPTIONS_DEFAULT=EXIV2 LCMS MAP FFMPEGTHUMBNAILER ARCHIVE SPELL \
-		TIFF PDF HEIF WEBP DJVU OPENJPEG RAW JXL
+		TIFF PDF HEIF DJVU OPENJPEG RAW JXL
 OPTIONS_GROUP=	FORMATS
-OPTIONS_GROUP_FORMATS=	TIFF PDF HEIF WEBP DJVU OPENJPEG RAW JXL
+OPTIONS_GROUP_FORMATS=	TIFF PDF HEIF DJVU OPENJPEG RAW JXL
 OPTIONS_SUB=	yes
 
 FORMATS_DESC=	Image formats support
@@ -61,9 +64,6 @@ FFMPEGTHUMBNAILER_LIB_DEPENDS=	libffmpegthumbnailer.so:multimedia/ffmpegthumbnai
 HEIF_MESON_ENABLED=	heif
 HEIF_LIB_DEPENDS=	libheif.so:graphics/libheif
 
-WEBP_MESON_ENABLED=	webp
-WEBP_LIB_DEPENDS=	libwebp.so:graphics/webp
-
 DJVU_MESON_ENABLED=	djvu
 DJVU_LIB_DEPENDS=	libdjvulibre.so:graphics/djvulibre
 
diff --git a/graphics/geeqie/distinfo b/graphics/geeqie/distinfo
index f4b00f32473d..5798b0932ffc 100644
--- a/graphics/geeqie/distinfo
+++ b/graphics/geeqie/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1662056359
-SHA256 (BestImageViewer-geeqie-v2.0.1_GH0.tar.gz) = 6d87004a21b91afb7ea9eac3624fc37f5ccf1818fd40f567f8c7d1b5cbc2a6c7
-SIZE (BestImageViewer-geeqie-v2.0.1_GH0.tar.gz) = 2822097
+TIMESTAMP = 1696441871
+SHA256 (BestImageViewer-geeqie-v2.1-ad80078_GH0.tar.gz) = c393ce20fa8551b7c4f6f826e5283a8e37e6e0bac3b3252169730ccc2c389dd6
+SIZE (BestImageViewer-geeqie-v2.1-ad80078_GH0.tar.gz) = 3132934
diff --git a/graphics/geeqie/files/patch-config.h.in b/graphics/geeqie/files/patch-config.h.in
deleted file mode 100644
index 2abb0ac19a56..000000000000
--- a/graphics/geeqie/files/patch-config.h.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- config.h.in.orig	2022-08-08 14:22:00 UTC
-+++ config.h.in
-@@ -161,7 +161,7 @@
- #define HAVE_STRING_H 1
- 
- /* Define to 1 if you have the `strverscmp' function. */
--#define HAVE_STRVERSCMP 1
-+#mesondefine HAVE_STRVERSCMP
- 
- /* Define to 1 if you have the <sys/stat.h> header file. */
- #define HAVE_SYS_STAT_H 1
diff --git a/graphics/geeqie/files/patch-doc_meson.build b/graphics/geeqie/files/patch-doc_meson.build
deleted file mode 100644
index 2b97d6c03897..000000000000
--- a/graphics/geeqie/files/patch-doc_meson.build
+++ /dev/null
@@ -1,29 +0,0 @@
---- doc/meson.build.orig	2022-08-08 14:22:00 UTC
-+++ doc/meson.build
-@@ -16,25 +16,12 @@ subdir('html')
- guideindex_xml = files('docbook/GuideIndex.xml')
- destdir = join_paths(meson.current_build_dir(), 'html/')
- iconsdir = join_paths(meson.current_source_dir(), 'icons/')
--guideindex_html = join_paths(destdir, 'GuideIndex.html')
- guideindex_ln = join_paths(destdir, 'index.html')
- 
- # Not-found notification already handled by ../meson.build
- if gnome_doc_tool.found()
-     run_command(gnome_doc_tool, 'html', '-o', destdir, '-p', iconsdir, guideindex_xml, check : false)
--    run_command(find_program('ln'), '-s', '-f', guideindex_html, guideindex_ln, check : false)
-+    run_command(find_program('ln'), '-s', '-f', 'GuideIndex.html', guideindex_ln, check : false)
- endif
- 
- install_subdir(destdir, install_dir : helpdir, exclude_directories : 'lua-api/latex')
--
--doxygen = find_program('doxygen', required : false)
--if doxygen.found()
--    srcdir = join_paths(meson.source_root())
--    destdir = join_paths(meson.build_root(), 'doc', 'html', 'lua-api')
--
--    run_command(find_program('create-doxygen-lua-api.sh'), srcdir, destdir, check : false)
--
--    summary({'lua-api' : ['lua-api help file created:', true]}, section : 'Documentation', bool_yn : true)
--else
--    summary({'lua-api' : ['doxygen not found - lua-api help file created:', false]}, section : 'Documentation', bool_yn : true)
--endif
diff --git a/graphics/geeqie/files/patch-meson.build b/graphics/geeqie/files/patch-meson.build
index 13d31ce1f527..aedbb630dbf2 100644
--- a/graphics/geeqie/files/patch-meson.build
+++ b/graphics/geeqie/files/patch-meson.build
@@ -1,59 +1,20 @@
---- meson.build.orig	2022-08-08 14:22:00 UTC
+--- meson.build.orig	2023-06-24 16:32:21 UTC
 +++ meson.build
-@@ -357,7 +357,7 @@ lua_dep = []
+@@ -416,7 +416,7 @@ lua_dep = []
  req_version = '>=5.3'
  option = get_option('lua')
  if not option.disabled()
--    lua_dep = dependency('lua5.3',  version : req_version, required : get_option('lua'))
-+    lua_dep = dependency('lua-5.3',  version : req_version, required : get_option('lua'))
-     if lua_dep.found()
-         conf_data.set('HAVE_LUA', 1)
-         summary({'lua' : ['lua supported:', true]}, section : 'Configuration', bool_yn : true)
-@@ -401,7 +401,7 @@ endif
- tiff_dep = []
- option = get_option('tiff')
- if not option.disabled()
--    tiff_dep = cc.find_library('libtiff', required: get_option('tiff'))
-+    tiff_dep = dependency('libtiff-4', required: get_option('tiff'))
-     if tiff_dep.found()
-         if cc.has_function('TIFFClientOpen', dependencies : tiff_dep)
-             conf_data.set('HAVE_TIFF', 1)
-@@ -446,6 +446,11 @@ else
-     summary({'nl_langinfo' : ['nl_langinfo not found - first weekday depends on locale:', false, 'first weekday defaults to Monday']}, section : 'Documentation', bool_yn : true)
- endif
- 
-+result = cc.has_function('strverscmp', prefix : '#include <string.h>')
-+if result
-+    conf_data.set('HAVE_STRVERSCMP', 1)
-+endif
-+
- conf_data.set_quoted('GETTEXT_PACKAGE', meson.project_name())
- conf_data.set_quoted('GQ_APPDIR', gq_appdir)
- conf_data.set_quoted('GQ_BINDIR', gq_bindir)
-@@ -486,7 +491,7 @@ else
- endif
- 
- pandoc = find_program('pandoc', required : false)
--if pandoc.found()
-+if false
-     run_command(find_program('gen_readme.sh'), meson.source_root(), meson.build_root(), check : false)
- 
-     install_data('README.md', 'COPYING', 'TODO', 'AUTHORS',
-@@ -494,16 +499,9 @@ if pandoc.found()
-                  install_dir : helpdir)
-     summary({'README' : ['README.html created:', true]}, section : 'Documentation', bool_yn : true)
+-    foreach name : ['lua', 'lua5.3', 'lua-5.3', 'lua53']
++    foreach name : ['lua-5.3']
+         lua_dep = dependency(name, version: req_version, required: get_option('lua'))
+         if lua_dep.found()
+             break
+@@ -452,7 +452,7 @@ if not option.disabled()
  else
--    install_data('README.md', 'COPYING', 'TODO', 'AUTHORS',
-+    install_data('README.md', 'TODO', 'AUTHORS',
-                  install_dir : helpdir)
-     summary({'README' : ['pandoc not found - README.html created:', false]}, section : 'Documentation', bool_yn : true)
--endif
--
--evince = find_program('evince', required : false)
--if evince.found()
--    summary({'print preview' : ['print preview supported:', true]}, section : 'Documentation', bool_yn : true)
--else
--    summary({'print preview' : ['evince not found - print preview supported:', false]}, section : 'Documentation', bool_yn : true)
+     summary({'pandoc' : ['disabled - README.html created:', false]}, section : 'Documentation', bool_yn : true)
  endif
+-install_data('README.md', 'COPYING', 'TODO', install_dir : helpdir)
++install_data('README.md', 'TODO', install_dir : helpdir)
  
- install_data('geeqie.png', install_dir : icondir)
+ poppler_glib_dep = []
+ req_version = '>=0.62'
diff --git a/graphics/geeqie/files/patch-src_exiv2.cc b/graphics/geeqie/files/patch-src_exiv2.cc
deleted file mode 100644
index cf6ee24db1d5..000000000000
--- a/graphics/geeqie/files/patch-src_exiv2.cc
+++ /dev/null
@@ -1,95 +0,0 @@
---- src/exiv2.cc.orig	2022-08-12 09:36:37 UTC
-+++ src/exiv2.cc
-@@ -52,6 +52,11 @@
- #define EXV_PACKAGE "exiv2"
- #endif
- 
-+#if EXIV2_TEST_VERSION(0,28,0)
-+#define AnyError Error
-+#define AutoPtr UniquePtr
-+#endif 
-+
- extern "C" {
- #include <glib.h>
- 
-@@ -176,7 +181,7 @@ struct _ExifDataOriginal : public _ExifData (public)
- 	{
- 		cp_data_ = NULL;
- 		cp_length_ = 0;
--		image_ = image;
-+		image_ = std::move(image);
- 		valid_ = TRUE;
- 	}
- 
-@@ -364,7 +369,7 @@ struct _ExifDataProcessed : public _ExifData (public)
- 			Exiv2::Image *image = imageData_->image();
- 
- #ifdef HAVE_EXIV2_ERROR_CODE
--			if (!image) throw Exiv2::Error(Exiv2::kerInputDataReadFailed);
-+			if (!image) throw Exiv2::Error(Exiv2::ErrorCode::kerInputDataReadFailed);
- #else
- 			if (!image) throw Exiv2::Error(21);
- #endif
-@@ -388,7 +393,7 @@ struct _ExifDataProcessed : public _ExifData (public)
- 			sidecar->writeMetadata();
- #else
- #ifdef HAVE_EXIV2_ERROR_CODE
--			throw Exiv2::Error(Exiv2::kerNotAnImage, "xmp");
-+			throw Exiv2::Error(Exiv2::ErrorCode::kerNotAnImage, "xmp");
- #else
- 			throw Exiv2::Error(3, "xmp");
- #endif
-@@ -840,7 +845,7 @@ gint exif_item_get_integer(ExifItem *item, gint *value
- {
- 	try {
- 		if (!item || exif_item_get_elements(item) == 0) return 0;
--		*value = ((Exiv2::Metadatum *)item)->toLong();
-+		*value = ((Exiv2::Metadatum *)item)->toInt64();
- 		return 1;
- 	}
- 	catch (Exiv2::AnyError& e) {
-@@ -1224,11 +1229,12 @@ guchar *exif_get_preview(ExifData *exif, guint *data_l
- 
- 			Exiv2::PreviewImage image = pm.getPreviewImage(*pos);
- 
-+			// https://github.com/BestImageViewer/geeqie/issues/1090
- 			Exiv2::DataBuf buf = image.copy();
--			std::pair<Exiv2::byte*, long> p = buf.release();
--
--			*data_len = p.second;
--			return p.first;
-+			*data_len = buf.size();
-+			auto b = buf.data();
-+			buf.reset();
-+			return b;
- 			}
- 		return NULL;
- 	}
-@@ -1489,22 +1495,22 @@ unsigned long RawFile::preview_offset(void)
- 	if (type == Exiv2::ImageType::cr2)
- 		{
- 		val = find(0x111, Group::ifd0);
--		if (val) return val->toLong();
-+		if (val) return val->toInt64();
- 
- 		return 0;
- 		}
- 
- 	val = find(0x201, Group::sub0_0);
--	if (val) return val->toLong();
-+	if (val) return val->toInt64();
- 
- 	val = find(0x201, Group::ifd0);
--	if (val) return val->toLong();
-+	if (val) return val->toInt64();
- 
- 	val = find(0x201, Group::ignr); // for PEF files, originally it was probably ifd2
--	if (val) return val->toLong();
-+	if (val) return val->toInt64();
- 
- 	val = find(0x111, Group::sub0_1); // dng
--	if (val) return val->toLong();
-+	if (val) return val->toInt64();
- 
- 	return 0;
- }
diff --git a/graphics/geeqie/files/patch-src_image-load-cr3.cc b/graphics/geeqie/files/patch-src_image-load-cr3.cc
new file mode 100644
index 000000000000..2600afe37ec0
--- /dev/null
+++ b/graphics/geeqie/files/patch-src_image-load-cr3.cc
@@ -0,0 +1,11 @@
+--- src/image-load-cr3.cc.orig	2023-06-17 12:14:12 UTC
++++ src/image-load-cr3.cc
+@@ -350,7 +350,7 @@ static gboolean image_loader_cr3_load (gpointer loader
+         jerr.error = error;
+ 
+ 
+-	if (setjmp(jerr.setjmp_buffer))
++	if (sigsetjmp(jerr.setjmp_buffer, 0))
+ 		{
+ 		/* If we get here, the JPEG code has signaled an error.
+ 		 * We need to clean up the JPEG object, close the input file, and return.
diff --git a/graphics/geeqie/files/patch-src_image-load-jpeg.cc b/graphics/geeqie/files/patch-src_image-load-jpeg.cc
new file mode 100644
index 000000000000..d7c1f74fe13d
--- /dev/null
+++ b/graphics/geeqie/files/patch-src_image-load-jpeg.cc
@@ -0,0 +1,11 @@
+--- src/image-load-jpeg.cc.orig	2023-06-17 12:14:12 UTC
++++ src/image-load-jpeg.cc
+@@ -311,7 +311,7 @@ static gboolean image_loader_jpeg_load (gpointer loade
+         jerr.error = error;
+ 
+ 
+-	if (setjmp(jerr.setjmp_buffer))
++	if (sigsetjmp(jerr.setjmp_buffer, 0))
+ 		{
+ 		/* If we get here, the JPEG code has signaled an error.
+ 		 * We need to clean up the JPEG object, close the input file, and return.
diff --git a/graphics/geeqie/files/patch-src_lua.cc b/graphics/geeqie/files/patch-src_lua.cc
new file mode 100644
index 000000000000..e3c15c055894
--- /dev/null
+++ b/graphics/geeqie/files/patch-src_lua.cc
@@ -0,0 +1,13 @@
+--- src/lua.cc.orig	2023-06-17 12:14:12 UTC
++++ src/lua.cc
+@@ -24,9 +24,7 @@
+ 
+ #define _XOPEN_SOURCE
+ 
+-#include <lua.h>
+-#include <lauxlib.h>
+-#include <lualib.h>
++#include <lua.hpp>
+ 
+ #include <stdio.h>
+ #include <glib.h>
diff --git a/graphics/geeqie/pkg-plist b/graphics/geeqie/pkg-plist
index af60481ef6d2..3b8098d5b686 100644
--- a/graphics/geeqie/pkg-plist
+++ b/graphics/geeqie/pkg-plist
@@ -19,6 +19,7 @@ share/applications/geeqie.desktop
 %%DATADIR%%/applications/symlink.desktop
 %%DATADIR%%/applications/tethered-photography.desktop
 %%DATADIR%%/template.desktop
+share/icons/hicolor/scalable/apps/geeqie.svg
 %%NLS%%share/locale/ar/LC_MESSAGES/geeqie.mo
 %%NLS%%share/locale/be/LC_MESSAGES/geeqie.mo
 %%NLS%%share/locale/bg/LC_MESSAGES/geeqie.mo