| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| PYTHON_COMPAT=( python2_7 ) |
| VALA_MIN_API_VERSION="0.20" |
| VALA_USE_DEPEND="vapigen" |
| # Vapigen is needed for the vala binding |
| # Valac is needed when building from git for the engine |
| UPSTREAM_VER= |
| |
| inherit autotools bash-completion-r1 eutils gnome2-utils multilib python-single-r1 readme.gentoo vala virtualx |
| |
| DESCRIPTION="Intelligent Input Bus for Linux / Unix OS" |
| HOMEPAGE="https://github.com/ibus/ibus/wiki" |
| |
| LICENSE="LGPL-2.1" |
| SLOT="0" |
| KEYWORDS="~alpha amd64 arm ~ia64 ppc ppc64 ~sparc x86 ~x86-fbsd" |
| IUSE="deprecated gconf gtk +gtk3 +introspection nls +python test vala wayland +X" |
| REQUIRED_USE=" |
| || ( gtk gtk3 X ) |
| deprecated? ( python ) |
| vala? ( introspection ) |
| python? ( |
| ${PYTHON_REQUIRED_USE} |
| || ( deprecated ( gtk3 introspection ) ) )" #342903 |
| |
| [[ -n ${UPSTREAM_VER} ]] && \ |
| UPSTRAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" |
| |
| SRC_URI="https://github.com/ibus/ibus/releases/download/${PV}/${P}.tar.gz |
| ${UPSTRAM_PATCHSET_URI}" |
| |
| COMMON_DEPEND=" |
| >=dev-libs/glib-2.26:2 |
| gnome-base/librsvg:2 |
| sys-apps/dbus[X?] |
| app-text/iso-codes |
| >=gnome-base/dconf-0.13.4 |
| x11-libs/libnotify |
| gconf? ( >=gnome-base/gconf-2.12:2 ) |
| gtk? ( x11-libs/gtk+:2 ) |
| gtk3? ( x11-libs/gtk+:3 ) |
| python? ( ${PYTHON_DEPS} ) |
| X? ( |
| x11-libs/libX11 |
| x11-libs/gtk+:2 ) |
| introspection? ( >=dev-libs/gobject-introspection-0.6.8 ) |
| nls? ( virtual/libintl ) |
| wayland? ( dev-libs/wayland )" |
| RDEPEND="${COMMON_DEPEND} |
| x11-apps/setxkbmap |
| python? ( |
| dev-python/pyxdg |
| deprecated? ( |
| >=dev-python/dbus-python-0.83 |
| dev-python/pygobject:2 |
| dev-python/pygtk:2 ) |
| gtk3? ( |
| dev-python/pygobject:3 |
| x11-libs/gdk-pixbuf:2[introspection] |
| x11-libs/pango[introspection] |
| x11-libs/gtk+:3[introspection] ) |
| )" |
| DEPEND="${COMMON_DEPEND} |
| >=dev-lang/perl-5.8.1 |
| dev-util/gtk-doc-am |
| dev-util/intltool |
| virtual/pkgconfig |
| nls? ( >=sys-devel/gettext-0.16.1 ) |
| vala? ( $(vala_depend) )" |
| |
| # stress test in bus/ fails |
| # IBUS-CRITICAL **: bus_test_client_init: assertion `ibus_bus_is_connected (_bus)' failed |
| RESTRICT="test" |
| |
| DOCS="AUTHORS ChangeLog NEWS README" |
| |
| DISABLE_AUTOFORMATTING="yes" |
| DOC_CONTENTS="To use ibus, you should: |
| 1. Get input engines from sunrise overlay. |
| Run \"emerge -s ibus-\" in your favorite terminal |
| for a list of packages we already have. |
| |
| 2. Setup ibus: |
| $ ibus-setup |
| |
| 3. Set the following in your user startup scripts |
| such as .xinitrc, .xsession or .xprofile: |
| |
| export XMODIFIERS=\"@im=ibus\" |
| export GTK_IM_MODULE=\"ibus\" |
| export QT_IM_MODULE=\"xim\" |
| ibus-daemon -d -x |
| " |
| |
| pkg_setup() { |
| use python && python-single-r1_pkg_setup |
| } |
| |
| src_prepare() { |
| # Upstream's patchset |
| if [[ -n ${UPSTREAM_VER} ]]; then |
| EPATCH_SUFFIX="patch" \ |
| EPATCH_FORCE="yes" \ |
| EPATCH_OPTS="-p1" \ |
| epatch "${WORKDIR}"/patches-upstream |
| fi |
| |
| # We run "dconf update" in pkg_postinst/postrm to avoid sandbox violations |
| sed -e 's/dconf update/:/' \ |
| -i data/dconf/Makefile.{am,in} || die |
| use vala && vala_src_prepare |
| |
| eautoreconf |
| } |
| |
| src_configure() { |
| local python_conf |
| if use python; then |
| python_conf="PYTHON=${PYTHON} |
| $(use_enable deprecated python-library) |
| $(use_enable gtk3 setup)" |
| else |
| python_conf="--disable-python-library --disable-setup" |
| fi |
| econf \ |
| --enable-dconf \ |
| $(use_enable introspection) \ |
| $(use_enable gconf) \ |
| $(use_enable gtk gtk2) \ |
| $(use_enable gtk xim) \ |
| $(use_enable gtk3) \ |
| $(use_enable gtk3 ui) \ |
| $(use_enable nls) \ |
| $(use_enable test tests) \ |
| $(use_enable X xim) \ |
| $(use_enable vala) \ |
| $(use_enable wayland) \ |
| ${python_conf} |
| } |
| |
| src_test() { |
| unset DBUS_SESSION_BUS_ADDRESS |
| Xemake check || die |
| } |
| |
| src_install() { |
| default |
| |
| prune_libtool_files --all |
| |
| mv "${ED}"/usr/share/bash-completion/completions/ibus.bash "${T}" |
| rm -rf "${ED}"/usr/share/bash-completion || die |
| newbashcomp "${T}"/ibus.bash ${PN} |
| insinto /etc/X11/xinit/xinput.d |
| newins xinput-ibus ibus.conf |
| |
| keepdir /usr/share/ibus/{engine,icons} #289547 |
| |
| use deprecated && python_optimize |
| use python && use gtk3 && python_optimize |
| |
| readme.gentoo_create_doc |
| } |
| |
| pkg_preinst() { |
| use gconf && gnome2_gconf_savelist |
| gnome2_schemas_savelist |
| gnome2_icon_savelist |
| } |
| |
| pkg_postinst() { |
| use gconf && gnome2_gconf_install |
| use gtk && gnome2_query_immodules_gtk2 |
| use gtk3 && gnome2_query_immodules_gtk3 |
| gnome2_schemas_update |
| gnome2_icon_cache_update |
| readme.gentoo_print_elog |
| } |
| |
| pkg_postrm() { |
| use gtk && gnome2_query_immodules_gtk2 |
| use gtk3 && gnome2_query_immodules_gtk3 |
| use gconf && gnome2_schemas_update |
| gnome2_icon_cache_update |
| } |