LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2212|回复: 12

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

[复制链接]
发表于 2006-8-9 14:36:00 | 显示全部楼层 |阅读模式
输入法 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
  1. # Copyright 1999-2006 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2

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

  9. LICENSE="GPL-2"
  10. SLOT="0"
  11. KEYWORDS="~ppc x86"
  12. IUSE="truetype"

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

  16. DEPEND="${RDEPEND}"
  17. src_compile() {
  18.         myconf=
  19.         if use truetype ; then
  20.                 myconf=" --with-xft "
  21.         else
  22.                 myconf=" --disable-xft "
  23.         fi
  24.         econf ${myconf} || die "configure failed"
  25.         emake || die "make failed"
  26. }

  27. src_install()
  28. {
  29.         dobin src/fcitx
  30.         insinto /usr/share/fcitx/data
  31.         doins data/*.mb
  32.         doins data/*.dat
  33.         doins data/*.conf
  34.         insinto /usr/share/fcitx/xpm
  35.         doins xpm/*.xpm
  36.         insinto /usr/share/fcitx/doc
  37.         doins doc/*.txt
  38.         doins doc/*.htm
  39. }

  40. pkg_postinst()
  41. {
  42.         einfo "You should export the following variables to use fcitx"
  43.         einfo " export XMODIFIERS="@im=fcitx""
  44.         einfo " export XIM=fcitx"
  45.         einfo " export XIM_PROGRAM=fcitx"
  46.         einfo ""
  47.         einfo "If you want to use WuBi or ErBi"
  48.         einfo " cp /usr/share/fcitx/data/wbx.mb ~/.fcitx"
  49.         einfo " cp /usr/share/fcitx/data/erbi.mb ~/.fcitx"
  50.         einfo " cp /usr/share/fcitx/data/tables.conf ~/.fcitx"
  51.         einfo ""
  52.         einfo "Note that fcitx only works in the zh_CN locale."
  53. }
复制代码


scim-bridge-0.2.7.ebuild
  1. # Copyright 1999-2006 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2

  3. inherit eutils

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

  8. LICENSE="GPL-2"
  9. SLOT="0"
  10. KEYWORDS="~amd64 ~ppc ~x86"
  11. IUSE="debug"

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

  14. DEPEND="${RDEPEND}
  15.         sys-devel/gettext
  16.         dev-util/pkgconfig"

  17. src_unpack() {
  18.         unpack ${A}
  19.         cd "${S}"
  20. }

  21. src_compile() {
  22.         econf \
  23.                 $(use_enable debug scim-debug) \
  24.                 --disable-static \
  25.                 --enable-shared \
  26.                 --disable-dependency-tracking || die "econf failed"
  27.         emake || die "make failed."
  28. }

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

  31.         dodoc AUTHORS ChangeLog README NEWS TODO
  32. }

  33. pkg_postinst() {
  34.         einfo
  35.         einfo "After you emerged ${PN}, use right click to switch immodules for GTK2."
  36.         einfo "If you would like to use ${PN} as default instead of XIM, set"
  37.         einfo "        % export GTK_IM_MODULE=scim-bridge"
  38.         einfo
  39. }
复制代码
发表于 2006-8-9 16:46:11 | 显示全部楼层
scim-bridge
干什么的?
回复 支持 反对

使用道具 举报

发表于 2006-8-9 17:13:44 | 显示全部楼层
同2楼问题…………
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-9 19:46:58 | 显示全部楼层
原来用 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 影响.

  1. export GTK_IM_MODULE=scim-bridge
复制代码


可以在realplayer 和 adobe reader 里用 scim。
回复 支持 反对

使用道具 举报

发表于 2006-8-9 21:06:29 | 显示全部楼层
Post by VirusCamp

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

用GCC4编译realplayer和adobe为什么不可能啊?
回复 支持 反对

使用道具 举报

发表于 2006-8-9 21:18:12 | 显示全部楼层
因为没源码呀,厂商不行动用户只能忍了

不过我都用XIM的,所以没问题,scim在acrobat/realplayer里面都正常
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-9 21:22:46 | 显示全部楼层
我还是错了一点, realplayer 还是能找到源码的。
https://helixcommunity.org/frs/d ... .0.7-source.tar.bz2
回复 支持 反对

使用道具 举报

发表于 2006-8-9 21:41:55 | 显示全部楼层
原来在gcc3的时候这个问题也是存在的
gcc4之前不同版本的gcc c++ abi也是有差别的
解决方法从来都存在,就是保证编译你的软件的gcc的c++ abi都是一样的

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

使用道具 举报

发表于 2006-8-9 21:58:33 | 显示全部楼层
Post by VirusCamp
我还是错了一点, realplayer 还是能找到源码的。
https://helixcommunity.org/frs/d ... .0.7-source.tar.bz2


请问有从源代码编译的ebuild么?

这样可以编译出64位版本了。那就基本可以脱离mplayer-bin+win32codecs了
回复 支持 反对

使用道具 举报

发表于 2006-8-9 22:54:23 | 显示全部楼层
Post by VirusCamp
我还是错了一点, realplayer 还是能找到源码的。
https://helixcommunity.org/frs/d ... .0.7-source.tar.bz2
这个文件有点问题
把下面的代码存成一个文件,比如cut.py
然后执行python cut.py realplay-10.0.7-source.tar.bz2
  1. import sys, os, shutil
  2. if __name__ == '__main__':
  3.         fp = open(sys.argv[1], 'r')
  4.         output = open("/tmp/realplay.tar.bz2", 'w')
  5.         fp.seek(0x7a, 0)
  6.         output.write(fp.read())
  7.         fp.close()
  8.         output.close()
  9.         os.unlink(sys.argv[1])
  10.         shutil.move("/tmp/realplay.tar.bz2", sys.argv[1])
复制代码

PS: 似乎不行
还是那个连接本身有问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表