编译安装opencc繁简转换扩展

编译安装opencc繁简转换扩展

github开源项目opencc,支持多种语言的扩展,进行中文简体繁体转换
由于公司用php语言,额外加了自动加入php扩展的内容
系统支持:

  • 红帽系
  • ubuntu

安装扩展

#!/bin/bash

#********************************************************************
# File Name: xx.sh
# Version: V1.0
# Author: dahuangji
# Email: 
# Created Time : 2023-06-02 14:40:35
# Description:
#********************************************************************


set -eu
install_opencc(){
  yum install -y doxygen make gcc gcc-c++ cmake || apt install -y doxygen make gcc gcc-c++ cmake
  gcc_vs=`gcc --version|awk 'NR==1{print $3}'|cut -d'.' -f1`

  cd /usr/local/src/
  [ -d OpenCC ] || git clone https://github.com/BYVoid/OpenCC.git
  cd OpenCC/
  install_cmake

  if [[ $gcc_vs -lt 8 ]] ;then
    sed -ri 's#(.*-std=)c\+\+14$#\1c\+\+11#' CMakeLists.txt
  fi
  make -j 4 && make install
  if [ $? -ne 0 ] ;then
    return 1
  fi

  link_files=`find /usr/lib -name 'libopencc.so*'`
  for i in $link_files ; do
    link_name=`basename $i`
    ln -sfT $i /usr/lib64/$link_name
    echo "/usr/lib64/$link_name" > /usr/share/opencc/file.info
  done
  cd .. && rm -rf OpenCC
}

install_phpext(){
  php_bin=`which phpize`
  php_bin_conf=`which php-config`
  ini_dir=`php -i|grep 'Scan' |awk '{print $NF}'`

  cd /usr/local/src/
  [ -d opencc4php ] || git clone https://github.com/nauxliu/opencc4php.git
  cd opencc4php/
  [ -f Makefile ] && make clean
  $php_bin
  ./configure --with-php-config=$php_bin_conf --with-opencc=/usr/share/opencc/
  make -j 4 && make install
  echo 'extension=opencc.so' > $ini_dir/opencc.ini
  echo "$ini_dir/opencc.ini" >> /usr/share/opencc/file.info
  find /usr/ -name '*opencc*'  >> /usr/share/opencc/file.info
}


#opencc的源码编译时,依赖的cmake版本有问题,最低要3.10
install_cmake(){
  cmake_vs1=`cmake /V |awk 'NR==1{print $NF}' |cut -d'.' -f1`
  cmake_vs2=`cmake /V |awk 'NR==1{print $NF}' |cut -d'.' -f2`
  require_vs1=3
  require_vs2=10

  if [[ $cmake_vs1 -le $require_vs1 ]] ;then
    if [[ $cmake_vs2 -lt $require_vs2 ]] ;then
      wget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-x86_64.tar.gz
      tar xf cmake-3.26.4-linux-x86_64.tar.gz
      mv cmake-3.26.4-linux-x86_64 /usr/local/cmake
      echo 'export PATH=/usr/local/cmake/bin:$PATH' > /etc/profile.d/cmake.sh
      . /etc/profile &> /dev/null
    fi
  fi
}

install_opencc && install_phpext

删除扩展

#!/bin/bash

#********************************************************************
# File Name: uninstall.sh
# Version: V1.0
# Author: dahuangji
# Email: 
# Created Time : 2023-06-02 15:11:28
# Description:
#********************************************************************


set -e

uninstall_opencc(){
  remove_files=`cat /usr/share/opencc/file.info`

  cd /usr/share/opencc/
  for i in $remove_files ;do
    rm -rf $i
  done
}
uninstall_opencc

posted @ 2023-06-06 11:47  suyanhj  阅读(259)  评论(0)    收藏  举报