gimp: rework recipe, enable build

This commit is contained in:
Gerasim Troeglazov
2022-01-30 15:58:50 +10:00
parent b0e8b5fcb6
commit 7b0c968bea
3 changed files with 403 additions and 19 deletions

View File

@@ -0,0 +1,110 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "GNU Image Manipulation Program",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E6369661404000002010602AD0D7B3E0B0FBECB19AE1633489DAE4935BF0085"
$"7C63FF221F19050102001202B9A70D34DAC3B4DAC3B9A70D497B1D497C470000"
$"FFFF0000020012023C016B3C4A41BC4A413C016BC620A34B74BA00FFCAFFFF36"
$"0201060237630338F3F1B887AC36E6D6448A49495FBB005B676BFF1417180500"
$"05FF03EEEEEC03888A8502010602A967993A4760BA4760A9679949843B489614"
$"00FFFFFFFFB9B9B002000604B4BDAF36F864B6F864B4BDAF4A7E3A4A822F006E"
$"3D093DEA81139E5C3307FFE07C1203673907020016043268D9B469B13469B132"
$"68D94B3DB54AC69000BD54E2AAA3FFDD0201160238F8ABB576B7358DE3390C8C"
$"4B507D4AE6D50069FF0004FF8602001202330D3134D8F4B4D8F4330D314B8223"
$"4AF5B300FFCAFFFF3602001202B46805304A27B04A27B468054A00014A39B700"
$"00FFFF00000200120235ED4EB3088432F97D360092C24B084A33A500FFCAFFFF"
$"360401601B0606FE0FB81FB8163933B972BAA5C452BA685127C5B9B6BCC91ACC"
$"13B525BF47B5D0C2FEB8EFBE2EB804BC0EB804BC0EB80DBABBB81FB816B816B9"
$"68B81FB8160608EF3FBAE5C149BAE5C149BE6AC200C14342C036C15AC0FCC030"
$"C083BFCBC22CC0B345C023C29AC142C237C250C254C199C1F7C1AFC16FC133C1"
$"7FC173C07CC280BAE5C149BE23C271BAE5C149BAE5020DC5F4B768C5F4B768C5"
$"A8B7E5C48AB90AC537B87AC32ABA2DBD14BB4CC0DBBB36BADFBB582EB950B973"
$"BA43B88FBA17B885BBA7B88ABADFB896BBDFB878BD13B8B9BC62B832BDD2B5DD"
$"BF25B755BE92B5FFBF6BB683C018B61DBFB5B70CC09FB8B0C1B2B7CDC12FBA76"
$"C2B8BEE7C393BCC2C388C10CC39EC45BC0FCC300C2F2C59BBF2CC5F4B768C64C"
$"BC17C5F4B768C5F4B768C5F4B768C5F4B7680606FF07B7B5BD8CB7B5BD8CB8BB"
$"BEFAB7B9C174B8BDC0BAB6B5C22FB407C02FB50EC19DB301BEC1B403BC471FBD"
$"01B507BB8CB7B5BD8CB6AEBC1EB7B5BD8CBD8C0606FF07B5BCBDB6B5BCBDB6B5"
$"BBBE53B4CEBED1B551BED1B44CBED0B3E3BDB4B3E2BE51B3E3BD18B4D0BC99B4"
$"4DBC99B553BC9AB5BCBDB6B5BCBD19B5BCBDB6BDB60606FF07BB76BCFDBB76BC"
$"FDBB75BDE8B9CBBEA5BAB6BEA6B8E0BEA5B823BCFBB822BDE6B823BC10B9CEBB"
$"52B8E3BB52BAB9BB53BB76BCFDBB77BC12BB76BCFDBCFD0606FF07BB76BCFDBB"
$"76BCFDBB75BDE8B9CBBEA5BAB6BEA6B8E0BEA5B823BCFBB822BDE6B823BC10B9"
$"CEBB52B8E3BB52BAB9BB53BB76BCFDBB77BC12BB76BCFDBCFD0606FF07C0B2BD"
$"01C0B2BD01C0B1BE61BE32BF7DBF92BF7EBCD1BF7CBBB5BCFDBBB4BE5EBBB6BB"
$"9DBE36BA81BCD5BA80BF96BA82C0B2BD01C0B3BBA0C0B2BD01BD010606FF07C0"
$"B2BD01C0B2BD01C0B1BE61BE32BF7DBF92BF7EBCD1BF7CBBB5BCFDBBB4BE5EBB"
$"B6BB9DBE36BA81BCD5BA80BF96BA82C0B2BD01C0B3BBA0C0B2BD01BD010606FF"
$"07BFFCBD5FBFFCBD5FBFFCBE09BEC8BE91BF72BE92BE1EBE91BD95BD5DBD95BE"
$"07BD96BCB3BECABC2BBE2037BF73BC2BBFFCBD5FBFFCBCB5BFFCBD5FBD5F0606"
$"FF07BFFCBD5FBFFCBD5FBFFCBE09BEC8BE91BF72BE92BE1EBE91BD95BD5DBD95"
$"BE07BD96BCB3BECABC2BBE2037BF73BC2BBFFCBD5FBFFCBCB5BFFCBD5FBD5F06"
$"06FF07BF28BCD0BF28BCD0BF27BD46BE52BDA5BEC8BDA5BDDDBDA4BD7EBCCFBD"
$"7EBD45BD7EBC5ABE53BBFBBDDEBBFBBEC9BBFBBF28BCD0BF28BC5BBF28BCD0BC"
$"D00606FF07BB13BD38BB13BD38BB12BDA0BA55BDF4BABEBDF5B9EDBDF4B998BD"
$"37B998BD9FB999BCCEBA56BC7AB9EEBC7ABABFBC7ABB13BD38BB13BCCFBB13BD"
$"38BD380606FF07BB13BD38BB13BD38BB12BDA0BA55BDF4BABEBDF5B9EDBDF4B9"
$"98BD37B998BD9FB999BCCEBA56BC7AB9EEBC7ABABFBC7ABB13BD38BB13BCCFBB"
$"13BD38BD380606FF07BA90BCE0BA90BCE0BA90BD28BA0DBD63BA55BD63B9C4BD"
$"62B98ABCDFB98ABD28B98ABC97BA0EBC5DB9C5BC5DBA56BC5DBA90BCE0BA90BC"
$"98BA90BCE0BCE00606FF07C5C7C477C5C7C477C5F1C425C644C381C61AC3D3C4"
$"78C22EC127C136C127C136C094C0F1C0CBC1CCC065C175C0CBC1CCC5C7C477C3"
$"A0C3D7C5C7C477C4770606FF07C5C7C477C5C7C477C5F1C425C644C381C61AC3"
$"D3C478C22EC127C136C127C136C094C0F1C0CBC1CCC065C175C0CBC1CCC5C7C4"
$"77C3A0C3D7C5C7C477C477020AC816C55CC816C55CC82CC52BC858C4CAC842C4"
$"FAC7ADC45BC657C37EC702C3EDC649C37DC62EC37BC63BC37CC628C368C61CC3"
$"42C622C355C5D1C371C581C480C564C41EC593C479C5B8C46BC5A6C472C5C2C4"
$"75C5D64CC5CCC47FC696C4CFC816C55CC756C516C816C55CC816C55CC816C55C"
$"C816C55C020AC816C55CC816C55CC82CC52BC858C4CAC842C4FAC7ADC45BC657"
$"C37EC702C3EDC649C37DC62EC37BC63BC37CC628C368C61CC342C622C355C5D1"
$"C371C581C480C564C41EC593C479C5B8C46BC5A6C472C5C2C475C5D64CC5CCC4"
$"7FC696C4CFC816C55CC756C516C816C55CC816C55CC816C55CC816C55C0002C6"
$"C9C445C6C9C445C73BC47655C4D8C7ACC4A755C4D80605BF01CB00C7CECB00C7"
$"CECA61C5ADC8864BCA29C3FCC734C440C877C6AAC71BC624C9C7C72CCB00C7CE"
$"C7CE0606FF07C89FC44EC89FC44EC8E9C438C94DC4ADC937C463C963C4F8C8ED"
$"C55CC938C546C8A3C572C83FC4FCC855C547C829C4B2C89FC44EC854C463C89F"
$"C44EC44E0606FF07C63AC384C63AC384C66CC375C6B0C3C4C6A1C392C6BEC3F7"
$"C66FC43AC6A2C42BC63DC449C5FAC3F9C608C42CC5EBC3C7C63AC384C608C392"
$"C63AC384C3840605BE01CA37C687C990C55ECA03C5C4C968C53AC9C2C533C99B"
$"C505CA14C598CA37C687C6870206BEB0C22BBEB0C22BBF79C23FC079C1EDC02E"
$"C208C086C1A3C18BC10CC0C1C115C174C0E2C145C090C15CC0B9C145C090BF24"
$"C177C03DC143BEFEC1B3BEB0C22BBED7C1EFBEB0C22B0606FF07B73DBD82B73D"
$"BD82B812BEB2B740C0C0B814C025B66DC15AB43FBFB2B515C0E2B36ABE83B43C"
$"BC75B368BD0FB50FBBDAB73DBD82B667BC53B73DBD82BD8202044030C34530BC"
$"3A30304030BC3A30C3454050BC3A50C34550504050C34550BC3A1D0A13011A02"
$"4100000000000000003EC000C6800048A0000A01010002400880000000000000"
$"4008804000003FFFFF0A020100124008800000000000004008804000003FFFFF"
$"01178400040A030101024008800000000000004008804000003FFFFF0A040102"
$"124008800000000000004008804000003FFFFF01178100040A05010302400880"
$"0000000000004008804000003FFFFF0A06010312400880000000000000400880"
$"4000003FFFFF01178300040A070104024008800000000000004008804000003F"
$"FFFF0A080105024008800000000000004008804000003FFFFF0A020106124008"
$"800000000000004008804000003FFFFF01178200040A0A010702400880000000"
$"0000004008804000003FFFFF0A02010812400880000000000000400880400000"
$"3FFFFF01178200040A020109024008800000000000004008804000003FFFFF0A"
$"06010A124008800000000000004008804000003FFFFF01178100040A07010B02"
$"4008800000000000004008804000003FFFFF0A02010C02400880000000000000"
$"4008804000003FFFFF0A06010D124008800000000000004008804000003FFFFF"
$"01178100040A07010E024008800000000000004008804000003FFFFF0A0B010F"
$"024008800000000000004008804000003FFFFF0A0C0110124008800000000000"
$"004008804000003FFFFF01178120040A0D011102400880000000000000400880"
$"4000003FFFFF0A090112124008800000000000004008804000003FFFFF011781"
$"20040A070113124008800000000000004008804000003FFFFF01178122040A0E"
$"0114024008800000000000004008804000003FFFFF0A0F011502400880000000"
$"0000004008804000003FFFFF0A07011602400880000000000000400880400000"
$"3FFFFF0A100117024008800000000000004008804000003FFFFF0A1101180240"
$"08800000000000004008804000003FFFFF0A1201191240088000000000000040"
$"08804000003FFFFF0117810004"
};

