SUMMARY="A simple key/value storage for reading"
DESCRIPTION="dconf is a simple key/value storage system \
that is heavily optimised for reading. \
This makes it an ideal system for storing user preferences \
(which are read 1000s of times for each time the user changes one). \
It was created with this usecase in mind."
HOMEPAGE="https://gitlab.gnome.org/GNOME/dconf/"
COPYRIGHT="2010 Ryan Lortie
	2010 Tomasz Miąsko"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://gitlab.gnome.org/GNOME/dconf/-/archive/$portVersion/dconf-$portVersion.zip"
CHECKSUM_SHA256="f83e7e993ddca6d0e29ffa659a8b0acce80093cae0e24a60405e5427dbb4009b"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

libVersion=1.0.0
libVersionCompat="$libVersion compat >= ${libVersion%%,*}"

PROVIDES="
	dconf$secondaryArchSuffix = $portVersion
	cmd:dconf$secondaryArchSuffix
	lib:libdconf$secondaryArchSuffix = $libVersionCompat
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libdbus_1$secondaryArchSuffix
	lib:libgio_2.0$secondaryArchSuffix
	lib:libglib_2.0$secondaryArchSuffix
	lib:libgobject_2.0$secondaryArchSuffix
	"

PROVIDES_devel="
	dconf${secondaryArchSuffix}_devel = $portVersion
	devel:libdconf$secondaryArchSuffix = $libVersionCompat
	"

REQUIRES_devel="
	dconf$secondaryArchSuffix == $portVersion base
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	bash_completion
	docbook_xml_dtd
	docbook_xsl_stylesheets
	devel:libdbus_1$secondaryArchSuffix
	devel:libgio_2.0$secondaryArchSuffix
	devel:libglib_2.0$secondaryArchSuffix
	devel:libgobject_2.0$secondaryArchSuffix
	gobject_introspection${secondaryArchSuffix}_devel
	"
BUILD_PREREQUIRES="
#	cmd:dbus-daemon
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:meson
	cmd:ninja
	cmd:valac
	cmd:pkg_config$secondaryArchSuffix
	cmd:python3
	cmd:xsltproc
	"

BUILD()
{
	meson build \
		--buildtype=release \
		--prefix=$prefix \
		--bindir=$binDir \
		--datadir=$dataDir \
		--includedir=$includeDir \
		--libdir=$libDir \
		--libexecdir=$libDir \
		--localedir=$dataDir/locale \
		--mandir=$manDir

	ninja -C build $jobArgs
}

INSTALL()
{
	ninja -C build install

	prepareInstalledDevelLib libdconf
	fixPkgconfig

	packageEntries devel \
		$developDir
}

Test()
{
	ninja test -C build
}
