blob: 8b47e6840f1807611797b46dd901072db9abfe2d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-libs/gtk-vnc/gtk-vnc-0.4.4.ebuild,v 1.6 2012/03/05 22:13:02 ranger Exp $
EAPI="3"
GNOME_TARBALL_SUFFIX="xz"
inherit base eutils gnome.org python
DESCRIPTION="VNC viewer widget for GTK"
HOMEPAGE="http://live.gnome.org/gtk-vnc"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 ~sparc x86 ~x86-fbsd"
IUSE="examples gtk3 +introspection python sasl vala"
# libview is used in examples/gvncviewer -- no need
# TODO: review nsplugin when it will be considered less experimental
COMMON_DEPEND=">=dev-libs/glib-2.10:2
>=dev-libs/libgcrypt-1.4.2
dev-libs/libgpg-error
>=net-libs/gnutls-1.4
>=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 )
python? ( >=dev-python/pygtk-2:2 )
sasl? ( dev-libs/cyrus-sasl )"
RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}
>=dev-lang/perl-5
dev-util/pkgconfig
sys-devel/gettext
>=dev-util/intltool-0.40
vala? (
dev-lang/vala:0.14[vapigen]
>=dev-libs/gobject-introspection-0.9.4 )
"
GTK2_BUILDDIR="${WORKDIR}/${P}_gtk2"
GTK3_BUILDDIR="${WORKDIR}/${P}_gtk3"
pkg_setup() {
python_set_active_version 2
if use vala && ! use gtk3; then
ewarn "You must set USE=gtk3 to enable vala bindings support."
fi
}
src_prepare() {
python_convert_shebangs -r 2 .
mkdir "${GTK2_BUILDDIR}" || die
mkdir "${GTK3_BUILDDIR}" || die
# Remove a few files that were autogenerated during distcheck.
# Having these around in srcdir breaks out of tree build since they're
# expected to be in builddir, which is correct for trunk builds since
# they're generated files, not source files. Funny false dichotomy.
rm -vf "${S}"/src/{vncconnectionenums.[ch],vncdisplayenums.[ch]}
# Fix incorrect codegendir check: h2def.py is in pygobject, not pygtk
sed -e 's/codegendir pygtk-2.0/codegendir pygobject-2.0/g' \
-i src/Makefile.* || die
}
src_configure() {
local myconf
myconf="
$(use_with examples) \
$(use_enable introspection) \
$(use_with sasl) \
--with-coroutine=gthread \
--without-libview \
--disable-static \
--disable-vala"
cd ${GTK2_BUILDDIR}
einfo "Running configure in ${GTK2_BUILDDIR}"
ECONF_SOURCE="${S}" econf ${myconf} \
$(use_with python) \
--with-gtk=2.0
if use gtk3; then
if use vala; then
myconf="${myconf} \
--enable-introspection \
--enable-vala \
VAPIGEN=$(type -p vapigen-0.14)"
fi
cd ${GTK3_BUILDDIR}
einfo "Running configure in ${GTK3_BUILDDIR}"
# Python support is via gobject-introspection
# Ex: from gi.repository import GtkVnc
ECONF_SOURCE="${S}" econf ${myconf} \
--with-python=no \
--with-gtk=3.0
fi
}
src_compile() {
cd ${GTK2_BUILDDIR}
einfo "Running make in ${GTK2_BUILDDIR}"
emake || die
if use gtk3; then
cd ${GTK3_BUILDDIR}
einfo "Running make in ${GTK3_BUILDDIR}"
emake || die
fi
}
src_test() {
cd ${GTK2_BUILDDIR}
einfo "Running make check in ${GTK2_BUILDDIR}"
emake check || die
if use gtk3; then
cd ${GTK3_BUILDDIR}
einfo "Running make check in ${GTK3_BUILDDIR}"
emake check || die
fi
}
src_install() {
dodoc AUTHORS ChangeLog NEWS README || die
cd ${GTK2_BUILDDIR}
einfo "Running make install in ${GTK2_BUILDDIR}"
# bug #328273
MAKEOPTS="${MAKEOPTS} -j1" base_src_install
if use gtk3; then
cd ${GTK3_BUILDDIR}
einfo "Running make install in ${GTK3_BUILDDIR}"
# bug #328273
MAKEOPTS="${MAKEOPTS} -j1" base_src_install
fi
python_clean_installation_image
# Remove .la files
find "${ED}" -name '*.la' -exec rm -f '{}' + || die
}
|