+ -
当前位置:首页 → 问答吧 → 【原创】输入法ebuilds: fcitx-3.2.1.ebuild 和 scim-bridge-0.2.7.ebuild

【原创】输入法ebuilds: fcitx-3.2.1.ebuild 和 scim-bridge-0.2.7.ebuild

时间:2006-08-09

来源:互联网

输入法 ebuild ,fcit-3.2.1.ebuild 和 scim-bridge-0.2.7.ebuild

UPDATE: fcitx-3.2.1.ebuild 进入 cvs

export GTK_IM_MODULE=scim-bridge
可以在realplayer 和 adobe reader 里用 scim。

老规矩,手动下载, digest.
我会试着提交 bugs 的。

fcitx-3.2.1.ebuild
代码:
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

DESCRIPTION="Free Chinese Input Toy for X. Another Chinese XIM Input Method"
HOMEPAGE="http://www.fcitx.org/"
# The HOMEPAGE and SRC_URI cannot be accessed from outside China :-(
#SRC_URI="http://www.fcitx.org/download/${P}.tar.bz2"
SRC_URI="http://bsdchat.com/dist/dryice/${P}.tar.bz2"
RESTRICT="nomirror"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~ppc x86"
IUSE="truetype"

RDEPEND="|| ( ( x11-libs/libX11 x11-libs/libXrender x11-libs/libXt )
 virtual/x11 )
        truetype? ( || ( x11-libs/libXft virtual/xft ) )"

DEPEND="${RDEPEND}"
src_compile() {
        myconf=
        if use truetype ; then
 myconf=" --with-xft "
        else
 myconf=" --disable-xft "
        fi
        econf ${myconf} || die "configure failed"
        emake || die "make failed"
}

