# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=6

PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE='threads(+)'
VALA_MIN_API_VERSION="0.30"

unset _live_inherits

if [[ ${PV} == *9999* ]]; then
	EGIT_REPO_URI="git://git.xfce.org/apps/${PN}"
	_live_inherits=git-2
else
	KEYWORDS="~amd64 ~arm ~mips ~x86 ~x86-fbsd"
	SRC_URI="http://www.${PN}-browser.org/downloads/${PN}_${PV}_all_.tar.bz2"
fi

inherit eutils fdo-mime gnome2-utils pax-utils python-any-r1 cmake-utils vala ${_live_inherits}

DESCRIPTION="A lightweight web browser based on WebKitGTK+"
HOMEPAGE="http://www.midori-browser.org/"

LICENSE="LGPL-2.1 MIT"
SLOT="0"
IUSE="deprecated doc granite introspection xscreensaver +jit +webkit2 zeitgeist"

RDEPEND="
	>=app-crypt/gcr-3[gtk]
	>=dev-db/sqlite-3.6.19:3
	>=dev-libs/glib-2.32.3
	dev-libs/libxml2
	>=net-libs/libsoup-2.38:2.4
	>=net-libs/libsoup-gnome-2.38:2.4
	>=x11-libs/libnotify-0.7
	xscreensaver? ( x11-libs/libXScrnSaver )
	deprecated? (
		>=net-libs/webkit-gtk-1.8.1:2[jit=]
		>=x11-libs/gtk+-2.24:2
		)
	!deprecated? (
		>=x11-libs/gtk+-3.10.0:3
		webkit2? ( >=net-libs/webkit-gtk-2.3.91:4[jit=] )
		!webkit2? ( >=net-libs/webkit-gtk-1.8.1:3[jit=] )
		)
	granite? ( >=dev-libs/granite-0.2 )
	introspection? ( dev-libs/gobject-introspection:= )
	zeitgeist? ( >=dev-libs/libzeitgeist-0.3.14 )
"
DEPEND="${RDEPEND}
	${PYTHON_DEPS}
	$(vala_depend)
	dev-util/intltool
	gnome-base/librsvg
	sys-devel/gettext
	doc? ( dev-util/gtk-doc )
"
REQUIRED_USE="
	granite? ( !deprecated )
	introspection? ( deprecated )
	webkit2? ( !deprecated )
"

pkg_setup() {
	python-any-r1_pkg_setup
}

src_unpack() {
	if [[ ${PV} == *9999* ]]; then
		git-2_src_unpack
	else
		default
	fi
}

src_prepare() {
	vala_src_prepare
	sed -i -e '/^install/s:COPYING:HACKING TODO TRANSLATE:' CMakeLists.txt || die
	eapply_user
}

src_configure() {
	strip-linguas -i po

	local mycmakeargs=(
		-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
		-DUSE_APIDOCS="$(usex doc)"
		-DUSE_GIR="$(usex introspection)"
		-DUSE_GRANITE="$(usex granite)"
		-DUSE_ZEITGEIST="$(usex zeitgeist)"
		-DUSE_XSCREENSAVER="$(usex xscreensaver)"
		-DVALA_EXECUTABLE="${VALAC}"
		)

	if use deprecated; then
		mycmakeargs+=(
			-DUSE_GTK3=OFF
			-DHALF_BRO_INCOM_WEBKIT2=OFF
			)
	else
		mycmakeargs+=(
			-DUSE_GTK3=ON
			-DHALF_BRO_INCOM_WEBKIT2="$(usex webkit2)"
			)
	fi

	cmake-utils_src_configure
}

src_install() {
	cmake-utils_src_install

	local jit_is_enabled
	if use deprecated; then
		has_version 'net-libs/webkit-gtk:2[jit]' && jit_is_enabled=yes
	else
		has_version 'net-libs/webkit-gtk:3[jit]' && jit_is_enabled=yes
	fi
	[[ ${jit_is_enabled} == yes ]] && pax-mark -m "${ED}"/usr/bin/${PN} #480290
}

pkg_preinst() {
	gnome2_icon_savelist
}

pkg_postinst() {
	fdo-mime_desktop_database_update
	fdo-mime_mime_database_update
	gnome2_icon_cache_update
}

pkg_postrm() {
	fdo-mime_desktop_database_update
	fdo-mime_mime_database_update
	gnome2_icon_cache_update
}