From a29349e666950b879dc2153da7f09675b2eea048 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 18 Apr 2024 02:44:29 -0400 Subject: [PATCH] gimp: update to 3.0.0. --- common/shlibs | 18 +- srcpkgs/gimp-python | 1 - srcpkgs/gimp/INSTALL | 2 +- srcpkgs/gimp/patches/atol.patch | 21 +++ srcpkgs/gimp/patches/brushes.patch | 15 ++ srcpkgs/gimp/patches/fix-cross.patch | 18 -- srcpkgs/gimp/patches/fix-segfault.patch | 169 ------------------ srcpkgs/gimp/patches/gcc14.patch | 109 ----------- .../gimp/patches/libheif-1.18-compat.patch | 20 --- srcpkgs/gimp/template | 59 +++--- 10 files changed, 80 insertions(+), 352 deletions(-) delete mode 120000 srcpkgs/gimp-python create mode 100644 srcpkgs/gimp/patches/atol.patch create mode 100644 srcpkgs/gimp/patches/brushes.patch delete mode 100644 srcpkgs/gimp/patches/fix-cross.patch delete mode 100644 srcpkgs/gimp/patches/fix-segfault.patch delete mode 100644 srcpkgs/gimp/patches/gcc14.patch delete mode 100644 srcpkgs/gimp/patches/libheif-1.18-compat.patch diff --git a/common/shlibs b/common/shlibs index cc9e48314d6..0dfe72b68bd 100644 --- a/common/shlibs +++ b/common/shlibs @@ -554,15 +554,15 @@ libwebkit2gtk-4.1.so.0 libwebkit2gtk41-2.38.0_1 libjavascriptcoregtk-4.1.so.0 libwebkit2gtk41-2.38.0_1 libwebkitgtk-6.0.so.4 libwebkitgtk60-2.40.0_1 libjavascriptcoregtk-6.0.so.1 libwebkitgtk60-2.40.0_1 -libgimp-2.0.so.0 libgimp-2.10.0_1 -libgimpwidgets-2.0.so.0 libgimp-2.10.0_1 -libgimpui-2.0.so.0 libgimp-2.10.0_1 -libgimpbase-2.0.so.0 libgimp-2.10.0_1 -libgimpthumb-2.0.so.0 libgimp-2.10.0_1 -libgimpconfig-2.0.so.0 libgimp-2.10.0_1 -libgimpmath-2.0.so.0 libgimp-2.10.0_1 -libgimpcolor-2.0.so.0 libgimp-2.10.0_1 -libgimpmodule-2.0.so.0 libgimp-2.10.0_1 +libgimp-3.0.so.0 libgimp-3.0.0_1 +libgimpwidgets-3.0.so.0 libgimp-3.0.0_1 +libgimpui-3.0.so.0 libgimp-3.0.0_1 +libgimpbase-3.0.so.0 libgimp-3.0.0_1 +libgimpthumb-3.0.so.0 libgimp-3.0.0_1 +libgimpconfig-3.0.so.0 libgimp-3.0.0_1 +libgimpmath-3.0.so.0 libgimp-3.0.0_1 +libgimpcolor-3.0.so.0 libgimp-3.0.0_1 +libgimpmodule-3.0.so.0 libgimp-3.0.0_1 libgmic.so.3 gmic-3.1.6_1 libcgmic.so.3 gmic-3.1.6_1 libexiv2.so.28 exiv2-0.28.1_1 diff --git a/srcpkgs/gimp-python b/srcpkgs/gimp-python deleted file mode 120000 index 92344a4bb4a..00000000000 --- a/srcpkgs/gimp-python +++ /dev/null @@ -1 +0,0 @@ -gimp \ No newline at end of file diff --git a/srcpkgs/gimp/INSTALL b/srcpkgs/gimp/INSTALL index 87064d64438..daeff6b33ce 100644 --- a/srcpkgs/gimp/INSTALL +++ b/srcpkgs/gimp/INSTALL @@ -2,7 +2,7 @@ case "${ACTION}" in pre) if [ "$UPDATE" = "yes" ]; then - xbps-query -f gimp | grep "usr/lib/gimp/2.0/plug-ins" | sed -e 's|/||' | xargs rm + xbps-query -f gimp | grep "usr/lib/gimp/2.0/plug-ins" | sed -e 's|/||' | xargs rm -f fi ;; esac diff --git a/srcpkgs/gimp/patches/atol.patch b/srcpkgs/gimp/patches/atol.patch new file mode 100644 index 00000000000..3d660783db0 --- /dev/null +++ b/srcpkgs/gimp/patches/atol.patch @@ -0,0 +1,21 @@ +source: https://github.com/chimera-linux/cports/blob/master/main/gimp/patches/atol.patch + +commit f3237e747d854967a5333b5870dc7aae5cd19431 +Author: q66 +Date: Fri May 12 02:52:40 2023 +0200 + + don't use unsafe atol + +diff --git a/plug-ins/script-fu/libscriptfu/tinyscheme/scheme.c b/plug-ins/script-fu/libscriptfu/tinyscheme/scheme.c +index 5a3b68e..81e8b0d 100644 +--- a/plug-ins/script-fu/libscriptfu/tinyscheme/scheme.c ++++ b/plug-ins/script-fu/libscriptfu/tinyscheme/scheme.c +@@ -1256,7 +1256,7 @@ static pointer mk_atom(scheme *sc, char *q) { + if(has_dec_point) { + return mk_real(sc,g_ascii_strtod(q,NULL)); + } +- return (mk_integer(sc, atol(q))); ++ return (mk_integer(sc, strtol(q, NULL, 10))); + } + + /* make atom from sharp expr representing constant. diff --git a/srcpkgs/gimp/patches/brushes.patch b/srcpkgs/gimp/patches/brushes.patch new file mode 100644 index 00000000000..47a7c225dd3 --- /dev/null +++ b/srcpkgs/gimp/patches/brushes.patch @@ -0,0 +1,15 @@ +source: https://github.com/chimera-linux/cports/blob/master/main/gimp/patches/brushes.patch + +diff --git a/meson.build b/meson.build +index daae225..7744671 100644 +--- a/meson.build ++++ b/meson.build +@@ -378,7 +378,7 @@ lcms_minver = '2.8' + lcms = dependency('lcms2', version: '>='+lcms_minver) + libmypaint_minver = '1.3.0' + libmypaint = dependency('libmypaint', version: '>='+libmypaint_minver) +-mypaint_brushes = dependency('mypaint-brushes-1.0',version: '>='+libmypaint_minver) ++mypaint_brushes = dependency('mypaint-brushes-2.0',version: '>='+libmypaint_minver) + if not libmypaint.version().version_compare('>=1.4.0') + libmypaint_warning=''' + diff --git a/srcpkgs/gimp/patches/fix-cross.patch b/srcpkgs/gimp/patches/fix-cross.patch deleted file mode 100644 index 0ffcf9b650b..00000000000 --- a/srcpkgs/gimp/patches/fix-cross.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/plug-ins/script-fu/Makefile.am 2018-05-18 00:03:53.095184079 +0200 -+++ b/plug-ins/script-fu/Makefile.am 2018-05-18 00:04:50.184762769 +0200 -@@ -14,6 +14,7 @@ else - libm = -lm - endif - -+libgimpmodule = $(top_builddir)/libgimpmodule/libgimpmodule-$(GIMP_API_VERSION).la - libgimpui = $(top_builddir)/libgimp/libgimpui-$(GIMP_API_VERSION).la - libgimpwidgets = $(top_builddir)/libgimpwidgets/libgimpwidgets-$(GIMP_API_VERSION).la - libgimp = $(top_builddir)/libgimp/libgimp-$(GIMP_API_VERSION).la -@@ -85,6 +86,7 @@ script_fu_SOURCES = \ - scheme-wrapper.h - - LDADD = \ -+ $(libgimpmodule) \ - $(libgimpui) \ - $(libgimpwidgets) \ - $(libgimpconfig) \ diff --git a/srcpkgs/gimp/patches/fix-segfault.patch b/srcpkgs/gimp/patches/fix-segfault.patch deleted file mode 100644 index 5f1a6a6d3fe..00000000000 --- a/srcpkgs/gimp/patches/fix-segfault.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff --git app/dialogs/dialogs.c app/dialogs/dialogs.c -index 064f2c4..b17d82f 100644 ---- a/app/dialogs/dialogs.c -+++ b/app/dialogs/dialogs.c -@@ -534,11 +534,15 @@ dialogs_init (Gimp *gimp, - menu_factory); - gimp_dialog_factory_set_singleton (factory); - -- for (i = 0; i < G_N_ELEMENTS (entries); i++) -+ for (i = 0; i < G_N_ELEMENTS (entries); i++) { -+ char *name, *blurb; -+ name = entries[i].name ? gettext(entries[i].name) : NULL; -+ blurb = entries[i].blurb ? gettext(entries[i].blurb) : NULL; -+ - gimp_dialog_factory_register_entry (factory, - entries[i].identifier, -- gettext (entries[i].name), -- gettext (entries[i].blurb), -+ name, -+ blurb, - entries[i].icon_name, - entries[i].help_id, - entries[i].new_func, -@@ -551,6 +555,7 @@ dialogs_init (Gimp *gimp, - entries[i].hideable, - entries[i].image_window, - entries[i].dockable); -+ } - - global_recent_docks = gimp_list_new (GIMP_TYPE_SESSION_INFO, FALSE); - } -diff --git app/widgets/gimpactiongroup.c app/widgets/gimpactiongroup.c -index 04bd1b6..12eff51 100644 ---- a/app/widgets/gimpactiongroup.c -+++ b/app/widgets/gimpactiongroup.c -@@ -393,7 +393,7 @@ gimp_action_group_add_actions (GimpActionGroup *group, - for (i = 0; i < n_entries; i++) - { - GimpAction *action; -- const gchar *label; -+ const gchar *label = NULL; - const gchar *tooltip = NULL; - - if (! gimp_action_group_check_unique_action (group, entries[i].name)) -@@ -401,15 +401,18 @@ gimp_action_group_add_actions (GimpActionGroup *group, - - if (msg_context) - { -- label = g_dpgettext2 (NULL, msg_context, entries[i].label); -+ if (entries[i].label) -+ label = g_dpgettext2 (NULL, msg_context, entries[i].label); - - if (entries[i].tooltip) - tooltip = g_dpgettext2 (NULL, msg_context, entries[i].tooltip); - } - else - { -- label = gettext (entries[i].label); -- tooltip = gettext (entries[i].tooltip); -+ if (entries[i].label) -+ label = gettext (entries[i].label); -+ if (entries[i].tooltip) -+ tooltip = gettext (entries[i].tooltip); - } - - action = gimp_action_impl_new (entries[i].name, label, tooltip, -@@ -450,15 +453,18 @@ gimp_action_group_add_toggle_actions (GimpActionGroup *group, - - if (msg_context) - { -- label = g_dpgettext2 (NULL, msg_context, entries[i].label); -+ if (entries[i].label) -+ label = g_dpgettext2 (NULL, msg_context, entries[i].label); - - if (entries[i].tooltip) - tooltip = g_dpgettext2 (NULL, msg_context, entries[i].tooltip); - } - else - { -- label = gettext (entries[i].label); -- tooltip = gettext (entries[i].tooltip); -+ if (entries[i].label) -+ label = gettext (entries[i].label); -+ if (entries[i].tooltip) -+ tooltip = gettext (entries[i].tooltip); - } - - action = gimp_toggle_action_new (entries[i].name, label, tooltip, -@@ -504,17 +510,20 @@ gimp_action_group_add_radio_actions (GimpActionGroup *group, - if (! gimp_action_group_check_unique_action (group, entries[i].name)) - continue; - -- if (msg_context) -+ if (msg_context) - { -- label = g_dpgettext2 (NULL, msg_context, entries[i].label); -+ if (entries[i].label) -+ label = g_dpgettext2 (NULL, msg_context, entries[i].label); - - if (entries[i].tooltip) - tooltip = g_dpgettext2 (NULL, msg_context, entries[i].tooltip); - } - else - { -- label = gettext (entries[i].label); -- tooltip = gettext (entries[i].tooltip); -+ if (entries[i].label) -+ label = gettext (entries[i].label); -+ if (entries[i].tooltip) -+ tooltip = gettext (entries[i].tooltip); - } - - action = gimp_radio_action_new (entries[i].name, label, tooltip, -@@ -560,7 +569,7 @@ gimp_action_group_add_enum_actions (GimpActionGroup *group, - for (i = 0; i < n_entries; i++) - { - GimpEnumAction *action; -- const gchar *label; -+ const gchar *label = NULL; - const gchar *tooltip = NULL; - - if (! gimp_action_group_check_unique_action (group, entries[i].name)) -@@ -568,15 +577,18 @@ gimp_action_group_add_enum_actions (GimpActionGroup *group, - - if (msg_context) - { -- label = g_dpgettext2 (NULL, msg_context, entries[i].label); -+ if (entries[i].label) -+ label = g_dpgettext2 (NULL, msg_context, entries[i].label); - - if (entries[i].tooltip) - tooltip = g_dpgettext2 (NULL, msg_context, entries[i].tooltip); - } - else - { -- label = gettext (entries[i].label); -- tooltip = gettext (entries[i].tooltip); -+ if (entries[i].label) -+ label = gettext (entries[i].label); -+ if (entries[i].tooltip) -+ tooltip = gettext (entries[i].tooltip); - } - - action = gimp_enum_action_new (entries[i].name, label, tooltip, -@@ -618,17 +630,20 @@ gimp_action_group_add_string_actions (GimpActionGroup *group, - if (! gimp_action_group_check_unique_action (group, entries[i].name)) - continue; - -- if (msg_context) -+ if (msg_context) - { -- label = g_dpgettext2 (NULL, msg_context, entries[i].label); -+ if (entries[i].label) -+ label = g_dpgettext2 (NULL, msg_context, entries[i].label); - - if (entries[i].tooltip) - tooltip = g_dpgettext2 (NULL, msg_context, entries[i].tooltip); - } - else - { -- label = gettext (entries[i].label); -- tooltip = gettext (entries[i].tooltip); -+ if (entries[i].label) -+ label = gettext (entries[i].label); -+ if (entries[i].tooltip) -+ tooltip = gettext (entries[i].tooltip); - } - - action = gimp_string_action_new (entries[i].name, label, tooltip, diff --git a/srcpkgs/gimp/patches/gcc14.patch b/srcpkgs/gimp/patches/gcc14.patch deleted file mode 100644 index b81f93dee51..00000000000 --- a/srcpkgs/gimp/patches/gcc14.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 99531e73e95bf6de4aed9bf64ac3f306e6dfb490 Mon Sep 17 00:00:00 2001 -From: Florian Weimer -Date: Fri, 13 Jan 2023 13:29:07 +0100 -Subject: [PATCH] configure.ac: Improve C99 compatibility of IPC_RMID check - -Do not call the undeclared exit function. Implicit function -declarations are likely not going to be supported by future compilers -by default, changing the outcome of this configure probe with -such compilers. ---- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 03047899841..b8718955471 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1254,17 +1254,17 @@ elif test "x$shmtype" = "xsysv"; then - char *shmaddr; - id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600); - if (id == -1) -- exit (2); -+ return 2; - shmaddr = shmat (id, 0, 0); - shmctl (id, IPC_RMID, 0); - if ((char*) shmat (id, 0, 0) == (char*) -1) - { - shmdt (shmaddr); -- exit (1); -+ return 1; - } - shmdt (shmaddr); - shmdt (shmaddr); -- exit (0); -+ return 0; - } - ]])], - [AC_DEFINE([IPC_RMID_DEFERRED_RELEASE],[1], -diff --git a/configure b/configure -index 6e62da8e3c164f82..f1c447baf7ff68f7 100755 ---- a/configure -+++ b/configure -@@ -28898,17 +28898,17 @@ else $as_nop - char *shmaddr; - id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600); - if (id == -1) -- exit (2); -+ return 2; - shmaddr = shmat (id, 0, 0); - shmctl (id, IPC_RMID, 0); - if ((char*) shmat (id, 0, 0) == (char*) -1) - { - shmdt (shmaddr); -- exit (1); -+ return 1; - } - shmdt (shmaddr); - shmdt (shmaddr); -- exit (0); -+ return 0; - } - - _ACEOF ---- -GitLab - -From 24df4f1fc800f11e44c44f8036e7d8d7ee90b62a Mon Sep 17 00:00:00 2001 -From: Alx Sa -Date: Tue, 23 Jul 2024 21:21:53 +0000 -Subject: [PATCH] plug-ins: Backport of fixes for gcc-14 - -This backports a2458f15 and 51311f91 -for 2.10 so that it can build with -gcc-14. ---- - plug-ins/file-tiff/file-tiff-load.c | 4 ++-- - plug-ins/metadata/metadata-editor.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/plug-ins/file-tiff/file-tiff-load.c b/plug-ins/file-tiff/file-tiff-load.c -index 72e9538032e..4fc3b6c75f3 100644 ---- a/plug-ins/file-tiff/file-tiff-load.c -+++ b/plug-ins/file-tiff/file-tiff-load.c -@@ -1301,8 +1301,8 @@ load_image (GFile *file, - - /* any resolution info in the file? */ - { -- gfloat xres = 72.0; -- gfloat yres = 72.0; -+ gdouble xres = 72.0; -+ gdouble yres = 72.0; - gushort read_unit; - GimpUnit unit = GIMP_UNIT_PIXEL; /* invalid unit */ - -diff --git a/plug-ins/metadata/metadata-editor.c b/plug-ins/metadata/metadata-editor.c -index 87a2e87098d..9e8a08a1770 100644 ---- a/plug-ins/metadata/metadata-editor.c -+++ b/plug-ins/metadata/metadata-editor.c -@@ -2140,7 +2140,7 @@ metadata_dialog_editor_set_metadata (GExiv2Metadata *metadata, - } - else - { -- if (! g_strv_contains (values, equiv_values[evi])) -+ if (! g_strv_contains ((const gchar * const *) values, equiv_values[evi])) - { - gchar *tmpvalue; - --- -GitLab diff --git a/srcpkgs/gimp/patches/libheif-1.18-compat.patch b/srcpkgs/gimp/patches/libheif-1.18-compat.patch deleted file mode 100644 index e714d25f2ba..00000000000 --- a/srcpkgs/gimp/patches/libheif-1.18-compat.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/configure.ac 2024-08-29 18:28:19.457012043 -0500 -+++ b/configure.ac 2024-08-29 18:28:29.154953488 -0500 -@@ -1843,13 +1843,13 @@ - can_import_avif=no - can_export_avif=no - if test "x$have_libheif" = xyes; then -- can_import_heic=`$PKG_CONFIG --variable=builtin_h265_decoder libheif` -- can_export_heic=`$PKG_CONFIG --variable=builtin_h265_encoder libheif` -+ can_import_heic=yes -+ can_export_heic=yes - if test "x$can_import_heic" = xyes; then - MIME_TYPES="$MIME_TYPES;image/heif;image/heic" - fi -- can_import_avif=`$PKG_CONFIG --variable=builtin_avif_decoder libheif` -- can_export_avif=`$PKG_CONFIG --variable=builtin_avif_encoder libheif` -+ can_import_avif=yes -+ can_export_avif=yes - if test "x$can_import_avif" = xyes; then - MIME_TYPES="$MIME_TYPES;image/avif" - fi diff --git a/srcpkgs/gimp/template b/srcpkgs/gimp/template index a50409d5ce5..fb94c7126ea 100644 --- a/srcpkgs/gimp/template +++ b/srcpkgs/gimp/template @@ -1,34 +1,40 @@ # Template file for 'gimp' pkgname=gimp -version=2.10.38 -revision=3 -build_style=gnu-configure -configure_args="--disable-check-update --datadir=/usr/share --disable-python" -hostmakedepends="automake gegl gettext-devel glib-devel gtk+-devel intltool - libtool pkg-config perl-XML-Parser gtk-doc iso-codes" -makedepends="aalib-devel alsa-lib-devel babl-devel dbus-glib-devel gegl-devel - ghostscript-devel jasper-devel lcms2-devel libXcursor-devel libXpm-devel - libgexiv2-devel libgudev-devel libmng-devel libmypaint-devel - libopenexr-devel librsvg-devel libwmf-devel mypaint-brushes1 - poppler-glib-devel glib-networking libwebp-devel - libheif-devel libopenjpeg2-devel x265-devel gtk+-devel" -depends="desktop-file-utils hicolor-icon-theme iso-codes mypaint-brushes1" +version=3.0.0 +revision=1 +build_style=meson +build_helper="gir qemu" +configure_args="-Dcheck-update=no -Drevision=$revision -Denable-default-bin=enabled + -Dbug-report-url=https://github.com/void-linux/void-packages/issues/new/choose" +hostmakedepends="pkg-config xdg-utils perl libxslt gjs LuaJIT desktop-file-utils + AppStream gettext gi-docgen gobject-introspection + yelp-tools librsvg-devel glib-devel" +makedepends="babl-devel gtk+3-devel gegl-devel libgexiv2-devel libgirepository-devel + libmypaint-devel mypaint-brushes librsvg-devel glib-networking appstream-glib-devel + libXmu-devel ghostscript-devel libmng-devel aalib-devel libXpm-devel libopenexr-devel + libwebp-devel libheif-devel poppler-glib-devel libwmf-devel libopenjpeg2-devel + libjxl-devel alsa-lib-devel cfitsio-devel python3-gobject-devel libgomp-devel + libunwind-devel lua51-lgi" +depends="desktop-file-utils hicolor-icon-theme iso-codes mypaint-brushes python3-gobject gjs" +checkdepends="xvfb-run dbus" short_desc="GNU image manipulation program" conf_files="/etc/gimp/${version%%.*}.0/*" maintainer="fosslinux " license="GPL-3.0-only" homepage="https://www.gimp.org" -changelog="https://gitlab.gnome.org/GNOME/gimp/-/raw/gimp-2-10/NEWS" -distfiles="https://download.gimp.org/pub/gimp/v${version%.*}/gimp-${version}.tar.bz2" -checksum=50a845eec11c8831fe8661707950f5b8446e35f30edfb9acf98f85c1133f856e +distfiles="https://download.gimp.org/gimp/v${version%.*}/gimp-${version/+rc/-RC}.tar.xz" +checksum=93f1ca3d9d1bd8cac0e52c49fb886cbbe4b28222ee835bf1319e3287901d2d20 lib32disabled=yes -no_generic_pkgconfig_link=yes -pre_configure() { - NOCONFIGURE=1 autoreconf -fi - # don't allow configure to set DATADIRNAME=lib - vsed -i 's/DATADIRNAME=lib/DATADIRNAME=share/' configure -} +if [ "$CROSS_BUILD" ]; then + hostmakedepends+=" gimp" +fi + +if [ -n "$XBPS_CHECK_PKGS" ]; then + configure_args+=" -Dheadless-tests=enabled" +else + configure_args+=" -Dheadless-tests=disabled" +fi libgimp_package() { short_desc+=" - runtime libraries" @@ -38,13 +44,16 @@ libgimp_package() { } gimp-devel_package() { - depends="gegl-devel gtk+-devel lcms2-devel libgimp>=${version}_${revision}" + depends="libgimp>=${version}_${revision} gegl-devel gtk+3-devel libgexiv2-devel" short_desc+=" - development files" pkg_install() { vmove usr/include vmove usr/lib/pkgconfig - vmove usr/share/gtk-doc - vmove usr/share/aclocal vmove "usr/lib/*.so" + if [ -z "$CROSS_BUILD" ]; then + vmove usr/share/gir-1.0 + vmove usr/share/vala + vmove usr/share/doc + fi } }