forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.4, Repoman-2.3.2
- Loading branch information
Showing
2 changed files
with
190 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,189 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=5 | ||
|
||
PYTHON_COMPAT=( python2_7 ) | ||
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-r1 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="http://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 \ | ||
--disable-emoji-dict \ | ||
$(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 | ||
} |