1SUMMARY="Python bindings for GLib/GObject/GIO/GTK"
2DESCRIPTION="PyGObject is a Python package which provides bindings for GObject based libraries \
3such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more."
4HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject"
5COPYRIGHT="2023 Christoph Reiter"
6LICENSE="GNU LGPL v2"
7REVISION="2"
8SOURCE_URI="https://download.gnome.org/sources/pygobject/3.44/pygobject-$portVersion.tar.xz"
9CHECKSUM_SHA256="3c6805d1321be90cc32e648215a562430e0d3d6edcda8f4c5e7a9daffcad5710"
10
11ARCHITECTURES="all !x86_gcc2"
12SECONDARY_ARCHITECTURES="x86"
13
14PROVIDES="
15	$portName = $portVersion
16	"
17REQUIRES="
18	haiku$secondaryArchSuffix
19	"
20
21BUILD_REQUIRES="
22	haiku${secondaryArchSuffix}_devel
23	devel:libcairo$secondaryArchSuffix
24	devel:libgirepository_1.0$secondaryArchSuffix
25	devel:libglib_2.0$secondaryArchSuffix
26	"
27BUILD_PREREQUIRES="
28	cmd:gcc$secondaryArchSuffix
29	cmd:meson
30	cmd:ninja
31	cmd:pkg_config$secondaryArchSuffix
32	"
33
34PYTHON_PACKAGES=(python39 python310)
35PYTHON_VERSIONS=(3.9 3.10)
36for i in "${!PYTHON_PACKAGES[@]}"; do
37	pythonPackage=${PYTHON_PACKAGES[i]}
38	pythonVersion=${PYTHON_VERSIONS[$i]}
39
40	eval "PROVIDES_$pythonPackage=\"
41		${portName}_$pythonPackage = $portVersion
42		\""
43	# Also provide "non _x86" package on x86 32 bits
44	if [ "$targetArchitecture" = "x86_gcc2" ]; then
45		eval "PROVIDES_${pythonPackage}+=\"
46			pygobject_$pythonPackage = $portVersion
47			\""
48	fi
49	eval "REQUIRES_$pythonPackage=\"
50		haiku$secondaryArchSuffix
51		cmd:python$pythonVersion
52		lib:libcairo$secondaryArchSuffix
53		lib:libcairo_gobject$secondaryArchSuffix
54		lib:libcairo_script_interpreter$secondaryArchSuffix
55		\""
56	BUILD_PREREQUIRES+="
57		cmd:python$pythonVersion
58		"
59done
60
61INSTALL()
62{
63	for i in "${!PYTHON_PACKAGES[@]}"; do
64		pythonPackage=${PYTHON_PACKAGES[i]}
65		pythonVersion=${PYTHON_VERSIONS[$i]}
66
67		python=python$pythonVersion
68		installLocation=$prefix/lib/$python/vendor-packages/
69		export PYTHONPATH=$installLocation:$PYTHONPATH
70		mkdir -p $installLocation
71		rm -rf build
72		meson build --buildtype=release \
73			--prefix=$prefix \
74			--includedir=$includeDir \
75			--libdir=$libDir \
76			--localedir=$dataDir/locale \
77			-Dpython=$python \
78			-Dpycairo=disabled \
79			-Dtests=false
80		ninja -C build install
81
82		fixPkgconfig
83
84		packageEntries $pythonPackage \
85			$developDir \
86			$libDir
87	done
88}
89