diff options
author | Codist | 2021-08-25 17:17:25 +0800 |
---|---|---|
committer | Codist | 2021-08-25 17:20:33 +0800 |
commit | 41e4645572a07c6da0b29c72e6f705a2d30212ea (patch) | |
tree | 813d146aa8d4a6ce842def7240e26457e4af6a20 | |
parent | 642632fa76df6cc071453b19b02dd03b7337355b (diff) | |
download | aur-41e4645572a07c6da0b29c72e6f705a2d30212ea.tar.gz |
Upgrade deepin base package to 3.2.1.154deepin13 and use aur package 'deepin-wine6-stable' instead of wine.
Signed-off-by: Codist <countstarlight@gmail.com>
-rw-r--r-- | .SRCINFO | 13 | ||||
-rw-r--r-- | PKGBUILD | 15 | ||||
-rw-r--r-- | README.md | 58 | ||||
-rwxr-xr-x | run.sh | 101 |
4 files changed, 49 insertions, 138 deletions
@@ -1,15 +1,14 @@ pkgbase = deepin-wine-wechat pkgdesc = Tencent WeChat on Deepin Wine(com.qq.weixin.deepin) For Archlinux pkgver = 3.3.5.42 - pkgrel = 1 + pkgrel = 2 url = https://weixin.qq.com/ install = deepin-wine-wechat.install arch = x86_64 license = custom depends = p7zip - depends = wine - depends = wine-mono - depends = wine-gecko + depends = deepin-wine6-stable + depends = deepin-wine-helper depends = xorg-xwininfo depends = wqy-microhei depends = lib32-alsa-lib @@ -19,13 +18,13 @@ pkgbase = deepin-wine-wechat depends = lib32-mpg123 depends = lib32-libldap conflicts = deepin-wechat - source = https://com-store-packages.uniontech.com/appstore/pool/appstore/c/com.qq.weixin.deepin/com.qq.weixin.deepin_3.2.1.154deepin8_i386.deb + source = https://com-store-packages.uniontech.com/appstore/pool/appstore/c/com.qq.weixin.deepin/com.qq.weixin.deepin_3.2.1.154deepin13_i386.deb source = WeChatSetup-3.3.5.42.exe::https://dldir1.qq.com/weixin/Windows/WeChatSetup.exe source = run.sh source = reg.patch - md5sums = 3246f43cdfd2a4de9597d7018cb21753 + md5sums = 1cc7cfc9f77f60147f476121bd9e7542 md5sums = 4204a40f3b9f4123c5347365a453473e - md5sums = fe6d9165926762788de03e9c67038c0a + md5sums = 27b3ff80e6d8cc058bbd0aa1be5348c6 md5sums = f3257f8fc9e73ea88b3a46372634f82f pkgname = deepin-wine-wechat @@ -3,14 +3,14 @@ pkgname=deepin-wine-wechat pkgver=3.3.5.42 wechat_installer=WeChatSetup -deepinwechatver=3.2.1.154deepin8 +deepinwechatver=3.2.1.154deepin13 debpkgname="com.qq.weixin.deepin" -pkgrel=1 +pkgrel=2 pkgdesc="Tencent WeChat on Deepin Wine(${debpkgname}) For Archlinux" arch=("x86_64") url="https://weixin.qq.com/" license=('custom') -depends=('p7zip' 'wine' 'wine-mono' 'wine-gecko' 'xorg-xwininfo' 'wqy-microhei' 'lib32-alsa-lib' 'lib32-alsa-plugins' 'lib32-libpulse' 'lib32-openal' 'lib32-mpg123' 'lib32-libldap') +depends=('p7zip' 'deepin-wine6-stable' 'deepin-wine-helper' 'xorg-xwininfo' 'wqy-microhei' 'lib32-alsa-lib' 'lib32-alsa-plugins' 'lib32-libpulse' 'lib32-openal' 'lib32-mpg123' 'lib32-libldap') conflicts=('deepin-wechat') install="deepin-wine-wechat.install" _mirror="https://com-store-packages.uniontech.com" @@ -18,9 +18,9 @@ source=("$_mirror/appstore/pool/appstore/c/${debpkgname}/${debpkgname}_${deepinw "${wechat_installer}-${pkgver}.exe::https://dldir1.qq.com/weixin/Windows/${wechat_installer}.exe" "run.sh" "reg.patch") -md5sums=('3246f43cdfd2a4de9597d7018cb21753' +md5sums=('1cc7cfc9f77f60147f476121bd9e7542' '4204a40f3b9f4123c5347365a453473e' - 'fe6d9165926762788de03e9c67038c0a' + '27b3ff80e6d8cc058bbd0aa1be5348c6' 'f3257f8fc9e73ea88b3a46372634f82f') build() { @@ -52,9 +52,10 @@ package() { cp -r "${srcdir}/dpkgdir/opt/apps/${debpkgname}/entries/icons/" "${pkgdir}/usr/share/" msg "Copying deepin files ..." install -d "${pkgdir}/opt/apps/${debpkgname}/files" + cp -r "${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/dlls" "${pkgdir}/opt/apps/${debpkgname}/files/" install -m644 "${srcdir}/files.7z" "${pkgdir}/opt/apps/${debpkgname}/files/" - cp ${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/helper_archive* "${pkgdir}/opt/apps/${debpkgname}/files/" - install -m755 "${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/gtkGetFileNameDlg" "${pkgdir}/opt/apps/${debpkgname}/files/" + # cp ${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/helper_archive* "${pkgdir}/opt/apps/${debpkgname}/files/" + # install -m755 "${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/gtkGetFileNameDlg" "${pkgdir}/opt/apps/${debpkgname}/files/" md5sum "${srcdir}/files.7z" | awk '{ print $1 }' > "${pkgdir}/opt/apps/${debpkgname}/files/files.md5sum" install -m755 "${srcdir}/run.sh" "${pkgdir}/opt/apps/${debpkgname}/files/" } diff --git a/README.md b/README.md index 0081f69b9773..9d024e33490e 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ ======== <p align="center"> - <a href="https://travis-ci.org/countstarlight/deepin-wine-wechat-arch"> - <img src="https://img.shields.io/travis/countstarlight/deepin-wine-wechat-arch?&logo=travis&style=flat-square" alt="Build Status"> + <a href="https://github.com/countstarlight/deepin-wine-wechat-arch/actions"> + <img src="https://img.shields.io/github/workflow/status/countstarlight/deepin-wine-wechat-arch/CI/action?logo=github&style=flat-square"> </a> <a href="https://pc.weixin.qq.com/"> <img src="https://img.shields.io/badge/WeChat-3.3.5.42-blue?style=flat-square&logo=wechat" alt="WeChat Version"> @@ -19,7 +19,9 @@ </a> </p> -Deepin打包的微信容器(`com.qq.weixin.deepin`)移植到Archlinux,不依赖`deepin-wine`,包含定制的运行脚本,微信安装包替换为官方最新 +Deepin打包的微信容器(`com.qq.weixin.deepin`)移植到Archlinux,包含定制的运行脚本,微信安装包替换为官方最新 + +:warning: `deepin-wine-wechat` 从 `v3.3.5.42` 开始,默认使用AUR仓库 [deepin-wine6-stable](https://aur.archlinux.org/packages/deepin-wine6-stable/),不再依赖 `wine`,可以进行一些清理操作来保持系统整洁,具体参照: [从 `wine`/`deepin-wine 2.x`/`deepin-wine5` 迁移](#从-winedeepin-wine-2xdeepin-wine5-迁移) <!-- TOC --> @@ -31,7 +33,7 @@ Deepin打包的微信容器(`com.qq.weixin.deepin`)移植到Archlinux,不依 - [兼容性记录](#兼容性记录) - [切换到 `deepin-wine`](#切换到-deepin-wine) - [自动切换(推荐)](#自动切换推荐) - - [从 `deepin-wine 2.x` 迁移](#从-deepin-wine-2x-迁移) + - [从 `wine`/`deepin-wine 2.x`/`deepin-wine5` 迁移](#从-winedeepin-wine-2xdeepin-wine5-迁移) - [卸载](#卸载) - [常见问题及解决](#常见问题及解决) - [不能截图](#不能截图) @@ -149,50 +151,29 @@ dpi,系统版本,目录映射等可以在 `winecfg` 进行设置,打开 `w ## 切换到 `deepin-wine` -> 根据 [deepin-wine-wechat-arch#15](https://github.com/countstarlight/deepin-wine-wechat-arch/issues/15#issuecomment-515455845),[deepin-wine-wechat-arch#27](https://github.com/countstarlight/deepin-wine-wechat-arch/issues/27),由 [@feileb](https://github.com/feileb), [@violetbobo](https://github.com/violetbobo), [@HE7086](https://github.com/HE7086)提供的方法 - -原版 `wine` 在 [DDE(Deepin Desktop Environment)](https://www.deepin.org/dde/) 上,有托盘图标无法响应鼠标事件([deepin-wine-tim-arch#21](https://github.com/countstarlight/deepin-wine-tim-arch/issues/21))的问题,截图功能也不可用,可以选择切换到 `deepin-wine`。 - -:warning: **注意:切换前先确保 `deepin-wine` 支持** +:warning: `deepin-wine-wechat` 从 `v3.3.5.42-2` 开始,默认使用AUR仓库 [deepin-wine6-stable](https://aur.archlinux.org/packages/deepin-wine6-stable/),无需再进行任何切换操作,对于之前的版本,可以查看[旧版README](https://github.com/countstarlight/deepin-wine-wechat-arch/blob/120d2dedd5dd9d018a14e8ff832f34fe2fcc57a3/README.md)。 ### 自动切换(推荐) -```bash -/opt/apps/com.qq.weixin.deepin/files/run.sh -d -``` - -这会安装需要的依赖,移除已安装的微信目录并回退对注册表文件的修改 - -> 从 `v3.0.0.57-2` 开始,该命令会切换到 AUR 仓库:[deepin-wine5](https://aur.archlinux.org/packages/deepin-wine5) - - -如果想切换回 `wine`: +对于之前的版本,可以查看[旧版README](https://github.com/countstarlight/deepin-wine-wechat-arch/blob/120d2dedd5dd9d018a14e8ff832f34fe2fcc57a3/README.md)。 -```bash -rm $HOME/.deepinwine/Deepin-WeChat/deepin -``` - -如果要卸载自动安装的依赖: +### 从 `wine`/`deepin-wine 2.x`/`deepin-wine5` 迁移 -```bash -sudo pacman -Rns deepin-wine5 -``` +更新到 `deepin-wine-wechat v3.3.5.42-2` 及之后的版本后,依赖变更为 `deepin-wine6-stable`, -### 从 `deepin-wine 2.x` 迁移 - -若之前使用的是 `deepin-wine 2.x`,更新到 `deepin-wine-wechat v3.0.0.57-2` 及之后的版本会自动切换回 `wine`,运行命令: +如果此时没有其他应用在使用 `wine` 和旧版 `deepin-wine`,就可以放心的卸载旧版 `wine`, `deepin-wine` 及其依赖: ```bash -/opt/apps/com.qq.weixin.deepin/files/run.sh -d +sudo pacman -S lib32-freetype2 #用原版替换lib32-freetype2-infinality-ultimate +sudo pacman -Rns deepin-wine xsettingsd # 卸载 deepin-wine 2.x (如果有) +sudo pacman -Rns deepin-wine5 # 卸载 deepin-wine5 (如果有) +sudo pacman -Rns wine wine-mono wine-gecko # 卸载 wine 及其依赖(如果有) ``` -就会自动安装并切换到 `deepin-wine5` - -若此时没有其他应用在使用旧版 `deepin-wine`,就可以放心的卸载旧版 `deepin-wine` 及其依赖: +同时,由于 deepin 的打包中不再包含 `deepin-wine-helper`,现改为使用AUR仓库[deepin-wine-helper](https://aur.archlinux.org/packages/deepin-wine-helper),可以删除之前的 `deepin-wine-helper`: ```bash -sudo pacman -S lib32-freetype2 #用原版替换lib32-freetype2-infinality-ultimate -sudo pacman -Rns deepin-wine xsettingsd +rm -rf $HOME/.deepinwine/deepin-wine-helper ``` ## 卸载 @@ -211,7 +192,7 @@ sudo pacman -Rns deepin-wine-wechat ### 不能截图 -参照[切换到 `deepin-wine`](#切换到-deepin-wine) 解决 +对于之前的版本,可以查看[旧版README](https://github.com/countstarlight/deepin-wine-wechat-arch/blob/120d2dedd5dd9d018a14e8ff832f34fe2fcc57a3/README.md)。 ### 高分辨率屏幕支持 @@ -225,7 +206,7 @@ sudo pacman -Rns deepin-wine-wechat ### 消除阴影边框 -微信窗口不在最上方时,在其他窗口上会显示一个阴影边框,参照[切换到 `deepin-wine`](#切换到-deepin-wine) 解决 +对于之前的版本,可以查看[旧版README](https://github.com/countstarlight/deepin-wine-wechat-arch/blob/120d2dedd5dd9d018a14e8ff832f34fe2fcc57a3/README.md)。 ### 唤出已运行的WeChat窗口 @@ -248,6 +229,7 @@ bash $HOME/.deepinwine/deepin-wine-helper/sendkeys.sh w wechat 4 <details open> <summary>2021</summary> +* 2021-08-25 WeChat-3.3.5.42 3.2.1.154deepin13 * 2021-08-13 WeChat-3.3.5.42 * 2021-08-08 WeChat-3.3.5.34 * 2021-07-05 WeChat-3.3.0.115 @@ -9,108 +9,52 @@ version_gt() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; } -extract_archive() -{ - archive=$1 - version_file=$2 - dest_dir=$3 - if [ -f "$archive" ] && [ -n "$dest_dir" ] && [ "$dest_dir" != "." ];then - archive_version=`cat $version_file` - if [ -d "$dest_dir" ];then - if [ -f "$dest_dir/VERSION" ];then - dest_version=`cat $dest_dir/VERSION` - if version_gt "$archive_version" "$dest_version" || [ -z "$dest_version" ];then - 7z x "$archive" -o/"$dest_dir" -aoa - echo "$archive_version" > "$dest_dir/VERSION" - fi - fi - else - mkdir -p $dest_dir - 7z x "$archive" -o/"$dest_dir" -aoa - echo "$archive_version" > "$dest_dir/VERSION" - fi - fi -} - BOTTLENAME="Deepin-WeChat" -APPVER="3.2.1.154deepin8" +APPVER="3.2.1.154deepin13" WINEPREFIX="$HOME/.deepinwine/$BOTTLENAME" WECHAT_VER="3.3.5.42" EXEC_PATH="c:/Program Files/Tencent/WeChat/WeChat.exe" -START_SHELL_PATH="$HOME/.deepinwine/deepin-wine-helper/run_v3.sh" +START_SHELL_PATH="/opt/deepinwine/tools/run_v4.sh" WECHAT_INSTALLER="WeChatSetup" WECHAT_INSTALLER_PATH="c:/Program Files/Tencent/$WECHAT_INSTALLER-$WECHAT_VER.exe" export MIME_TYPE="" export DEB_PACKAGE_NAME="com.qq.weixin.deepin" -#export APPRUN_CMD="wine" -export PATCH_LOADER_ENV="" -export FILEDLG_PLUGIN="/opt/apps/$DEB_PACKAGE_NAME/files/gtkGetFileNameDlg" +export APPRUN_CMD="deepin-wine6-stable" +DISABLE_ATTACH_FILE_DIALOG="" export SPECIFY_SHELL_DIR=`dirname $START_SHELL_PATH` ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files" -msg() -{ - ECHO_LEVEL=("\033[1;32m==> " "\033[1;31m==> ERROR: ") - echo -e "${ECHO_LEVEL[$1]}\033[1;37m$2\033[0m" -} +export WINEDLLPATH=/opt/$APPRUN_CMD/lib:/opt/$APPRUN_CMD/lib64 -SwitchToDeepinWine() -{ - PACKAGE_MANAGER="yay" - DEEPIN_WINE_DEPENDS="deepin-wine5" - if ! [ -x "$(command -v yay)" ]; then - if ! [ -x "$(command -v yaourt)" ]; then - msg 1 "Need to install 'yay' or 'yaourt' first." >&2 - exit 1 - else - PACKAGE_MANAGER="yaourt" - fi - fi - for p in ${DEEPIN_WINE_DEPENDS}; do - if pacman -Qs $p > /dev/null ; then - msg 0 "$p is installed, skip ..." - else - msg 0 "Installing dependency: $p ..." - $PACKAGE_MANAGER -S $p - fi - done - msg 0 "Redeploying app ..." - extract_archive "$ARCHIVE_FILE_DIR/helper_archive.7z" "$ARCHIVE_FILE_DIR/helper_archive.md5sum" "$SPECIFY_SHELL_DIR" - $START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" -r - echo "5" > $WINEPREFIX/deepin - rm -f $WINEPREFIX/reinstalled - msg 0 "Done." - exit 0 -} +export WINEPREDLL="$ARCHIVE_FILE_DIR/dlls" OpenWinecfg() { - if [ -f "$WINEPREFIX/deepin" ]; then - env WINEPREFIX=$WINEPREFIX deepin-wine5 winecfg - else - env WINEPREFIX=$WINEPREFIX winecfg - fi + env WINEPREFIX=$WINEPREFIX $APPRUN_CMD winecfg } Run() { - extract_archive "$ARCHIVE_FILE_DIR/helper_archive.7z" "$ARCHIVE_FILE_DIR/helper_archive.md5sum" "$SPECIFY_SHELL_DIR" - - if [ -n "$PATCH_LOADER_ENV" ] && [ -n "$EXEC_PATH" ];then - export $PATCH_LOADER_ENV + if [ -z "$DISABLE_ATTACH_FILE_DIALOG" ];then + export ATTACH_FILE_DIALOG=1 fi if [ -n "$EXEC_PATH" ];then if [ ! -f "$WINEPREFIX/reinstalled" ];then + # run installer touch $WINEPREFIX/reinstalled env WINEDLLOVERRIDES="winemenubuilder.exe=d" $START_SHELL_PATH $BOTTLENAME $APPVER "$WECHAT_INSTALLER_PATH" "$@" if [ $APPRUN_CMD = "deepin-wine5" ]; then echo "5" > $WINEPREFIX/deepin fi else - $START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@" + if [ -z "${EXEC_PATH##*.lnk*}" ];then + $START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@" + else + $START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@" + fi fi else $START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@" @@ -121,21 +65,9 @@ HelpApp() { echo " Extra Commands:" echo " winecfg Open winecfg" - echo " -d/--deepin Switch to 'deepin-wine'" echo " -h/--help Show program help info" } -if [ -f "$WINEPREFIX/deepin" ]; then - if [ "$(cat $WINEPREFIX/deepin)" = "5" ]; then - export APPRUN_CMD="deepin-wine5" - else - rm $WINEPREFIX/deepin - export APPRUN_CMD="wine" - fi -else - export APPRUN_CMD="wine" -fi - if [ -z $1 ]; then Run "$@" exit 0 @@ -144,9 +76,6 @@ case $1 in "winecfg") OpenWinecfg ;; - "-d" | "--deepin") - SwitchToDeepinWine - ;; "-h" | "--help") HelpApp ;; |