From c68195a6c371dfddf7d24dd94cd9210621a3deb4 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sat, 19 Nov 2022 11:40:08 +1000 Subject: [PATCH] gimp: bump version --- ...gimp-2.99.8.recipe => gimp-2.99.14.recipe} | 112 +++--- media-gfx/gimp/patches/gimp-2.99.14.patchset | 321 ++++++++++++++++++ media-gfx/gimp/patches/gimp-2.99.8.patchset | 126 ------- 3 files changed, 379 insertions(+), 180 deletions(-) rename media-gfx/gimp/{gimp-2.99.8.recipe => gimp-2.99.14.recipe} (67%) create mode 100644 media-gfx/gimp/patches/gimp-2.99.14.patchset delete mode 100644 media-gfx/gimp/patches/gimp-2.99.8.patchset diff --git a/media-gfx/gimp/gimp-2.99.8.recipe b/media-gfx/gimp/gimp-2.99.14.recipe similarity index 67% rename from media-gfx/gimp/gimp-2.99.8.recipe rename to media-gfx/gimp/gimp-2.99.14.recipe index ac2b53e90..66d9bf590 100644 --- a/media-gfx/gimp/gimp-2.99.8.recipe +++ b/media-gfx/gimp/gimp-2.99.14.recipe @@ -8,14 +8,14 @@ and 3rd party plugins." HOMEPAGE="https://www.gimp.org/" COPYRIGHT="The GIMP Team" LICENSE="GNU GPL v3" -REVISION="5" -SOURCE_URI="https://download.gimp.org/mirror/pub/gimp/v2.99/gimp-$portVersion.tar.bz2" -CHECKSUM_SHA256="dd916bd3474ef2efc652a0510280977ab8ea95e3d95d918394b0662261c32aae" +REVISION="1" +SOURCE_URI="https://download.gimp.org/mirror/pub/gimp/v2.99/gimp-$portVersion.tar.xz" +CHECKSUM_SHA256="313a205475d1ff03c5c4d9602f09f5c975ba6c1c79d8843e2396f9fe2abdf7a8" PATCHES="gimp-$portVersion.patchset" ADDITIONAL_FILES="gimp.rdef.in" ARCHITECTURES="all !x86_gcc2" -SECONDARY_ARCHITECTURES="?x86" +SECONDARY_ARCHITECTURES="x86" GLOBAL_WRITABLE_FILES=" settings/gimp/2.99/controllerrc keep-old @@ -28,21 +28,37 @@ GLOBAL_WRITABLE_FILES=" settings/gimp/2.99/unitrc keep-old " +commandSuffix=$secondaryArchSuffix +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + PROVIDES=" gimp$secondaryArchSuffix = $portVersion app:GIMP = $portVersion - cmd:gimp_console_2.99$secondaryArchSuffix = $portVersion - cmd:gimp_test_clipboard_2.99$secondaryArchSuffix = $portVersion - cmd:gimptool_2.99$secondaryArchSuffix = $portVersion - lib:libgimp_3.0$secondaryArchSuffix = 0.9900.8 compat >= 0 - lib:libgimpbase_3.0$secondaryArchSuffix = 0.9900.8 compat >= 0 - lib:libgimpcolor_3.0$secondaryArchSuffix = 0.9900.8 compat >= 0 - lib:libgimpconfig_3.0$secondaryArchSuffix = 0.9900.8 compat >= 0 - lib:libgimpmath_3.0$secondaryArchSuffix = 0.9900.8 compat >= 0 - lib:libgimpmodule_3.0$secondaryArchSuffix = 0.9900.8 compat >= 0 - lib:libgimpthumb_3.0$secondaryArchSuffix = 0.9900.8 compat >= 0 - lib:libgimpui_3.0$secondaryArchSuffix = 0.9900.8 compat >= 0 - lib:libgimpwidgets_3.0$secondaryArchSuffix = 0.9900.8 compat >= 0 + cmd:gimp$commandSuffix = $portVersion + cmd:gimp_2.99$commandSuffix = $portVersion + cmd:gimp_console$commandSuffix = $portVersion + cmd:gimp_console_2.99$commandSuffix = $portVersion + cmd:gimp_debug_tool$commandSuffix = $portVersion + cmd:gimp_debug_tool_2.99$commandSuffix = $portVersion + cmd:gimp_script_fu_interpreter_3.0$commandSuffix = $portVersion + cmd:gimp_test_clipboard$commandSuffix = $portVersion + cmd:gimp_test_clipboard_2.99$commandSuffix = $portVersion + cmd:gimptool$commandSuffix = $portVersion + cmd:gimptool_2.99$commandSuffix = $portVersion + lib:libgimp_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 + lib:libgimp_scriptfu_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 + lib:libgimpbase_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 + lib:libgimpcolor_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 + lib:libgimpconfig_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 + lib:libgimpmath_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 + lib:libgimpmodule_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 + lib:libgimpthumb_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 + lib:libgimpui_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 + lib:libgimpwidgets_3.0$secondaryArchSuffix = 0.0.14 compat >= 0 " REQUIRES=" haiku$secondaryArchSuffix @@ -53,7 +69,6 @@ REQUIRES=" lib:libatk_1.0$secondaryArchSuffix lib:libbabl_0.1$secondaryArchSuffix lib:libcairo$secondaryArchSuffix - lib:libexecinfo$secondaryArchSuffix lib:libexiv2$secondaryArchSuffix lib:libfontconfig$secondaryArchSuffix lib:libfreetype$secondaryArchSuffix @@ -89,11 +104,11 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel mypaint_brushes + wayland_protocols devel:libappstream_glib$secondaryArchSuffix devel:libarchive$secondaryArchSuffix devel:libatk_1.0$secondaryArchSuffix devel:libbabl_0.1$secondaryArchSuffix - devel:libexecinfo$secondaryArchSuffix devel:libexiv2$secondaryArchSuffix devel:libcairo$secondaryArchSuffix devel:libfontconfig$secondaryArchSuffix @@ -118,21 +133,22 @@ BUILD_REQUIRES=" devel:librsvg_2$secondaryArchSuffix devel:libtiff$secondaryArchSuffix devel:libuuid$secondaryArchSuffix >= 1.3 + devel:libwayland_client$secondaryArchSuffix + devel:libwayland_server$secondaryArchSuffix devel:libxml2$secondaryArchSuffix devel:libxslt$secondaryArchSuffix devel:libz$secondaryArchSuffix lib:libglib_networking_2.0$secondaryArchSuffix " BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake cmd:gcc$secondaryArchSuffix cmd:gtkdocize cmd:intltool_update cmd:ld$secondaryArchSuffix cmd:libtoolize$secondaryArchSuffix cmd:make + cmd:meson + cmd:ninja cmd:perl cmd:pkg_config$secondaryArchSuffix cmd:update_mime_database$secondaryArchSuffix @@ -140,52 +156,40 @@ BUILD_PREREQUIRES=" BUILD() { - cp -Rf /system/data/mime /tmp/mime - export XDG_DATA_DIRS="/tmp/mime:/system/data" - export XDG_DATA_HOME="/tmp/mime" - update-mime-database /tmp/mime + LDFLAGS="-lnetwork" \ + meson Build \ + --buildtype=release \ + --prefix="$prefix" \ + --libdir="$libDir" \ + --includedir="$includeDir" \ + --bindir="$commandBinDir" \ + --libexecdir="$commandBinDir" \ + --datadir="$dataDir" \ + --localedir="$dataDir/locale" \ + --sysconfdir="$settingsDir" \ + -Dgimpdir="GIMP/2.99" \ + -Dshmem-type=posix \ + -Dcheck-update=no \ + -Dxcursor=disabled - export GDK_PIXBUF_MODULE_FILE="/tmp/loaders.cache" - gdk-pixbuf-query-loaders > $GDK_PIXBUF_MODULE_FILE - - export LIBS="-lnetwork" - - autoreconf -f -i - - runConfigure ./configure \ - --enable-introspection=no \ - --disable-check-update \ - --disable-mp \ - --disable-rpath \ - --without-webkit \ - --without-libbacktrace \ - --without-appdata-test \ - --without-cairo-pdf \ - --without-xmc \ - --with-shm=none \ - --with-vala=no \ - --with-lua=no \ - --with-javascript=no \ - --with-python=no - - make $jobArgs + ninja -C Build } INSTALL() { - make install + ninja install -C Build mkdir -p $appsDir - mv $prefix/share/locale/* $dataDir/locale - mv $binDir/gimp-2.99 $appsDir/GIMP + mv $commandBinDir/gimp-2.99 $appsDir/GIMP + ln -s $appsDir/GIMP $commandBinDir/gimp-2.99 rm -rf \ $prefix/share \ $developDir \ $libDir/*.la \ $libDir/pkgconfig \ - $dataDir/{metainfo,icons,gtk-doc,applications,aclocal} + $dataDir/{metainfo,gtk-doc,applications,aclocal} local APP_SIGNATURE="application/x-vnd.gnu-gimp" local MAJOR="`echo "$portVersion" | cut -d. -f1`" @@ -200,6 +204,6 @@ INSTALL() -e "s|@LONG_INFO@|$LONG_INFO|" \ $portDir/additional-files/gimp.rdef.in > gimp.rdef - addResourcesToBinaries gimp.rdef $appsDir/GIMP + addResourcesToBinaries gimp.rdef $commandBinDir/gimp-2.99 addAppDeskbarSymlink $appsDir/GIMP } diff --git a/media-gfx/gimp/patches/gimp-2.99.14.patchset b/media-gfx/gimp/patches/gimp-2.99.14.patchset new file mode 100644 index 000000000..038a7a0f9 --- /dev/null +++ b/media-gfx/gimp/patches/gimp-2.99.14.patchset @@ -0,0 +1,321 @@ +From 2574804c7277f39edc0cba39f0f7cfc4a1db77df Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Fri, 18 Nov 2022 23:26:23 +1000 +Subject: Fix build for Haiku + + +diff --git a/extensions/meson.build b/extensions/meson.build +index 4c40775..a4bc366 100644 +--- a/extensions/meson.build ++++ b/extensions/meson.build +@@ -1 +1 @@ +-subdir('goat-exercises') ++#subdir('goat-exercises') +diff --git a/libgimpbase/gimputils.c b/libgimpbase/gimputils.c +index 227efd5..a891ef6 100644 +--- a/libgimpbase/gimputils.c ++++ b/libgimpbase/gimputils.c +@@ -50,7 +50,9 @@ + + /* For thread IDs. */ + #include ++#ifndef __HAIKU__ + #include ++#endif + + #ifdef HAVE_SYS_PRCTL_H + #include +diff --git a/meson.build b/meson.build +index daae225..e951060 100644 +--- a/meson.build ++++ b/meson.build +@@ -150,6 +150,10 @@ if platform_osx + conf.set('PLATFORM_OSX', 1) + endif + ++platform_haiku = ( ++ host_os.contains('haiku') ++) ++ + if platform_windows + windows = import('windows') + # AC_CHECK_PROG(ms_librarian, lib.exe, yes, no) +@@ -585,7 +589,7 @@ detailed_backtraces = ( + ################################################################################ + # Check for x11 support + +-x11_target = gtk3.get_variable(pkgconfig: 'targets').contains('x11') ++x11_target = false + + x11 = x11_target ? dependency('x11') : no_dep + xmu = x11_target ? dependency('xmu') : no_dep +@@ -1486,10 +1490,7 @@ endif + + + # git-version.h is already present and not generated if dist tarball +-is_git_repository = run_command('python3', '-c', +- 'import sys,os; sys.exit(0 if os.path.exists(".git") else 1)', +- check: false +-).returncode() == 0 ++is_git_repository = false + + has_version_h = run_command('python3', '-c', + 'import sys,os; sys.exit(0 if os.path.exists("git-version.h") else 1)', +diff --git a/plug-ins/meson.build b/plug-ins/meson.build +index 22556d6..c687610 100644 +--- a/plug-ins/meson.build ++++ b/plug-ins/meson.build +@@ -28,7 +28,7 @@ subdir('metadata') + subdir('pagecurl') + subdir('print') + subdir('python') +-subdir('screenshot') ++#subdir('screenshot') + subdir('script-fu') + subdir('selection-to-path') + subdir('twain') +diff --git a/plug-ins/script-fu/server/script-fu-server.c b/plug-ins/script-fu/server/script-fu-server.c +index d9544f1..c278be7 100644 +--- a/plug-ins/script-fu/server/script-fu-server.c ++++ b/plug-ins/script-fu/server/script-fu-server.c +@@ -115,7 +115,7 @@ typedef short sa_family_t; /* Not defined by winsock */ + #define difftime(a,b) (((gdouble)(a)) - ((gdouble)(b))) + #endif + +-#ifndef NO_FD_SET ++#if !defined(NO_FD_SET) || defined(__HAIKU__) + # define SELECT_MASK fd_set + #else + # ifndef _AIX +-- +2.37.3 + + +From cbd1cab2d925a02f25f854fc537b9a15cdf761ab Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Fri, 18 Nov 2022 23:26:58 +1000 +Subject: Use load_image instead g_spawn_async + + +diff --git a/app/core/gimp-spawn.c b/app/core/gimp-spawn.c +index bfa08e8..6aeb5b4 100644 +--- a/app/core/gimp-spawn.c ++++ b/app/core/gimp-spawn.c +@@ -22,6 +22,10 @@ + + #include + ++#ifdef __HAIKU__ ++#undef HAVE_VFORK ++#endif ++ + #ifdef HAVE_VFORK + #include + #include +@@ -38,6 +42,11 @@ + #include + #endif + ++#ifdef __HAIKU__ ++#include ++#include ++#endif ++ + #include "core-types.h" + + #include "gimp-spawn.h" +@@ -166,6 +175,25 @@ gimp_spawn_async (gchar **argv, + { + g_return_val_if_fail (argv != NULL, FALSE); + g_return_val_if_fail (argv[0] != NULL, FALSE); ++ ++#ifdef __HAIKU__ ++ ++ int argc = 0; ++ while (argv[argc] != NULL) argc++; ++ team_id team = load_image(argc, argv, envp); ++ if (team < 0) { ++ g_set_error (error, ++ G_SPAWN_ERROR, ++ G_SPAWN_ERROR_FORK, ++ _("Failed to fork (%s)"), ++ g_strerror (team)); ++ return FALSE; ++ } ++ resume_thread(team); ++ *child_pid = team; ++ return TRUE; ++ ++#else + + #ifdef HAVE_VFORK + if (flags == (G_SPAWN_LEAVE_DESCRIPTORS_OPEN | +@@ -235,6 +263,7 @@ gimp_spawn_async (gchar **argv, + #endif /* HAVE_VFORK */ + + return g_spawn_async (NULL, argv, envp, flags, NULL, NULL, child_pid, error); ++#endif /* __HAIKU__ */ + } + + void +-- +2.37.3 + + +From 34cd6ce1744147e8e13db144ea27c6f6d659e0fc Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Fri, 18 Nov 2022 23:27:18 +1000 +Subject: Fix preferences dialog freeze + + +diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c +index e1d3402..80b0d18 100644 +--- a/app/dialogs/preferences-dialog.c ++++ b/app/dialogs/preferences-dialog.c +@@ -1370,6 +1370,7 @@ prefs_dialog_new (Gimp *gimp, + * which case the feature is always available. + */ + hbox = NULL; ++#if 0 + if (! gimp_stack_trace_available (TRUE)) + { + #ifndef HAVE_EXECINFO_H +@@ -1381,6 +1382,7 @@ prefs_dialog_new (Gimp *gimp, + _("This feature is more efficient with \"gdb\" or \"lldb\" installed on your system.")); + #endif /* ! HAVE_EXECINFO_H */ + } ++#endif + if (hbox) + gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0); + +-- +2.37.3 + + +From 2268073ff3476307b22a2b0d20005306e17dc244 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Fri, 18 Nov 2022 23:28:02 +1000 +Subject: Dirty hack for XDG variables + + +diff --git a/app/main.c b/app/main.c +index e25edd1..aba431b 100644 +--- a/app/main.c ++++ b/app/main.c +@@ -555,6 +555,14 @@ main (int argc, + gint retval; + gint i; + ++#ifdef __HAIKU__ ++ g_setenv ("XDG_CONFIG_DIRS", "/boot/system/settings", FALSE); ++ g_setenv ("XDG_DATA_HOME", "/boot/home/config/non-packaged/data", FALSE); ++ g_setenv ("XDG_CONFIG_HOME", "/boot/home/config/settings", FALSE); ++ g_setenv ("XDG_CACHE_HOME", "/boot/home/config/cache", FALSE); ++ g_setenv ("XDG_DATA_DIRS", "/boot/system/non-packaged/data:/boot/system/data", FALSE); ++#endif ++ + #ifdef ENABLE_WIN32_DEBUG_CONSOLE + gimp_open_console_window (); + #endif +-- +2.37.3 + + +From ef6450e32859648bf76c180a74749d5c3ec0a863 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Fri, 18 Nov 2022 23:28:33 +1000 +Subject: Disable signal handlers + + +diff --git a/app/main.c b/app/main.c +index aba431b..2c801c5 100644 +--- a/app/main.c ++++ b/app/main.c +@@ -603,7 +603,7 @@ main (int argc, + gimp_backtrace_init (); + + /* Start signal handlers early. */ +- gimp_init_signal_handlers (&backtrace_file); ++ //gimp_init_signal_handlers (&backtrace_file); + + #ifdef G_OS_WIN32 + /* Reduce risks */ +diff --git a/libgimp/gimp.c b/libgimp/gimp.c +index 136740d..b6819f9 100644 +--- a/libgimp/gimp.c ++++ b/libgimp/gimp.c +@@ -270,8 +270,8 @@ gimp_main (GType plug_in_type, + /* Similar to core crash handling in app/signals.c, the order here + * is very important! + */ +- if (! _prevExceptionFilter) +- _prevExceptionFilter = SetUnhandledExceptionFilter (gimp_plugin_sigfatal_handler); ++// if (! _prevExceptionFilter) ++// _prevExceptionFilter = SetUnhandledExceptionFilter (gimp_plugin_sigfatal_handler); + + ExcHndlInit (); + ExcHndlSetLogFileNameA (plug_in_backtrace_path); +@@ -395,15 +395,15 @@ gimp_main (GType plug_in_type, + * about the program error, and offer debugging if the plug-in + * has been built with MSVC, and the user has MSVC installed. + */ +- gimp_signal_private (SIGHUP, gimp_plugin_sigfatal_handler, 0); +- gimp_signal_private (SIGINT, gimp_plugin_sigfatal_handler, 0); +- gimp_signal_private (SIGQUIT, gimp_plugin_sigfatal_handler, 0); +- gimp_signal_private (SIGTERM, gimp_plugin_sigfatal_handler, 0); +- +- gimp_signal_private (SIGABRT, gimp_plugin_sigfatal_handler, 0); +- gimp_signal_private (SIGBUS, gimp_plugin_sigfatal_handler, 0); +- gimp_signal_private (SIGSEGV, gimp_plugin_sigfatal_handler, 0); +- gimp_signal_private (SIGFPE, gimp_plugin_sigfatal_handler, 0); ++// gimp_signal_private (SIGHUP, gimp_plugin_sigfatal_handler, 0); ++// gimp_signal_private (SIGINT, gimp_plugin_sigfatal_handler, 0); ++// gimp_signal_private (SIGQUIT, gimp_plugin_sigfatal_handler, 0); ++// gimp_signal_private (SIGTERM, gimp_plugin_sigfatal_handler, 0); ++ ++// gimp_signal_private (SIGABRT, gimp_plugin_sigfatal_handler, 0); ++// gimp_signal_private (SIGBUS, gimp_plugin_sigfatal_handler, 0); ++// gimp_signal_private (SIGSEGV, gimp_plugin_sigfatal_handler, 0); ++// gimp_signal_private (SIGFPE, gimp_plugin_sigfatal_handler, 0); + + /* Ignore SIGPIPE from crashing Gimp */ + gimp_signal_private (SIGPIPE, SIG_IGN, 0); +diff --git a/libgimpbase/gimpsignal.c b/libgimpbase/gimpsignal.c +index 4e334f6..ca190a2 100644 +--- a/libgimpbase/gimpsignal.c ++++ b/libgimpbase/gimpsignal.c +@@ -69,7 +69,7 @@ gimp_signal_private (gint signum, + GimpSignalHandlerFunc handler, + gint flags) + { +-#ifndef G_OS_WIN32 ++#if !defined(G_OS_WIN32) && !defined(__HAIKU__) + gint ret; + struct sigaction sa; + struct sigaction osa; +-- +2.37.3 + + +From 3737516789be91e1ff470813d8330cf961a5e7c4 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Fri, 18 Nov 2022 23:29:16 +1000 +Subject: Disable introspection + + +diff --git a/libgimp/meson.build b/libgimp/meson.build +index 82a91e4..fa92bb8 100644 +--- a/libgimp/meson.build ++++ b/libgimp/meson.build +@@ -418,7 +418,7 @@ libgimpui_introspectable_files = [ + libgimpwidgets_introspectable, + ] + +-if meson.is_cross_build() and not get_option('can-crosscompile-gir') ++if (meson.is_cross_build() and not get_option('can-crosscompile-gir')) or host_os.contains('haiku') + have_gobject_introspection = false + gobject_introspection_warning = '\n '.join(['', + 'GObject Introspection is disabled while cross-compiling because', +-- +2.37.3 + diff --git a/media-gfx/gimp/patches/gimp-2.99.8.patchset b/media-gfx/gimp/patches/gimp-2.99.8.patchset deleted file mode 100644 index a79dd489e..000000000 --- a/media-gfx/gimp/patches/gimp-2.99.8.patchset +++ /dev/null @@ -1,126 +0,0 @@ -From 66c89a205627625e3951d0cd4c3d1c02f13054eb Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Fri, 12 Feb 2021 21:02:06 +1000 -Subject: Disable introspection - - -diff --git a/configure.ac b/configure.ac -index 83976fd..5653225 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -70,7 +70,7 @@ m4_define([gtk_required_version], [3.22.29]) - m4_define([gtkdoc_required_version], [1.0]) - m4_define([harfbuzz_required_version], [1.0.5]) - m4_define([intltool_required_version], [0.40.1]) --m4_define([introspection_required_version], [1.32.0]) -+#m4_define([introspection_required_version], [1.32.0]) - m4_define([json_glib_required_version], [1.2.6]) - m4_define([lcms_required_version], [2.8]) - m4_define([libgudev_required_version], [167]) -@@ -2309,7 +2309,7 @@ AM_CONDITIONAL(WITH_PDBGEN, test "x$with_pdbgen" = xyes) - # Check for GObject Introspection - ################################# - --GOBJECT_INTROSPECTION_REQUIRE(introspection_required_version) -+#GOBJECT_INTROSPECTION_REQUIRE(introspection_required_version) - - ##################### - # Check for json-glib --- -2.30.2 - - -From ff2801623aa28357e1175080b1c590f8a5f2740c Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Fri, 12 Feb 2021 21:59:05 +1000 -Subject: Fix build - - -diff --git a/libgimpbase/gimputils.c b/libgimpbase/gimputils.c -index 03892e0..63e3a2e 100644 ---- a/libgimpbase/gimputils.c -+++ b/libgimpbase/gimputils.c -@@ -50,7 +50,9 @@ - - /* For thread IDs. */ - #include -+#ifndef __HAIKU__ - #include -+#endif - - #ifdef HAVE_SYS_PRCTL_H - #include --- -2.30.2 - - -From e2dcf70dd7840fa38f2ff0d2feb6defbe85c4548 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Fri, 12 Feb 2021 22:47:59 +1000 -Subject: Remove introspection files - - -diff --git a/libgimp/Makefile.am b/libgimp/Makefile.am -index ce60e05..8aa3dd9 100644 ---- a/libgimp/Makefile.am -+++ b/libgimp/Makefile.am -@@ -392,10 +392,10 @@ GimpUi_@GIMP_API_MAJOR_VERSION@_@GIMP_API_MINOR_VERSION@_gir_SCANNERFLAGS = \ - - - girdir = $(datadir)/gir-1.0 --gir_DATA = $(INTROSPECTION_GIRS) -+gir_DATA = - - typelibdir = $(libdir)/girepository-1.0 --typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) -+typelib_DATA = - - CLEANFILES += $(gir_DATA) $(typelib_DATA) - --- -2.30.2 - - -From 80faf9d9a51e2cb29abfb238592599537dae0205 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sat, 29 Jan 2022 23:06:39 +1000 -Subject: Use posix_spawn instead g_spawn_async - - -diff --git a/app/core/gimp-spawn.c b/app/core/gimp-spawn.c -index bfa08e8..eb0e7bb 100644 ---- a/app/core/gimp-spawn.c -+++ b/app/core/gimp-spawn.c -@@ -166,6 +166,21 @@ gimp_spawn_async (gchar **argv, - { - g_return_val_if_fail (argv != NULL, FALSE); - g_return_val_if_fail (argv[0] != NULL, FALSE); -+ -+#ifdef __HAIKU__ -+ -+ int status = posix_spawn(child_pid, argv[0], NULL, NULL, argv, envp); -+ if (status == 0) -+ return TRUE; -+ -+ g_set_error (error, -+ G_SPAWN_ERROR, -+ G_SPAWN_ERROR_FORK, -+ _("Failed to spawn (%s)"), -+ g_strerror (status)); -+ return FALSE; -+ -+#else - - #ifdef HAVE_VFORK - if (flags == (G_SPAWN_LEAVE_DESCRIPTORS_OPEN | -@@ -235,6 +250,7 @@ gimp_spawn_async (gchar **argv, - #endif /* HAVE_VFORK */ - - return g_spawn_async (NULL, argv, envp, flags, NULL, NULL, child_pid, error); -+#endif /* __HAIKU__ */ - } - - void --- -2.30.2 -