View File

@@ -1,52 +1,173 @@
SUMMARY="The Free & Open Source Image Editor"
SUMMARY="GNU Image Manipulation Program"
DESCRIPTION="GIMP is a cross-platform image editor available for GNU/Linux, \
macOS, Windows and more operating systems.
OS X, Windows and more operating systems. It is free software, you can change \
its source code and distribute your changes.
Whether you are a graphic designer, photographer, illustrator, or scientist, \
GIMP provides you with sophisticated tools to get your job done. You can \
further enhance your productivity with GIMP thanks to many customization \
options and 3rd party plugins."
GIMP provides you with sophisticated tools to get your job done. You can further \
enhance your productivity with GIMP thanks to many customization options \
and 3rd party plugins."
HOMEPAGE="https://www.gimp.org/"
COPYRIGHT="1995-2021 Spencer Kimball, Peter Mattis, and the GIMP Development Team"
COPYRIGHT="The GIMP Team"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://download.gimp.org/mirror/pub/gimp/v2.99/gimp-$portVersion.tar.bz2"
CHECKSUM_SHA256="dd916bd3474ef2efc652a0510280977ab8ea95e3d95d918394b0662261c32aae"
PATCHES="gimp-$portVersion.patchset"
ADDITIONAL_FILES="gimp.rdef.in"
# not working: missing many dependencies
ARCHITECTURES="?all !x86_gcc2"
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/menurc 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
"
PROVIDES="
gimp$secondaryArchSuffix = $portVersion
app: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
"
REQUIRES="
haiku$secondaryArchSuffix
gobject_introspection$secondaryArchSuffix
mypaint_brushes
shared_mime_info$secondaryArchSuffix
lib:libappstream_glib$secondaryArchSuffix
lib:libarchive$secondaryArchSuffix
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
lib:libfribidi$secondaryArchSuffix
lib:libgegl_0.4$secondaryArchSuffix
lib:libgexiv2$secondaryArchSuffix
lib:libgdk_3$secondaryArchSuffix
lib:libgdk_pixbuf_2.0$secondaryArchSuffix
lib:libgtk_3$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libglib_networking_2.0$secondaryArchSuffix
lib:libharfbuzz$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjson_c$secondaryArchSuffix
lib:libjson_glib_1.0$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:liblzma$secondaryArchSuffix
lib:libmypaint$secondaryArchSuffix
lib:libpango_1.0$secondaryArchSuffix
lib:libpangocairo_1.0$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libpoppler$secondaryArchSuffix
lib:libpoppler_glib$secondaryArchSuffix
lib:librsvg_2$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libuuid$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libxslt$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
gobject_introspection${secondaryArchSuffix}_devel
lib:libglib_networking_2.0$secondaryArchSuffix
mypaint_brushes
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
devel:libfreetype$secondaryArchSuffix
devel:libfribidi$secondaryArchSuffix
devel:libgegl_0.4$secondaryArchSuffix
devel:libgexiv2$secondaryArchSuffix
devel:libgdk_3$secondaryArchSuffix
devel:libgdk_pixbuf_2.0$secondaryArchSuffix
devel:libgtk_3$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libharfbuzz$secondaryArchSuffix
devel:libjson_c$secondaryArchSuffix
devel:libjson_glib_1.0$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:liblcms2$secondaryArchSuffix
devel:liblzma$secondaryArchSuffix
devel:libmypaint$secondaryArchSuffix
devel:libpango_1.0$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libpoppler$secondaryArchSuffix >= 104
devel:librsvg_2$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libuuid$secondaryArchSuffix >= 1.3
devel:libxml2$secondaryArchSuffix
devel:libxslt$secondaryArchSuffix
devel:libz$secondaryArchSuffix
lib:libglib_networking_2.0$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:intltoolize
cmd:awk
cmd:g++$secondaryArchSuffix
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc$secondaryArchSuffix
cmd:gtkdocize
cmd:intltool_update
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:update_mime_database$secondaryArchSuffix
"
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
export GDK_PIXBUF_MODULE_FILE="/tmp/loaders.cache"
gdk-pixbuf-query-loaders > $GDK_PIXBUF_MODULE_FILE
export LIBS="-lnetwork"
autoreconf -f -i
runConfigure ./configure \
--with-vala=no
--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
}
@@ -54,5 +175,32 @@ BUILD()
INSTALL()
{
make install
addAppDeskbarSymlink $binDir/gimp
mkdir -p $appsDir
mv $prefix/share/locale $dataDir
mv $binDir/gimp-2.99 $appsDir/GIMP
rm -rf \
$prefix/share \
$developDir \
$libDir/*.la \
$libDir/pkgconfig \
$dataDir/{metainfo,icons,gtk-doc,applications,aclocal}
local APP_SIGNATURE="application/x-vnd.gnu-gimp"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/gimp.rdef.in > gimp.rdef
addResourcesToBinaries gimp.rdef $appsDir/GIMP
addAppDeskbarSymlink $appsDir/GIMP
}

View File

@@ -0,0 +1,126 @@
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 <sys/types.h>
+#ifndef __HAIKU__
#include <sys/syscall.h>
+#endif
#ifdef HAVE_SYS_PRCTL_H
#include <sys/prctl.h>
--
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