SUMMARY="Callback Framework for C++"
DESCRIPTION="A typesafe callback system for standard C++. It allows you to \
define signals and to connect those signals to any callback function, either \
global or a member function, regardless of whether it is static or virtual.

It also contains adaptor classes for connection of dissimilar callbacks and \
has an ease of use unmatched by other C++ callback libraries."
HOMEPAGE="http://libsigc.sourceforge.net/"
COPYRIGHT="2002-2020 The libsigc++ Development Team"
LICENSE="GNU LGPL v3"
REVISION="1"
SOURCE_URI="http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.0/libsigc++-$portVersion.tar.xz"
CHECKSUM_SHA256="e4f4866a894bdbe053e4fb22ccc6bc4b6851fd31a4746fdd20b2cf6e87c6edb6"
SOURCE_DIR="libsigc++-$portVersion"

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

libVersion="0.0.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"

PROVIDES="
	libsigc++3$secondaryArchSuffix = $portVersion
	lib:libsigc_3.0$secondaryArchSuffix = $libVersionCompat
	"
REQUIRES="
	haiku$secondaryArchSuffix
	"

PROVIDES_devel="
	libsigc++3${secondaryArchSuffix}_devel = $portVersion
	devel:libsigc_3.0$secondaryArchSuffix = $libVersionCompat
	"
REQUIRES_devel="
	libsigc++3$secondaryArchSuffix == $portVersion base
	"
CONFLICTS_devel="
	libsigc++${secondaryArchSuffix}_devel
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	"
BUILD_PREREQUIRES="
	cmd:autoconf
	cmd:gcc$secondaryArchSuffix
	cmd:grep
	cmd:libtoolize$secondaryArchSuffix
	cmd:make
	cmd:perl
	cmd:pkg_config$secondaryArchSuffix
	cmd:xsltproc$secondaryArchSuffix
	"

defineDebugInfoPackage libsigc++3$secondaryArchSuffix \
	$libDir/libsigc-3.0.so.$libVersion

BUILD()
{
	runConfigure ./configure
	make $jobArgs
}

INSTALL()
{
	make install

	mv $libDir/sigc++-3.0/include/sigc++config.h $includeDir/sigc++-3.0
	rm -rf $libDir/sigc++-3.0

	prepareInstalledDevelLib \
		libsigc-3.0

	rm $developLibDir/*.la

	fixPkgconfig

	sed -i -e 's|-I${libdir}/sigc++-3.0/include||' \
		$developLibDir/pkgconfig/sigc++-3.0.pc

	packageEntries devel \
		$relativeDevelopDir
}

TEST()
{
	make check
}
