1SUMMARY="C++ interface for glib2"
2DESCRIPTION="A C++ API for parts of glib that are useful for C++."
3HOMEPAGE="https://www.gtkmm.org/en/"
4COPYRIGHT="2023 The gtkmm Development Team"
5LICENSE="GNU LGPL v2.1
6	GNU GPL v2"
7REVISION="2"
8SOURCE_URI="http://ftp.gnome.org/pub/GNOME/sources/glibmm/${portVersion%.*}/glibmm-$portVersion.tar.xz"
9SOURCE_DIR="glibmm-$portVersion"
10CHECKSUM_SHA256="5d2e872564996f02a06d8bbac3677e7c394af8b00dd1526aebd47af842a3ef50"
11
12ARCHITECTURES="all !x86_gcc2 ?x86"
13SECONDARY_ARCHITECTURES="x86"
14
15libVersion="1.3.0"
16libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
17apiVers="2.68"
18
19PROVIDES="
20	glibmm2.68$secondaryArchSuffix = $portVersion
21	lib:libgiomm_$apiVers$secondaryArchSuffix = $libVersionCompat
22	lib:libglibmm_$apiVers$secondaryArchSuffix = $libVersionCompat
23	lib:libglibmm_generate_extra_defs_$apiVers$secondaryArchSuffix = $libVersionCompat
24	"
25REQUIRES="
26	haiku$secondaryArchSuffix
27	lib:libglib_2.0$secondaryArchSuffix
28	lib:libgmodule_2.0$secondaryArchSuffix
29	lib:libgobject_2.0$secondaryArchSuffix
30	lib:libintl$secondaryArchSuffix
31	lib:libsigc_3.0$secondaryArchSuffix
32	"
33
34PROVIDES_devel="
35	glibmm2.68${secondaryArchSuffix}_devel = $portVersion
36	devel:libgiomm_$apiVers$secondaryArchSuffix = $libVersionCompat
37	devel:libglibmm_$apiVers$secondaryArchSuffix = $libVersionCompat
38	devel:libglibmm_generate_extra_defs_$apiVers$secondaryArchSuffix = $libVersionCompat
39	"
40REQUIRES_devel="
41	glibmm2.68$secondaryArchSuffix == $portVersion base
42	devel:libsigc_3.0$secondaryArchSuffix
43	"
44
45BUILD_REQUIRES="
46	haiku${secondaryArchSuffix}_devel
47	devel:libglib_2.0$secondaryArchSuffix
48	devel:libgmodule_2.0$secondaryArchSuffix
49	devel:libgobject_2.0$secondaryArchSuffix
50	devel:libintl$secondaryArchSuffix
51	devel:libsigc_3.0$secondaryArchSuffix
52	"
53BUILD_PREREQUIRES="
54	cmd:cmake
55	cmd:gcc$secondaryArchSuffix
56	cmd:meson
57	cmd:ninja
58	cmd:pkg_config$secondaryArchSuffix
59	"
60
61defineDebugInfoPackage glibmm2.68$secondaryArchSuffix \
62	"$libDir"/libgiomm-$apiVers.so.$libVersion \
63	"$libDir"/libglibmm-$apiVers.so.$libVersion \
64	"$libDir"/libglibmm_generate_extra_defs-$apiVers.so.$libVersion
65
66BUILD()
67{
68	CFLAGS="-D_BSD_SOURCE" \
69		LDFLAGS="-lbsd -lgnu -lnetwork" meson build \
70		--prefix=$prefix --includedir=$includeDir \
71		--libdir=$libDir --datadir=$dataDir --bindir=$binDir \
72		-Dmaintainer-mode=false --buildtype=debugoptimized
73
74	ninja $jobArgs -C build
75}
76
77INSTALL()
78{
79	ninja -C build install
80
81	rm -rf $libDir/*.la
82
83	mv $libDir/glibmm-$apiVers/include/*.h $includeDir/glibmm-$apiVers
84	mv $libDir/giomm-$apiVers/include/*.h $includeDir/giomm-$apiVers
85	rm -rf $libDir/{glibmm-$apiVers,giomm-$apiVers}
86
87	prepareInstalledDevelLibs \
88		libgiomm-$apiVers \
89		libglibmm-$apiVers \
90		libglibmm_generate_extra_defs-$apiVers
91
92	fixPkgconfig
93
94	sed -i -e 's|-I${libdir}/glibmm-2.68/include||' \
95		$developLibDir/pkgconfig/glibmm-$apiVers.pc
96	sed -i -e 's|-I${libdir}/giomm-2.68/include||' \
97		$developLibDir/pkgconfig/giomm-$apiVers.pc
98
99	# devel package
100	packageEntries devel \
101		$developDir
102}
103
104TEST()
105{
106	ninja -C build test
107}
108