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.
Signed-off-by: Yixun Lan <[email protected]>
- Loading branch information
Showing
2 changed files
with
232 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST ibus-1.5.29-rc2.tar.gz 3991416 BLAKE2B c185c0cf8af79a80ee04f414e13c4b58bd2f18891851d2f018713848b3bc0fe0516c8c0cf8f64204040f10b6b4a5304c8be6305449d7290b5d08412246d3af40 SHA512 47dd39c9615783b6c157a25e8a2506dc2e1f440d56aa649ee8cb95a390cb4efab9c95e72ac84b5d042c25e350599b4d352ddc66f1385af6660d4a7a296e44ca7 | ||
DIST ibus-1.5.30.tar.gz 4124084 BLAKE2B 47dbcfec309bda14273463bff875e283148c7aba872d8e9f7673dd18e703f7b2a0eab5d538bd29a36525ab667b57488f4dc046bc955c1cd34edaec5b538e2bdd SHA512 cbed37bf62e8d8593c838f8ef7fe0b22bf8f4a661b887fc7be2f2768dda912075abdf3070c22b9699def90e7002aaaf7394f5fc590e12ef6ebb2bb5161cc29a0 | ||
DIST ibus-1.5.31.tar.gz 4108303 BLAKE2B 2fa895369f5326339b50da34777e2f34124000cff40a4bc871bb0c1cdac4a22cc327240b8338bc6c4fc85267a83ccc0bd5963abcf4763a373b1227bdb5753b76 SHA512 adfad740002662262981ddfcc3f6eb1e898433d3bd90b07535ceef367d496d3da3e0836e59133d0063caf2d3d55d0deb6cf18ae2807fdd1ce4afab84a7725ca5 |
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,231 @@ | ||
# Copyright 1999-2024 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
PYTHON_COMPAT=( python3_{10..12} ) | ||
|
||
inherit autotools bash-completion-r1 gnome2-utils python-r1 toolchain-funcs vala virtualx | ||
|
||
DESCRIPTION="Intelligent Input Bus for Linux / Unix OS" | ||
HOMEPAGE="https://github.com/ibus/ibus/wiki" | ||
|
||
MY_PV=$(ver_rs 3 '-') | ||
GENTOO_VER= | ||
[[ -n ${GENTOO_VER} ]] && \ | ||
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz" | ||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${MY_PV}/${PN}-${MY_PV}.tar.gz | ||
${GENTOO_PATCHSET_URI}" | ||
|
||
LICENSE="LGPL-2.1" | ||
SLOT="0" | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" | ||
IUSE="X appindicator +emoji gtk2 +gtk3 +gtk4 +gui +introspection libnotify nls +python systemd test +unicode vala wayland" | ||
RESTRICT="!test? ( test )" | ||
REQUIRED_USE=" | ||
appindicator? ( gtk3 ) | ||
python? ( | ||
${PYTHON_REQUIRED_USE} | ||
introspection | ||
) | ||
test? ( gtk3 ) | ||
vala? ( introspection ) | ||
X? ( gtk3 ) | ||
" | ||
REQUIRED_USE+=" gtk3? ( wayland? ( introspection ) )" # bug 915359 | ||
DEPEND=" | ||
app-text/iso-codes | ||
>=dev-libs/glib-2.65.0:2 | ||
gnome-base/dconf | ||
gnome-base/librsvg:2 | ||
sys-apps/dbus[X?] | ||
X? ( | ||
x11-libs/libX11 | ||
>=x11-libs/libXfixes-6.0.0 | ||
) | ||
appindicator? ( dev-libs/libdbusmenu[gtk3?] ) | ||
gtk2? ( x11-libs/gtk+:2 ) | ||
gtk3? ( x11-libs/gtk+:3 ) | ||
gtk4? ( gui-libs/gtk:4 ) | ||
gui? ( | ||
x11-libs/libX11 | ||
x11-libs/libXi | ||
) | ||
introspection? ( dev-libs/gobject-introspection ) | ||
libnotify? ( x11-libs/libnotify ) | ||
nls? ( virtual/libintl ) | ||
python? ( | ||
${PYTHON_DEPS} | ||
dev-python/pygobject:3[${PYTHON_USEDEP}] | ||
) | ||
wayland? ( | ||
dev-libs/wayland | ||
x11-libs/libxkbcommon | ||
)" | ||
RDEPEND="${DEPEND} | ||
python? ( | ||
gui? ( | ||
x11-libs/gtk+:3[introspection] | ||
) | ||
)" | ||
BDEPEND=" | ||
$(vala_depend) | ||
dev-libs/glib:2 | ||
dev-util/glib-utils | ||
virtual/pkgconfig | ||
x11-misc/xkeyboard-config | ||
emoji? ( | ||
app-i18n/unicode-cldr | ||
app-i18n/unicode-emoji | ||
) | ||
nls? ( sys-devel/gettext ) | ||
test? ( x11-apps/setxkbmap ) | ||
unicode? ( app-i18n/unicode-data )" | ||
|
||
src_prepare() { | ||
vala_setup --ignore-use | ||
if ! has_version 'x11-libs/gtk+:3[wayland]'; then | ||
touch ui/gtk3/panelbinding.vala \ | ||
ui/gtk3/panel.vala \ | ||
ui/gtk3/emojierapp.vala || die | ||
fi | ||
if ! use emoji; then | ||
touch \ | ||
tools/main.vala \ | ||
ui/gtk3/panel.vala || die | ||
fi | ||
if ! use appindicator; then | ||
touch ui/gtk3/panel.vala || die | ||
fi | ||
if [[ -n ${GENTOO_VER} ]]; then | ||
einfo "Try to apply Gentoo specific patch set" | ||
eapply "${WORKDIR}"/patches-gentoo/*.patch | ||
fi | ||
|
||
# for multiple Python implementations | ||
sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am || die | ||
# fix for parallel install | ||
sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am || die | ||
# require user interaction | ||
sed -i "/^TESTS_C += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am || die | ||
|
||
sed -i "/^bash_completion/d" tools/Makefile.am || die | ||
|
||
default | ||
eautoreconf | ||
xdg_environment_reset | ||
} | ||
|
||
src_configure() { | ||
local unicodedir="${EPREFIX}"/usr/share/unicode | ||
local python_conf=() | ||
if use python; then | ||
python_setup | ||
python_conf+=( | ||
$(use_enable gui setup) | ||
--with-python=${EPYTHON} | ||
) | ||
else | ||
python_conf+=( --disable-setup ) | ||
fi | ||
|
||
if tc-is-cross-compiler && { use emoji || use unicode; }; then | ||
mkdir -p "${S}-build" | ||
pushd "${S}-build" >/dev/null 2>&1 || die | ||
ECONF_SOURCE=${S} econf_build --enable-static \ | ||
--disable-{dconf,gtk{2,3},python-library,shared,xim} \ | ||
ISOCODES_{CFLAG,LIB}S=-DSKIP \ | ||
$(use_enable emoji emoji-dict) \ | ||
$(use_enable unicode unicode-dict) \ | ||
$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data") | ||
popd >/dev/null 2>&1 || die | ||
fi | ||
|
||
local myconf=( | ||
$(use_enable X xim) | ||
$(use_enable appindicator) | ||
$(use_enable emoji emoji-dict) | ||
$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji) | ||
$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations) | ||
$(use_enable gtk2) | ||
$(use_enable gtk3) | ||
$(use_enable gtk4) | ||
$(use_enable gui ui) | ||
$(use_enable introspection) | ||
$(use_enable libnotify) | ||
$(use_enable nls) | ||
$(use_enable systemd systemd-services) | ||
$(use_enable test tests) | ||
$(use_enable unicode unicode-dict) | ||
$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data") | ||
$(use_enable vala) | ||
$(use_enable wayland) | ||
"${python_conf[@]}" | ||
) | ||
econf "${myconf[@]}" | ||
} | ||
|
||
src_compile() { | ||
if tc-is-cross-compiler && { use emoji || use unicode; }; then | ||
emake -C "${S}-build/src" \ | ||
$(usex emoji emoji-parser '') \ | ||
$(usex unicode unicode-parser '') | ||
emake -C src \ | ||
$(usex emoji emoji-parser '') \ | ||
$(usex unicode unicode-parser '') | ||
cp \ | ||
$(usex emoji "${S}-build/src/emoji-parser" '') \ | ||
$(usex unicode "${S}-build/src/unicode-parser" '') \ | ||
src || die | ||
fi | ||
emake | ||
} | ||
|
||
src_test() { | ||
unset DBUS_SESSION_BUS_ADDRESS | ||
virtx dbus-run-session emake check | ||
} | ||
|
||
src_install() { | ||
default | ||
# Remove la files | ||
find "${ED}" -name '*.la' -delete || die | ||
|
||
# Remove stray python files generated by the build system | ||
find "${ED}" -name '*.pyc' -exec rm -f {} \; || die | ||
find "${ED}" -name '*.pyo' -exec rm -f {} \; || die | ||
|
||
if use python; then | ||
python_install() { | ||
emake -C bindings/pygobject \ | ||
pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \ | ||
DESTDIR="${D}" \ | ||
install | ||
|
||
python_optimize | ||
} | ||
python_foreach_impl python_install | ||
fi | ||
|
||
keepdir /usr/share/ibus/engine | ||
|
||
newbashcomp tools/${PN}.bash ${PN} | ||
|
||
insinto /etc/X11/xinit/xinput.d | ||
newins xinput-${PN} ${PN}.conf | ||
} | ||
|
||
pkg_postinst() { | ||
use gtk2 && gnome2_query_immodules_gtk2 | ||
use gtk3 && gnome2_query_immodules_gtk3 | ||
xdg_icon_cache_update | ||
gnome2_schemas_update | ||
dconf update | ||
} | ||
|
||
pkg_postrm() { | ||
use gtk2 && gnome2_query_immodules_gtk2 | ||
use gtk3 && gnome2_query_immodules_gtk3 | ||
xdg_icon_cache_update | ||
gnome2_schemas_update | ||
} |