aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCodist2020-05-11 15:46:18 +0800
committerCodist2020-05-11 15:46:18 +0800
commit09bfa46022bbfd8a9710135d63c18fdd3cbf9aeb (patch)
tree8019f3038b49cf5ca86fe7ad8d06c2403860f904
parent0c625c793f2c2a4c59eca632141059fb943b2054 (diff)
downloadaur-09bfa46022bbfd8a9710135d63c18fdd3cbf9aeb.tar.gz
Upgrade QQ to 9.3.2.26869 and optimized switch to deepin-wine
Signed-off-by: Codist <countstarlight@gmail.com>
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD19
-rw-r--r--README.md98
-rw-r--r--deepin-wine-qq.install14
-rwxr-xr-xrun.sh40
5 files changed, 106 insertions, 73 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 897227cf0ceb..5e2292ed86a3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = deepin-wine-qq
pkgdesc = Tencent QQ (com.qq.im) on Deepin Wine For Archlinux
- pkgver = 9.1.8.26211
- pkgrel = 2
+ pkgver = 9.3.2.26869
+ pkgrel = 1
url = http://im.qq.com/
install = deepin-wine-qq.install
arch = x86_64
@@ -21,10 +21,12 @@ pkgbase = deepin-wine-qq
conflicts = deepin-qq-im
conflicts = deepin.com.qq.im
source = https://mirrors.ustc.edu.cn/deepin/pool/non-free/d/deepin.com.qq.im/deepin.com.qq.im_9.1.8deepin0_i386.deb
+ source = PCQQ2020-9.3.2.26869.exe::https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2020.exe
source = run.sh
source = reg.patch
md5sums = d35bd4abfd1ac4c5e71c7fbc5282ccbd
- md5sums = 2ac164be0ec6f25947913a2a5ab5f455
+ md5sums = be60d96dd24b5f2c47c957513b10cd7a
+ md5sums = 0137e8353accd854e6bc6eb6a05344ba
md5sums = 0e6c4358a4914ef8be6f4abc8423a69a
pkgname = deepin-wine-qq
diff --git a/PKGBUILD b/PKGBUILD
index 4bda1b0b9cea..1f522cf352ef 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,10 +1,10 @@
# Maintainer: CountStarlight <countstarlight@gmail.com>
pkgname=deepin-wine-qq
-pkgver=9.1.8.26211
-#exename="PCQQ2019.exe"
+pkgver=9.3.2.26869
+qq_installer=PCQQ2020
deepinqqver=9.1.8deepin0
-pkgrel=2
+pkgrel=1
pkgdesc="Tencent QQ (com.qq.im) on Deepin Wine For Archlinux"
arch=("x86_64")
url="http://im.qq.com/"
@@ -14,12 +14,12 @@ conflicts=('deepin-qq-im' 'deepin.com.qq.im')
install="deepin-wine-qq.install"
_mirror="https://mirrors.ustc.edu.cn/deepin"
source=("$_mirror/pool/non-free/d/deepin.com.qq.im/deepin.com.qq.im_${deepinqqver}_i386.deb"
- #"https://qd.myapp.com/myapp/qqteam/pcqq/$exename"
+ "${qq_installer}-${pkgver}.exe::https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/${qq_installer}.exe"
"run.sh"
"reg.patch")
md5sums=('d35bd4abfd1ac4c5e71c7fbc5282ccbd'
- #'d8e48b3397612847a9ec7733e025258a'
- '2ac164be0ec6f25947913a2a5ab5f455'
+ 'be60d96dd24b5f2c47c957513b10cd7a'
+ '0137e8353accd854e6bc6eb6a05344ba'
'0e6c4358a4914ef8be6f4abc8423a69a')
build() {
@@ -29,8 +29,8 @@ build() {
sed "s/\(Categories.*$\)/\1Network;/" -i "${srcdir}/dpkgdir/usr/share/applications/deepin.com.qq.im.desktop"
msg "Extracting Deepin Wine QQ archive ..."
7z x -aoa "${srcdir}/dpkgdir/opt/deepinwine/apps/Deepin-QQ/files.7z" -o"${srcdir}/deepinqqdir"
- #msg "Removing original outdated QQ directory ..."
- #rm -r "${srcdir}/deepinqqdir/drive_c/Program Files/Tencent/QQ"
+ msg "Removing original outdated QQ directory ..."
+ rm -r "${srcdir}/deepinqqdir/drive_c/Program Files/Tencent/QQ"
msg "Patching reg files ..."
patch -p1 -d "${srcdir}/deepinqqdir/" < "${srcdir}/reg.patch"
msg "Creating font file link ..."
@@ -46,6 +46,7 @@ package() {
msg "Copying QQ to /opt/deepinwine/apps/Deepin-QQ ..."
install -d "${pkgdir}/opt/deepinwine/apps/Deepin-QQ"
install -m644 "${srcdir}/files.7z" "${pkgdir}/opt/deepinwine/apps/Deepin-QQ/"
+ install -m644 "${srcdir}/reg.patch" "${pkgdir}/opt/deepinwine/apps/Deepin-QQ/"
install -m755 "${srcdir}/run.sh" "${pkgdir}/opt/deepinwine/apps/Deepin-QQ/"
- #install -m644 "${srcdir}/$exename" "${pkgdir}/opt/deepinwine/apps/Deepin-QQ/"
+ install -m644 "${srcdir}/${qq_installer}-${pkgver}.exe" "${pkgdir}/opt/deepinwine/apps/Deepin-QQ/"
}
diff --git a/README.md b/README.md
index 0ea68788a2d3..4b3e5555233d 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
<img src="https://travis-ci.org/countstarlight/deepin-wine-qq-arch.svg?branch=master" alt="Build Status">
</a>
<a href="https://im.qq.com/download/">
- <img src="https://img.shields.io/badge/QQ-9.1.8.26211-blue.svg" alt="QQ Version">
+ <img src="https://img.shields.io/badge/QQ-9.3.2.26869-blue.svg" alt="QQ Version">
</a>
<a href="https://aur.archlinux.org/packages/deepin-wine-qq/">
<img src="https://img.shields.io/aur/version/deepin-wine-qq.svg" alt="AUR Version">
@@ -29,17 +29,20 @@ Deepin打包的QQ容器移植到Archlinux,不依赖`deepin-wine`,包含定
- [本地打包安装](#本地打包安装)
- [兼容性记录](#兼容性记录)
- [切换到 `deepin-wine`](#切换到-deepin-wine)
- - [自动切换](#自动切换)
+ - [自动切换(推荐)](#自动切换推荐)
- [手动切换](#手动切换)
- [1. 安装 deepin-wine](#1-安装-deepin-wine)
- - [2. 修改 `deepin-wine-qq` 的启动文件](#2-修改-deepin-wine-qq-的启动文件)
- - [3. 对于非 GNOME 桌面(KDE, XFCE等)](#3-对于非-gnome-桌面kde-xfce等)
- - [4. 删除原先的QQ目录](#4-删除原先的qq目录)
- - [5. 修复 `deepin-wine` 字体渲染发虚](#5-修复-deepin-wine-字体渲染发虚)
+ - [2. 对于非 GNOME 桌面(KDE, XFCE等)](#2-对于非-gnome-桌面kde-xfce等)
+ - [3. 删除已安装的QQ目录](#3-删除已安装的qq目录)
+ - [4. 修复 `deepin-wine` 字体渲染发虚](#4-修复-deepin-wine-字体渲染发虚)
- [字体](#字体)
- [使用其他字体](#使用其他字体)
- [修复字体模糊](#修复字体模糊)
-- [常见问题](#常见问题)
+- [常见问题及解决](#常见问题及解决)
+ - [不能记住密码](#不能记住密码)
+ - [网络连接状态改变后不能重连](#网络连接状态改变后不能重连)
+ - [高分辨率屏幕支持](#高分辨率屏幕支持)
+ - [使用全局截图快捷键](#使用全局截图快捷键)
- [感谢](#感谢)
- [更新日志](#更新日志)
@@ -96,28 +99,29 @@ sudo pacman -U #下载的包名
## 兼容性记录
-| QQ版本 | wine版本 | 兼容性 | 备注 | deepin-wine版本 | 兼容性 | 备注 |
-| :------: | :------: | :----: | :----------------: | :-------------: | :----: | :--: |
-| 9.1.8.26211 | 4.20-1 | 支持 | | | | |
-| 9.1.8.26211 | 4.18-1 | 部分 | 不能使用中文输入法 | | | |
-| 9.1.8.26211 | 4.17-1 | 部分 | 不能使用中文输入法 | | | |
-| 9.1.8.26211 | 4.16-1 | 支持 | | | ||
+| QQ版本 | wine版本 | 兼容性 | 备注 | deepin-wine版本 | 兼容性 | 备注 |
+| :---------: | :------: | :----: | :----------------: | :-------------: | :----: | :--: |
+| 9.3.2.26869 | 5.8 | 支持 | | 2.18_22-3 | 支持 | |
+| 9.1.8.26211 | 4.20-1 | 支持 | | | | |
+| 9.1.8.26211 | 4.18-1 | 部分 | 不能使用中文输入法 | | | |
+| 9.1.8.26211 | 4.17-1 | 部分 | 不能使用中文输入法 | | | |
+| 9.1.8.26211 | 4.16-1 | 支持 | | | | |
## 切换到 `deepin-wine`
-由于原版 `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-wechat-arch#15](https://github.com/countstarlight/deepin-wine-wechat-arch/issues/15)), 无法截图等问题,且原版 `wine` 尚不能实现保存登录密码等功能,可以选择切换到 `deepin-wine`。
+原版 `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))的问题,且原版 `wine` 尚不能实现保存登录密码等功能,可以选择切换到 `deepin-wine`。
**注意:切换前先确保 `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)提供的方法:
-### 自动切换
+### 自动切换(推荐)
```bash
/opt/deepinwine/apps/Deepin-QQ/run.sh -d
```
-这会安装需要的依赖并移除已安装的微信目录
+这会安装需要的依赖,移除已安装的微信目录并回退对注册表文件的修改
切换回 `wine`:
@@ -128,7 +132,7 @@ rm ~/.deepinwine/Deepin-QQ/deepin
如果要卸载自动安装的依赖:
```bash
-sudo pacman -Rns deepin-wine gnome-settings-daemon lib32-freetype2-infinality-ultimate
+sudo pacman -Rns deepin-wine xsettingsd lib32-freetype2-infinality-ultimate
```
### 手动切换
@@ -139,34 +143,27 @@ sudo pacman -Rns deepin-wine gnome-settings-daemon lib32-freetype2-infinality-ul
yay -S deepin-wine
```
-#### 2. 修改 `deepin-wine-qq` 的启动文件
+#### 2. 对于非 GNOME 桌面(KDE, XFCE等)
-修改如下两个文件中的 `WINE_CMD` 的值:
+需要安装 `xsettingsd`:
-`/opt/deepinwine/apps/Deepin-QQ/run.sh`
+根据 [deepin-wine-wechat-arch#36](https://github.com/countstarlight/deepin-wine-wechat-arch/issues/36#issuecomment-612001200),由[Face-Smile](https://github.com/Face-Smile)提供的方法:
-`/opt/deepinwine/tools/run.sh`
+```bash
+sudo pacman -S xsettingsd
+```
+
+修改 `/opt/deepinwine/apps/Deepin-QQ/run.sh`:
```diff
-WINE_CMD="wine"
+WINE_CMD="deepin-wine"
-```
-
-#### 3. 对于非 GNOME 桌面(KDE, XFCE等)
-
-需要安装 `gnome-settings-daemon`
-```bash
-sudo pacman -Sy gnome-settings-daemon
-```
-并在 `/opt/deepinwine/apps/Deepin-QQ/run.sh` 中加入如下几行:
-
-```diff
RunApp()
{
-+ if [[ -z "$(ps -e | grep -o gsd-xsettings)" ]]
++ if [[ -z "$(ps -e | grep -o xsettingsd)" ]]
+ then
-+ /usr/lib/gsd-xsettings &
++ /usr/bin/xsettingsd &
+ fi
if [ -d "$WINEPREFIX" ]; then
UpdateApp
@@ -175,13 +172,17 @@ sudo pacman -Sy gnome-settings-daemon
**注意:对 `/opt/deepinwine/apps/Deepin-QQ/run.sh` 的修改会在 `deepin-wine-qq` 更新或重装时被覆盖,可以单独拷贝一份作为启动脚本**
-#### 4. 删除原先的QQ目录
+#### 3. 删除已安装的QQ目录
```bash
rm -rf ~/.deepinwine/Deepin-QQ
```
-#### 5. 修复 `deepin-wine` 字体渲染发虚
+#### 4. 修复 `deepin-wine` 字体渲染发虚
+
+kde桌面参考:[deepin-wine-wechat-arch#36](https://github.com/countstarlight/deepin-wine-wechat-arch/issues/36)
+
+deepin 桌面:
```bash
yay -S lib32-freetype2-infinality-ultimate
@@ -218,25 +219,36 @@ Windows 10自带字体及版本:<https://docs.microsoft.com/en-us/typography/f
### 修复字体模糊
参见:[deepin-wine-tim-arch#修复字体模糊](https://github.com/countstarlight/deepin-wine-tim-arch#%E4%BF%AE%E5%A4%8D%E5%AD%97%E4%BD%93%E6%A8%A1%E7%B3%8A)
-## 常见问题
-- [ ] 1.不能视频通话
-- [ ] 2.不能记住密码
-- [ ] 3.网络连接状态改变后不能重连: [issue19](https://github.com/countstarlight/deepin-wine-tim-arch/issues/19)
-- [x] 4.解决在 2k/4k 屏幕下字体和图标都非常小, 参见[issue1](https://github.com/countstarlight/deepin-wine-tim-arch/issues/1)
-- [x] 5.使用全局截图快捷键和解决Gnome上窗口化问题,参见[issue2](https://github.com/countstarlight/deepin-wine-tim-arch/issues/2)
+## 常见问题及解决
+
+### 不能记住密码
+
+参照[切换到 `deepin-wine`](#切换到-deepin-wine) 解决
+
+### 网络连接状态改变后不能重连
+
+参照[切换到 `deepin-wine`](#切换到-deepin-wine) 解决
+
+### 高分辨率屏幕支持
+
+在 2k/4k 屏幕下字体和图标都非常小, 参见[issue1](https://github.com/countstarlight/deepin-wine-tim-arch/issues/1)
+
+### 使用全局截图快捷键
+
+使用全局截图快捷键和解决Gnome上窗口化问题,参见[issue2](https://github.com/countstarlight/deepin-wine-tim-arch/issues/2)
## 感谢
* [Wuhan Deepin Technology Co.,Ltd.](http://www.deepin.org/)
-
* [@wszqkzqk](https://github.com/wszqkzqk) 的 [wszqkzqk-deepin-wine-tim-arch](https://github.com/wszqkzqk/wszqkzqk-deepin-wine-tim-arch)
* [@ssfdust](https://github.com/ssfdust) 的 [wszqkzqk-deepin-wine-tim-arch](https://github.com/ssfdust/wszqkzqk-deepin-wine-tim-arch)
## 更新日志
+* 2020-05-11 QQ-9.3.2.26869
* 2019-11-17 QQ-9.1.8.26211 deepin.com.qq.im_9.1.8deepin0
* 2019-09-21 QQ-9.1.8.26211 deepin.com.qq.im_8.9.19983deepin23
* 2019-04-19 QQ-9.1.1.24953
diff --git a/deepin-wine-qq.install b/deepin-wine-qq.install
index ddf537f74cd9..874341f452f4 100644
--- a/deepin-wine-qq.install
+++ b/deepin-wine-qq.install
@@ -1,5 +1,19 @@
+info() {
+ echo -e "\033[0;34m============================提示/INFO==============================="
+ echo -e "* 反馈问题(Report issue):"
+ echo -e " https://github.com/countstarlight/deepin-wine-qq-arch/issues"
+ echo -e "* 切换到 'deepin-wine'(Switch to 'deepin-wine'):"
+ echo -e " https://github.com/countstarlight/deepin-wine-qq-arch"
+ echo -e "* 安装包下载(Installation package download):"
+ echo -e " https://github.com/countstarlight/deepin-wine-qq-arch/releases"
+ echo -e "====================================================================\033[0m"
+}
+post_install() {
+ info
+}
post_upgrade() {
find /home -maxdepth 2 -name ".deepinwine" -exec rm -f \{\}/Deepin-QQ/reinstalled \;
+ info
}
pre_remove() {
echo "deleting the QQ bottle..."
diff --git a/run.sh b/run.sh
index a96b17547302..528ce9b9e0cb 100755
--- a/run.sh
+++ b/run.sh
@@ -8,8 +8,9 @@
# Codist <countstarlight@gmail.com>
WINEPREFIX="$HOME/.deepinwine/Deepin-QQ"
APPDIR="/opt/deepinwine/apps/Deepin-QQ"
-APPVER="9.1.8.26211"
-#EXENAME="PCQQ2019.exe"
+APPVER="9.1.8deepin0"
+QQ_INSTALLER="PCQQ2020"
+QQ_VER="9.3.2.26869"
APPTAR="files.7z"
PACKAGENAME="com.qq.im"
WINE_CMD="wine"
@@ -26,16 +27,14 @@ CallApp()
{
if [ ! -f $WINEPREFIX/reinstalled ]
then
- #touch $WINEPREFIX/reinstalled
- #env WINEPREFIX=$WINEPREFIX wine $APPDIR/$EXENAME
- RemoveApp
- DeployApp
touch $WINEPREFIX/reinstalled
- fi
- #Support use native file dialog
- export ATTACH_FILE_DIALOG=1
+ env WINEPREFIX=$WINEPREFIX $WINE_CMD $APPDIR/$QQ_INSTALLER-$QQ_VER.exe &
+ else
+ #Support use native file dialog
+ export ATTACH_FILE_DIALOG=1
- env WINEPREFIX="$WINEPREFIX" $WINE_CMD "c:\\Program Files\\Tencent\\QQ\\Bin\\QQ.exe" &
+ env WINEPREFIX="$WINEPREFIX" $WINE_CMD "c:\\Program Files\\Tencent\\QQ\\Bin\\QQ.exe" &
+ fi
}
ExtractApp()
{
@@ -98,10 +97,6 @@ CreateBottle()
SwitchToDeepinWine()
{
- if [ -d "$WINEPREFIX" ]; then
- RemoveApp
- DeployApp
- fi
PACKAGE_MANAGER="yay"
if ! [ -x "$(command -v yay)" ]; then
if ! [ -x "$(command -v yaourt)" ]; then
@@ -111,16 +106,25 @@ SwitchToDeepinWine()
$PACKAGE_MANAGER="yaourt"
fi
fi
- $PACKAGE_MANAGER -S deepin-wine gnome-settings-daemon lib32-freetype2-infinality-ultimate --needed
+ echo -e "\033[0;34mInstalling dependencies ...\033[0m"
+ $PACKAGE_MANAGER -S deepin-wine xsettingsd lib32-freetype2-infinality-ultimate --needed
+ echo -e "\033[0;34mRedeploying app ...\033[0m"
+ if [ -d "$WINEPREFIX" ]; then
+ RemoveApp
+ fi
+ DeployApp
+ echo -e "\033[0;34mReversing the patch ...\033[0m"
+ patch -p1 -R -d ${WINEPREFIX} < $APPDIR/reg.patch
+ echo -e "\033[0;34mCreating flag file '$WINEPREFIX/deepin' ...\033[0m"
touch -f $WINEPREFIX/deepin
- echo "Done."
+ echo -e "\033[0;34mDone.\033[0m"
}
# Init
if [ -f "$WINEPREFIX/deepin" ]; then
WINE_CMD="deepin-wine"
- if [[ -z "$(ps -e | grep -o gsd-xsettings)" ]]; then
- /usr/lib/gsd-xsettings &
+ if [[ -z "$(ps -e | grep -o gsd-xsettings)" ]] && [[ -z "$(ps -e | grep -o xsettingsd)" ]]; then
+ /usr/bin/xsettingsd &
fi
fi