src_install()
{
        dobin src/fcitx
        insinto /usr/share/fcitx/data
        doins data/*.mb
        doins data/*.dat
        doins data/*.conf
        insinto /usr/share/fcitx/xpm
        doins xpm/*.xpm
        insinto /usr/share/fcitx/doc
        doins doc/*.txt
        doins doc/*.htm
}

pkg_postinst()
{
        einfo "You should export the following variables to use fcitx"
        einfo " export XMODIFIERS=\"@im=fcitx\""
        einfo " export XIM=fcitx"
        einfo " export XIM_PROGRAM=fcitx"
        einfo ""
        einfo "If you want to use WuBi or ErBi"
        einfo " cp /usr/share/fcitx/data/wbx.mb ~/.fcitx"
        einfo " cp /usr/share/fcitx/data/erbi.mb ~/.fcitx"
        einfo " cp /usr/share/fcitx/data/tables.conf ~/.fcitx"
        einfo ""
        einfo "Note that fcitx only works in the zh_CN locale."
}
scim-bridge-0.2.7.ebuild
代码:
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

inherit eutils

DESCRIPTION="Scim-bridge is yet another IM client of SCIM"
HOMEPAGE="http://scim.freedesktop.org/"
SRC_URI="mirror://sourceforge/scim/${P}.tar.gz
        http://freedesktop.org/~scim/${PN}/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="debug"

RDEPEND=">=app-i18n/scim-1.4.2
        virtual/libintl"

DEPEND="${RDEPEND}
        sys-devel/gettext
        dev-util/pkgconfig"

src_unpack() {
        unpack ${A}
        cd "${S}"
}

src_compile() {
        econf \
 $(use_enable debug scim-debug) \
 --disable-static \
 --enable-shared \
 --disable-dependency-tracking || die "econf failed"
        emake || die "make failed."
}

src_install() {
        emake DESTDIR="${D}" install || die "make install failed"

        dodoc AUTHORS ChangeLog README NEWS TODO
}

pkg_postinst() {
        einfo
        einfo "After you emerged ${PN}, use right click to switch immodules for GTK2."
        einfo "If you would like to use ${PN} as default instead of XIM, set"
        einfo "    % export GTK_IM_MODULE=scim-bridge"
        einfo
}

作者: VirusCamp   发布时间: 2006-08-09

scim-bridge
干什么的?

作者: 食古不化   发布时间: 2006-08-09

同2楼问题…………

作者: Freesnake   发布时间: 2006-08-09

原来用 scim ,
export GTK_IM_MODULE=scim
如果是一个 gcc4 的系统, 这样会导致预编译的 GTK2 软件, 比如realplayer 和 adobe reader 无法启动, 全部 core dump .

这个问题在 mdv 2006 里最为明显, mdv 版里, 这个问题是日经贴.
gentoo 同样有这个问题.

原因是 gcc4 的 c++ ABI 改变了.

解决方法有三个,
1. 用 gcc4 重新编译 realplayer ,adobe ,但不可能
2. 用 gcc3 重新编译 scim ,太麻烦
3. 不用 scim

而 scim-bridge 是 c 写的, 不受 C++ ABI 影响.

代码:
export GTK_IM_MODULE=scim-bridge
可以在realplayer 和 adobe reader 里用 scim。

作者: VirusCamp   发布时间: 2006-08-09

引用:
作者: VirusCamp
解决方法有三个,
1. 用 gcc4 重新编译 realplayer ,adobe ,但不可能
2. 用 gcc3 重新编译 scim ,太麻烦
3. 不用 scim而
用GCC4编译realplayer和adobe为什么不可能啊?

作者: sheep204   发布时间: 2006-08-10

因为没源码呀,厂商不行动用户只能忍了

不过我都用XIM的,所以没问题,scim在acrobat/realplayer里面都正常

作者: lucida   发布时间: 2006-08-10

我还是错了一点, realplayer 还是能找到源码的。
https://helixcommunity.org/frs/downl...source.tar.bz2

作者: VirusCamp   发布时间: 2006-08-10

原来在gcc3的时候这个问题也是存在的
gcc4之前不同版本的gcc c++ abi也是有差别的
解决方法从来都存在,就是保证编译你的软件的gcc的c++ abi都是一样的

不过也可以用scim
就是设置XMODIFIES=@im=SCIM
GTK_IM_MODULE=xim
只是不能通过gtk input module来是用scim而已

作者: zhllg   发布时间: 2006-08-10

引用:
作者: VirusCamp
我还是错了一点, realplayer 还是能找到源码的。
https://helixcommunity.org/frs/downl...source.tar.bz2
请问有从源代码编译的ebuild么?

这样可以编译出64位版本了。那就基本可以脱离mplayer-bin+win32codecs了

作者: fiag   发布时间: 2006-08-10

引用:
作者: VirusCamp
我还是错了一点, realplayer 还是能找到源码的。
https://helixcommunity.org/frs/downl...source.tar.bz2
这个文件有点问题
把下面的代码存成一个文件,比如cut.py
然后执行python cut.py realplay-10.0.7-source.tar.bz2
代码:
import sys, os, shutil

if __name__ == '__main__':
 fp = open(sys.argv[1], 'r')
 output = open("/tmp/realplay.tar.bz2", 'w')
 fp.seek(0x7a, 0)
 output.write(fp.read())
 fp.close()
 output.close()
 os.unlink(sys.argv[1])
 shutil.move("/tmp/realplay.tar.bz2", sys.argv[1])
PS: 似乎不行
还是那个连接本身有问题

作者: zhllg   发布时间: 2006-08-10

引用:
作者: fiag
请问有从源代码编译的ebuild么?

这样可以编译出64位版本了。那就基本可以脱离mplayer-bin+win32codecs了
以前研究过,貌似这个只是GUI界面的source
解码部分还是binary的。。。

作者: lucida   发布时间: 2006-08-10

fcitx为什么不加上amd64的keywords 这个应该没问题的

作者: fakeid   发布时间: 2006-08-10

realplayer-10.0.7的source已经修正

作者: zhllg   发布时间: 2006-08-10