10楼#
发布于:2016-08-29 12:02
PKGBUILD for Archlinux
# Maintainer: firef <use_my_id at gmail dot com>
 
pkgname=yong
pkgver=2.4.0
pkgrel=1
pkgdesc="Tiny Small Chinese Input Method"
arch=('i686')
url="https://github.com/dgod/yong"
license=('GPL')
 
makedepends=('git' 'nodejs' 'gcc' 'ibus' 'wayland' 'gtk2' 'gtk3' 'libxkbcommon')
#provides=("yong=$pkgver")
 
depends=('pango')
 
#install=yong.install
 
source=("git+https://github.com/dgod/yong.git" "git+https://github.com/dgod/build.js.git")
md5sums=('SKIP' 'SKIP')
 
 
pkgver() {
    cd "$srcdir/$pkgname/install"
    awk '/%define +version/{print $3}' yong.spec | sed 's|-|.|g'
}
prepare(){
    cd  $srcdir/$pkgname
    mkdir -p {llib,cloud,gbk,mb,vim}/l32
    mkdir -p {im,config}/{l32-gtk3,l32-gtk2}
    mkdir -p im/gtk-im/{l32-gtk3,l32-gtk2}
    mkdir -p im/IMdkit/l32
 
 
sed -i 's/copy_build("l64");//' install/build.txt
# modify shuangping rules
sed -i -r  -e "s/'p'(,[1|2],\"\wh{0,1}un\")/'y'\1/g" \
-e "s/'d'(,[1|2],\"\wh{0,1}uang\")/'l'\1/g" \
-e "s/'d'(,[1|2],\"\wh{0,1}iang\")/'l'\1/g" \
-e "s/'y'(,[1|2],\"\wh{0,1}uai\")/'k'\1/g"  \
-e "s/'y'(,[1|2],\"\wh{0,1}ing\")/'k'\1/g" \
-e "s/'w'(,[1|2],\"\wh{0,1}ua\")/'x'\1/g"  \
-e "s/'w'(,[1|2],\"\wh{0,1}ia\")/'x'\1/g"  \
-e "s/'b'(,[1|2],\"\wh{0,1}ou\")/'z'\1/g"  \
-e "s/'z'(,[1|2],\"\wh{0,1}ei\")/'w'\1/g"  \
-e "s/'k'(,[1|2],\"\wh{0,1}ao\")/'c'\1/g"  \
-e "s/'l'(,[1|2],\"\wh{0,1}ai\")/'d'\1/g"  \
-e "s/'n'(,[1|2],\"\wh{0,1}in\")/'b'\1/g"  \
-e "s/'x'(,[1|2],\"\wh{0,1}ie\")/'p'\1/g"  \
-e "s/'c'(,[1|2],\"\wh{0,1}iao\")/'n'\1/g"  common/pinyin.c
cp -f common/pinyin.c cloud/pinyin.c
sed -i -e 's/default=0/default=6/' \
       -e "s|overlay=mb/pinyin.ini|overlay=mb/sp.ini\nsp=zrm|" \
       -e "s/select=LSHIFT RSHIFT/select=; '/" \
       -e "s/CNen=LCTRL/CNen=LSHIFT/"   \
       -e "s/page=- =/page=, ./"   \
im/yong.ini
sed -i 's/"自然码"/"小鹤双拼"/' config/config_ui.c
}
build() {
 
buildjs="$srcdir/build.js/build.js"
 cd $srcdir/$pkgname
    node $buildjs  l32 
   node $buildjs -C install  copy
}
 
package() {
buildjs="$srcdir/build.js/build.js"
   mkdir -p $pkgdir/usr/bin
  cp -a $srcdir/$pkgname/install/yong $pkgdir/usr
   cd $pkgdir/usr/yong
   ln -sf ../yong/l32/yong-gtk3 $pkgdir/usr/bin/yong
   ln -sf ../yong/l32/yong-config-gtk3 $pkgdir/usr/bin/yong-config
   install -D locale/zh_CN.mo $pkgdir/usr/share/locale/zh_CN/LC_MESSAGES/yong.mo
   install -D l32/gtk-im/im-yong-gtk2.so $pkgdir/usr/lib/gtk-2.0/2.10.0/immodules/im-yong.so
   install -D l32/gtk-im/im-yong-gtk3.so $pkgdir/usr/lib/gtk-3.0/3.0.0/immodules/im-yong.so
     
}
post_install() {
  gtk-query-immodules-2.0 --update-cache 
  gtk-query-immodules-3.0 --update-cache 
}
 
post_remove() {
  gtk-query-immodules-2.0 --update-cache 
  gtk-query-immodules-3.0 --update-cache 
}
把以上脚本存为PKGBUILD..后执行makepkg就会自动编译出Arch专用的安装包了。。
再用root权限执行以下命令就装上了..
pacman -U yong-*.tar.xz
需要手动添加以下输入法启动脚本到~/.xprofile文件下。。
export GTK_IM_MODULE=yong
export QT_IM_MODULE=yong
export XMODIFIERS=@im=yong
yong -d
注:编译出来自己用。。把内置的自然码双拼改成小鹤双拼(默认输入法).
上一页 下一页
游客

返回顶部