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="2021 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"
9CHECKSUM_SHA256="b2a4cd7b9ae987794cbb5a1becc10cecb65182b9bb841868625d6bbb123edb1d"
10
11ARCHITECTURES="all !x86_gcc2 ?x86"
12SECONDARY_ARCHITECTURES="x86"
13
14libVersion="1.3.0"
15libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
16apiVers="2.4"
17
18PROVIDES="
19	glibmm$secondaryArchSuffix = $portVersion
20	lib:libgiomm$secondaryArchSuffix = $libVersionCompat
21	lib:libgiomm_$apiVers$secondaryArchSuffix = $libVersionCompat
22	lib:libglibmm$secondaryArchSuffix = $libVersionCompat
23	lib:libglibmm_$apiVers$secondaryArchSuffix = $libVersionCompat
24	lib:libglibmm_generate_extra_defs$secondaryArchSuffix = $libVersionCompat
25	lib:libglibmm_generate_extra_defs_$apiVers$secondaryArchSuffix = $libVersionCompat
26	"
27REQUIRES="
28	haiku$secondaryArchSuffix
29	lib:libglib_2.0$secondaryArchSuffix
30	lib:libgmodule_2.0$secondaryArchSuffix
31	lib:libgobject_2.0$secondaryArchSuffix
32	lib:libintl$secondaryArchSuffix
33	lib:libsigc_2.0$secondaryArchSuffix
34	"
35
36PROVIDES_devel="
37	glibmm${secondaryArchSuffix}_devel = $portVersion
38	devel:libgiomm$secondaryArchSuffix = $libVersionCompat
39	devel:libgiomm_$apiVers$secondaryArchSuffix = $libVersionCompat
40	devel:libglibmm$secondaryArchSuffix = $libVersionCompat
41	devel:libglibmm_$apiVers$secondaryArchSuffix = $libVersionCompat
42	devel:libglibmm_generate_extra_defs$secondaryArchSuffix = $libVersionCompat
43	devel:libglibmm_generate_extra_defs_$apiVers$secondaryArchSuffix = $libVersionCompat
44	"
45REQUIRES_devel="
46	glibmm$secondaryArchSuffix == $portVersion base
47	devel:libsigc_2.0$secondaryArchSuffix
48	"
49
50BUILD_REQUIRES="
51	haiku${secondaryArchSuffix}_devel
52	devel:libglib_2.0$secondaryArchSuffix
53	devel:libgmodule_2.0$secondaryArchSuffix
54	devel:libgobject_2.0$secondaryArchSuffix
55	devel:libintl$secondaryArchSuffix
56	devel:libsigc_2.0$secondaryArchSuffix
57	"
58BUILD_PREREQUIRES="
59	cmd:cmake
60	cmd:gcc$secondaryArchSuffix
61	cmd:meson
62	cmd:ninja
63	cmd:pkg_config$secondaryArchSuffix
64	"
65
66defineDebugInfoPackage glibmm$secondaryArchSuffix \
67	"$libDir"/libgiomm-$apiVers.so.$libVersion \
68	"$libDir"/libglibmm-$apiVers.so.$libVersion \
69	"$libDir"/libglibmm_generate_extra_defs-$apiVers.so.$libVersion
70
71BUILD()
72{
73	CFLAGS="-D_BSD_SOURCE" \
74		LDFLAGS="-lbsd -lgnu -lnetwork" meson build \
75		--prefix=$prefix --includedir=$includeDir \
76		--libdir=$libDir --datadir=$dataDir --bindir=$binDir \
77		-Dmaintainer-mode=false --buildtype=debugoptimized
78
79	ninja $jobArgs -C build
80}
81
82INSTALL()
83{
84	ninja -C build install
85
86	rm -rf $libDir/*.la
87
88	mv $libDir/glibmm-$apiVers/include/*.h $includeDir/glibmm-$apiVers
89	mv $libDir/giomm-$apiVers/include/*.h $includeDir/giomm-$apiVers
90	rm -rf $libDir/{glibmm-$apiVers,giomm-$apiVers}
91
92	prepareInstalledDevelLibs \
93		libgiomm-$apiVers \
94		libglibmm-$apiVers \
95		libglibmm_generate_extra_defs-$apiVers
96
97	fixPkgconfig
98
99	sed -i -e 's|-I${libdir}/glibmm-2.4/include||' \
100		$developLibDir/pkgconfig/glibmm-$apiVers.pc
101	sed -i -e 's|-I${libdir}/giomm-2.4/include||' \
102		$developLibDir/pkgconfig/giomm-$apiVers.pc
103
104	# devel package
105	packageEntries devel \
106		$developDir
107}
108
109TEST()
110{
111	ninja -C build test
112}
113