[packages/geeqie] - updated to 2.1 with exif fixes from git (to allow exiv2 0.28) - added lua patch (fix lua headers i
qboosh
qboosh at pld-linux.org
Thu Jul 27 17:13:47 CEST 2023
commit 3a91e177fdf7a4f3a075e51bde32a2e8adfc6b9b
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Thu Jul 27 16:38:18 2023 +0200
- updated to 2.1 with exif fixes from git (to allow exiv2 0.28)
- added lua patch (fix lua headers inclusion from C++)
geeqie-exif-fix.patch | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++
geeqie-lua.patch | 13 +++++
geeqie.spec | 43 +++++++++-----
3 files changed, 192 insertions(+), 15 deletions(-)
---
diff --git a/geeqie.spec b/geeqie.spec
index 01a9cc5..f0551b9 100644
--- a/geeqie.spec
+++ b/geeqie.spec
@@ -6,21 +6,27 @@ Summary: Graphics file browser utility
Summary(hu.UTF-8): Képfájl-böngésző eszköz
Summary(pl.UTF-8): Narzędzie do przeglądania plików graficznych
Name: geeqie
-Version: 2.0.1
-Release: 3
+Version: 2.1
+Release: 1
License: GPL v2+
Group: X11/Applications/Graphics
Source0: https://github.com/BestImageViewer/geeqie/releases/download/v%{version}/%{name}-%{version}.tar.xz
-# Source0-md5: d3a97a0fd28a0c6f4c44948299bf994d
+# Source0-md5: a34e3bcfdc679db713ed304971721db5
+Patch0: %{name}-lua.patch
+Patch1: %{name}-exif-fix.patch
URL: http://www.geeqie.org/
+%{?with_champlain:BuildRequires: clutter-devel >= 1.0}
+%{?with_champlain:BuildRequires: clutter-gtk-devel >= 1.0}
BuildRequires: djvulibre-devel >= 3.5.27
+# to enable PDF preview feature
+BuildRequires: evince
BuildRequires: exiv2-devel >= 0.11
BuildRequires: ffmpegthumbnailer-devel >= 2.1.0
BuildRequires: gdk-pixbuf2-devel >= 2
BuildRequires: gettext-tools
BuildRequires: glib2-devel >= 1:2.52.0
BuildRequires: gspell-devel >= 1.6
-BuildRequires: gtk+3-devel >= 3.22}
+BuildRequires: gtk+3-devel >= 3.24
BuildRequires: lcms2-devel >= 2.0
BuildRequires: libarchive-devel >= 3.4.0
%{?with_champlain:BuildRequires: libchamplain-devel >= 0.12}
@@ -29,11 +35,13 @@ BuildRequires: libjpeg-devel
BuildRequires: libjxl-devel >= 0.3.7
BuildRequires: libpng-devel
BuildRequires: libraw-devel >= 0.20
-BuildRequires: libtiff-devel
+BuildRequires: libstdc++-devel >= 6:5
+BuildRequires: libtiff-devel >= 4
BuildRequires: libwebp-devel >= 0.6.1
-BuildRequires: lua53-devel >= 5.3
-BuildRequires: meson
-BuildRequires: ninja
+# 5.3 or 5.4
+BuildRequires: lua-devel >= 5.3
+BuildRequires: meson >= 0.56.2
+BuildRequires: ninja >= 1.5
BuildRequires: openjpeg2-devel >= 2.3.0
BuildRequires: pkgconfig
BuildRequires: poppler-glib-devel >= 0.62
@@ -47,7 +55,7 @@ Requires: djvulibre >= 3.5.27
Requires: exiv2-libs >= 0.11
Requires: ffmpegthumbnailer >= 2.1.0
Requires: glib2 >= 1:2.24.0
-Requires: gtk+3 >= 3.22
+Requires: gtk+3 >= 3.24
Requires: lcms2 >= 2.0
Requires: libarchive >= 3.4.0
%{?with_champlain:Requires: libchamplain >= 0.12}
@@ -85,12 +93,16 @@ i opcje filtrowania, jak również wsparcie dla zewnętrznego edytora.
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
%build
%{__sed} -i '1s,%{_bindir}/awk,/bin/awk,' \
plugins/geocode-parameters/geocode-parameters.awk
-%meson build -Dgq_bindir=%{_libdir}/%{name} %{!?with_champlain:-Dgps-map=disabled}
+%meson build \
+ -Dgq_bindir=%{_libdir}/%{name} \
+ %{!?with_champlain:-Dgps-map=disabled}
%ninja_build -C build
@@ -119,11 +131,12 @@ rm -rf $RPM_BUILD_ROOT
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS README.md TODO NEWS build/doc/html
-%attr(755,root,root) %{_bindir}/%{name}
-%{_mandir}/man1/%{name}.1*
-%{_desktopdir}/%{name}.desktop
-%{_pixmapsdir}/%{name}.png
+%doc NEWS README.md TODO build/doc/html
+%attr(755,root,root) %{_bindir}/geeqie
+%{_mandir}/man1/geeqie.1*
+%{_desktopdir}/geeqie.desktop
+%{_iconsdir}/hicolor/scalable/apps/geeqie.svg
+%{_pixmapsdir}/geeqie.png
%dir %{_libdir}/%{name}
%attr(755,root,root) %{_libdir}/%{name}/geeqie-camera-import
%attr(755,root,root) %{_libdir}/%{name}/geeqie-camera-import-hook-script
diff --git a/geeqie-exif-fix.patch b/geeqie-exif-fix.patch
new file mode 100644
index 0000000..13b6a17
--- /dev/null
+++ b/geeqie-exif-fix.patch
@@ -0,0 +1,151 @@
+From c45cca777aa3477eaf297db99f337e18d9683c61 Mon Sep 17 00:00:00 2001
+From: Kevin Backhouse <kevinbackhouse at github.com>
+Date: Wed, 21 Jun 2023 12:23:33 +0100
+Subject: [PATCH] Add ExifData as extra argument to
+ exif_item_get_data_as_text().
+
+---
+ src/advanced-exif.cc | 2 +-
+ src/exif-common.cc | 2 +-
+ src/exif.cc | 8 ++++----
+ src/exif.h | 2 +-
+ src/exiv2.cc | 4 ++--
+ 5 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/advanced-exif.cc b/src/advanced-exif.cc
+index 79a54b12..e3d3067a 100644
+--- a/src/advanced-exif.cc
++++ b/src/advanced-exif.cc
+@@ -120,7 +120,7 @@ static void advanced_exif_update(ExifWin *ew)
+ tag = g_strdup_printf("0x%04x", exif_item_get_tag_id(item));
+ tag_name = exif_item_get_tag_name(item);
+ format = exif_item_get_format_name(item, TRUE);
+- text = exif_item_get_data_as_text(item);
++ text = exif_item_get_data_as_text(item, exif);
+ utf8_text = utf8_validate_or_convert(text);
+ g_free(text);
+ elements = g_strdup_printf("%d", exif_item_get_elements(item));
+diff --git a/src/exif-common.cc b/src/exif-common.cc
+index 6a4c9740..b6f07ca6 100644
+--- a/src/exif-common.cc
++++ b/src/exif-common.cc
+@@ -995,7 +995,7 @@ gchar *exif_get_data_as_text(ExifData *exif, const gchar *key)
+ if (key_valid) return text;
+
+ item = exif_get_item(exif, key);
+- if (item) return exif_item_get_data_as_text(item);
++ if (item) return exif_item_get_data_as_text(item, exif);
+
+ return nullptr;
+ }
+diff --git a/src/exif.cc b/src/exif.cc
+index 8708ff53..cda2cb1a 100644
+--- a/src/exif.cc
++++ b/src/exif.cc
+@@ -1454,7 +1454,7 @@ gchar *exif_item_get_string(ExifItem *item, gint UNUSED(idx))
+ return exif_item_get_data_as_text_full(item, METADATA_PLAIN);
+ }
+
+-gchar *exif_item_get_data_as_text(ExifItem *item)
++gchar *exif_item_get_data_as_text(ExifItem *item, ExifData *exif)
+ {
+ return exif_item_get_data_as_text_full(item, METADATA_FORMATTED);
+ }
+@@ -1527,11 +1527,11 @@ gchar *exif_get_tag_description_by_key(const gchar *key)
+ return NULL;
+ }
+
+-static void exif_write_item(FILE *f, ExifItem *item)
++static void exif_write_item(FILE *f, ExifItem *item, ExifData *exif)
+ {
+ gchar *text;
+
+- text = exif_item_get_data_as_text(item);
++ text = exif_item_get_data_as_text(item, exif);
+ if (text)
+ {
+ gchar *tag = exif_item_get_tag_name(item);
+@@ -1578,7 +1578,7 @@ void exif_write_data_list(ExifData *exif, FILE *f, gint human_readable_list)
+ item = (ExifItem*)(work->data);
+ work = work->next;
+
+- exif_write_item(f, item);
++ exif_write_item(f, item, exif);
+ }
+ }
+ g_fprintf(f, "----------------------------------------------------\n");
+diff --git a/src/exif.h b/src/exif.h
+index fcc7d8f5..4b03c201 100644
+--- a/src/exif.h
++++ b/src/exif.h
+@@ -136,7 +136,7 @@ gchar *exif_item_get_data(ExifItem *item, guint *data_len);
+ gchar *exif_item_get_description(ExifItem *item);
+ guint exif_item_get_format_id(ExifItem *item);
+ const gchar *exif_item_get_format_name(ExifItem *item, gboolean brief);
+-gchar *exif_item_get_data_as_text(ExifItem *item);
++gchar *exif_item_get_data_as_text(ExifItem *item, ExifData *exif);
+ gint exif_item_get_integer(ExifItem *item, gint *value);
+ ExifRational *exif_item_get_rational(ExifItem *item, gint *sign, guint n);
+
+diff --git a/src/exiv2.cc b/src/exiv2.cc
+index 33b779e7..dc62e8e0 100644
+--- a/src/exiv2.cc
++++ b/src/exiv2.cc
+@@ -778,13 +778,13 @@ const char *exif_item_get_format_name(ExifItem *item, gboolean UNUSED(brief))
+ }
+
+
+-gchar *exif_item_get_data_as_text(ExifItem *item)
++gchar *exif_item_get_data_as_text(ExifItem *item, ExifData *exif)
+ {
+ try {
+ if (!item) return nullptr;
+ auto metadatum = reinterpret_cast<Exiv2::Metadatum *>(item);
+ #if EXIV2_TEST_VERSION(0,17,0)
+- return utf8_validate_or_convert(metadatum->print().c_str());
++ return utf8_validate_or_convert(metadatum->print(&exif->exifData()).c_str());
+ #else
+ std::stringstream str;
+ Exiv2::Exifdatum *exifdatum;
+From b04f7cd0546976dc4f7ea440648ac0eedd8df3ce Mon Sep 17 00:00:00 2001
+From: Colin Clark <colin.clark at cclark.uk>
+Date: Wed, 21 Jun 2023 14:24:41 +0100
+Subject: [PATCH] Remove exiv2 0.28.0 restriction
+
+https://github.com/BestImageViewer/geeqie/pull/1119
+
+The bug was fixed in the above commit.
+---
+ meson.build | 12 ++----------
+ 1 file changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index a4cab49c..412399fe 100644
+--- a/meson.build
++++ b/meson.build
+@@ -280,15 +280,7 @@ else
+ endif
+
+ exiv2_dep = []
+-# See https://github.com/BestImageViewer/geeqie/issues/1090
+-# for the reason for 0.28.0 exclusion
+-req_version = ['>=0.11', '!=0.28.0']
+-
+-req_version_str = ''
+-foreach req_version_str_ : req_version
+- req_version_str += req_version_str_
+-endforeach
+-
++req_version = '>=0.11'
+ option = get_option('exiv2')
+ if not option.disabled()
+ exiv2_dep = dependency('exiv2', version : req_version, required : get_option('exiv2'))
+@@ -296,7 +288,7 @@ if not option.disabled()
+ conf_data.set('HAVE_EXIV2', 1)
+ summary({'exiv2' : ['image metadata processed by exiv2:', true]}, section : 'Configuration', bool_yn : true)
+ else
+- summary({'exiv2' : ['exiv2 ' + req_version_str + ' not found - image data not processed by exiv2:', false]}, section : 'Configuration', bool_yn : true)
++ summary({'exiv2' : ['exiv2 ' + req_version + ' not found - image data not processed by exiv2:', false]}, section : 'Configuration', bool_yn : true)
+ endif
+ else
+ summary({'exiv2' : ['disabled - image data processed by exiv2:', false]}, section : 'Configuration', bool_yn : true)
diff --git a/geeqie-lua.patch b/geeqie-lua.patch
new file mode 100644
index 0000000..98f719c
--- /dev/null
+++ b/geeqie-lua.patch
@@ -0,0 +1,13 @@
+--- geeqie-2.1/src/lua.cc.orig 2023-06-17 14:12:30.000000000 +0200
++++ geeqie-2.1/src/lua.cc 2023-07-27 16:36:08.834568207 +0200
+@@ -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>
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/geeqie.git/commitdiff/3a91e177fdf7a4f3a075e51bde32a2e8adfc6b9b
More information about the pld-cvs-commit
mailing list