diff options
author | Codist | 2021-08-25 21:57:30 +0800 |
---|---|---|
committer | Codist | 2021-08-25 21:57:30 +0800 |
commit | e181f631bac3f3702cf99f9c6610380eea2a1a49 (patch) | |
tree | 5ae456b117570af7b9081793dd4add3e5b6fb28b | |
parent | b347f752e9ef816c25be61ede9308d320d67c8f6 (diff) | |
download | aur-e181f631bac3f3702cf99f9c6610380eea2a1a49.tar.gz |
Upgrade QQ to 9.5.0.27852 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 | 12 | ||||
-rw-r--r-- | README.md | 55 | ||||
-rwxr-xr-x | run.sh | 95 |
4 files changed, 42 insertions, 133 deletions
@@ -1,15 +1,14 @@ pkgbase = deepin-wine-qq pkgdesc = Tencent QQ on Deepin Wine5(com.qq.im.deepin) For Archlinux - pkgver = 9.4.9.27849 + pkgver = 9.5.0.27852 pkgrel = 1 url = https://im.qq.com/ install = deepin-wine-qq.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 @@ -21,10 +20,10 @@ pkgbase = deepin-wine-qq conflicts = deepin-qq-im conflicts = deepin.com.qq.im source = https://cdn-package-store6.deepin.com/appstore/pool/appstore/c/com.qq.im.deepin/com.qq.im.deepin_9.3.2deepin20_i386.deb - source = PCQQ2021-9.4.9.27849.exe::https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2021.exe + source = PCQQ2021-9.5.0.27852.exe::https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2021.exe source = run.sh md5sums = 5fdc20e614d945bd2ba5251420872479 - md5sums = ff317c202b61e88c846b2c5b7384c130 - md5sums = 94d77ee0095f51d99537d6a0624fcdef + md5sums = c685254049819c9d277916d5d7e977e7 + md5sums = dbcec8bf85937e583d5016244b21e784 pkgname = deepin-wine-qq @@ -2,7 +2,7 @@ # Maintainer: taotieren <admin@taotieren.com> pkgname=deepin-wine-qq -pkgver=9.4.9.27849 +pkgver=9.5.0.27852 helperver=5.1.13-1 qq_installer=PCQQ2021 debpkgver=9.3.2deepin20 @@ -12,7 +12,7 @@ pkgdesc="Tencent QQ on Deepin Wine5(${debpkgname}) For Archlinux" arch=("x86_64") url="https://im.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-gnutls') +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-gnutls') conflicts=('deepin-qq-im' 'deepin.com.qq.im') install="deepin-wine-qq.install" _mirror="https://cdn-package-store6.deepin.com" @@ -20,8 +20,8 @@ source=("$_mirror/appstore/pool/appstore/c/${debpkgname}/${debpkgname}_${debpkgv "${qq_installer}-${pkgver}.exe::https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/${qq_installer}.exe" "run.sh") md5sums=('5fdc20e614d945bd2ba5251420872479' - 'ff317c202b61e88c846b2c5b7384c130' - '94d77ee0095f51d99537d6a0624fcdef') + 'c685254049819c9d277916d5d7e977e7' + 'dbcec8bf85937e583d5016244b21e784') build() { msg "Extracting DPKG package ..." @@ -52,8 +52,8 @@ package() { msg "Copying deepin files ..." install -d "${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/" - echo $helperver > "${pkgdir}/opt/apps/${debpkgname}/files/helper_archive.md5sum" # FIXME + # cp ${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/helper_archive* "${pkgdir}/opt/apps/${debpkgname}/files/" + # echo $helperver > "${pkgdir}/opt/apps/${debpkgname}/files/helper_archive.md5sum" # FIXME #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 -m644 "${srcdir}/reg.patch" "${pkgdir}/opt/apps/${debpkgname}/files/" diff --git a/README.md b/README.md index 02679c5c23da..dfef5d1e272c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ <img src="https://img.shields.io/github/workflow/status/countstarlight/deepin-wine-qq-arch/CI/action?logo=github&style=flat-square" alt="Build Status"> </a> <a href="https://im.qq.com/download/"> - <img src="https://img.shields.io/badge/QQ-9.4.9.27849-blue?style=flat-square&logo=tencent-qq" alt="QQ Version"> + <img src="https://img.shields.io/badge/QQ-9.5.0.27852-blue?style=flat-square&logo=tencent-qq" 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?label=AUR&logo=arch-linux&style=flat-square" alt="AUR Version"> @@ -19,7 +19,9 @@ </a> </p> -Deepin 打包的 QQ 容器(`com.qq.im.deepin`)移植到 Archlinux,不依赖 `deepin-wine`,包含定制的运行脚本,QQ 安装包替换为官方最新 +Deepin 打包的 QQ 容器(`com.qq.im.deepin`)移植到 Archlinux,包含定制的运行脚本,QQ 安装包替换为官方最新 + +:warning: `deepin-wine-qq` 从 `v9.5.0.27852-1` 开始,默认使用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 打包的 QQ 容器(`com.qq.im.deepin`)移植到 Archlinux,不依赖 `d - [兼容性记录](#兼容性记录) - [切换到 `deepin-wine`](#切换到-deepin-wine) - [自动切换(推荐)](#自动切换推荐) - - [从 `deepin-wine 2.x` 迁移](#从-deepin-wine-2x-迁移) + - [从 `wine`/`deepin-wine 2.x`/`deepin-wine5` 迁移](#从-winedeepin-wine-2xdeepin-wine5-迁移) - [卸载](#卸载) - [常见问题及解决](#常见问题及解决) - [不能记住密码](#不能记住密码) @@ -46,7 +48,7 @@ Deepin 打包的 QQ 容器(`com.qq.im.deepin`)移植到 Archlinux,不依赖 `d ## 安装 -`deepin-wine-qq` 依赖`Multilib`仓库中的 `wine`,`wine-gecko` 和 `wine-mono`,Archlinux默认没有开启 `Multilib`仓库,需要编辑`/etc/pacman.conf`,取消对应行前面的注释([Archlinux wiki](https://wiki.archlinux.org/index.php/Official_repositories#multilib)): +`deepin-wine-qq` 依赖`Multilib`仓库中的一些32位库,Archlinux默认没有开启 `Multilib`仓库,需要编辑`/etc/pacman.conf`,取消对应行前面的注释([Archlinux wiki](https://wiki.archlinux.org/index.php/Official_repositories#multilib)): ```diff # If you want to run 32 bit applications on your x86_64 system, @@ -148,45 +150,29 @@ dpi,目录映射等可以在 `winecfg` 进行设置,打开 `winecfg` 的命 ## 切换到 `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)提供的方法 - -`deepin-wine-qq` 默认使用官方仓库中的 `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`。 - -:warning: **注意:切换前先确保 `deepin-wine` 支持** +:warning: `deepin-wine-qq` 从 `v9.5.0.27852-1` 开始,默认使用AUR仓库 [deepin-wine6-stable](https://aur.archlinux.org/packages/deepin-wine6-stable/),无需再进行任何切换操作,对于之前的版本,可以查看[旧版README](https://github.com/countstarlight/deepin-wine-qq-arch/blob/827052484c4fd05c165c28f4a227e1773a21332d/README.md)。 ### 自动切换(推荐) -```bash -/opt/apps/com.qq.im.deepin/files/run.sh -d -``` - -这会安装需要的依赖,移除已安装的 QQ 目录并回退对注册表文件的修改 +对于之前的版本,可以查看[旧版README](https://github.com/countstarlight/deepin-wine-qq-arch/blob/827052484c4fd05c165c28f4a227e1773a21332d/README.md)。 -> 从 `v9.4.2.27655-1` 开始,该命令会切换到 AUR 仓库:[deepin-wine5](https://aur.archlinux.org/packages/deepin-wine5) +### 从 `wine`/`deepin-wine 2.x`/`deepin-wine5` 迁移 +更新到 `deepin-wine-qq v9.5.0.27852-1` 及之后的版本后,依赖变更为 `deepin-wine6-stable`, -如果想切换回原版 `wine` 并卸载为 `deepin-wine` 自动安装的依赖: +如果此时没有其他应用在使用 `wine` 和旧版 `deepin-wine`,就可以放心的卸载旧版 `wine`, `deepin-wine` 及其依赖: ```bash -rm $HOME/.deepinwine/Deepin-QQ/deepin -sudo pacman -Rns deepin-wine5 -``` - -### 从 `deepin-wine 2.x` 迁移 - -若之前使用的是 `deepin-wine 2.x`,更新到 `deepin-wine-qq v9.4.2.27655-1` 及之后的版本会自动切换回 `wine`,运行命令: - -```bash -/opt/apps/com.qq.im.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-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 ``` ## 卸载 @@ -205,11 +191,11 @@ QQ在本地保存的数据不会被删除,如保存在用户文档下的数据 ### 不能记住密码 -参照[切换到 `deepin-wine`](#切换到-deepin-wine) 解决 +对于之前的版本,可以查看[旧版README](https://github.com/countstarlight/deepin-wine-qq-arch/blob/827052484c4fd05c165c28f4a227e1773a21332d/README.md)。 ### 网络连接状态改变后不能重连 -参照[切换到 `deepin-wine`](#切换到-deepin-wine) 解决 +对于之前的版本,可以查看[旧版README](https://github.com/countstarlight/deepin-wine-qq-arch/blob/827052484c4fd05c165c28f4a227e1773a21332d/README.md)。 ### 高分辨率屏幕支持 @@ -240,6 +226,7 @@ QQ在本地保存的数据不会被删除,如保存在用户文档下的数据 <details open> <summary>2021</summary> +* 2021-08-25 QQ-9.5.0.27852 * 2021-07-16 QQ-9.4.9.27849 * 2021-07-09 QQ-9.4.9.27847 * 2021-06-14 QQ-9.4.8.27843 @@ -284,4 +271,4 @@ QQ在本地保存的数据不会被删除,如保存在用户文档下的数据 * 2017-12-31 QQ-8.9.6 -</details>
\ No newline at end of file +</details> @@ -9,101 +9,39 @@ 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-QQ" APPVER="9.3.2deepin20" WINEPREFIX="$HOME/.deepinwine/$BOTTLENAME" -QQ_VER="9.4.9.27849" +QQ_VER="9.5.0.27852" EXEC_PATH="c:/Program Files/Tencent/QQ/Bin/QQ.exe" -START_SHELL_PATH="$HOME/.deepinwine/deepin-wine-helper/run_v3.sh" +START_SHELL_PATH="/opt/deepinwine/tools/run_v4.sh" QQ_INSTALLER="PCQQ2021" QQ_INSTALLER_PATH="c:/Program Files/Tencent/$QQ_INSTALLER-$QQ_VER.exe" export MIME_TYPE="" export DEB_PACKAGE_NAME="com.qq.im.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" -} - -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 WINEDLLPATH=/opt/$APPRUN_CMD/lib:/opt/$APPRUN_CMD/lib64 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 LC_ALL=zh_CN.UTF-8 WINEDLLOVERRIDES="winemenubuilder.exe=d" $START_SHELL_PATH $BOTTLENAME $APPVER "$QQ_INSTALLER_PATH" "$@" if [ $APPRUN_CMD = "deepin-wine5" ]; then @@ -121,21 +59,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 +70,6 @@ case $1 in "winecfg") OpenWinecfg ;; - "-d" | "--deepin") - SwitchToDeepinWine - ;; "-h" | "--help") HelpApp ;; |