diff options
author | Codist | 2020-05-11 15:46:18 +0800 |
---|---|---|
committer | Codist | 2020-05-11 15:46:18 +0800 |
commit | 09bfa46022bbfd8a9710135d63c18fdd3cbf9aeb (patch) | |
tree | 8019f3038b49cf5ca86fe7ad8d06c2403860f904 | |
parent | 0c625c793f2c2a4c59eca632141059fb943b2054 (diff) | |
download | aur-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-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 19 | ||||
-rw-r--r-- | README.md | 98 | ||||
-rw-r--r-- | deepin-wine-qq.install | 14 | ||||
-rwxr-xr-x | run.sh | 40 |
5 files changed, 106 insertions, 73 deletions
@@ -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 @@ -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..." @@ -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 |