* [PR PATCH] GIMP 3
@ 2024-04-18 7:24 classabbyamp
2024-04-18 7:26 ` [PR REVIEW] " classabbyamp
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: classabbyamp @ 2024-04-18 7:24 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 459 bytes --]
There is a new pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 24574 bytes --]
From d330997c6868cb21468ebbb847f9e7438781e3a8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:08 -0400
Subject: [PATCH 1/8] libjxl: disable gimp plugin
gimp 3 supports jxl now, and this would cause a dependency loop
---
srcpkgs/libjxl/template | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/libjxl/template b/srcpkgs/libjxl/template
index 88403273d483bf..2e70998346238c 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 lcms2-devel"
checkdepends="gtest-devel xdg-utils"
short_desc="JPEG XL image format reference implementation"
maintainer="Joshua Krämer <joshua@kraemer.link>"
@@ -64,7 +64,6 @@ libjxl-plugins_package() {
depends="desktop-file-utils"
pkg_install() {
vmove usr/lib/gdk-pixbuf-2.0
- vmove usr/lib/gimp
vmove usr/share/mime
vmove usr/share/thumbnailers
}
From 15df0645d9ad118a332e220ca50694a3ea25b943 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:35 -0400
Subject: [PATCH 2/8] 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 6cbb4964a25907519e26ce10ec4378ad14b29275 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:29 -0400
Subject: [PATCH 3/8] gimp: update to 2.99.18.
---
common/shlibs | 18 +-
srcpkgs/gimp-python | 1 -
srcpkgs/gimp/INSTALL | 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 +++---
8 files changed, 69 insertions(+), 286 deletions(-)
delete mode 120000 srcpkgs/gimp-python
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 4b88c10b0d390f..7e8a0dd2ec8563 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/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 <fweimer@redhat.com>
-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 <jehan@girinstud.io>
+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 39532a8d8c99df..45b0e47cdad3be 100644
--- a/srcpkgs/gimp/template
+++ b/srcpkgs/gimp/template
@@ -1,34 +1,40 @@
# Template file for 'gimp'
pkgname=gimp
-version=2.10.36
+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 <fosslinux@aussies.space>"
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=3d3bc3c69a4bdb3aea9ba2d5385ed98ea03953f3857aafd1d6976011ed7cdbb2
+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 4e3ea0896cbd54ece1740153d125159240041aae Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:09 -0400
Subject: [PATCH 4/8] gmic: rebuild for gimp 3
---
srcpkgs/gmic/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gmic/template b/srcpkgs/gmic/template
index fa37651bb6deea..24d10147e3abad 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"
From aca92a2abae05416f3e836bfc12f731ed6fa0891 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:10 -0400
Subject: [PATCH 5/8] nufraw: rebuild for gimp 3
---
srcpkgs/nufraw/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/nufraw/template b/srcpkgs/nufraw/template
index 551f263df96d38..86a4d73adb797f 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
From aa93a4ff75b2aec7e77b8b84f7acc52cb6ad5092 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:11 -0400
Subject: [PATCH 6/8] xsane: rebuild for gimp 3
---
srcpkgs/xsane/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/xsane/template b/srcpkgs/xsane/template
index 7dde32af2b674c..0f69c0f65fe6b8 100644
--- a/srcpkgs/xsane/template
+++ b/srcpkgs/xsane/template
@@ -1,7 +1,7 @@
# 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"
depends="sane"
From ff4fdb33fbc88c6fcb29b7f3e8f75ea34a28a7ac Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:11 -0400
Subject: [PATCH 7/8] gimp-lqr-plugin: rebuild for gimp 3
---
srcpkgs/gimp-lqr-plugin/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gimp-lqr-plugin/template b/srcpkgs/gimp-lqr-plugin/template
index 7878f6cb795d24..9a516b3798b0e0 100644
--- a/srcpkgs/gimp-lqr-plugin/template
+++ b/srcpkgs/gimp-lqr-plugin/template
@@ -1,7 +1,7 @@
# 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"
From 400d9da2a4bb4411c81b0e3961d1b7dcc0c7bea3 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 03:22:14 -0400
Subject: [PATCH 8/8] resynthesizer: update to 2.0.3+2.
WIP gimp 3 port
---
srcpkgs/resynthesizer/template | 26 +++++++-------------------
1 file changed, 7 insertions(+), 19 deletions(-)
diff --git a/srcpkgs/resynthesizer/template b/srcpkgs/resynthesizer/template
index a58b0eec995854..68be9e18dd0ffe 100644
--- a/srcpkgs/resynthesizer/template
+++ b/srcpkgs/resynthesizer/template
@@ -1,26 +1,14 @@
# 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"
maintainer="CoolOhm <micvlas@gmail.com>"
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR REVIEW] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
@ 2024-04-18 7:26 ` classabbyamp
2024-04-18 7:26 ` classabbyamp
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-04-18 7:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 157 bytes --]
New review comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/49890#discussion_r1570150739
Comment:
TODO
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR REVIEW] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
2024-04-18 7:26 ` [PR REVIEW] " classabbyamp
@ 2024-04-18 7:26 ` classabbyamp
2024-04-21 20:02 ` [PR PATCH] [Updated] " classabbyamp
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-04-18 7:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 189 bytes --]
New review comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/49890#discussion_r1570149887
Comment:
TODO: update minver for main release
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR PATCH] [Updated] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
2024-04-18 7:26 ` [PR REVIEW] " classabbyamp
2024-04-18 7:26 ` classabbyamp
@ 2024-04-21 20:02 ` classabbyamp
2024-06-12 2:23 ` classabbyamp
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-04-21 20:02 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month: https://gitlab.gnome.org/GNOME/gimp/-/issues/10373
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
#### Plugins
- [ ] nufraw - not (yet) compatible
- [ ] resynthesizer - compatible on in-dev branch
- [ ] gmic - not (yet) compatible
- [ ] xsane
- [ ] gimp-lqr-plugin - not (yet) compatible)
- [x] libjxl - disable because gimp supports it directly now
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 24587 bytes --]
From e9cd8a2130b2d32b04a44c85a64327b31f169357 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:08 -0400
Subject: [PATCH 1/8] libjxl: disable gimp plugin
gimp 3 supports jxl now, and this would cause a dependency loop
---
srcpkgs/libjxl/template | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/libjxl/template b/srcpkgs/libjxl/template
index 88403273d483bf..2e70998346238c 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 lcms2-devel"
checkdepends="gtest-devel xdg-utils"
short_desc="JPEG XL image format reference implementation"
maintainer="Joshua Krämer <joshua@kraemer.link>"
@@ -64,7 +64,6 @@ libjxl-plugins_package() {
depends="desktop-file-utils"
pkg_install() {
vmove usr/lib/gdk-pixbuf-2.0
- vmove usr/lib/gimp
vmove usr/share/mime
vmove usr/share/thumbnailers
}
From 0197641a0f153b66af34c713c966612a8f200991 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:35 -0400
Subject: [PATCH 2/8] 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 24dd3eafb29db334fd95f40a888e47efc464f7fe Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:29 -0400
Subject: [PATCH 3/8] gimp: update to 2.99.18.
---
common/shlibs | 18 +-
srcpkgs/gimp-python | 1 -
srcpkgs/gimp/INSTALL | 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 | 61 ++++---
8 files changed, 70 insertions(+), 287 deletions(-)
delete mode 120000 srcpkgs/gimp-python
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 c4a876216d6397..7ce16b68e02d42 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/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 <fweimer@redhat.com>
-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 <jehan@girinstud.io>
+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 265f1c8e76a3ec..45b0e47cdad3be 100644
--- a/srcpkgs/gimp/template
+++ b/srcpkgs/gimp/template
@@ -1,34 +1,40 @@
# Template file for 'gimp'
pkgname=gimp
-version=2.10.36
-revision=2
-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=2.99.18
+revision=1
+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 <fosslinux@aussies.space>"
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=3d3bc3c69a4bdb3aea9ba2d5385ed98ea03953f3857aafd1d6976011ed7cdbb2
+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 b9dc2c9bd54954376b4d0906753bb11a3c6a0a32 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:09 -0400
Subject: [PATCH 4/8] gmic: rebuild for gimp 3
---
srcpkgs/gmic/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gmic/template b/srcpkgs/gmic/template
index fa37651bb6deea..24d10147e3abad 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"
From cd08e805ad039870203e61d5531b6b0a4d0d281e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:10 -0400
Subject: [PATCH 5/8] nufraw: rebuild for gimp 3
---
srcpkgs/nufraw/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/nufraw/template b/srcpkgs/nufraw/template
index 551f263df96d38..86a4d73adb797f 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
From 11727e39fa51d8ac2d6127c22f1275dfe9f85c31 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:11 -0400
Subject: [PATCH 6/8] xsane: rebuild for gimp 3
---
srcpkgs/xsane/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/xsane/template b/srcpkgs/xsane/template
index 7dde32af2b674c..0f69c0f65fe6b8 100644
--- a/srcpkgs/xsane/template
+++ b/srcpkgs/xsane/template
@@ -1,7 +1,7 @@
# 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"
depends="sane"
From 804edfc40e86a6539bef08e8b94c37091e2c4f99 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:11 -0400
Subject: [PATCH 7/8] gimp-lqr-plugin: rebuild for gimp 3
---
srcpkgs/gimp-lqr-plugin/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gimp-lqr-plugin/template b/srcpkgs/gimp-lqr-plugin/template
index 7878f6cb795d24..9a516b3798b0e0 100644
--- a/srcpkgs/gimp-lqr-plugin/template
+++ b/srcpkgs/gimp-lqr-plugin/template
@@ -1,7 +1,7 @@
# 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"
From 1fda55ba20635d3bbb641c7dcdba6b3cae7a05fb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 03:22:14 -0400
Subject: [PATCH 8/8] resynthesizer: update to 2.0.3+2.
WIP gimp 3 port
---
srcpkgs/resynthesizer/template | 26 +++++++-------------------
1 file changed, 7 insertions(+), 19 deletions(-)
diff --git a/srcpkgs/resynthesizer/template b/srcpkgs/resynthesizer/template
index a58b0eec995854..68be9e18dd0ffe 100644
--- a/srcpkgs/resynthesizer/template
+++ b/srcpkgs/resynthesizer/template
@@ -1,26 +1,14 @@
# 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"
maintainer="CoolOhm <micvlas@gmail.com>"
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR PATCH] [Updated] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
` (2 preceding siblings ...)
2024-04-21 20:02 ` [PR PATCH] [Updated] " classabbyamp
@ 2024-06-12 2:23 ` classabbyamp
2024-06-12 2:28 ` classabbyamp
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-06-12 2:23 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month: https://gitlab.gnome.org/GNOME/gimp/-/issues/10373
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
#### Plugins
- [ ] nufraw - not (yet) compatible
- [x] resynthesizer - compatible on in-dev branch
- [ ] gmic - not (yet) compatible
- [ ] xsane
- [ ] gimp-lqr-plugin - not (yet) compatible)
- [x] libjxl - disable because gimp supports it directly now
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 42030 bytes --]
From 61ecd17eb244212706713ff2de6e6c321c255cd8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <void@placeviolette.net>
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 <fweimer@redhat.com>
-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 <jehan@girinstud.io>
+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 <fosslinux@aussies.space>"
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 <void@placeviolette.net>
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 <fweimer@redhat.com>
+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 <fosslinux@aussies.space>"
+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 <void@placeviolette.net>
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 <joshua@kraemer.link>"
From 953e5342d5a926a5d13a47dd3cadb8e4c47f003b Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
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 <void@placeviolette.net>
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 <void@placeviolette.net>
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 <orphan@voidlinux.org>"
@@ -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 <void@placeviolette.net>
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 <micvlas@gmail.com>"
license="GPL-2.0-or-later"
homepage="http://liquidrescale.wikidot.com/"
From d4332774d91fc63e5907e8eadad4ba74615843eb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR PATCH] [Updated] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
` (3 preceding siblings ...)
2024-06-12 2:23 ` classabbyamp
@ 2024-06-12 2:28 ` classabbyamp
2024-06-12 5:21 ` classabbyamp
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-06-12 2:28 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month: https://gitlab.gnome.org/GNOME/gimp/-/issues/10373
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
#### Plugins
- [ ] nufraw - not (yet) compatible
- [x] resynthesizer - compatible on in-dev branch
- [ ] gmic - not (yet) compatible
- [ ] xsane
- [ ] gimp-lqr-plugin - not (yet) compatible)
- [x] libjxl - disable because gimp supports it directly now
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 42602 bytes --]
From 61ecd17eb244212706713ff2de6e6c321c255cd8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <void@placeviolette.net>
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 <fweimer@redhat.com>
-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 <jehan@girinstud.io>
+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 <fosslinux@aussies.space>"
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 f72f648a7424c89ece05fbd3de64326fa07819dd Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 11 Jun 2024 21:46:37 -0400
Subject: [PATCH 3/9] New package: gimp2-2.10.38
---
common/shlibs | 9 ++
srcpkgs/gimp2-devel | 1 +
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 +
srcpkgs/libgimp2 | 1 +
9 files changed, 328 insertions(+)
create mode 120000 srcpkgs/gimp2-devel
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
create mode 120000 srcpkgs/libgimp2
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-devel b/srcpkgs/gimp2-devel
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/gimp2-devel
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
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 <fweimer@redhat.com>
+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 <fosslinux@aussies.space>"
+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.*"
diff --git a/srcpkgs/libgimp2 b/srcpkgs/libgimp2
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/libgimp2
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
From ac9de44b85237e31863062d3c1b36dcec83869a4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <joshua@kraemer.link>"
From fc922b49e4c1f8d92d50782bbf641dae58948856 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
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 242ab4f57120f5eae938fb0fc5ea40cedcaab97b Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 67a9bfe187f01791e63af27184fbfaedc4f2b3c0 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
@@ -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 bdd274802a20a4fdcf2fe8ad32dbd1e5292050ba Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
license="GPL-2.0-or-later"
homepage="http://liquidrescale.wikidot.com/"
From 04fb01781cd83eaac309b14a2ae79c41a328a3ef Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR PATCH] [Updated] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
` (4 preceding siblings ...)
2024-06-12 2:28 ` classabbyamp
@ 2024-06-12 5:21 ` classabbyamp
2024-06-12 6:50 ` classabbyamp
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-06-12 5:21 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month: https://gitlab.gnome.org/GNOME/gimp/-/issues/10373
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
#### Plugins
- [ ] nufraw - not (yet) compatible
- [x] resynthesizer - compatible on in-dev branch
- [ ] gmic - not (yet) compatible
- [ ] xsane
- [ ] gimp-lqr-plugin - not (yet) compatible)
- [x] libjxl - disable because gimp supports it directly now
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 43209 bytes --]
From 61ecd17eb244212706713ff2de6e6c321c255cd8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 f1f42f8f3b3f03276af6b078f8312b0452ca61dd Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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..24e3bddd8303ba
--- /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 plugins, 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 <fweimer@redhat.com>
-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 <jehan@girinstud.io>
+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..59058b8598ae74 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 qemu"
+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 librsvg-devel glib-devel"
+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 <fosslinux@aussies.space>"
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 bc5a195776d1e149823ec81c429617ca4283f3fb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 11 Jun 2024 21:46:37 -0400
Subject: [PATCH 3/9] New package: gimp2-2.10.38
---
common/shlibs | 9 ++
srcpkgs/gimp2-devel | 1 +
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 | 59 ++++++++
srcpkgs/gimp2/update | 2 +
srcpkgs/libgimp2 | 1 +
9 files changed, 330 insertions(+)
create mode 120000 srcpkgs/gimp2-devel
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
create mode 120000 srcpkgs/libgimp2
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-devel b/srcpkgs/gimp2-devel
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/gimp2-devel
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
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 <fweimer@redhat.com>
+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..6e4cd9a04cd410
--- /dev/null
+++ b/srcpkgs/gimp2/template
@@ -0,0 +1,59 @@
+# 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 <fosslinux@aussies.space>"
+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" \;
+ vsed -i -e "s/org.gimp.GIMP/&${version%%.*}/" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml"
+ mv "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP${version%%.*}.appdata.xml"
+}
+
+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.*"
diff --git a/srcpkgs/libgimp2 b/srcpkgs/libgimp2
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/libgimp2
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
From 3a2506b301f19c5a46ed49aa4895e9881386a23f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <joshua@kraemer.link>"
From 147cf0a087d35a23e0eb2d83e3bf0a5d47a782eb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
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 bc2d8b89dd3067f89275e05479fe0bf920bae48d Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:10 -0400
Subject: [PATCH 6/9] nufraw: rebuild against libgimp2
---
srcpkgs/nufraw/template | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/nufraw/template b/srcpkgs/nufraw/template
index 551f263df96d38..8748aa91afc779 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"
@@ -18,6 +18,7 @@ license="GPL-2.0-or-later"
homepage="https://sourceforge.net/projects/nufraw/"
distfiles="${SOURCEFORGE_SITE}/nufraw/nufraw-${_ver}.tar.gz"
checksum=2c7dcc1590993ec267b3112562b2433010d6f94f6acc6506c76aa29cf8c6c32c
+conflicts="dcraw>=0"
case "$XBPS_TARGET_MACHINE" in
armv[67]l* | aarch64* | riscv64*)
@@ -36,8 +37,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 c6e73748a53b1693b306fa2b8d5eabdcf290f6e5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
@@ -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 79700579eed93c513f988c541da9abe976b16ff6 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
license="GPL-2.0-or-later"
homepage="http://liquidrescale.wikidot.com/"
From 1300b53a19ce9a714ed7ec789e197aa4ad3c071b Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR PATCH] [Updated] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
` (5 preceding siblings ...)
2024-06-12 5:21 ` classabbyamp
@ 2024-06-12 6:50 ` classabbyamp
2024-09-11 1:56 ` github-actions
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-06-12 6:50 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month: https://gitlab.gnome.org/GNOME/gimp/-/issues/10373
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
#### Plugins
- [ ] nufraw - not (yet) compatible
- [x] resynthesizer - compatible on in-dev branch
- [ ] gmic - not (yet) compatible
- [ ] xsane
- [ ] gimp-lqr-plugin - not (yet) compatible)
- [x] libjxl - disable because gimp supports it directly now
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 43092 bytes --]
From 61ecd17eb244212706713ff2de6e6c321c255cd8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 c64711f21fe33d88156edaad0856a2534b05ebc8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 | 56 +++---
9 files changed, 68 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..24e3bddd8303ba
--- /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 plugins, 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 <fweimer@redhat.com>
-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 <jehan@girinstud.io>
+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..1c892bc904c414 100644
--- a/srcpkgs/gimp/template
+++ b/srcpkgs/gimp/template
@@ -1,34 +1,37 @@
# 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 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-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 <fosslinux@aussies.space>"
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
-}
+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 +41,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
}
}
From b19bd18dbac2d907726d31617d870bbd8fae3e3e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 11 Jun 2024 21:46:37 -0400
Subject: [PATCH 3/9] New package: gimp2-2.10.38
---
common/shlibs | 9 ++
srcpkgs/gimp2-devel | 1 +
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 | 59 ++++++++
srcpkgs/gimp2/update | 2 +
srcpkgs/libgimp2 | 1 +
9 files changed, 330 insertions(+)
create mode 120000 srcpkgs/gimp2-devel
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
create mode 120000 srcpkgs/libgimp2
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-devel b/srcpkgs/gimp2-devel
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/gimp2-devel
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
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 <fweimer@redhat.com>
+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..6e4cd9a04cd410
--- /dev/null
+++ b/srcpkgs/gimp2/template
@@ -0,0 +1,59 @@
+# 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 <fosslinux@aussies.space>"
+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" \;
+ vsed -i -e "s/org.gimp.GIMP/&${version%%.*}/" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml"
+ mv "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP${version%%.*}.appdata.xml"
+}
+
+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.*"
diff --git a/srcpkgs/libgimp2 b/srcpkgs/libgimp2
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/libgimp2
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
From f2a69ebc29a6fb16b82601badcb01ddc371bea14 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <joshua@kraemer.link>"
From 00d32799a0bb1612100c5f036adb78b131c8aee6 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
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 f784b4fbb6c0f4fe9fc001ffd9b0498270541160 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:10 -0400
Subject: [PATCH 6/9] nufraw: rebuild against libgimp2
---
srcpkgs/nufraw/template | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/nufraw/template b/srcpkgs/nufraw/template
index 551f263df96d38..8748aa91afc779 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"
@@ -18,6 +18,7 @@ license="GPL-2.0-or-later"
homepage="https://sourceforge.net/projects/nufraw/"
distfiles="${SOURCEFORGE_SITE}/nufraw/nufraw-${_ver}.tar.gz"
checksum=2c7dcc1590993ec267b3112562b2433010d6f94f6acc6506c76aa29cf8c6c32c
+conflicts="dcraw>=0"
case "$XBPS_TARGET_MACHINE" in
armv[67]l* | aarch64* | riscv64*)
@@ -36,8 +37,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 7b4e6a13e5ebbe55389fbd523a986969ab17d260 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
@@ -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 bef3cce89ef57c0aedf9c5392a1f8b6e45c79e1b Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
license="GPL-2.0-or-later"
homepage="http://liquidrescale.wikidot.com/"
From 958502e8c4b28fd269a723b4631b6fbaa6c43fc5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
` (6 preceding siblings ...)
2024-06-12 6:50 ` classabbyamp
@ 2024-09-11 1:56 ` github-actions
2024-10-26 4:39 ` [PR PATCH] [Updated] " classabbyamp
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: github-actions @ 2024-09-11 1:56 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 305 bytes --]
New comment by github-actions[bot] on void-packages repository
https://github.com/void-linux/void-packages/pull/49890#issuecomment-2342460598
Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR PATCH] [Updated] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
` (7 preceding siblings ...)
2024-09-11 1:56 ` github-actions
@ 2024-10-26 4:39 ` classabbyamp
2024-10-26 4:48 ` classabbyamp
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-10-26 4:39 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month: https://gitlab.gnome.org/GNOME/gimp/-/issues/10373
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
#### Plugins
- [ ] nufraw - not (yet) compatible
- [x] resynthesizer - compatible on in-dev branch
- [ ] gmic - not (yet) compatible
- [ ] xsane
- [ ] gimp-lqr-plugin - not (yet) compatible)
- [x] libjxl - disable because gimp supports it directly now
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 42660 bytes --]
From 795ff0ab05dc65ddae2ee5fa47acf72ac23908f8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 85ad84edf1b3d1b449369e7d49560fe3f280fe65 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 | 58 +++---
9 files changed, 69 insertions(+), 287 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 6d083594e55a51..2622baf6d65c80 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -560,15 +560,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..24e3bddd8303ba
--- /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 plugins, 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 <fweimer@redhat.com>
-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 <jehan@girinstud.io>
+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 a50409d5ce5af1..1c892bc904c414 100644
--- a/srcpkgs/gimp/template
+++ b/srcpkgs/gimp/template
@@ -1,34 +1,37 @@
# 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=2.99.18
+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-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 <fosslinux@aussies.space>"
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
-}
+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 +41,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
}
}
From a355dc7a05298fe67cfc41a63e759f1aaaa6aa93 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 11 Jun 2024 21:46:37 -0400
Subject: [PATCH 3/9] New package: gimp2-2.10.38
---
common/shlibs | 9 ++
srcpkgs/gimp2-devel | 1 +
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 | 59 ++++++++
srcpkgs/gimp2/update | 2 +
srcpkgs/libgimp2 | 1 +
9 files changed, 330 insertions(+)
create mode 120000 srcpkgs/gimp2-devel
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
create mode 120000 srcpkgs/libgimp2
diff --git a/common/shlibs b/common/shlibs
index 2622baf6d65c80..d7bfbc438e21d1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -560,6 +560,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-devel b/srcpkgs/gimp2-devel
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/gimp2-devel
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
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 <fweimer@redhat.com>
+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..6e4cd9a04cd410
--- /dev/null
+++ b/srcpkgs/gimp2/template
@@ -0,0 +1,59 @@
+# 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 <fosslinux@aussies.space>"
+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" \;
+ vsed -i -e "s/org.gimp.GIMP/&${version%%.*}/" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml"
+ mv "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP${version%%.*}.appdata.xml"
+}
+
+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.*"
diff --git a/srcpkgs/libgimp2 b/srcpkgs/libgimp2
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/libgimp2
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
From 810d3b9b6b3ebe53f59f6aaf926df17aaf073cb1 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/libjxl/template b/srcpkgs/libjxl/template
index bdf38b2432761f..6ee5975767fd9f 100644
--- a/srcpkgs/libjxl/template
+++ b/srcpkgs/libjxl/template
@@ -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-devel 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 <joshua@kraemer.link>"
From f2131e9acf4485c34a858ab2c10142a68d85248f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:09 -0400
Subject: [PATCH 5/9] gmic: rebuild against libgimp2
---
srcpkgs/gmic/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gmic/template b/srcpkgs/gmic/template
index 24d10147e3abad..a691c6231bb70e 100644
--- a/srcpkgs/gmic/template
+++ b/srcpkgs/gmic/template
@@ -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 <orphan@voidlinux.org>"
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 dae0acbb6c9caacbe99b7d25a0ea2d1dda4efde9 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:10 -0400
Subject: [PATCH 6/9] nufraw: rebuild against libgimp2
---
srcpkgs/nufraw/template | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/nufraw/template b/srcpkgs/nufraw/template
index 551f263df96d38..8748aa91afc779 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"
@@ -18,6 +18,7 @@ license="GPL-2.0-or-later"
homepage="https://sourceforge.net/projects/nufraw/"
distfiles="${SOURCEFORGE_SITE}/nufraw/nufraw-${_ver}.tar.gz"
checksum=2c7dcc1590993ec267b3112562b2433010d6f94f6acc6506c76aa29cf8c6c32c
+conflicts="dcraw>=0"
case "$XBPS_TARGET_MACHINE" in
armv[67]l* | aarch64* | riscv64*)
@@ -36,8 +37,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 ffa88b6b02c93b95cdaf856ebc208f50eb371ec1 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
@@ -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 1fa425972bd9aa3614a44cadddca85393b3ca6ac Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
license="GPL-2.0-or-later"
homepage="http://liquidrescale.wikidot.com/"
From 024de78dab966554fd966dcfb1a9518e3682230f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR PATCH] [Updated] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
` (8 preceding siblings ...)
2024-10-26 4:39 ` [PR PATCH] [Updated] " classabbyamp
@ 2024-10-26 4:48 ` classabbyamp
2024-10-26 11:53 ` classabbyamp
2024-11-07 20:54 ` classabbyamp
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-10-26 4:48 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month: https://gitlab.gnome.org/GNOME/gimp/-/issues/10373
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
#### Plugins
- [ ] nufraw - not (yet) compatible
- [x] resynthesizer - compatible on in-dev branch
- [ ] gmic - not (yet) compatible
- [ ] xsane
- [ ] gimp-lqr-plugin - not (yet) compatible)
- [x] libjxl - disable because gimp supports it directly now
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 42918 bytes --]
From 795ff0ab05dc65ddae2ee5fa47acf72ac23908f8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 85ad84edf1b3d1b449369e7d49560fe3f280fe65 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 | 58 +++---
9 files changed, 69 insertions(+), 287 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 6d083594e55a51..2622baf6d65c80 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -560,15 +560,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..24e3bddd8303ba
--- /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 plugins, 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 <fweimer@redhat.com>
-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 <jehan@girinstud.io>
+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 a50409d5ce5af1..1c892bc904c414 100644
--- a/srcpkgs/gimp/template
+++ b/srcpkgs/gimp/template
@@ -1,34 +1,37 @@
# 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=2.99.18
+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-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 <fosslinux@aussies.space>"
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
-}
+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 +41,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
}
}
From a355dc7a05298fe67cfc41a63e759f1aaaa6aa93 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 11 Jun 2024 21:46:37 -0400
Subject: [PATCH 3/9] New package: gimp2-2.10.38
---
common/shlibs | 9 ++
srcpkgs/gimp2-devel | 1 +
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 | 59 ++++++++
srcpkgs/gimp2/update | 2 +
srcpkgs/libgimp2 | 1 +
9 files changed, 330 insertions(+)
create mode 120000 srcpkgs/gimp2-devel
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
create mode 120000 srcpkgs/libgimp2
diff --git a/common/shlibs b/common/shlibs
index 2622baf6d65c80..d7bfbc438e21d1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -560,6 +560,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-devel b/srcpkgs/gimp2-devel
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/gimp2-devel
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
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 <fweimer@redhat.com>
+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..6e4cd9a04cd410
--- /dev/null
+++ b/srcpkgs/gimp2/template
@@ -0,0 +1,59 @@
+# 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 <fosslinux@aussies.space>"
+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" \;
+ vsed -i -e "s/org.gimp.GIMP/&${version%%.*}/" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml"
+ mv "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP${version%%.*}.appdata.xml"
+}
+
+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.*"
diff --git a/srcpkgs/libgimp2 b/srcpkgs/libgimp2
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/libgimp2
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
From 86f9314f4cacfc4685f2be94f6b0089022a106a6 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 bdf38b2432761f..3d054b570a7662 100644
--- a/srcpkgs/libjxl/template
+++ b/srcpkgs/libjxl/template
@@ -1,7 +1,7 @@
# Template file for 'libjxl'
pkgname=libjxl
version=0.10.3
-revision=2
+revision=3
_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-devel 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 <joshua@kraemer.link>"
From 7de3e3cf80ae73619f2edf12bb3773d6577decef Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:09 -0400
Subject: [PATCH 5/9] gmic: rebuild against libgimp2
---
srcpkgs/gmic/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gmic/template b/srcpkgs/gmic/template
index 24d10147e3abad..a691c6231bb70e 100644
--- a/srcpkgs/gmic/template
+++ b/srcpkgs/gmic/template
@@ -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 <orphan@voidlinux.org>"
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 35eb2067a45d54323a2f5da912fcf0aee51706e5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:10 -0400
Subject: [PATCH 6/9] nufraw: rebuild against libgimp2
---
srcpkgs/nufraw/template | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/nufraw/template b/srcpkgs/nufraw/template
index 551f263df96d38..8748aa91afc779 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"
@@ -18,6 +18,7 @@ license="GPL-2.0-or-later"
homepage="https://sourceforge.net/projects/nufraw/"
distfiles="${SOURCEFORGE_SITE}/nufraw/nufraw-${_ver}.tar.gz"
checksum=2c7dcc1590993ec267b3112562b2433010d6f94f6acc6506c76aa29cf8c6c32c
+conflicts="dcraw>=0"
case "$XBPS_TARGET_MACHINE" in
armv[67]l* | aarch64* | riscv64*)
@@ -36,8 +37,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 a0d66afe2e85b0567b3478f5ba6dd77b950d4fa5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
@@ -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 3c36138ee32fa7107861a7d1ce4c83ee05357289 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
license="GPL-2.0-or-later"
homepage="http://liquidrescale.wikidot.com/"
From a21e28c72a0262be3260ffd51b41c82dba348fb2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR PATCH] [Updated] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
` (9 preceding siblings ...)
2024-10-26 4:48 ` classabbyamp
@ 2024-10-26 11:53 ` classabbyamp
2024-11-07 20:54 ` classabbyamp
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-10-26 11:53 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month: https://gitlab.gnome.org/GNOME/gimp/-/issues/10373
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
#### Plugins
- [ ] nufraw - not (yet) compatible
- [x] resynthesizer - compatible on in-dev branch
- [ ] gmic - not (yet) compatible
- [ ] xsane
- [ ] gimp-lqr-plugin - not (yet) compatible)
- [x] libjxl - disable because gimp supports it directly now
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 44108 bytes --]
From 795ff0ab05dc65ddae2ee5fa47acf72ac23908f8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 ddf9f218c8ec09e17c24898d3babd1bf4e26296f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 +++
.../gimp/patches/libheif-1.18-compat.patch | 20 ---
srcpkgs/gimp/template | 58 +++---
10 files changed, 69 insertions(+), 307 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
delete mode 100644 srcpkgs/gimp/patches/libheif-1.18-compat.patch
diff --git a/common/shlibs b/common/shlibs
index 6d083594e55a51..2622baf6d65c80 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -560,15 +560,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..24e3bddd8303ba
--- /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 plugins, 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 <fweimer@redhat.com>
-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 <jehan@girinstud.io>
+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/patches/libheif-1.18-compat.patch b/srcpkgs/gimp/patches/libheif-1.18-compat.patch
deleted file mode 100644
index e714d25f2bab6b..00000000000000
--- 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 a50409d5ce5af1..1c892bc904c414 100644
--- a/srcpkgs/gimp/template
+++ b/srcpkgs/gimp/template
@@ -1,34 +1,37 @@
# 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=2.99.18
+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-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 <fosslinux@aussies.space>"
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
-}
+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 +41,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
}
}
From 1cf792f2b670062008d23b4178526fa2c6289458 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 11 Jun 2024 21:46:37 -0400
Subject: [PATCH 3/9] New package: gimp2-2.10.38
---
common/shlibs | 9 ++
srcpkgs/gimp2-devel | 1 +
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 | 59 ++++++++
srcpkgs/gimp2/update | 2 +
srcpkgs/libgimp2 | 1 +
9 files changed, 330 insertions(+)
create mode 120000 srcpkgs/gimp2-devel
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
create mode 120000 srcpkgs/libgimp2
diff --git a/common/shlibs b/common/shlibs
index 2622baf6d65c80..d7bfbc438e21d1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -560,6 +560,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-devel b/srcpkgs/gimp2-devel
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/gimp2-devel
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
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 <fweimer@redhat.com>
+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..6e4cd9a04cd410
--- /dev/null
+++ b/srcpkgs/gimp2/template
@@ -0,0 +1,59 @@
+# 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 <fosslinux@aussies.space>"
+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" \;
+ vsed -i -e "s/org.gimp.GIMP/&${version%%.*}/" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml"
+ mv "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP${version%%.*}.appdata.xml"
+}
+
+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.*"
diff --git a/srcpkgs/libgimp2 b/srcpkgs/libgimp2
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/libgimp2
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
From 32b5cd6487a6404bc62f7dfb99bed996b91928fe Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 bdf38b2432761f..3d054b570a7662 100644
--- a/srcpkgs/libjxl/template
+++ b/srcpkgs/libjxl/template
@@ -1,7 +1,7 @@
# Template file for 'libjxl'
pkgname=libjxl
version=0.10.3
-revision=2
+revision=3
_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-devel 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 <joshua@kraemer.link>"
From 5b27182fa2bf22c54fe9e6aa4900a8ef22cd6786 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:09 -0400
Subject: [PATCH 5/9] gmic: rebuild against libgimp2
---
srcpkgs/gmic/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gmic/template b/srcpkgs/gmic/template
index 24d10147e3abad..a691c6231bb70e 100644
--- a/srcpkgs/gmic/template
+++ b/srcpkgs/gmic/template
@@ -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 <orphan@voidlinux.org>"
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 eb6e909b17b6857efe783268217f8c3abbb4d7a9 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:10 -0400
Subject: [PATCH 6/9] nufraw: rebuild against libgimp2
---
srcpkgs/nufraw/template | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/nufraw/template b/srcpkgs/nufraw/template
index 551f263df96d38..8748aa91afc779 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"
@@ -18,6 +18,7 @@ license="GPL-2.0-or-later"
homepage="https://sourceforge.net/projects/nufraw/"
distfiles="${SOURCEFORGE_SITE}/nufraw/nufraw-${_ver}.tar.gz"
checksum=2c7dcc1590993ec267b3112562b2433010d6f94f6acc6506c76aa29cf8c6c32c
+conflicts="dcraw>=0"
case "$XBPS_TARGET_MACHINE" in
armv[67]l* | aarch64* | riscv64*)
@@ -36,8 +37,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 480b1c1c194e373c9eb647af3a15a14858b901d9 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <orphan@voidlinux.org>"
@@ -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 4fa3f5338304c78f7cf737da5c898daeca2210a9 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
license="GPL-2.0-or-later"
homepage="http://liquidrescale.wikidot.com/"
From 8c4b5f1c262eb239677ee2200cb5da2758c109ec Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
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 <micvlas@gmail.com>"
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PR PATCH] [Updated] GIMP 3
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
` (10 preceding siblings ...)
2024-10-26 11:53 ` classabbyamp
@ 2024-11-07 20:54 ` classabbyamp
11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2024-11-07 20:54 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages gimp3
https://github.com/void-linux/void-packages/pull/49890
GIMP 3
WIP until at minimum the full GIMP 3 release, expected in about a month: https://gitlab.gnome.org/GNOME/gimp/-/issues/10373
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
#### Plugins
- [ ] nufraw - not (yet) compatible
- [x] resynthesizer - compatible on in-dev branch
- [ ] gmic - not (yet) compatible
- [ ] xsane
- [ ] gimp-lqr-plugin - not (yet) compatible)
- [x] libjxl - disable because gimp supports it directly now
A patch file from https://github.com/void-linux/void-packages/pull/49890.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gimp3-49890.patch --]
[-- Type: text/x-diff, Size: 46930 bytes --]
From 7de398301fa3c2790a3d2dd013e5ca69f1f17994 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:35 -0400
Subject: [PATCH 01/10] gegl: update to 0.4.50.
---
srcpkgs/gegl/template | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/gegl/template b/srcpkgs/gegl/template
index 5d4b070cd703ee..b116a6726036a3 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.50
+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=6084969b06ee86ca71142133773f27e13f02e5a6a22c2cfce452ecaaddb790c1
case "$XBPS_TARGET_MACHINE" in
arm*) configure_args+=" -Db_lto=false"
From b6ae894626decf7f883f3e29876e949838aea712 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Wed, 6 Nov 2024 12:41:45 -0500
Subject: [PATCH 02/10] babl: update to 0.1.110.
---
srcpkgs/babl/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/babl/template b/srcpkgs/babl/template
index a635b6b485feca..a4c0df506a804f 100644
--- a/srcpkgs/babl/template
+++ b/srcpkgs/babl/template
@@ -1,6 +1,6 @@
# Template file for 'babl'
pkgname=babl
-version=0.1.106
+version=0.1.110
revision=1
build_style=meson
build_helper=gir
@@ -13,7 +13,7 @@ license="LGPL-3.0-only"
homepage="https://gegl.org/babl/"
changelog="https://gitlab.gnome.org/GNOME/babl/-/raw/master/NEWS"
distfiles="https://download.gimp.org/pub/babl/${version%.*}/babl-${version}.tar.xz"
-checksum=d325135d3304f088c134cc620013acf035de2e5d125a50a2d91054e7377c415f
+checksum=bf47be7540d6275389f66431ef03064df5376315e243d0bab448c6aa713f5743
case "$XBPS_TARGET_MACHINE" in
arm*) configure_args+=" -Db_lto=false"
From 106aac99af2ecc19fa5ef01d42d90cca18169d51 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:29 -0400
Subject: [PATCH 03/10] gimp: update to 3.0.0+rc1.
---
common/shlibs | 36 +++-
srcpkgs/gimp-python | 1 -
srcpkgs/gimp/INSTALL | 2 +-
srcpkgs/gimp/INSTALL.msg | 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 | 63 -------
.../gimp/patches/libheif-1.18-compat.patch | 20 ---
srcpkgs/gimp/template | 55 +++---
11 files changed, 96 insertions(+), 306 deletions(-)
delete mode 120000 srcpkgs/gimp-python
create mode 100644 srcpkgs/gimp/INSTALL.msg
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 a1657e4c08bbfc..734ddc0be32580 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -560,15 +560,33 @@ 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
+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-3.0.0+rc1_1
+libgimpwidgets-3.0.so.0 libgimp-3.0.0+rc1_1
+libgimpui-3.0.so.0 libgimp-3.0.0+rc1_1
+libgimpbase-3.0.so.0 libgimp-3.0.0+rc1_1
+libgimpthumb-3.0.so.0 libgimp-3.0.0+rc1_1
+libgimpconfig-3.0.so.0 libgimp-3.0.0+rc1_1
+libgimpmath-3.0.so.0 libgimp-3.0.0+rc1_1
+libgimpcolor-3.0.so.0 libgimp-3.0.0+rc1_1
+libgimpmodule-3.0.so.0 libgimp-3.0.0+rc1_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..24e3bddd8303ba
--- /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 plugins, install gimp2.
diff --git a/srcpkgs/gimp/patches/atol.patch b/srcpkgs/gimp/patches/atol.patch
new file mode 100644
index 00000000000000..3d660783db053b
--- /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 <q66@chimera-linux.org>
+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 00000000000000..47a7c225dd38ea
--- /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 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 <fweimer@redhat.com>
-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/libheif-1.18-compat.patch b/srcpkgs/gimp/patches/libheif-1.18-compat.patch
deleted file mode 100644
index e714d25f2bab6b..00000000000000
--- 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 a50409d5ce5af1..e124731dac642e 100644
--- a/srcpkgs/gimp/template
+++ b/srcpkgs/gimp/template
@@ -1,34 +1,36 @@
# 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+rc1
+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"
+checkdepends="xvfb-run dbus"
short_desc="GNU image manipulation program"
conf_files="/etc/gimp/${version%%.*}.0/*"
maintainer="fosslinux <fosslinux@aussies.space>"
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=b3d0b264c5e38e789faaf3417003397f3240014c59c7f417f9ca3bd39c5ffb66
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 [ -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 +40,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
}
}
From 187a038745e09fc0f24d5eae77849cadc09bc1cd Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 11 Jun 2024 21:46:37 -0400
Subject: [PATCH 04/10] New package: gimp2-2.10.38
---
common/shlibs | 9 ++
srcpkgs/gimp2-devel | 1 +
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 | 59 ++++++++
srcpkgs/gimp2/update | 2 +
srcpkgs/libgimp2 | 1 +
9 files changed, 330 insertions(+)
create mode 120000 srcpkgs/gimp2-devel
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
create mode 120000 srcpkgs/libgimp2
diff --git a/common/shlibs b/common/shlibs
index 734ddc0be32580..88a8966351d72b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -560,6 +560,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-devel b/srcpkgs/gimp2-devel
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/gimp2-devel
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
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 <fweimer@redhat.com>
+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..6e4cd9a04cd410
--- /dev/null
+++ b/srcpkgs/gimp2/template
@@ -0,0 +1,59 @@
+# 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 <fosslinux@aussies.space>"
+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" \;
+ vsed -i -e "s/org.gimp.GIMP/&${version%%.*}/" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml"
+ mv "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP.appdata.xml" "${DESTDIR}/usr/share/metainfo/org.gimp.GIMP${version%%.*}.appdata.xml"
+}
+
+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.*"
diff --git a/srcpkgs/libgimp2 b/srcpkgs/libgimp2
new file mode 120000
index 00000000000000..cae4fa79d617de
--- /dev/null
+++ b/srcpkgs/libgimp2
@@ -0,0 +1 @@
+gimp2
\ No newline at end of file
From 67f1829376bb39e49a2ecd103b1265a5398c1828 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:08 -0400
Subject: [PATCH 05/10] 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 bdf38b2432761f..3d054b570a7662 100644
--- a/srcpkgs/libjxl/template
+++ b/srcpkgs/libjxl/template
@@ -1,7 +1,7 @@
# Template file for 'libjxl'
pkgname=libjxl
version=0.10.3
-revision=2
+revision=3
_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-devel 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 <joshua@kraemer.link>"
From 7a1fbc4099562a5dd60dfa37ac2e95be6204e46c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:09 -0400
Subject: [PATCH 06/10] gmic: rebuild against libgimp2
---
srcpkgs/gmic/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/gmic/template b/srcpkgs/gmic/template
index 24d10147e3abad..a691c6231bb70e 100644
--- a/srcpkgs/gmic/template
+++ b/srcpkgs/gmic/template
@@ -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 <orphan@voidlinux.org>"
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 e46b6e21d6e390ce9e9a5849c446743067c4a5c2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:10 -0400
Subject: [PATCH 07/10] nufraw: rebuild against libgimp2
---
srcpkgs/nufraw/template | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/nufraw/template b/srcpkgs/nufraw/template
index 551f263df96d38..8748aa91afc779 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"
@@ -18,6 +18,7 @@ license="GPL-2.0-or-later"
homepage="https://sourceforge.net/projects/nufraw/"
distfiles="${SOURCEFORGE_SITE}/nufraw/nufraw-${_ver}.tar.gz"
checksum=2c7dcc1590993ec267b3112562b2433010d6f94f6acc6506c76aa29cf8c6c32c
+conflicts="dcraw>=0"
case "$XBPS_TARGET_MACHINE" in
armv[67]l* | aarch64* | riscv64*)
@@ -36,8 +37,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 8790ff8d3872b9e44c753fc8ab0fc93ab70d7ee9 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:11 -0400
Subject: [PATCH 08/10] 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 <orphan@voidlinux.org>"
@@ -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 290b6464100f6bb1bd2f4b7f5c0c8b1db524e158 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 02:44:11 -0400
Subject: [PATCH 09/10] 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 <micvlas@gmail.com>"
license="GPL-2.0-or-later"
homepage="http://liquidrescale.wikidot.com/"
From bc6ea98f61d36be0d516cd6f302f441540f87c97 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 18 Apr 2024 03:22:14 -0400
Subject: [PATCH 10/10] resynthesizer: update to 2.0.3+3.
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..271cc419fd005a 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+3
revision=1
-_commit=701e890d1d456e215e05daa7b4a88f5d9c6c03b3
-build_style=gnu-configure
-hostmakedepends="automake intltool pkg-config"
+_commit=12a967da9d723321b06e37c2b601cb77c320aedd
+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 <micvlas@gmail.com>"
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=de92e808b7415e44c8b6305f2e2e7985269dfc774d00ad06ee323d243f51bef8
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-11-07 20:54 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-18 7:24 [PR PATCH] GIMP 3 classabbyamp
2024-04-18 7:26 ` [PR REVIEW] " classabbyamp
2024-04-18 7:26 ` classabbyamp
2024-04-21 20:02 ` [PR PATCH] [Updated] " classabbyamp
2024-06-12 2:23 ` classabbyamp
2024-06-12 2:28 ` classabbyamp
2024-06-12 5:21 ` classabbyamp
2024-06-12 6:50 ` classabbyamp
2024-09-11 1:56 ` github-actions
2024-10-26 4:39 ` [PR PATCH] [Updated] " classabbyamp
2024-10-26 4:48 ` classabbyamp
2024-10-26 11:53 ` classabbyamp
2024-11-07 20:54 ` classabbyamp
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).