mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -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
|
PORTNAME= geeqie
|
||||||
DISTVERSIONPREFIX= v
|
DISTVERSIONPREFIX= v
|
||||||
DISTVERSION= 2.0.1
|
DISTVERSION= 2.1
|
||||||
PORTREVISION= 13
|
|
||||||
CATEGORIES= graphics
|
CATEGORIES= graphics
|
||||||
|
|
||||||
MAINTAINER= amdmi3@FreeBSD.org
|
MAINTAINER= amdmi3@FreeBSD.org
|
||||||
|
@ -11,7 +10,6 @@ WWW= https://www.geeqie.org/
|
||||||
LICENSE= GPLv2+
|
LICENSE= GPLv2+
|
||||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||||
|
|
||||||
LIB_DEPENDS= libpng.so:graphics/png
|
|
||||||
RUN_DEPENDS= bash:shells/bash
|
RUN_DEPENDS= bash:shells/bash
|
||||||
BUILD_DEPENDS= xxd:editors/vim
|
BUILD_DEPENDS= xxd:editors/vim
|
||||||
|
|
||||||
|
@ -20,16 +18,21 @@ USES= desktop-file-utils gettext-tools gnome jpeg \
|
||||||
USE_GNOME= cairo gdkpixbuf2 gtk30 glib20
|
USE_GNOME= cairo gdkpixbuf2 gtk30 glib20
|
||||||
USE_GITHUB= yes
|
USE_GITHUB= yes
|
||||||
GH_ACCOUNT= BestImageViewer
|
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-*
|
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= *
|
PORTDOCS= *
|
||||||
|
|
||||||
OPTIONS_DEFINE= EXIV2 LCMS MAP FFMPEGTHUMBNAILER ARCHIVE SPELL DOCS NLS
|
OPTIONS_DEFINE= EXIV2 LCMS MAP FFMPEGTHUMBNAILER ARCHIVE SPELL DOCS NLS
|
||||||
OPTIONS_DEFAULT=EXIV2 LCMS MAP FFMPEGTHUMBNAILER ARCHIVE SPELL \
|
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
|
||||||
OPTIONS_GROUP_FORMATS= TIFF PDF HEIF WEBP DJVU OPENJPEG RAW JXL
|
OPTIONS_GROUP_FORMATS= TIFF PDF HEIF DJVU OPENJPEG RAW JXL
|
||||||
OPTIONS_SUB= yes
|
OPTIONS_SUB= yes
|
||||||
|
|
||||||
FORMATS_DESC= Image formats support
|
FORMATS_DESC= Image formats support
|
||||||
|
@ -61,9 +64,6 @@ FFMPEGTHUMBNAILER_LIB_DEPENDS= libffmpegthumbnailer.so:multimedia/ffmpegthumbnai
|
||||||
HEIF_MESON_ENABLED= heif
|
HEIF_MESON_ENABLED= heif
|
||||||
HEIF_LIB_DEPENDS= libheif.so:graphics/libheif
|
HEIF_LIB_DEPENDS= libheif.so:graphics/libheif
|
||||||
|
|
||||||
WEBP_MESON_ENABLED= webp
|
|
||||||
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
|
|
||||||
|
|
||||||
DJVU_MESON_ENABLED= djvu
|
DJVU_MESON_ENABLED= djvu
|
||||||
DJVU_LIB_DEPENDS= libdjvulibre.so:graphics/djvulibre
|
DJVU_LIB_DEPENDS= libdjvulibre.so:graphics/djvulibre
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
TIMESTAMP = 1662056359
|
TIMESTAMP = 1696441871
|
||||||
SHA256 (BestImageViewer-geeqie-v2.0.1_GH0.tar.gz) = 6d87004a21b91afb7ea9eac3624fc37f5ccf1818fd40f567f8c7d1b5cbc2a6c7
|
SHA256 (BestImageViewer-geeqie-v2.1-ad80078_GH0.tar.gz) = c393ce20fa8551b7c4f6f826e5283a8e37e6e0bac3b3252169730ccc2c389dd6
|
||||||
SIZE (BestImageViewer-geeqie-v2.0.1_GH0.tar.gz) = 2822097
|
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
|
+++ meson.build
|
||||||
@@ -357,7 +357,7 @@ lua_dep = []
|
@@ -416,7 +416,7 @@ lua_dep = []
|
||||||
req_version = '>=5.3'
|
req_version = '>=5.3'
|
||||||
option = get_option('lua')
|
option = get_option('lua')
|
||||||
if not option.disabled()
|
if not option.disabled()
|
||||||
- lua_dep = dependency('lua5.3', version : req_version, required : get_option('lua'))
|
- foreach name : ['lua', 'lua5.3', 'lua-5.3', 'lua53']
|
||||||
+ lua_dep = dependency('lua-5.3', version : req_version, required : get_option('lua'))
|
+ foreach name : ['lua-5.3']
|
||||||
|
lua_dep = dependency(name, version: req_version, required: get_option('lua'))
|
||||||
if lua_dep.found()
|
if lua_dep.found()
|
||||||
conf_data.set('HAVE_LUA', 1)
|
break
|
||||||
summary({'lua' : ['lua supported:', true]}, section : 'Configuration', bool_yn : true)
|
@@ -452,7 +452,7 @@ if not option.disabled()
|
||||||
@@ -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)
|
|
||||||
else
|
else
|
||||||
- install_data('README.md', 'COPYING', 'TODO', 'AUTHORS',
|
summary({'pandoc' : ['disabled - README.html created:', false]}, section : 'Documentation', bool_yn : true)
|
||||||
+ 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)
|
|
||||||
endif
|
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/symlink.desktop
|
||||||
%%DATADIR%%/applications/tethered-photography.desktop
|
%%DATADIR%%/applications/tethered-photography.desktop
|
||||||
%%DATADIR%%/template.desktop
|
%%DATADIR%%/template.desktop
|
||||||
|
share/icons/hicolor/scalable/apps/geeqie.svg
|
||||||
%%NLS%%share/locale/ar/LC_MESSAGES/geeqie.mo
|
%%NLS%%share/locale/ar/LC_MESSAGES/geeqie.mo
|
||||||
%%NLS%%share/locale/be/LC_MESSAGES/geeqie.mo
|
%%NLS%%share/locale/be/LC_MESSAGES/geeqie.mo
|
||||||
%%NLS%%share/locale/bg/LC_MESSAGES/geeqie.mo
|
%%NLS%%share/locale/bg/LC_MESSAGES/geeqie.mo
|
||||||
|
|
Loading…
Add table
Reference in a new issue