From 61ecd17eb244212706713ff2de6e6c321c255cd8 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 18 Apr 2024 02:44:35 -0400 Subject: [PATCH 1/9] gegl: update to 0.4.48. --- srcpkgs/gegl/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/gegl/template b/srcpkgs/gegl/template index 5d4b070cd703ee..f395fe359f2dd1 100644 --- a/srcpkgs/gegl/template +++ b/srcpkgs/gegl/template @@ -1,7 +1,7 @@ # Template file for 'gegl' pkgname=gegl -version=0.4.46 -revision=2 +version=0.4.48 +revision=1 build_style=meson build_helper="gir" configure_args="-Ddocs=false -Dintrospection=true -Dvapigen=enabled @@ -18,7 +18,7 @@ license="GPL-3.0-only, LGPL-3.0-only" homepage="https://gegl.org/" changelog="https://gitlab.gnome.org/GNOME/gegl/-/raw/master/docs/NEWS.adoc" distfiles="https://download.gimp.org/pub/gegl/${version%.*}/gegl-${version}.tar.xz" -checksum=d0b3b2481bc8774c5f3d0a487611910166d18eef823a859fb91e781ab7b1e892 +checksum=418c26d94be8805d7d98f6de0c6825ca26bd74fcacb6c188da47533d9ee28247 case "$XBPS_TARGET_MACHINE" in arm*) configure_args+=" -Db_lto=false" From 391a53dad07ec00ee7bf3054f711be322031260c Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 18 Apr 2024 02:44:29 -0400 Subject: [PATCH 2/9] gimp: update to 2.99.18. --- common/shlibs | 18 +- srcpkgs/gimp-python | 1 - srcpkgs/gimp/INSTALL | 2 +- srcpkgs/gimp/INSTALL.msg | 2 + srcpkgs/gimp/patches/fix-cross.patch | 18 -- srcpkgs/gimp/patches/fix-segfault.patch | 169 ------------------ srcpkgs/gimp/patches/gcc14.patch | 63 ------- .../gimp/patches/install-gimpchoice-h.patch | 25 +++ srcpkgs/gimp/template | 59 +++--- 9 files changed, 71 insertions(+), 286 deletions(-) delete mode 120000 srcpkgs/gimp-python create mode 100644 srcpkgs/gimp/INSTALL.msg 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 create mode 100644 srcpkgs/gimp/patches/install-gimpchoice-h.patch diff --git a/common/shlibs b/common/shlibs index b6017a715ced19..006a36cd77a45e 100644 --- a/common/shlibs +++ b/common/shlibs @@ -549,15 +549,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-2.99.18_1 +libgimpwidgets-3.0.so.0 libgimp-2.99.18_1 +libgimpui-3.0.so.0 libgimp-2.99.18_1 +libgimpbase-3.0.so.0 libgimp-2.99.18_1 +libgimpthumb-3.0.so.0 libgimp-2.99.18_1 +libgimpconfig-3.0.so.0 libgimp-2.99.18_1 +libgimpmath-3.0.so.0 libgimp-2.99.18_1 +libgimpcolor-3.0.so.0 libgimp-2.99.18_1 +libgimpmodule-3.0.so.0 libgimp-2.99.18_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 92344a4bb4a963..00000000000000 --- 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 87064d64438f00..daeff6b33cec0f 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/INSTALL.msg b/srcpkgs/gimp/INSTALL.msg new file mode 100644 index 00000000000000..171c0ccb0890c9 --- /dev/null +++ b/srcpkgs/gimp/INSTALL.msg @@ -0,0 +1,2 @@ +GIMP 3 breaks compatibility with many plugins. If you wish to continue +using GIMP 2.x, install gimp2. diff --git a/srcpkgs/gimp/patches/fix-cross.patch b/srcpkgs/gimp/patches/fix-cross.patch deleted file mode 100644 index 0ffcf9b650b987..00000000000000 --- 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 5f1a6a6d3fe977..00000000000000 --- 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 ceae92fa154c82..00000000000000 --- a/srcpkgs/gimp/patches/gcc14.patch +++ /dev/null @@ -1,63 +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 diff --git a/srcpkgs/gimp/patches/install-gimpchoice-h.patch b/srcpkgs/gimp/patches/install-gimpchoice-h.patch new file mode 100644 index 00000000000000..533b14d397f814 --- /dev/null +++ b/srcpkgs/gimp/patches/install-gimpchoice-h.patch @@ -0,0 +1,25 @@ +From 11892f1d83ffc465346dab7e2e8c6e790f555a64 Mon Sep 17 00:00:00 2001 +From: Jehan +Date: Wed, 21 Feb 2024 11:08:23 +0100 +Subject: [PATCH] Issue #10900: install missing gimpchoice.h. + +Argh how this could pass without anyone noticing?! +--- + libgimpbase/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libgimpbase/meson.build b/libgimpbase/meson.build +index a77d125f39d..a2c27016b10 100644 +--- a/libgimpbase/meson.build ++++ b/libgimpbase/meson.build +@@ -84,6 +84,7 @@ libgimpbase_headers_introspectable = files( + 'gimpbaseenums.h', + 'gimpbasetypes.h', + 'gimpchecks.h', ++ 'gimpchoice.h', + 'gimpcpuaccel.h', + 'gimpenv.h', + 'gimplimits.h', +-- +GitLab + diff --git a/srcpkgs/gimp/template b/srcpkgs/gimp/template index 3ed1fc7cc9c740..45b0e47cdad3be 100644 --- a/srcpkgs/gimp/template +++ b/srcpkgs/gimp/template @@ -1,34 +1,40 @@ # Template file for 'gimp' pkgname=gimp -version=2.10.38 +version=2.99.18 revision=1 -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" +build_style=meson +build_helper="gir" +configure_args="-Dcheck-update=no -Drevision=$revision -Denable-default-bin=enabled + $(vopt_bool gir g-ir-doc) $(vopt_bool gir can-crosscompile-gir) + -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 gi-docgen gettext gobject-introspection yelp-tools" +makedepends="babl-devel gtk+3-devel gegl-devel libgexiv2-devel libgirepository-devel + libmypaint-devel mypaint-brushes1 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-brushes1 python3-gobject" +checkdepends="xvfb-run dbus" short_desc="GNU image manipulation program" -conf_files="/etc/gimp/${version%%.*}.0/*" +#conf_files="/etc/gimp/${version%%.*}.0/*" +conf_files="/etc/gimp/${version%.*}/*" 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}.tar.xz" +checksum=8c1bb7a94ac0d4d0cde4d701d8b356387c2ecd87abbd35bbf7d222d40f6ddb6e 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 -} +build_options="gir" +build_options_default="gir" + +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/share/doc vmove "usr/lib/*.so" + if [ "$build_option_gir" ]; then + vmove usr/share/gir-1.0 + vmove usr/share/vala + fi } } From 931c746eb3a78bb38a77bb50090efdb98a90d316 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Tue, 11 Jun 2024 21:46:37 -0400 Subject: [PATCH 3/9] New package: gimp2-2.10.38 --- common/shlibs | 9 ++ srcpkgs/gimp2/INSTALL | 8 ++ srcpkgs/gimp2/patches/fix-cross.patch | 18 +++ srcpkgs/gimp2/patches/fix-segfault.patch | 169 +++++++++++++++++++++++ srcpkgs/gimp2/patches/gcc14.patch | 63 +++++++++ srcpkgs/gimp2/template | 57 ++++++++ srcpkgs/gimp2/update | 2 + 7 files changed, 326 insertions(+) create mode 100644 srcpkgs/gimp2/INSTALL create mode 100644 srcpkgs/gimp2/patches/fix-cross.patch create mode 100644 srcpkgs/gimp2/patches/fix-segfault.patch create mode 100644 srcpkgs/gimp2/patches/gcc14.patch create mode 100644 srcpkgs/gimp2/template create mode 100644 srcpkgs/gimp2/update diff --git a/common/shlibs b/common/shlibs index 006a36cd77a45e..88e2952d599943 100644 --- a/common/shlibs +++ b/common/shlibs @@ -549,6 +549,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 libgimp2-2.10.38_1 +libgimpwidgets-2.0.so.0 libgimp2-2.10.38_1 +libgimpui-2.0.so.0 libgimp2-2.10.38_1 +libgimpbase-2.0.so.0 libgimp2-2.10.38_1 +libgimpthumb-2.0.so.0 libgimp2-2.10.38_1 +libgimpconfig-2.0.so.0 libgimp2-2.10.38_1 +libgimpmath-2.0.so.0 libgimp2-2.10.38_1 +libgimpcolor-2.0.so.0 libgimp2-2.10.38_1 +libgimpmodule-2.0.so.0 libgimp2-2.10.38_1 libgimp-3.0.so.0 libgimp-2.99.18_1 libgimpwidgets-3.0.so.0 libgimp-2.99.18_1 libgimpui-3.0.so.0 libgimp-2.99.18_1 diff --git a/srcpkgs/gimp2/INSTALL b/srcpkgs/gimp2/INSTALL new file mode 100644 index 00000000000000..87064d64438f00 --- /dev/null +++ b/srcpkgs/gimp2/INSTALL @@ -0,0 +1,8 @@ +# workaround for https://github.com/void-linux/xbps/issues/14 +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 + fi + ;; +esac diff --git a/srcpkgs/gimp2/patches/fix-cross.patch b/srcpkgs/gimp2/patches/fix-cross.patch new file mode 100644 index 00000000000000..0ffcf9b650b987 --- /dev/null +++ b/srcpkgs/gimp2/patches/fix-cross.patch @@ -0,0 +1,18 @@ +--- 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/gimp2/patches/fix-segfault.patch b/srcpkgs/gimp2/patches/fix-segfault.patch new file mode 100644 index 00000000000000..5f1a6a6d3fe977 --- /dev/null +++ b/srcpkgs/gimp2/patches/fix-segfault.patch @@ -0,0 +1,169 @@ +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/gimp2/patches/gcc14.patch b/srcpkgs/gimp2/patches/gcc14.patch new file mode 100644 index 00000000000000..ceae92fa154c82 --- /dev/null +++ b/srcpkgs/gimp2/patches/gcc14.patch @@ -0,0 +1,63 @@ +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 diff --git a/srcpkgs/gimp2/template b/srcpkgs/gimp2/template new file mode 100644 index 00000000000000..f3cf73ddf75ff3 --- /dev/null +++ b/srcpkgs/gimp2/template @@ -0,0 +1,57 @@ +# Template file for 'gimp2' +pkgname=gimp2 +version=2.10.38 +revision=1 +build_style=gnu-configure +configure_args="--disable-check-update --datadir=/usr/share --disable-python + --disable-default-binary" +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" +short_desc="GNU image manipulation program (version 2.x)" +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 +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 +} + +post_install() { + vsed -i -e "s/^Name.*$/& ${version%.*}/" -e "s/^Icon.*$/&-${version%.*}/" "${DESTDIR}/usr/share/applications/gimp.desktop" + mv "${DESTDIR}/usr/share/applications/gimp.desktop" "${DESTDIR}/usr/share/applications/gimp-${version%.*}.desktop" + find "${DESTDIR}/usr/share/icons/hicolor" -name gimp.png -execdir mv {} "gimp-${version%.*}.png" \; +} + +libgimp2_package() { + short_desc+=" - runtime libraries" + pkg_install() { + vmove "usr/lib/*.so.*" + } +} + +gimp2-devel_package() { + depends="gegl-devel gtk+-devel lcms2-devel libgimp2>=${version}_${revision}" + 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" + } +} diff --git a/srcpkgs/gimp2/update b/srcpkgs/gimp2/update new file mode 100644 index 00000000000000..0e2a52581a8290 --- /dev/null +++ b/srcpkgs/gimp2/update @@ -0,0 +1,2 @@ +pkgname=gimp +ignore="*.99.*" From 266adcd21c792540963fde559dfa648fd00d3795 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 18 Apr 2024 02:44:08 -0400 Subject: [PATCH 4/9] libjxl: rebuild against libgimp2 gimp 3 supports jxl now, and this would cause a dependency loop --- srcpkgs/libjxl/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/libjxl/template b/srcpkgs/libjxl/template index 88403273d483bf..bbe8c1053a8ec0 100644 --- a/srcpkgs/libjxl/template +++ b/srcpkgs/libjxl/template @@ -1,7 +1,7 @@ # Template file for 'libjxl' pkgname=libjxl version=0.10.2 -revision=1 +revision=2 _testdata_hash=ff8d743aaba05b3014f17e5475e576242fa979fc build_style=cmake configure_args="-DJPEGXL_ENABLE_BENCHMARK=OFF -DJPEGXL_ENABLE_EXAMPLES=OFF @@ -9,7 +9,7 @@ configure_args="-DJPEGXL_ENABLE_BENCHMARK=OFF -DJPEGXL_ENABLE_EXAMPLES=OFF -DJPEGXL_ENABLE_SKCMS=OFF" hostmakedepends="tar pkg-config asciidoc" makedepends="brotli-devel highway libpng-devel giflib-devel libjpeg-turbo-devel - libopenexr-devel libwebp-devel gdk-pixbuf-devel gimp-devel lcms2-devel" + libopenexr-devel libwebp-devel gdk-pixbuf-devel gimp2-devel lcms2-devel" checkdepends="gtest-devel xdg-utils" short_desc="JPEG XL image format reference implementation" maintainer="Joshua Krämer " From 953e5342d5a926a5d13a47dd3cadb8e4c47f003b Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 18 Apr 2024 02:44:09 -0400 Subject: [PATCH 5/9] gmic: rebuild against libgimp2 --- srcpkgs/gmic/template | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/srcpkgs/gmic/template b/srcpkgs/gmic/template index fa37651bb6deea..a691c6231bb70e 100644 --- a/srcpkgs/gmic/template +++ b/srcpkgs/gmic/template @@ -1,7 +1,7 @@ # Template file for 'gmic' pkgname=gmic version=3.1.6 -revision=5 +revision=6 _zart_hash=34ebf6cce0bafb98abe57cec83c4a02cd1abeca0 create_wrksrc=yes build_wrksrc="src" @@ -9,10 +9,10 @@ build_style=gnu-makefile build_helper=qmake make_build_args="NOSTRIP=yes" make_use_env=yes -hostmakedepends="pkg-config gimp qt5-host-tools qt5-qmake" +hostmakedepends="pkg-config gimp2 qt5-host-tools qt5-qmake" makedepends="fftw-devel imath-devel libopenexr-devel MesaLib-devel libopencv-devel libgomp-devel lcms2-devel libpng-devel libjpeg-turbo-devel tiff-devel libcurl-devel - gtk+-devel gimp-devel qt5-devel" + gtk+-devel gimp2-devel qt5-devel" short_desc="GREYC's Magic for Image Computing (image processing framework)" maintainer="Orphaned " license="CECILL-2.1, CECILL-C" @@ -33,8 +33,8 @@ post_install() { } gmic-gimp_package() { - short_desc+=" - GIMP plugin" - depends="gimp ${sourcepkg}>=${version}_${revision}" + short_desc+=" - GIMP 2 plugin" + depends="gimp2 ${sourcepkg}>=${version}_${revision}" pkg_install() { vmove usr/lib/gimp } From d228714f13238b64cbf164f53174d118a43b9376 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 18 Apr 2024 02:44:10 -0400 Subject: [PATCH 6/9] nufraw: rebuild against libgimp2 --- srcpkgs/nufraw/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/nufraw/template b/srcpkgs/nufraw/template index 551f263df96d38..9e7f8496cf722f 100644 --- a/srcpkgs/nufraw/template +++ b/srcpkgs/nufraw/template @@ -1,7 +1,7 @@ # Template file for 'nufraw' pkgname=nufraw version=0.43.3 -revision=1 +revision=2 _ver="${version%.*}-${version##*.}" build_style=gnu-configure configure_args="--enable-contrast --enable-mime --enable-openmp --with-gimp @@ -9,7 +9,7 @@ configure_args="--enable-contrast --enable-mime --enable-openmp --with-gimp hostmakedepends="pkg-config automake libtool glib-devel" # libgexiv2-devel is only here to fix build order, remove on next template # change -makedepends="exiv2-devel gimp-devel glib-devel gtkimageview-devel lcms2-devel +makedepends="exiv2-devel gimp2-devel glib-devel gtkimageview-devel lcms2-devel lensfun-devel jasper-devel libgexiv2-devel" depends="desktop-file-utils" short_desc="Utility to read and manipulate raw images from digital cameras" @@ -36,8 +36,8 @@ pre_build() { } nufraw-gimp_package() { - depends="${sourcepkg}>=${version}_${revision}" - short_desc+=" - gimp plugin" + depends="gimp2 ${sourcepkg}>=${version}_${revision}" + short_desc+=" - GIMP 2 plugin" pkg_install() { vmove usr/lib/gimp } From a8ff6d7e9c99a2f803ded577d2d9391493c8022f Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 18 Apr 2024 02:44:11 -0400 Subject: [PATCH 7/9] xsane: rebuild against libgimp2 --- srcpkgs/xsane/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/xsane/template b/srcpkgs/xsane/template index 7dde32af2b674c..67c53e94489fab 100644 --- a/srcpkgs/xsane/template +++ b/srcpkgs/xsane/template @@ -1,9 +1,9 @@ # Template file for 'xsane' pkgname=xsane version=0.999 -revision=5 +revision=6 hostmakedepends="pkg-config sane-devel gettext" -makedepends="gtk+-devel lcms-devel sane-devel gimp-devel" +makedepends="gtk+-devel lcms-devel sane-devel gimp2-devel" depends="sane" short_desc="GTK-based X11 frontend for SANE" maintainer="Orphaned " @@ -36,8 +36,8 @@ do_install() { } xsane-gimp_package() { - short_desc+=" - plugin for GIMP" - depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - plugin for GIMP 2" + depends="gimp2 ${sourcepkg}>=${version}_${revision}" pkg_install() { vbin src/xsane-gimp vmkdir usr/lib/gimp/2.0/plug-ins From fbc51163fba0298c5c3b52a417b540af7cec5e57 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 18 Apr 2024 02:44:11 -0400 Subject: [PATCH 8/9] gimp-lqr-plugin: rebuild against libgimp2 --- srcpkgs/gimp-lqr-plugin/template | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/srcpkgs/gimp-lqr-plugin/template b/srcpkgs/gimp-lqr-plugin/template index 7878f6cb795d24..33a395c67a8583 100644 --- a/srcpkgs/gimp-lqr-plugin/template +++ b/srcpkgs/gimp-lqr-plugin/template @@ -1,11 +1,12 @@ # Template file for 'gimp-lqr-plugin' pkgname=gimp-lqr-plugin version=0.7.2 -revision=2 +revision=3 build_style=gnu-configure hostmakedepends="automake intltool pkg-config" -makedepends="gimp-devel glib-devel gettext-devel liblqr-devel" -short_desc="Gimp plugins for image resizing through seam carving" +makedepends="gimp2-devel glib-devel gettext-devel liblqr-devel" +depends="gimp2" +short_desc="GIMP 2 plugins for image resizing through seam carving" maintainer="CoolOhm " license="GPL-2.0-or-later" homepage="http://liquidrescale.wikidot.com/" From d4332774d91fc63e5907e8eadad4ba74615843eb Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Thu, 18 Apr 2024 03:22:14 -0400 Subject: [PATCH 9/9] resynthesizer: update to 2.0.3+2. WIP gimp 3 port --- srcpkgs/resynthesizer/template | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/srcpkgs/resynthesizer/template b/srcpkgs/resynthesizer/template index a58b0eec995854..2b56f8f406b456 100644 --- a/srcpkgs/resynthesizer/template +++ b/srcpkgs/resynthesizer/template @@ -1,26 +1,15 @@ # Template file for 'resynthesizer' pkgname=resynthesizer -version=2.0.3+1 +version=2.0.3+2 revision=1 -_commit=701e890d1d456e215e05daa7b4a88f5d9c6c03b3 -build_style=gnu-configure -hostmakedepends="automake intltool pkg-config" +_commit=dee67110c51cbc69c28435ac7485766c3eb30a94 +build_style=meson +hostmakedepends="pkg-config" makedepends="gimp-devel glib-devel gettext-devel" -short_desc="Suite of gimp plugins for texture healing and synthesis" +depends="gimp" +short_desc="Suite of GIMP plugins for texture healing and synthesis" maintainer="CoolOhm " license="GPL-2.0-or-later" -# FIXME: when gimp 3 is available, switch back to bootchk upstream -#homepage="https://github.com/bootchk/resynthesizer" -#distfiles="https://github.com/bootchk/resynthesizer/archive/refs/tags/v${version}.tar.gz" -homepage="https://github.com/itr-tert/gimp-resynthesizer-scm" -distfiles="https://github.com/itr-tert/gimp-resynthesizer-scm/archive/${_commit}.tar.gz" -checksum=298286386466fbd6d2da06f8a920c6e6e313db7ca0a094a36a355978a64cefc0 - -if [ "$CROSS_BUILD" ];then - hostmakedepends+=" glib-devel gettext-devel" - AUTOGEN_CONFIGURE_ARGS+=" --host=${XBPS_MACHINE%-musl} --build=${XBPS_CROSS_TRIPLET}" -fi - -pre_configure() { - ./autogen.sh ${AUTOGEN_CONFIGURE_ARGS} -} +homepage="https://github.com/bootchk/resynthesizer" +distfiles="https://github.com/bootchk/resynthesizer/archive/${_commit}.tar.gz" +checksum=a9ae689f5c10e284b0b8cab03baa05caab029fae2250bcdcc7e1d3ec6f8c367d