Update to gimp-2.99.14.

This commit is contained in:
ajacoutot 2022-11-22 11:13:45 +00:00
parent 109da051b4
commit 696a952e44
8 changed files with 3025 additions and 3008 deletions

View File

@ -1,24 +1,21 @@
COMMENT= GNU Image Manipulation Program
V= 2.99
DISTNAME= gimp-${V}.12
REVISION= 2
DISTNAME= gimp-${V}.14
.for i in gimp gimpbase gimpcolor gimpconfig gimpmath gimpmodule \
gimpthumb gimpui gimpwidgets gimp-scriptfu
SHARED_LIBS += $i-3.0 0.0
SHARED_LIBS += ${i}-3.0 0.0
.endfor
CATEGORIES= graphics
DIR= gimp/v${V}
MASTER_SITES= https://download.gimp.org/pub/${DIR}/ \
https://www.mirrorservice.org/sites/ftp.gimp.org/pub/${DIR}/
MASTER_SITES= https://download.gimp.org/gimp/v${V}/ \
https://www.mirrorservice.org/sites/ftp.gimp.org/gimp/v${V}/
EXTRACT_SUFX= .tar.xz
HOMEPAGE= https://www.gimp.org/
EXTRACT_SUFX= .tar.xz
# GPLv3+
PERMIT_PACKAGE= Yes
@ -36,10 +33,10 @@ DEBUG_PACKAGES= ${BUILD_PACKAGES}
# C++14
COMPILER= base-clang ports-gcc
MODULES= textproc/intltool \
devel/meson \
MODULES= devel/meson \
lang/lua \
lang/python
SUBST_VARS += V
MODLUA_RUNDEP= No
MODLUA_BUILDDEP=No
@ -54,9 +51,10 @@ COMMON_DEPENDS= archivers/lzip/lzlib \
print/poppler-data
BUILD_DEPENDS= ${COMMON_DEPENDS} \
textproc/gi-docgen \
devel/gettext,-tools \
lang/vala \
shells/bash \
textproc/gi-docgen \
textproc/libxslt
RUN_DEPENDS= ${COMMON_DEPENDS} \
@ -66,18 +64,18 @@ RUN_DEPENDS= ${COMMON_DEPENDS} \
LIB_DEPENDS= archivers/bzip2 \
archivers/xz \
devel/appstream-glib \
devel/glib2>=2.54.2 \
devel/harfbuzz>=0.9.19 \
devel/pango>=1.29.4 \
devel/glib2 \
devel/harfbuzz \
devel/pango \
graphics/aalib \
graphics/babl>=0.1.52 \
graphics/cairo>=1.12.2 \
graphics/gdk-pixbuf2>=2.30.8 \
graphics/gegl04>=0.4.4 \
graphics/babl \
graphics/cairo \
graphics/gdk-pixbuf2 \
graphics/gegl04 \
graphics/jpeg \
graphics/lcms2 \
graphics/libgexiv2 \
graphics/libmypaint>=1.5.0 \
graphics/libmypaint \
graphics/libwmf \
graphics/openexr \
graphics/png \
@ -93,7 +91,7 @@ CONFIGURE_ENV= CC_FOR_BUILD="${CC}" \
LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib"
# libmng has no pc file
CONFIGURE_ARGS=-Dmng=disabled \
CONFIGURE_ARGS= -Dmng=disabled \
-Dicc-directory=${LOCALBASE}/share/color/icc \
-Dalsa=disabled \
-Dlinux-input=disabled \
@ -109,19 +107,23 @@ UPDATE_PLIST_ARGS += -i MODPY_PY_PREFIX -i MODPY_BIN_SUFFIX
post-patch:
${SUBST_CMD} ${WRKSRC}/extensions/goat-exercises/goat-exercise-lua.lua
# XXX remove once this GIMP version becomes the default;
# see:
# patch-libgimpwidgets_gimpwidgets-private_c
# patch-desktop_gimp_desktop_in_in
CONFIGURE_ARGS += -Denable-default-bin=false
pre-configure:
${SUBST_CMD} ${WRKSRC}/libgimpwidgets/gimpwidgets-private.c
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/
mv ${WRKINST}${SYSCONFDIR}/gimp ${PREFIX}/share/examples/
${MODPY_BIN} ${MODPY_LIBDIR}/compileall.py \
${PREFIX}/lib/gimp/${V}/plug-ins
# XXX remove once this GIMP version becomes the default;
# prevent conflicts with graphics/gimp/stable;
# see also patch-desktop_gimp_desktop_in_in
cd ${PREFIX} && \
mv man/man1/gimp{,-${V}}-console.1 && \
mv man/man1/gimp{,-${V}}.1 && \
mv man/man1/gimptool{,-${V}}.1 && \
mv man/man5/gimprc{,-${V}}.5 && \
mv share/applications/gimp{,-${V}}.desktop && \
mv share/icons/hicolor/16x16/apps/gimp{,-${V}}.png && \
mv share/icons/hicolor/22x22/apps/gimp{,-${V}}.png && \
@ -129,6 +131,8 @@ post-install:
mv share/icons/hicolor/256x256/apps/gimp{,-${V}}.png && \
mv share/icons/hicolor/32x32/apps/gimp{,-${V}}.png && \
mv share/icons/hicolor/48x48/apps/gimp{,-${V}}.png && \
mv share/icons/hicolor/64x64/apps/gimp{,-${V}}.png && \
mv share/icons/hicolor/scalable/apps/gimp{,-${V}}.svg && \
mv share/metainfo/org.gimp{,-${V}}.GIMP.appdata.xml
.include <bsd.port.mk>

