aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCodist2021-08-25 17:17:25 +0800
committerCodist2021-08-25 17:20:33 +0800
commit41e4645572a07c6da0b29c72e6f705a2d30212ea (patch)
tree813d146aa8d4a6ce842def7240e26457e4af6a20
parent642632fa76df6cc071453b19b02dd03b7337355b (diff)
downloadaur-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--.SRCINFO13
-rw-r--r--PKGBUILD15
-rw-r--r--README.md58
-rwxr-xr-xrun.sh101
4 files changed, 49 insertions, 138 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 55e7412fdfd3..30a6dcb2d31b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index e67cfe8a1b95..f2b42dce49b1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
diff --git a/run.sh b/run.sh
index 53e947b7b7cc..0ff19d38e3c0 100755
--- a/run.sh
+++ b/run.sh
@@ -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
;;