diff options
author | Felix Yan | 2015-06-11 20:58:51 +0800 |
---|---|---|
committer | Felix Yan | 2015-06-11 21:00:45 +0800 |
commit | 75ef173b399893b00467d065cb1ea80d9fd361c0 (patch) | |
tree | 61d74a2983080f80af20b29cee080be493b2bf42 | |
download | aur-75ef173b399893b00467d065cb1ea80d9fd361c0.tar.gz |
addpkg: wps-office 9.1.0.4961_a18p1-1
-rw-r--r-- | .SRCINFO | 30 | ||||
-rw-r--r-- | PKGBUILD | 56 | ||||
-rw-r--r-- | wps-office.install | 323 |
3 files changed, 409 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..cff5dd13fa02 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,30 @@ +pkgbase = wps-office + pkgdesc = Kingsoft Office (WPS Office) is an office productivity suite + pkgver = 9.1.0.4961_a18p1 + pkgrel = 1 + url = http://wps-community.org/ + install = wps-office.install + arch = i686 + arch = x86_64 + license = custom + depends = fontconfig + depends = libpng12 + depends = glib2 + depends = libsm + depends = libxext + depends = libxrender + depends = libxml2 + depends = desktop-file-utils + depends = shared-mime-info + depends = xdg-utils + optdepends = cups: for printing support + optdepends = pango: for complex (right-to-left) text support + conflicts = kingsoft-office + options = !emptydirs + source_i686 = http://kdl.cc.ksosoft.com/wps-community/download/a18/wps-office_9.1.0.4961~a18p1_x86.tar.xz + sha512sums_i686 = ecb1d3663eb3a37a79bf646dda7ae9f7c739536203047097d34edcfbe5c2ddd3b277900b2569ece24ddfc371fcbc9e6efc2d6581506a7a7b0ed2bd964dbe68d9 + source_x86_64 = http://kdl.cc.ksosoft.com/wps-community/download/a18/wps-office_9.1.0.4961~a18p1_x86_64.tar.xz + sha512sums_x86_64 = c035a7ebbe05d51d8800d36084040fa983308637b88e14d394c3172acf8cde47c5bf4bccf8a0520cbfb5266019bc62c329d9d5429128b5c3f49d083c2286a89a + +pkgname = wps-office + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..f6f4b403bc3a --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Felix Yan <felixonmars@archlinux.org> +# Contributor: Jove Yu <yushijun110 [at] gmail.com> + +pkgname=wps-office +pkgver=9.1.0.4961_a18p1 +_pkgver=9.1.0.4961~a18p1 +pkgrel=1 +pkgdesc="Kingsoft Office (WPS Office) is an office productivity suite" +arch=('i686' 'x86_64') +license=("custom") +url="http://wps-community.org/" +depends=('fontconfig' 'libpng12' 'glib2' 'libsm' 'libxext' 'libxrender' 'libxml2' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils') +optdepends=('cups: for printing support' + 'pango: for complex (right-to-left) text support') +conflicts=('kingsoft-office') +options=('!emptydirs') +install=${pkgname}.install +[[ "$CARCH" = "i686" ]] && _archext=x86 || _archext=x86_64 +source_i686=("http://kdl.cc.ksosoft.com/wps-community/download/a18/wps-office_${_pkgver}_x86.tar.xz") +source_x86_64=("http://kdl.cc.ksosoft.com/wps-community/download/a18/wps-office_${_pkgver}_x86_64.tar.xz") +sha512sums_i686=('ecb1d3663eb3a37a79bf646dda7ae9f7c739536203047097d34edcfbe5c2ddd3b277900b2569ece24ddfc371fcbc9e6efc2d6581506a7a7b0ed2bd964dbe68d9') +sha512sums_x86_64=('c035a7ebbe05d51d8800d36084040fa983308637b88e14d394c3172acf8cde47c5bf4bccf8a0520cbfb5266019bc62c329d9d5429128b5c3f49d083c2286a89a') + +PKGEXT=".pkg.tar" + +prepare() { + cd wps-office_${_pkgver}_$_archext + + sed -i 's|/opt/kingsoft/wps-office|/usr/lib|' wps wpp et +} + +package() { + cd wps-office_${_pkgver}_$_archext + + install -d "$pkgdir/usr/lib" + cp -r office6 "$pkgdir/usr/lib" + + install -d "$pkgdir/usr/bin" + install -m755 wps wpp et wps_error_check.sh "$pkgdir/usr/bin" + + install -d "$pkgdir/usr/share/applications" + cp -r resource/applications/* "$pkgdir/usr/share/applications" + + install -d "$pkgdir/usr/share/icons" + cp -r resource/icons/* "$pkgdir/usr/share/icons" + + install -d "$pkgdir/usr/share/mime" + cp -r resource/mime/* "$pkgdir/usr/share/mime" + + #cp -r "$srcdir/usr/share" "$pkgdir/usr/" + + install -d "$pkgdir/usr/share/fonts/wps-office" + cp -r fonts/* "$pkgdir/usr/share/fonts/wps-office" + + install -Dm644 office6/mui/default/EULA.txt "$pkgdir/usr/share/licenses/$pkgname/EULA.txt" +} diff --git a/wps-office.install b/wps-office.install new file mode 100644 index 000000000000..8cacd83782af --- /dev/null +++ b/wps-office.install @@ -0,0 +1,323 @@ +#!/bin/bash + +export XDG_DATA_HOME=${XDG_DATA_HOME:-/usr/share/} +ksv_xdg_dirs="/usr/share/:$XDG_DATA_DIRS" +ksv_xdg_dir= +ksv_def_icon_theme=icons/hicolor + +ksv_wps_mimes=('application-wps-office.wps' 'wps-office-wps.png' 'application-wps-office.wpt' 'wps-office-wpt.png') +ksv_word_mimes=('application-wps-office.doc' 'wps-office-doc.png' 'application-wps-office.dot' 'wps-office-dot.png' 'application-vnd.ms-word' 'wps-office-doc.png' 'application-msword' 'wps-office-doc.png' 'application-msword-template' 'wps-office-dot.png' 'application-wps-office.docx' 'wps-office-doc.png' 'application-wps-office.dotx' 'wps-office-dot.png' ) +ksv_et_mimes=('application-wps-office.et' 'wps-office-et.png' 'application-wps-office.ett' 'wps-office-ett.png') +ksv_excel_mimes=('application-wps-office.xls' 'wps-office-xls.png' 'application-wps-office.xlt' 'wps-office-xlt.png' 'application-vnd.ms-excel' 'wps-office-xls.png' 'application-msexcel' 'wps-office-xls.png' 'application-wps-office.xlsx' 'wps-office-xls.png' 'application-wps-office.xltx' 'wps-office-xlt.png' ) +ksv_wpp_mimes=('application-wps-office.dps' 'wps-office-dps.png' 'application-wps-office.dpt' 'wps-office-dpt.png') +ksv_ppt_mimes=('application-wps-office.ppt' 'wps-office-ppt.png' 'application-wps-office.pot' 'wps-office-pot.png' 'application-vnd.ms-powerpoint' 'wps-office-ppt.png' 'application-vnd.mspowerpoint' 'wps-office-ppt.png' 'application-powerpoint' 'wps-office-ppt.png' 'application-wps-office.pptx' 'wps-office-ppt.png' 'application-wps-office.potx' 'wps-office-pot.png' ) + + +function whisperer(){ + echo "-----------------------------------------------------------------------" + echo "For more info and more troubleshooting visit:" + echo "Chinese: http://linux.wps.cn/" + echo "English: http://wps-community.org/" + echo "-----------------------------------------------------------------------" + echo "" + echo "-----------------------------------------------------------------------" + echo "Kingsoft Office (WPS Office), is an office productivity suite." + echo "" + echo "Kingsoft Office (also named WPS Office) including Writer, Presentation" + echo "and Spreadsheets, is a powerful office suite, which is able to process" + echo "word file, produce wonderful slides, and analyze data as well. It is" + echo "deeply compatible with all of the latest Microsoft Office file formats. " + echo "It can easily open and read the documents created with Microsoft Office." + echo "" + echo "This is the Linux version, and it's now an ALPHA package." + echo "-----------------------------------------------------------------------" +} + +function ks_install_icon() +{ + local context=$1 + shift + local mode=$1 + shift + + local png= + local mime= + local nextIsPng=0 + for item in $@ + do + if [ "" = "${item}" ] ; then + continue + fi + if [ ${nextIsPng} -eq 1 ] ; then + png=${item} + for i in 16 22 32 48 64 128 256; do + if [ -e "${ksv_xdg_dir}/${ksv_def_icon_theme}/${i}x${i}/${context}/${png}" ] ; then + xdg-icon-resource install --noupdate --mode ${mode} --context ${context} --size ${i} "${ksv_xdg_dir}/${ksv_def_icon_theme}/${i}x${i}/${context}/${png}" ${mime} + fi + done + nextIsPng=0 + else + mime=${item} + nextIsPng=1 + fi + done +} + + + +function ks_config_default_mime_open() +{ + local desktop=$1 + shift + + local png= + local mime= + local nextIsPng=0 + for item in $@ + do + if [ "" = "${item}" ] ; then + continue + fi + if [ ${nextIsPng} -eq 1 ] ; then + png=${item} + nextIsPng=0 + else + mime=${item/application-/application/} + xdg-mime default ${desktop} ${mime} + nextIsPng=1 + fi + done +} + +function ks_init() +{ + set -e + for i in `echo "${ksv_xdg_dirs}" | sed 's/:/ /g'` + do + if [ -w ${i}/${ksv_def_icon_theme} ] ; then + ksv_xdg_dir="${i}" + fi + done +} + + +function ks_config_menu() +{ + if [ -f "${ksv_xdg_dir}/applications/wps-office-et.desktop" ] ; then + xdg-mime install --novendor --mode system "${ksv_xdg_dir}/mime/packages/wps-office-et.xml" + + xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/applications/wps-office-et.desktop" + #xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-et.desktop" + xdg-desktop-menu forceupdate --mode system + + ks_install_icon "mimetypes" "system" "${ksv_et_mimes[*]}" "${ksv_excel_mimes[*]}" + xdg-icon-resource forceupdate --mode system + + ks_config_default_mime_open "${ksv_xdg_dir}/applications/wps-office-et.desktop" "${ksv_et_mimes[*]}" "${ksv_excel_mimes[*]}" + fi + + if [ -f "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" ] ; then + xdg-mime install --novendor --mode system "${ksv_xdg_dir}/mime/packages/wps-office-wpp.xml" + + xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" + #xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" + xdg-desktop-menu forceupdate --mode system + + ks_install_icon "mimetypes" "system" "${ksv_wpp_mimes[*]}" "${ksv_ppt_mimes[*]}" + xdg-icon-resource forceupdate --mode system + + ks_config_default_mime_open "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" "${ksv_wpp_mimes[*]}" "${ksv_ppt_mimes[*]}" + fi + + if [ -f "${ksv_xdg_dir}/applications/wps-office-wps.desktop" ] ; then + xdg-mime install --novendor --mode system "${ksv_xdg_dir}/mime/packages/wps-office-wps.xml" + + xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/applications/wps-office-wps.desktop" + #xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-wps.desktop" + xdg-desktop-menu forceupdate --mode system + + ks_install_icon "mimetypes" "system" "${ksv_wps_mimes[*]}" "${ksv_word_mimes[*]}" + xdg-icon-resource forceupdate --mode system + + ks_config_default_mime_open "${ksv_xdg_dir}/applications/wps-office-wps.desktop" "${ksv_wps_mimes[*]}" "${ksv_word_mimes[*]}" + fi +} + + +function ks_config_fonts() +{ + if [ -d /usr/share/fonts/wps-office ] ; then + cd /usr/share/fonts/wps-office + mkfontscale + mkfontdir + fc-cache -f + fi +} + +function ks_config() +{ + ks_config_menu + ks_config_fonts +} + +function ks_remove() +{ + if [ -e /etc/xdg/menus/applications-merged/wps-office.menu ] ; then + rm -rf /etc/xdg/menus/applications-merged/wps-office.menu + fi + + if [ -x /usr/bin/update-mime-database ] ; then + update-mime-database "${ksv_xdg_dir}/mime" + fi + + if [ -x /usr/bin/update-desktop-database ] ; then + update-desktop-database -q "${ksv_xdg_dir}/applications" + fi + + if [ -d /usr/share/fonts/wps-office ] ; then + cd /usr/share/fonts + fc-cache -f + fi +} + +function ks_purge() +{ + if [ -d /usr/share/fonts/wps-office ] ; then + rm -rf /usr/share/fonts/wps-office + fi +} + +function ks_uninstall_icon() +{ + local context=$1 + shift + local mode=$1 + shift + + local png= + local mime= + local nextIsPng=0 + for item in $@ + do + if [ "" = "${item}" ] ; then + continue + fi + if [ ${nextIsPng} -eq 1 ] ; then + png=${item} + nextIsPng=0 + else + mime=${item} + for i in 48 32 22 16; do + if [ -e "${ksv_xdg_dir}/${ksv_def_icon_theme}/${i}x${i}/${context}/${png}" ] ; then + xdg-icon-resource uninstall --noupdate --mode ${mode} --context ${context} --size ${i} ${mime} + fi + done + + nextIsPng=1 + fi + done +} + +function ks_prerm_uninstall_menu() +{ + if [ -f "${ksv_xdg_dir}/applications/wps-office-et.desktop" ] ; then + xdg-mime uninstall --mode system "${ksv_xdg_dir}/mime/packages/wps-office-et.xml" + + #xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-et.desktop" + xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/applications/wps-office-et.desktop" + xdg-desktop-menu forceupdate --mode system + + ks_uninstall_icon "mimetypes" "system" "${ksv_et_mimes[*]}" "${ksv_excel_mimes[*]}" + xdg-icon-resource forceupdate --mode system + fi + + if [ -f "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" ] ; then + xdg-mime uninstall --mode system "${ksv_xdg_dir}/mime/packages/wps-office-wpp.xml" + + #xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" + xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" + xdg-desktop-menu forceupdate --mode system + + ks_uninstall_icon "mimetypes" "system" "${ksv_wpp_mimes[*]}" "${ksv_ppt_mimes[*]}" + xdg-icon-resource forceupdate --mode system + fi + + if [ -f "${ksv_xdg_dir}/applications/wps-office-wps.desktop" ] ; then + xdg-mime uninstall --mode system "${ksv_xdg_dir}/mime/packages/wps-office-wps.xml" + + #xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-wps.desktop" + xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/applications/wps-office-wps.desktop" + xdg-desktop-menu forceupdate --mode system + + ks_uninstall_icon "mimetypes" "system" "${ksv_wps_mimes[*]}" "${ksv_word_mimes[*]}" + xdg-icon-resource forceupdate --mode system + fi + +} + + +function ks_prerm_upgrade() +{ + ks_prerm_uninstall_menu +} + +function ks_prerm_remove() +{ + ks_prerm_uninstall_menu +} + + +function ks_main() +{ + if [ $# -eq 0 ] ; then + return; + fi + + ks_init + case $1 in + configure ) + shift + ks_config $@ + ;; + prerm ) + shift + ks_prerm_remove $@ + ;; + remove ) + shift + ks_remove $@ + ks_purge $@ + ;; + preupgrade ) + shift + ks_prerm_upgrade $@ + ;; + esac +} + +post_install() +{ + ks_main configure + whisperer +} + +pre_upgrade() +{ + ks_main preupgrade +} + +post_upgrade() +{ + ks_main configure + whisperer +} + +pre_remove() +{ + ks_main prerm +} + +post_remove() +{ + ks_main remove +} |