View File

@ -1,2 +1,2 @@
SHA256 (gimp-2.99.12.tar.xz) = e6GwMupSDVQOSsrT2hbYY3/mk3Q/2zbgEhd17qVp9qM=
SIZE (gimp-2.99.12.tar.xz) = 24282140
SHA256 (gimp-2.99.14.tar.xz) = MTogVHXR/wPFxNlgLwn1yXW6bBx52IQ+I5b5/iq996g=
SIZE (gimp-2.99.14.tar.xz) = 24346236

View File

@ -0,0 +1,57 @@
Index: libgimpwidgets/gimpwidgets-private.c
--- libgimpwidgets/gimpwidgets-private.c.orig
+++ libgimpwidgets/gimpwidgets-private.c
@@ -109,7 +109,7 @@ gimp_widgets_init (GimpHelpFunc standard_hel
* then the application icon is dependant to the theme and for now at
* least, we want the installed icon.
*/
- path = g_build_filename (base_dir, "16x16", cat_dir, "gimp.png", NULL);
+ path = g_build_filename (base_dir, "16x16", cat_dir, "gimp-${V}.png", NULL);
pixbuf = gdk_pixbuf_new_from_file (path, &error);
if (pixbuf)
icons = g_list_prepend (icons, pixbuf);
@@ -118,7 +118,7 @@ gimp_widgets_init (GimpHelpFunc standard_hel
g_clear_error (&error);
g_free (path);
- path = g_build_filename (base_dir, "32x32", cat_dir, "gimp.png", NULL);
+ path = g_build_filename (base_dir, "32x32", cat_dir, "gimp-${V}.png", NULL);
pixbuf = gdk_pixbuf_new_from_file (path, &error);
if (pixbuf)
icons = g_list_prepend (icons, pixbuf);
@@ -127,7 +127,7 @@ gimp_widgets_init (GimpHelpFunc standard_hel
g_clear_error (&error);
g_free (path);
- path = g_build_filename (base_dir, "48x48", cat_dir, "gimp.png", NULL);
+ path = g_build_filename (base_dir, "48x48", cat_dir, "gimp-${V}.png", NULL);
pixbuf = gdk_pixbuf_new_from_file (path, &error);
if (pixbuf)
icons = g_list_prepend (icons, pixbuf);
@@ -136,7 +136,7 @@ gimp_widgets_init (GimpHelpFunc standard_hel
g_clear_error (&error);
g_free (path);
- path = g_build_filename (base_dir, "64x64", cat_dir, "gimp.png", NULL);
+ path = g_build_filename (base_dir, "64x64", cat_dir, "gimp-${V}.png", NULL);
pixbuf = gdk_pixbuf_new_from_file (path, &error);
if (pixbuf)
icons = g_list_prepend (icons, pixbuf);
@@ -145,7 +145,7 @@ gimp_widgets_init (GimpHelpFunc standard_hel
g_clear_error (&error);
g_free (path);
- path = g_build_filename (base_dir, "scalable", cat_dir, "gimp.svg", NULL);
+ path = g_build_filename (base_dir, "scalable", cat_dir, "gimp-${V}.svg", NULL);
pixbuf = gdk_pixbuf_new_from_file_at_size (path, 128, 128, &error);
if (pixbuf)
{
@@ -178,7 +178,7 @@ gimp_widgets_init (GimpHelpFunc standard_hel
}
g_free (path);
- path = g_build_filename (base_dir, "256x256", cat_dir, "gimp.png", NULL);
+ path = g_build_filename (base_dir, "256x256", cat_dir, "gimp-${V}.png", NULL);
pixbuf = gdk_pixbuf_new_from_file (path, &error);
if (pixbuf)
icons = g_list_prepend (icons, pixbuf);

View File

@ -1,16 +1,7 @@
Index: meson.build
--- meson.build.orig
+++ meson.build
@@ -321,7 +321,7 @@ conf.set('ENABLE_RELOCATABLE_RESOURCES', relocatable_b
math = cc.find_library('m')
-dl = platform_windows ? no_dep : cc.find_library('dl')
+dl = platform_linux ? cc.find_library('dl') : no_dep
rpc = platform_windows ? cc.find_library('rpcrt4') : no_dep
dbghelp = platform_windows ? cc.find_library('dbghelp') : no_dep
winsock = platform_windows ? cc.find_library('ws2_32') : no_dep
@@ -1341,6 +1341,7 @@ conf.set('NO_FD_SET',
@@ -1360,6 +1360,7 @@ conf.set('NO_FD_SET',
not platform_windows
and not cc.compiles('''
#include <sys/types.h>

View File

@ -1,67 +0,0 @@
fix build with heif 1.13.0+
https://gitlab.gnome.org/GNOME/gimp/-/commit/a61299ddb184babca015a846c72bf3e1a57faf2a.patch
https://gitlab.gnome.org/GNOME/gimp/-/issues/8570
Index: plug-ins/common/file-heif.c
--- plug-ins/common/file-heif.c.orig
+++ plug-ins/common/file-heif.c
@@ -56,24 +56,24 @@ typedef enum _HeifpluginExportFormat
HEIFPLUGIN_EXPORT_FORMAT_YUV420 = 3
} HeifpluginExportFormat;
-typedef struct _Heif Heif;
-typedef struct _HeifClass HeifClass;
+typedef struct _GimpHeif GimpHeif;
+typedef struct _GimpHeifClass GimpHeifClass;
-struct _Heif
+struct _GimpHeif
{
GimpPlugIn parent_instance;
};
-struct _HeifClass
+struct _GimpHeifClass
{
GimpPlugInClass parent_class;
};
-#define HEIF_TYPE (heif_get_type ())
-#define HEIF (obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), HEIF_TYPE, Heif))
+#define GIMP_HEIF_TYPE (gimp_heif_get_type ())
+#define GIMP_HEIF (obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_HEIF_TYPE, GimpHeif))
-GType heif_get_type (void) G_GNUC_CONST;
+GType gimp_heif_get_type (void) G_GNUC_CONST;
static GList * heif_init_procedures (GimpPlugIn *plug_in);
static GimpProcedure * heif_create_procedure (GimpPlugIn *plug_in,
@@ -123,14 +123,14 @@ static gboolean save_dialog (GimpPro
GimpImage *image);
-G_DEFINE_TYPE (Heif, heif, GIMP_TYPE_PLUG_IN)
+G_DEFINE_TYPE (GimpHeif, gimp_heif, GIMP_TYPE_PLUG_IN)
-GIMP_MAIN (HEIF_TYPE)
+GIMP_MAIN (GIMP_HEIF_TYPE)
DEFINE_STD_SET_I18N
static void
-heif_class_init (HeifClass *klass)
+gimp_heif_class_init (GimpHeifClass *klass)
{
GimpPlugInClass *plug_in_class = GIMP_PLUG_IN_CLASS (klass);
@@ -140,7 +140,7 @@ heif_class_init (HeifClass *klass)
}
static void
-heif_init (Heif *heif)
+gimp_heif_init (GimpHeif *heif)
{
}

View File

@ -1,4 +1,5 @@
uses nm options that arent supported by our nm
Index: tools/defcheck.py
--- tools/defcheck.py.orig
+++ tools/defcheck.py

View File

@ -1,13 +1,14 @@
GIMP is an acronym for GNU Image Manipulation Program. It is a
freely distributed program for such tasks as photo retouching, image
GIMP is an acronym for GNU Image Manipulation Program.
It is a freely distributed program for such tasks as photo retouching, image
composition and image authoring.
It has many capabilities. It can be used as a simple paint program,
an expert quality photo retouching program, an online batch processing
system, a mass production image renderer, an image format converter,
etc.
It has many capabilities.
It can be used as a simple paint program, an expert quality photo retouching
program, an online batch processing system, a mass production image renderer,
an image format converter, etc.
GIMP is expandable and extensible. It is designed to be augmented
with plug-ins and extensions to do just about anything. The advanced
scripting interface allows everything from the simplest task to the
GIMP is expandable and extensible.
It is designed to be augmented with plug-ins and extensions to do just about
anything.
The advanced scripting interface allows everything from the simplest task to the
most complex image manipulation procedures to be easily scripted.

File diff suppressed because it is too large Load Diff