1SUMMARY="C++ interface for GTK 3"
2DESCRIPTION="gtkmm is the official C++ interface for the popular GUI library \
3GTK. Highlights include typesafe callbacks, and a comprehensive set of widgets \
4that are easily extensible via inheritance."
5HOMEPAGE="https://www.gtkmm.org/en/"
6COPYRIGHT="2021 The gtkmm Development Team"
7LICENSE="GNU LGPL v2.1
8	GNU GPL v2"
9REVISION="4"
10SOURCE_URI="http://ftp.gnome.org/pub/GNOME/sources/gtkmm/${portVersion%.*}/gtkmm-$portVersion.tar.xz"
11CHECKSUM_SHA256="856333de86689f6a81c123f2db15d85db9addc438bc3574c36f15736aeae22e6"
12SOURCE_DIR="gtkmm-$portVersion"
13
14ARCHITECTURES="all !x86_gcc2"
15SECONDARY_ARCHITECTURES="x86"
16
17libVersion="1.1.0"
18libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
19apiVersion="3.0"
20
21PROVIDES="
22	gtkmm3$secondaryArchSuffix = $portVersion
23	lib:libgtkmm_$apiVersion$secondaryArchSuffix = $libVersionCompat
24	lib:libgdkmm_$apiVersion$secondaryArchSuffix = $libVersionCompat
25	"
26REQUIRES="
27	haiku$secondaryArchSuffix
28	lib:libatkmm_1.6$secondaryArchSuffix
29	lib:libglib_2.0$secondaryArchSuffix
30	lib:libglibmm_2.4$secondaryArchSuffix
31	lib:libgtk_3$secondaryArchSuffix
32	lib:libgdk_pixbuf_2.0$secondaryArchSuffix
33	lib:libcairomm_1.0$secondaryArchSuffix
34	lib:libpangomm_1.4$secondaryArchSuffix
35	lib:libsigc_2.0$secondaryArchSuffix
36	"
37
38PROVIDES_devel="
39	gtkmm3${secondaryArchSuffix}_devel = $portVersion
40	devel:libgtkmm_$apiVersion$secondaryArchSuffix = $libVersionCompat
41	devel:libgdkmm_$apiVersion$secondaryArchSuffix = $libVersionCompat
42	"
43REQUIRES_devel="
44	gtkmm3$secondaryArchSuffix == $portVersion base
45	devel:libatkmm_1.6$secondaryArchSuffix
46	devel:libglib_2.0$secondaryArchSuffix
47	devel:libgdk_pixbuf_2.0$secondaryArchSuffix
48	devel:libgtk_3$secondaryArchSuffix
49	devel:libcairomm_1.0$secondaryArchSuffix
50	devel:libpangomm_1.4$secondaryArchSuffix
51	"
52
53BUILD_REQUIRES="
54	haiku${secondaryArchSuffix}_devel
55	devel:libatkmm_1.6$secondaryArchSuffix
56	devel:libglib_2.0$secondaryArchSuffix
57	devel:libgtk_3$secondaryArchSuffix
58	devel:libcairomm_1.0$secondaryArchSuffix
59	devel:libpangomm_1.4$secondaryArchSuffix
60	"
61BUILD_PREREQUIRES="
62	cmd:cmake
63	cmd:gcc$secondaryArchSuffix
64	cmd:meson
65	cmd:ninja
66	cmd:pkg_config$secondaryArchSuffix
67	cmd:update_mime_database$secondaryArchSuffix
68	"
69
70defineDebugInfoPackage gtkmm3$secondaryArchSuffix \
71	"$libDir"/libgtkmm-$apiVersion.so.$libVersion
72
73BUILD()
74{
75	meson build --buildtype=debugoptimized \
76		--prefix=$prefix --includedir=$includeDir \
77		--libdir=$libDir --datadir=$dataDir --bindir=$binDir \
78		-Dmaintainer-mode=false -Dbuild-demos=false
79
80	ninja $jobArgs -C build
81}
82
83INSTALL()
84{
85	ninja -C build install
86
87	rm -rf $libDir/*.la
88
89	mkdir -p $developLibDir
90	mv $libDir/gtkmm-$apiVersion/include/*.h $includeDir/gtkmm-$apiVersion
91	mv $libDir/gdkmm-$apiVersion/include/*.h $includeDir/gtkmm-$apiVersion
92	mv $libDir/gtkmm-$apiVersion/ $developLibDir
93	rm -rf $libDir/{gtkmm,gdkmm}-$apiVersion
94
95	prepareInstalledDevelLibs \
96		libgtkmm-$apiVersion
97
98	fixPkgconfig
99
100	sed -i -e 's|-I${libdir}/gtkmm-$apiVersion/include||' \
101		$developLibDir/pkgconfig/gtkmm-$apiVersion.pc
102	sed -i -e 's|-I${libdir}/gdkmm-$apiVersion/include||' \
103		$developLibDir/pkgconfig/gdkmm-$apiVersion.pc
104
105	packageEntries devel \
106		$developDir
107}
108