mirror of
https://git.freebsd.org/ports.git
synced 2025-07-17 17:29:23 -04:00
graphics/geeqie: update 2.0.1 → 2.1
This commit is contained in:
parent
87b5fedd0a
commit
b4b03c1745
10 changed files with 61 additions and 199 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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'
|
||||
|
|
|
@ -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;
|
||||
}
|
11
graphics/geeqie/files/patch-src_image-load-cr3.cc
Normal file
11
graphics/geeqie/files/patch-src_image-load-cr3.cc
Normal file
|
@ -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.
|
11
graphics/geeqie/files/patch-src_image-load-jpeg.cc
Normal file
11
graphics/geeqie/files/patch-src_image-load-jpeg.cc
Normal file
|
@ -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.
|
13
graphics/geeqie/files/patch-src_lua.cc
Normal file
13
graphics/geeqie/files/patch-src_lua.cc
Normal file
|
@ -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>
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue