| # 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 |
| } |