# Template build file for 'gtk+3'.
pkgname=gtk+3
version=3.10.6
revision=2
wrksrc="gtk+-${version}"
build_style=gnu-configure
configure_args="--enable-cups --disable-schemas-compile --enable-gtk2-dependency --enable-colord"
short_desc="The GTK+ toolkit (v3)"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.gtk.org/"
license="LGPL-2.1"
distfiles="${GNOME_SITE}/gtk+/3.10/gtk+-${version}.tar.xz"
checksum=3c24c57fc5cb7a5ea39d3a3ff7b12be63d7f21a52fd6f20f7b983e19b7b0268a

hostmakedepends="pkg-config glib-devel>=2.38"
makedepends="libglib-devel>=2.38 atk-devel>=2.10 at-spi2-atk-devel>=2.8
 libpng-devel fontconfig-devel cairo-devel pango-devel>=1.36 gdk-pixbuf-devel>=2.30
 gtk+-devel colord-devel>=0.1.23_3 cups-devel"
depends="gtk-update-icon-cache shared-mime-info glib>=2.38 atk>=2.10 dbus-x11"
triggers="gtk3-immodules"
conf_files="/etc/gtk-3.0/im-multipress.conf"

# Package build options
build_options="broadway gir wayland x11"
desc_option_broadway="Enable support for the HTML5 Broadway backend"
desc_option_gir="Enable support for gobject introspection data"
desc_option_wayland="Enable support for the Wayland backend"
desc_option_x11="Enable support for the X11 backend"

# Enable all options by default.
build_options_default="broadway gir wayland x11"

if [ "$build_option_broadway" ]; then
	configure_args+=" --enable-broadway-backend"
else
	configure_args+=" --disable-broadway-backend"
fi

if [ "$build_option_gir" ]; then
	makedepends+=" gobject-introspection"
	configure_args+=" --enable-introspection"
else
	configure_args+=" --disable-introspection"
fi

if [ "$build_option_wayland" ]; then
	makedepends+=" libxkbcommon-devel wayland-devel"
	configure_args+=" --enable-wayland-backend"
else
	configure_args+=" --disable-wayland-backend"
fi

if [ "$build_option_x11" ]; then
	makedepends+=" libXcursor-devel libXdamage-devel libXext-devel
		libXinerama-devel libXi-devel libXrandr-devel libXcomposite-devel"
	configure_args+=" --enable-x11-backend"
else
	configure_args+=" --disable-x11-backend"
fi

pre_configure() {
	# protocols too new; made with a wayland from git, not 1.3.0
	rm gdk/wayland/gtk-shell-{client-protocol.h,protocol.c}
}

post_install() {
	rm -f ${DESTDIR}/usr/share/man/man1/gtk-update-icon-cache.1
	# Provide a default (icon)theme.
	vinstall ${FILESDIR}/settings.ini 644 usr/share/gtk-3.0
}

gtk+3-devel_package() {
	depends="libglib-devel>=2.38 atk-devel>=2.10 cairo-devel gdk-pixbuf-devel>=2.30
		pango-devel>=1.36 at-spi2-atk-devel>=2.10 gtk+3>=${version}_${revision}"
	if [ "$build_option_x11" ]; then
		depends+=" libXcomposite-devel libXcursor-devel libXrandr-devel libXi-devel libXinerama-devel"
	fi
	if [ "$build_option_wayland" ]; then
		depends+=" libxkbcommon-devel wayland-devel"
	fi
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.so"
		if [ "$build_option_gir" ]; then
			vmove usr/share/gir-1.0
		fi
		vmove usr/share/gtk-doc
		vmove usr/share/aclocal
	}
}

gtk+3-demo_package() {
	short_desc+=" - demonstration application"
	pkg_install() {
		vmove usr/bin/gtk3-demo
		vmove usr/bin/gtk3-widget-factory
		vmove usr/bin/gtk3-demo-application
		vmove usr/share/gtk-3.0
	}
}