gcin-2.8.5.ebuild
對於一些相關細節,我是真的不清楚,但依據 2.8.4 的 ebuild 修改後,可以成功安裝。我要用的倉頡和注音可以正常使用,另外,在 KDE 5 的環境下,也運作正常。
2017-11-09,加上 --std=c++11 的選項,因為 "Qt5 requires C++11 support"。
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="3"
inherit eutils toolchain-funcs flag-o-matic
DESCRIPTION="Another Traditional Chinese IM."
HOMEPAGE="http://hyperrate.com/dir.php?eid=67"
SRC_URI="http://hyperrate.com/gcin-source/${P/_/.}.tar.xz
chinese-sound? ( http://ftp.twaren.net/local-distfiles/gcin/ogg.tgz )"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="filter-nobopomofo chinese-sound anthy chewing gtk3 qt4 qt5"
DEPEND=">=x11-libs/gtk+-2
anthy? ( >=app-i18n/anthy-9100 )
chewing? ( dev-libs/libchewing )
gtk3? ( x11-libs/gtk+:3 )
qt4? ( dev-qt/qtcore:4 dev-qt/qtgui:4 )
qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 )"
RDEPEND="${DEPEND}
chinese-sound? ( media-sound/vorbis-tools[ogg123] )"
DEPEND="${DEPEND}
dev-util/pkgconfig
sys-devel/gettext"
RESTRICT="mirror"
S=${WORKDIR}/${P/_/.}
src_prepare() {
echo "${P}" > ${S}/VERSION.gcin
# Remove Qt5PlatformSupport, because Qt 5.6.0 has removed this componet
if has_version '>=dev-qt/qtcore-5.5.1:5' ; then
sed -i 's/Qt5PlatformSupport//' \
"${S}"/qt5-im/Makefile \
|| die 'sed failed'
sed -i 's/org.qt-project.Qt.QPlatformInputContextFactoryInterface/&.5.1/' \
"${S}"/qt5-im/gcin-qt5.h.in \
|| die 'sed failed'
fi
# Qt5 requires C++11 support
if use qt5 ; then
sed -i 's/CXXFLAGS=/&-std=c++11 /' \
"${S}"/qt5-im/Makefile \
|| die 'sed failed'
fi
}
src_configure() {
econf --use_i18n=Y \
--use_tsin=Y \
--use_qt3=N \
$(! use anthy && echo --use_anthy=N ) \
$(! use chewing && echo --use_chewing=N ) \
$(! use qt4 && echo --use_qt4=N ) \
$(! use qt5 && echo --use_qt5=N ) \
$(! use gtk3 && echo --use_gtk3=N )
}
src_compile() {
filter-ldflags "-Wl,--as-needed"
emake CC="$(tc-getCC)" || die
}
src_install() {
emake DESTDIR="${D}" install || die
if use filter-nobopomofo ; then
insinto /usr/share/pixmaps/gcin
doins "${FILESDIR}"/nobopomofo/{SS1135_ST,SS1208_DT}.jpg || die
exeinto /usr/share/gcin/script
doexe "${FILESDIR}"/nobopomofo/gcin-filter-nobopomofo || die
doenvd "${FILESDIR}"/nobopomofo/99gcin-filter-nobopomofo || die
fi
if use chinese-sound ; then
insinto /usr/share/${PN}
doins -r "${WORKDIR}"/ogg || die
fi
}
update_gtk_immodules() {
if [ -x "${EPREFIX}/usr/bin/gtk-query-immodules-2.0" ] ; then
"${EPREFIX}/usr/bin/gtk-query-immodules-2.0" --update-cache
fi
if [ -x "${EPREFIX}/usr/bin/gtk-query-immodules-3.0" ] ; then
"${EPREFIX}/usr/bin/gtk-query-immodules-3.0" --update-cache
fi
}
pkg_postinst() {
update_gtk_immodules
#gtk_icon_cache_update
gtk-update-icon-cache
}
pkg_postrm() {
update_gtk_immodules
#gtk_icon_cache_update
gtk-update-icon-cache
}