Files
haikuports/x11-libs/cairo/cairo1.18-1.18.0.recipe
2023-09-27 13:15:38 +00:00

137 lines
3.5 KiB
Bash

SUMMARY="Multi-platform 2D graphics library"
DESCRIPTION="Cairo is a 2D graphics library with support for multiple output \
devices. Currently supported output targets include the X Window \
System (via both Xlib and XCB), quartz, win32, and image buffers, \
as well as PDF, PostScript, and SVG file output. Experimental backends \
include OpenGL, BeOS, OS/2, and DirectFB."
HOMEPAGE="http://cairographics.org/"
COPYRIGHT="2000, 2002, 2004-2007 Keith Packard
2002-2003 University of Southern California
2004-2010 Red Hat, Inc.
2005-2010 Mozilla Corporation
2006-2009 Adrian Johnson
2007-2009 Chris Wilson
2006-2013 Intel Corporation
2011 Andrea Canciani
2011 Samsung Electronics
2010-2011 Linaro Limited
2009-2010 Eric Anholt
2002-2010 many others"
LICENSE="GNU LGPL v2.1
MPL v1.1"
REVISION="1"
SOURCE_URI="http://cairographics.org/releases/cairo-$portVersion.tar.xz"
CHECKSUM_SHA256="243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64"
SOURCE_DIR="cairo-$portVersion"
PATCHES="cairo-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
# This recipe MUST be kept in sync with xcairo!
libVersion="2.11800.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
cairo1.18$secondaryArchSuffix = $portVersion
lib:libcairo$secondaryArchSuffix = $libVersionCompat
lib:libcairo_gobject$secondaryArchSuffix = $libVersionCompat
lib:libcairo_script_interpreter$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libpixman_1$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
cairo1.18${secondaryArchSuffix}_devel = $portVersion
devel:libcairo$secondaryArchSuffix = $libVersionCompat
devel:libcairo_gobject$secondaryArchSuffix = $libVersionCompat
devel:libcairo_script_interpreter$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
cairo1.18$secondaryArchSuffix == $portVersion base
devel:libglib_2.0$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libpixman_1$secondaryArchSuffix
"
CONFLICTS_devel="
cairo${secondaryArchSuffix}_devel
xcairo${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libpixman_1$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:gtkdocize
cmd:ld$secondaryArchSuffix
cmd:ninja
cmd:make
cmd:meson
cmd:pkg_config$secondaryArchSuffix
pygments_python310
"
defineDebugInfoPackage cairo1.18$secondaryArchSuffix \
"$libDir"/libcairo.so.$libVersion \
"$libDir"/libcairo-gobject.so.$libVersion \
"$libDir"/libcairo-script-interpreter.so.$libVersion
BUILD()
{
meson \
--buildtype=release \
--prefix=$prefix \
--libdir=$libDir \
--libexecdir=$binDir \
--datadir=$dataDir \
--includedir=$includeDir \
--sysconfdir=$settingsDir \
-Dgtk_doc=true \
-Dtests=disabled \
build
ninja -C build
}
INSTALL()
{
ninja -C build install
# #install documentation
mkdir -p $dataDir
mv $prefix/share/gtk-doc $dataDir
rm -rf $prefix/share
prepareInstalledDevelLibs \
libcairo \
libcairo-gobject \
libcairo-script-interpreter
fixPkgconfig
packageEntries devel \
$developDir \
$dataDir
}
TEST()
{
cd build/test
cairo-test-suite
}