diff --git a/media-gfx/gimp/additional-files/gimp-splash.png b/media-gfx/gimp/additional-files/gimp-splash.png new file mode 100644 index 000000000..376788754 Binary files /dev/null and b/media-gfx/gimp/additional-files/gimp-splash.png differ diff --git a/media-gfx/gimp/gimp-2.99.18.recipe b/media-gfx/gimp/gimp-3.0.0.recipe similarity index 60% rename from media-gfx/gimp/gimp-2.99.18.recipe rename to media-gfx/gimp/gimp-3.0.0.recipe index 75b46ced0..e626b5bf7 100644 --- a/media-gfx/gimp/gimp-2.99.18.recipe +++ b/media-gfx/gimp/gimp-3.0.0.recipe @@ -9,22 +9,26 @@ HOMEPAGE="https://www.gimp.org/" COPYRIGHT="The GIMP Team" LICENSE="GNU GPL v3" REVISION="1" -SOURCE_URI="https://download.gimp.org/mirror/pub/gimp/v2.99/gimp-$portVersion.tar.xz" -CHECKSUM_SHA256="8c1bb7a94ac0d4d0cde4d701d8b356387c2ecd87abbd35bbf7d222d40f6ddb6e" +SOURCE_URI="https://download.gimp.org/mirror/pub/gimp/v3.0/gimp-$portVersion.tar.xz" +CHECKSUM_SHA256="93f1ca3d9d1bd8cac0e52c49fb886cbbe4b28222ee835bf1319e3287901d2d20" +SOURCE_DIR="gimp-$portVersion" PATCHES="gimp-$portVersion.patchset" -ADDITIONAL_FILES="gimp.rdef.in" +ADDITIONAL_FILES=" + gimp.rdef.in + gimp-splash.png + " ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" GLOBAL_WRITABLE_FILES=" - settings/gimp/2.99/controllerrc keep-old - settings/gimp/2.99/gimp.css keep-old - settings/gimp/2.99/gimprc keep-old - settings/gimp/2.99/sessionrc keep-old - settings/gimp/2.99/templaterc keep-old - settings/gimp/2.99/toolrc keep-old - settings/gimp/2.99/unitrc keep-old + settings/gimp/3.0/controllerrc keep-old + settings/gimp/3.0/gimp.css keep-old + settings/gimp/3.0/gimprc keep-old + settings/gimp/3.0/sessionrc keep-old + settings/gimp/3.0/templaterc keep-old + settings/gimp/3.0/toolrc keep-old + settings/gimp/3.0/unitrc keep-old " commandSuffix=$secondaryArchSuffix @@ -38,26 +42,31 @@ PROVIDES=" gimp$secondaryArchSuffix = $portVersion app:GIMP = $portVersion cmd:gimp$commandSuffix = $portVersion - cmd:gimp_2.99$commandSuffix = $portVersion + cmd:gimp_3$commandSuffix = $portVersion + cmd:gimp_3.0$commandSuffix = $portVersion cmd:gimp_console$commandSuffix = $portVersion - cmd:gimp_console_2.99$commandSuffix = $portVersion + cmd:gimp_console_3$commandSuffix = $portVersion + cmd:gimp_console_3.0$commandSuffix = $portVersion cmd:gimp_debug_tool$commandSuffix = $portVersion - cmd:gimp_debug_tool_2.99$commandSuffix = $portVersion + cmd:gimp_debug_tool_3$commandSuffix = $portVersion + cmd:gimp_debug_tool_3.0$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:gimp_test_clipboard_3$commandSuffix = $portVersion + cmd:gimp_test_clipboard_3.0$commandSuffix = $portVersion cmd:gimptool$commandSuffix = $portVersion - cmd:gimptool_2.99$commandSuffix = $portVersion - lib:libgimp_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 - lib:libgimp_scriptfu_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 - lib:libgimpbase_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 - lib:libgimpcolor_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 - lib:libgimpconfig_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 - lib:libgimpmath_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 - lib:libgimpmodule_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 - lib:libgimpthumb_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 - lib:libgimpui_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 - lib:libgimpwidgets_3.0$secondaryArchSuffix = 0.0.18 compat >= 0 + cmd:gimptool_3$commandSuffix = $portVersion + cmd:gimptool_3.0$commandSuffix = $portVersion + lib:libgimp_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libgimp_scriptfu_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libgimpbase_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libgimpcolor_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libgimpconfig_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libgimpmath_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libgimpmodule_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libgimpthumb_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libgimpui_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libgimpwidgets_3.0$secondaryArchSuffix = 0.0.0 compat >= 0 " REQUIRES=" haiku$secondaryArchSuffix @@ -66,9 +75,11 @@ REQUIRES=" lib:libappstream_glib$secondaryArchSuffix lib:libarchive$secondaryArchSuffix lib:libatk_1.0$secondaryArchSuffix + lib:libavif$secondaryArchSuffix lib:libbabl_0.1$secondaryArchSuffix lib:libcairo$secondaryArchSuffix lib:libexiv2$secondaryArchSuffix + lib:libexpat$secondaryArchSuffix lib:libfontconfig$secondaryArchSuffix lib:libfreetype$secondaryArchSuffix lib:libfribidi$secondaryArchSuffix @@ -81,13 +92,18 @@ REQUIRES=" lib:libglib_networking_2.0$secondaryArchSuffix lib:libgtk_3$secondaryArchSuffix lib:libharfbuzz$secondaryArchSuffix + lib:libheif$secondaryArchSuffix lib:libintl$secondaryArchSuffix lib:libjson_c$secondaryArchSuffix lib:libjson_glib_1.0$secondaryArchSuffix lib:libjpeg$secondaryArchSuffix lib:liblcms2$secondaryArchSuffix lib:liblzma$secondaryArchSuffix + lib:libmng$secondaryArchSuffix lib:libmypaint$secondaryArchSuffix + lib:libOpenEXR_3_2$secondaryArchSuffix + lib:libOpenEXRUtil_3_2$secondaryArchSuffix + lib:libopenjp2$secondaryArchSuffix lib:libpango_1.0$secondaryArchSuffix lib:libpangocairo_1.0$secondaryArchSuffix lib:libpng16$secondaryArchSuffix @@ -96,6 +112,8 @@ REQUIRES=" lib:librsvg_2$secondaryArchSuffix lib:libtiff$secondaryArchSuffix lib:libuuid$secondaryArchSuffix + lib:libwebp$secondaryArchSuffix + lib:libwmf_0.2$secondaryArchSuffix lib:libxml2$secondaryArchSuffix lib:libxslt$secondaryArchSuffix lib:libz$secondaryArchSuffix @@ -103,13 +121,19 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel + gobject_introspection${secondaryArchSuffix}_devel + pygobject_python310 + pygments_python310 mypaint_brushes wayland_protocols devel:libappstream_glib$secondaryArchSuffix devel:libarchive$secondaryArchSuffix devel:libatk_1.0$secondaryArchSuffix + devel:libavif$secondaryArchSuffix devel:libbabl_0.1$secondaryArchSuffix + devel:libcrypto$secondaryArchSuffix >= 3 devel:libexiv2$secondaryArchSuffix + devel:libexpat$secondaryArchSuffix devel:libcairo$secondaryArchSuffix devel:libfontconfig$secondaryArchSuffix devel:libfreetype$secondaryArchSuffix @@ -118,23 +142,32 @@ BUILD_REQUIRES=" devel:libgexiv2$secondaryArchSuffix devel:libgdk_3$secondaryArchSuffix devel:libgdk_pixbuf_2.0$secondaryArchSuffix + devel:libgirepository_1.0$secondaryArchSuffix devel:libgtk_3$secondaryArchSuffix devel:libglib_2.0$secondaryArchSuffix devel:libharfbuzz$secondaryArchSuffix + devel:libheif$secondaryArchSuffix devel:libjson_c$secondaryArchSuffix devel:libjson_glib_1.0$secondaryArchSuffix devel:libjpeg$secondaryArchSuffix devel:liblcms2$secondaryArchSuffix devel:liblzma$secondaryArchSuffix + devel:libmng$secondaryArchSuffix devel:libmypaint$secondaryArchSuffix + devel:libOpenEXR_3_2$secondaryArchSuffix + devel:libopenjp2$secondaryArchSuffix devel:libpango_1.0$secondaryArchSuffix devel:libpng16$secondaryArchSuffix - devel:libpoppler$secondaryArchSuffix >= 131 + devel:libpoppler$secondaryArchSuffix >= 146 + devel:libpoppler_glib$secondaryArchSuffix >= 8.29 devel:librsvg_2$secondaryArchSuffix + devel:libssl$secondaryArchSuffix >= 3 devel:libtiff$secondaryArchSuffix devel:libuuid$secondaryArchSuffix >= 1.3 devel:libwayland_client$secondaryArchSuffix devel:libwayland_server$secondaryArchSuffix + devel:libwebp$secondaryArchSuffix + devel:libwmf$secondaryArchSuffix devel:libxml2$secondaryArchSuffix devel:libxslt$secondaryArchSuffix devel:libz$secondaryArchSuffix @@ -146,8 +179,9 @@ BUILD_PREREQUIRES=" cmd:intltool_update cmd:ld$secondaryArchSuffix cmd:libtoolize$secondaryArchSuffix - cmd:make + cmd:make cmd:meson + cmd:msgfmt cmd:ninja cmd:perl cmd:pkg_config$secondaryArchSuffix @@ -167,23 +201,42 @@ BUILD() --datadir="$dataDir" \ --localedir="$dataDir/locale" \ --sysconfdir="$settingsDir" \ - -Dgimpdir="GIMP/2.99" \ + -Dgimpdir="GIMP/3.0" \ -Dshmem-type=posix \ -Dcheck-update=no \ - -Dxcursor=disabled + -Dxcursor=disabled \ + -Denable-console-bin=true + + export LIBRARY_PATH=$LIBRARY_PATH:\ +$sourceDir/Build/libgimp:\ +$sourceDir/Build/libgimpbase:\ +$sourceDir/Build/libgimpcolor:\ +$sourceDir/Build/libgimpconfig:\ +$sourceDir/Build/libgimpmath:\ +$sourceDir/Build/libgimpmodule:\ +$sourceDir/Build/libgimpthumb:\ +$sourceDir/Build/libgimpwidgets ninja -C Build + + cp -f $portDir/additional-files/gimp-splash.png $sourceDir/Build/gimp-data/images/ } INSTALL() { ninja install -C Build + # Symlink for application mkdir -p $appsDir + mv $commandBinDir/gimp-3.0 $appsDir/GIMP + ln -s $appsDir/GIMP $commandBinDir/gimp-3.0 + + # Swap System and Default theme + mv $dataDir/gimp/3.0/themes/System $dataDir/gimp/3.0/themes/Temp + mv $dataDir/gimp/3.0/themes/Default $dataDir/gimp/3.0/themes/System + mv $dataDir/gimp/3.0/themes/Temp $dataDir/gimp/3.0/themes/Default - mv $commandBinDir/gimp-2.99 $appsDir/GIMP - ln -s $appsDir/GIMP $commandBinDir/gimp-2.99 - + # Remove unneeded files rm -rf \ $prefix/share \ $developDir \ @@ -191,6 +244,7 @@ INSTALL() $libDir/pkgconfig \ $dataDir/{metainfo,gtk-doc,applications,aclocal} + # Add resources to binary local APP_SIGNATURE="application/x-vnd.gnu-gimp" local MAJOR="`echo "$portVersion" | cut -d. -f1`" local MIDDLE="`echo "$portVersion" | cut -d. -f2`" @@ -204,6 +258,6 @@ INSTALL() -e "s|@LONG_INFO@|$LONG_INFO|" \ $portDir/additional-files/gimp.rdef.in > gimp.rdef - addResourcesToBinaries gimp.rdef $commandBinDir/gimp-2.99 + addResourcesToBinaries gimp.rdef $appsDir/GIMP addAppDeskbarSymlink $appsDir/GIMP } diff --git a/media-gfx/gimp/patches/gimp-2.99.18.patchset b/media-gfx/gimp/patches/gimp-3.0.0.patchset similarity index 68% rename from media-gfx/gimp/patches/gimp-2.99.18.patchset rename to media-gfx/gimp/patches/gimp-3.0.0.patchset index 0144f4d04..ecb892519 100644 --- a/media-gfx/gimp/patches/gimp-2.99.18.patchset +++ b/media-gfx/gimp/patches/gimp-3.0.0.patchset @@ -1,21 +1,21 @@ -From 7af8985a55616452a0029b8af6e60b787ca03255 Mon Sep 17 00:00:00 2001 +From a22e12e011690977bc5826054f80ef571de176f0 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sat, 16 Mar 2024 23:23:49 +1000 Subject: Fix build for Haiku diff --git a/extensions/meson.build b/extensions/meson.build -index 3bb1681..e89a6b4 100644 +index 23132c2..305fdba 100644 --- a/extensions/meson.build +++ b/extensions/meson.build @@ -1,4 +1,4 @@ -subdir('goat-exercises') +#subdir('goat-exercises') - # Fallback fix to the problem of non-configured interpreters - if platform_windows and not meson.is_cross_build() and lua.found() + if have_lua and not meson.is_cross_build() and is_variable('lua') and lua.found() and (platform_windows or not relocatable_bundle) + lua_config = configuration_data() diff --git a/libgimpbase/gimputils.c b/libgimpbase/gimputils.c -index daadac0..f45dc9d 100644 +index 18bfe5a..e24e3da 100644 --- a/libgimpbase/gimputils.c +++ b/libgimpbase/gimputils.c @@ -51,7 +51,9 @@ @@ -29,10 +29,21 @@ index daadac0..f45dc9d 100644 #ifdef HAVE_SYS_PRCTL_H #include diff --git a/meson.build b/meson.build -index 85feb5c..57bd9b9 100644 +index 9614da8..d9c52d5 100644 --- a/meson.build +++ b/meson.build -@@ -154,6 +154,10 @@ if platform_osx +@@ -167,6 +167,10 @@ platform_linux = ( + host_os.contains('linux') + ) + ++platform_haiku = ( ++ host_os.contains('haiku') ++) ++ + platform_windows = ( + host_os.contains('mingw') or + host_os.contains('cygwin') or +@@ -183,6 +187,10 @@ if platform_osx conf.set('PLATFORM_OSX', 1) endif @@ -43,7 +54,7 @@ index 85feb5c..57bd9b9 100644 if platform_windows windows = import('windows') # AC_CHECK_PROG(ms_librarian, lib.exe, yes, no) -@@ -602,7 +606,7 @@ detailed_backtraces = ( +@@ -701,7 +709,7 @@ conf.set('HAVE_EXCHNDL', drmingw.found()) ################################################################################ # Check for x11 support @@ -52,7 +63,27 @@ index 85feb5c..57bd9b9 100644 x11 = x11_target ? dependency('x11') : no_dep xmu = x11_target ? dependency('xmu') : no_dep -@@ -1614,10 +1618,7 @@ endif +@@ -1138,8 +1146,8 @@ endif + isocodes = dependency('iso-codes', required: false) + if isocodes.found() + isocodes_prefix = isocodes.get_variable(pkgconfig: 'prefix') +- isocodes_location = isocodes_prefix / 'share' / 'xml' / 'iso-codes' +- isocodes_localedir= isocodes_prefix / 'share' / 'locale' ++ isocodes_location = isocodes_prefix / 'data' / 'xml' / 'iso-codes' ++ isocodes_localedir= isocodes_prefix / 'data' / 'locale' + endif + conf.set('HAVE_ISO_CODES', isocodes.found()) + +@@ -1343,6 +1351,8 @@ conf.set_quoted('GIMP_BUILD_ID', get_option('build-id')) + conf.set_quoted('GIMP_BUILD_PLATFORM', host_os) + if platform_linux + conf.set_quoted('GIMP_BUILD_PLATFORM_FAMILY', 'linux') ++elif platform_haiku ++ conf.set_quoted('GIMP_BUILD_PLATFORM_FAMILY', 'haiku') + elif platform_windows + conf.set_quoted('GIMP_BUILD_PLATFORM_FAMILY', 'windows') + elif platform_osx +@@ -1703,10 +1713,7 @@ endif # git-version.h is already present and not generated if dist tarball @@ -64,6 +95,15 @@ index 85feb5c..57bd9b9 100644 has_version_h = run_command(python, '-c', 'import sys,os; sys.exit(0 if os.path.exists("git-version.h") else 1)', +@@ -2046,7 +2053,7 @@ else + gimp_exe_depends = [] + endif + +-gimp_exe = find_program('tools'/'in-build-gimp.sh') ++gimp_exe = find_program('echo') + + ################################################################################ + # Subdirs: part 2 diff --git a/plug-ins/meson.build b/plug-ins/meson.build index e1c6ad8..bf208ec 100644 --- a/plug-ins/meson.build @@ -78,10 +118,10 @@ index e1c6ad8..bf208ec 100644 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 7bf9ed6..c1527e1 100644 +index 55cebf1..9e37373 100644 --- a/plug-ins/script-fu/server/script-fu-server.c +++ b/plug-ins/script-fu/server/script-fu-server.c -@@ -105,7 +105,7 @@ typedef short sa_family_t; /* Not defined by winsock */ +@@ -106,7 +106,7 @@ typedef short sa_family_t; /* Not defined by winsock */ #define difftime(a,b) (((gdouble)(a)) - ((gdouble)(b))) #endif @@ -91,10 +131,10 @@ index 7bf9ed6..c1527e1 100644 #else # ifndef _AIX -- -2.43.2 +2.48.1 -From 0b0b7a0dbfeacbd295758fc566c835b98eb7c160 Mon Sep 17 00:00:00 2001 +From 3e8baba15961106c115969b7bcf9caa309855fd3 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sat, 16 Mar 2024 23:24:11 +1000 Subject: Use load_image instead g_spawn_async @@ -162,20 +202,20 @@ index bfa08e8..6aeb5b4 100644 void -- -2.43.2 +2.48.1 -From 161c69fa7dc953551f96e7831247380c7a236a10 Mon Sep 17 00:00:00 2001 +From 13b460d568babd880a586a33590394306c91949e Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sat, 16 Mar 2024 23:24:33 +1000 Subject: Fix preferences dialog freeze diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c -index 0da05a7..fc1bb0c 100644 +index 170d42e..07f66ea 100644 --- a/app/dialogs/preferences-dialog.c +++ b/app/dialogs/preferences-dialog.c -@@ -1225,6 +1225,7 @@ prefs_dialog_new (Gimp *gimp, +@@ -1333,6 +1333,7 @@ prefs_dialog_new (Gimp *gimp, * which case the feature is always available. */ hbox = NULL; @@ -183,7 +223,7 @@ index 0da05a7..fc1bb0c 100644 if (! gimp_stack_trace_available (TRUE)) { #ifndef HAVE_EXECINFO_H -@@ -1236,6 +1237,7 @@ prefs_dialog_new (Gimp *gimp, +@@ -1344,6 +1345,7 @@ prefs_dialog_new (Gimp *gimp, _("This feature is more efficient with \"gdb\" or \"lldb\" installed on your system.")); #endif /* ! HAVE_EXECINFO_H */ } @@ -192,20 +232,20 @@ index 0da05a7..fc1bb0c 100644 gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0); -- -2.43.2 +2.48.1 -From 7bd3e0bfe2e6b9517250f10b1d0319bb66a6ce4f Mon Sep 17 00:00:00 2001 +From be1e1c24b0ad882ce815c2a5844f5311424340d5 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sat, 16 Mar 2024 23:26:30 +1000 Subject: Disable signal handlers diff --git a/app/main.c b/app/main.c -index 1adc133..17dcd0e 100644 +index 7a408d4..9378932 100644 --- a/app/main.c +++ b/app/main.c -@@ -591,7 +591,9 @@ main (int argc, +@@ -592,7 +592,9 @@ main (int argc, gimp_backtrace_init (); /* Start signal handlers early. */ @@ -216,10 +256,10 @@ index 1adc133..17dcd0e 100644 #ifdef G_OS_WIN32 /* Enable Anti-Aliasing*/ diff --git a/libgimp/gimp.c b/libgimp/gimp.c -index e00989b..4de4534 100644 +index 1ced5f5..099bae4 100644 --- a/libgimp/gimp.c +++ b/libgimp/gimp.c -@@ -244,8 +244,8 @@ gimp_main (GType plug_in_type, +@@ -250,8 +250,8 @@ gimp_main (GType plug_in_type, /* Similar to core crash handling in app/signals.c, the order here * is very important! */ @@ -230,7 +270,7 @@ index e00989b..4de4534 100644 ExcHndlInit (); -@@ -376,15 +376,15 @@ gimp_main (GType plug_in_type, +@@ -382,15 +382,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. */ @@ -256,7 +296,7 @@ index e00989b..4de4534 100644 /* 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 +index 0c00c2f..4deaf32 100644 --- a/libgimpbase/gimpsignal.c +++ b/libgimpbase/gimpsignal.c @@ -69,7 +69,7 @@ gimp_signal_private (gint signum, @@ -269,28 +309,43 @@ index 4e334f6..ca190a2 100644 struct sigaction sa; struct sigaction osa; -- -2.43.2 +2.48.1 -From 1a79e5fec10f7cada49f5ebfa0d8e165faab1e9e Mon Sep 17 00:00:00 2001 +From cc68de82f1bf1fcd0b364c94435a81f12e43ff8f Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sat, 16 Mar 2024 23:26:44 +1000 -Subject: Disable introspection +Date: Tue, 18 Mar 2025 18:14:59 +1000 +Subject: Implement open url -diff --git a/libgimp/meson.build b/libgimp/meson.build -index bc9727e..d57fd28 100644 ---- a/libgimp/meson.build -+++ b/libgimp/meson.build -@@ -436,7 +436,7 @@ libgimpui_introspectable_files = [ - libgimpwidgets_introspectable, - ] +diff --git a/plug-ins/common/web-browser.c b/plug-ins/common/web-browser.c +index d242ff2..96bc331 100644 +--- a/plug-ins/common/web-browser.c ++++ b/plug-ins/common/web-browser.c +@@ -224,6 +224,23 @@ browser_open_url (GtkWindow *window, --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', + return TRUE; + ++#elif defined(__HAIKU__) ++ ++ gchar *command; ++ gint exit_status; ++ ++ command = g_strdup_printf ("open %s", url); ++ exit_status = system (command); ++ g_free (command); ++ ++ if (exit_status != 0) ++ { ++ g_set_error (error, 0, 0, _("Failed to open '%s': command exited with status %d"), url, exit_status); ++ return FALSE; ++ } ++ ++ return TRUE; ++ + #elif defined(PLATFORM_OSX) + + NSURL *ns_url; -- -2.43.2 +2.48.1