Files
haikuports/x11-libs/gtk4/gtk4-4.16.12.recipe

178 lines
5.2 KiB
Bash

SUMMARY="A multi-platform toolkit for creating graphical user interfaces"
DESCRIPTION="GTK is a multi-platform toolkit for creating graphical user \
interfaces. Offering a complete set of widgets, GTK is suitable for projects \
ranging from small one-off projects to complete application suites."
HOMEPAGE="https://www.gtk.org"
COPYRIGHT="GNOME Desktop"
LICENSE="GNU LGPL v2.1"
REVISION="1"
SOURCE_URI="https://download.gnome.org/sources/gtk/4.16/gtk-$portVersion.tar.xz"
CHECKSUM_SHA256="ef31bdbd6f082c4401634a20c850b0050c9bf252ef1e079764ee95a2a0c4c95a"
SOURCE_DIR="gtk-$portVersion"
PATCHES="gtk4-$portVersion.patchset"
ADDITIONAL_FILES="compile-schemas.sh"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
POST_INSTALL_SCRIPTS="
$relativePostInstallDir/compile-schemas.sh
"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
gtk4$secondaryArchSuffix = $portVersion compat >= 1
cmd:gtk4_demo$commandSuffix
cmd:gtk4_demo_application$commandSuffix
cmd:gtk4_icon_browser$commandSuffix
cmd:gtk4_node_editor$commandSuffix
cmd:gtk4_widget_factory$commandSuffix
cmd:gtk4_print_editor$commandSuffix
cmd:gtk4_path_tool$commandSuffix
cmd:gtk4_query_settings$commandSuffix
cmd:gtk4_builder_tool$commandSuffix
cmd:gtk4_rendernode_tool$commandSuffix
cmd:gtk4_image_tool$commandSuffix
cmd:gtk4_update_icon_cache$commandSuffix
cmd:gtk4_encode_symbolic_svg$commandSuffix
cmd:gtk4_launch$commandSuffix
lib:libgtk_4$secondaryArchSuffix = 1.1600.12 compat >= 1
"
REQUIRES="
haiku$secondaryArchSuffix
adwaita_icon_theme
haiku_svg_icon_theme
iso_codes
lib:libcairo$secondaryArchSuffix
lib:libcairo_gobject$secondaryArchSuffix
lib:libepoxy$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfribidi$secondaryArchSuffix
lib:libgdk_pixbuf_2.0$secondaryArchSuffix
lib:libgirepository_1.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgraphene_1.0$secondaryArchSuffix
lib:libharfbuzz$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libpango_1.0$secondaryArchSuffix
lib:libpangocairo_1.0$secondaryArchSuffix
lib:libpangoft2_1.0$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:librsvg_2$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libwayland_client$secondaryArchSuffix
lib:libwayland_server$secondaryArchSuffix
lib:libxkbcommon$secondaryArchSuffix
lib:wayland_server_inproc$secondaryArchSuffix
"
PROVIDES_devel="
gtk4${secondaryArchSuffix}_devel
devel:libgtk_4$secondaryArchSuffix = 1.1600.12 compat >= 1
"
REQUIRES_devel="
gtk4$secondaryArchSuffix == $portVersion base
devel:libcairo$secondaryArchSuffix
devel:libepoxy$secondaryArchSuffix
devel:libgdk_pixbuf_2.0$secondaryArchSuffix
devel:libgirepository_1.0$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgraphene_1.0$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libpango_1.0$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libwayland_client$secondaryArchSuffix
devel:libwayland_server$secondaryArchSuffix
devel:libxkbcommon$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
harfbuzz${secondaryArchSuffix}_glib
iso_codes
wayland_protocols
devel:libcairo$secondaryArchSuffix
devel:libepoxy$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libgdk_pixbuf_2.0$secondaryArchSuffix
devel:libgirepository_1.0$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgraphene_1.0$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libpango_1.0$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:librsvg_2$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libwayland_client$secondaryArchSuffix
devel:libwayland_server$secondaryArchSuffix
devel:libxkbcommon$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:glib_compile_schemas
cmd:ld$secondaryArchSuffix
cmd:meson
cmd:msgfmt$secondaryArchSuffix
cmd:ninja
cmd:patch
cmd:pkg_config$secondaryArchSuffix
cmd:sassc$secondaryArchSuffix
cmd:wayland_scanner
cmd:update_mime_database$secondaryArchSuffix
"
BUILD()
{
CFLAGS="-D_BSD_SOURCE" \
LDFLAGS="-lbsd -lgnu -lnetwork" \
meson Build \
--buildtype=release \
--prefix="$prefix" \
--libdir="$libDir" \
--includedir="$includeDir" \
--bindir="$commandBinDir" \
--libexecdir="$commandBinDir" \
--datadir="$dataDir" \
--localedir="$dataDir/locale" \
--sysconfdir="$settingsDir" \
-Dx11-backend=false \
-Dwayland-backend=true \
-Dbroadway-backend=false \
-Ddocumentation=false \
-Dmedia-gstreamer=disabled \
-Dvulkan=disabled \
-Dbuild-testsuite=false \
-Dbuild-examples=false \
-Dbuild-tests=false \
-Dintrospection=enabled
ninja -C Build $jobArgs
}
INSTALL()
{
ninja install -C Build
rm -rf $dataDir/{applications,metainfo}
rm -rf $dataDir/glib-2.0/schemas/gschemas.compiled
rm -rf $dataDir/icons/hicolor/icon-theme.cache
mkdir -p $postInstallDir
cp -f $portDir/additional-files/compile-schemas.sh $postInstallDir
chmod -v a+rx $postInstallDir/compile-schemas.sh
fixPkgconfig
prepareInstalledDevelLibs libgtk-4
packageEntries devel $developDir
}