blob: a72ab51d74d3af89547f090b73b7fc3293a833f1 [file] [log] [blame]
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
GCONF_DEBUG="no"
GNOME2_LA_PUNT="yes"
PYTHON_COMPAT=( python2_7 )
VALA_MIN_API_VERSION="0.16"
VALA_USE_DEPEND="vapigen"
inherit gnome2 python-r1 vala
DESCRIPTION="VNC viewer widget for GTK"
HOMEPAGE="https://wiki.gnome.org/Projects/gtk-vnc"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
IUSE="examples +gtk3 +introspection pulseaudio python sasl vala"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
vala? ( gtk3 introspection )
"
# libview is used in examples/gvncviewer -- no need
# glib-2.30.1 needed to avoid linking failure due to .la files (bug #399129)
COMMON_DEPEND="
>=dev-libs/glib-2.30.1:2
>=dev-libs/libgcrypt-1.4.2:0=
dev-libs/libgpg-error
>=net-libs/gnutls-2.12
>=x11-libs/cairo-1.2
>=x11-libs/gtk+-2.18:2
x11-libs/libX11
gtk3? ( >=x11-libs/gtk+-2.91.3:3 )
introspection? ( >=dev-libs/gobject-introspection-0.9.4 )
pulseaudio? ( media-sound/pulseaudio )
python? (
${PYTHON_DEPS}
>=dev-python/pygtk-2:2[${PYTHON_USEDEP}] )
sasl? ( dev-libs/cyrus-sasl )
"
RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}
>=dev-lang/perl-5
>=dev-util/intltool-0.40
sys-devel/gettext
virtual/pkgconfig
vala? (
$(vala_depend)
>=dev-libs/gobject-introspection-0.9.4 )
"
# eautoreconf requires gnome-common
GTK2_BUILDDIR="${WORKDIR}/${P}_gtk2"
GTK3_BUILDDIR="${WORKDIR}/${P}_gtk3"
src_prepare() {
mkdir -p "${GTK2_BUILDDIR}" || die
mkdir -p "${GTK3_BUILDDIR}" || die
prepare_python() {
mkdir -p "${BUILD_DIR}" || die
}
if use python; then
python_foreach_impl prepare_python
fi
# Fix incorrect codegendir check: h2def.py is in pygobject, not pygtk, upstream bug#744393
sed -e 's/codegendir pygtk-2.0/codegendir pygobject-2.0/g' \
-i src/Makefile.* || die
# libtool seems unable to find this via VPATH so help it
sed -r "s:(gtkvnc_la_LIBADD =) libgtk-vnc-.*\.la:\1 ${GTK2_BUILDDIR}/src/libgtk-vnc-1.0.la:" \
-i src/Makefile.{am,in} || die
vala_src_prepare
gnome2_src_prepare
}
src_configure() {
local myconf
myconf="
$(use_with examples) \
$(use_enable introspection) \
$(use_with pulseaudio) \
$(use_with sasl) \
--with-coroutine=gthread \
--without-libview \
--disable-static \
--disable-vala"
cd "${GTK2_BUILDDIR}" || die
einfo "Running configure in ${GTK2_BUILDDIR}"
ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
--with-python=no \
--with-gtk=2.0
configure_python() {
ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
$(use_with python) \
--with-gtk=2.0
}
if use python; then
python_foreach_impl run_in_build_dir configure_python
fi
if use gtk3; then
cd "${GTK3_BUILDDIR}" || die
einfo "Running configure in ${GTK3_BUILDDIR}"
# Python support is via gobject-introspection
# Ex: from gi.repository import GtkVnc
ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
$(use_enable vala) \
--with-python=no \
--with-gtk=3.0
fi
}
src_compile() {
cd "${GTK2_BUILDDIR}" || die
einfo "Running make in ${GTK2_BUILDDIR}"
gnome2_src_compile
compile_python() {
cd "${BUILD_DIR}"/src || die
# CPPFLAGS set to help find includes for gvnc.override
emake gtkvnc.la \
VPATH="${S}/src:${GTK2_BUILDDIR}/src:${BUILD_DIR}/src" \
CPPFLAGS="${CPPFLAGS} -I${GTK2_BUILDDIR}/src"
}
if use python; then
python_foreach_impl run_in_build_dir compile_python
fi
if use gtk3; then
cd "${GTK3_BUILDDIR}" || die
einfo "Running make in ${GTK3_BUILDDIR}"
gnome2_src_compile
fi
}
src_test() {
cd "${GTK2_BUILDDIR}" || die
einfo "Running make check in ${GTK2_BUILDDIR}"
default
if use gtk3; then
cd "${GTK3_BUILDDIR}" || die
einfo "Running make check in ${GTK3_BUILDDIR}"
default
fi
}
src_install() {
cd "${GTK2_BUILDDIR}" || die
einfo "Running make install in ${GTK2_BUILDDIR}"
gnome2_src_install
install_python() {
cd "${BUILD_DIR}"/src || die
emake install-pyexecLTLIBRARIES DESTDIR="${D}" \
VPATH="${S}/src:${GTK2_BUILDDIR}/src:${BUILD_DIR}/src" \
CPPFLAGS="${CPPFLAGS} -I${GTK2_BUILDDIR}/src"
}
if use python; then
python_foreach_impl run_in_build_dir install_python
fi
if use gtk3; then
cd "${GTK3_BUILDDIR}" || die
einfo "Running make install in ${GTK3_BUILDDIR}"
gnome2_src_install
fi
}