summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authormsojocs2022-04-24 19:52:16 +0800
committermsojocs2022-04-24 19:52:16 +0800
commit42ff2694aceaa96f5fb26a6d06429ca6d16d17d5 (patch)
tree87ba5d0893f323afcc48fcce1fc0f278db1bdea9
parent6415cbfe1239f0d4e842cdca5a464dfb68cdb630 (diff)
downloadaur-42ff2694aceaa96f5fb26a6d06429ca6d16d17d5.tar.gz
更新内容较多:
update: devtools 1.05.2204180 update: 跟进更新 wcc,wcsc node模块逻辑 feat: wcc,wcsc编译器template解析支持 fix: 修正命令行入口 fix: gsettings子进程未退出转为孤儿进程 update: 优化主题监听
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD10
-rwxr-xr-xfix-core.sh35
-rwxr-xr-xfix-other.sh9
-rwxr-xr-xrebuild-node-modules.sh28
-rw-r--r--wechat-devtools11
-rw-r--r--wechat-devtools-cli4
7 files changed, 63 insertions, 48 deletions
diff --git a/.SRCINFO b/.SRCINFO
index cf00c59abbb1..539a3d4413b1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = wechat-devtools
pkgdesc = WeChat Devtools For Linux.
- pkgver = 1.05.2203070
- pkgrel = 8
+ pkgver = 1.05.2204180
+ pkgrel = 1
epoch = 2
url = https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
arch = x86_64
@@ -17,12 +17,13 @@ pkgbase = wechat-devtools
depends = libxkbfile
options = !strip
source = nwjs-v0.55.0.tar.gz::https://npm.taobao.org/mirrors/nwjs/v0.55.0/nwjs-sdk-v0.55.0-linux-x64.tar.gz
- source = wechat_devtools_1.05.2203070_x64.exe::https://servicewechat.com/wxa-dev-logic/download_redirect?type=x64&from=mpwiki&download_version=1052203070&version_type=1
+ source = wechat_devtools_1.05.2204180_x64.exe::https://servicewechat.com/wxa-dev-logic/download_redirect?type=x64&from=mpwiki&download_version=1052204180&version_type=1
source = node-v16.4.2.tar.gz::https://npm.taobao.org/mirrors/node/v16.4.2/node-v16.4.2-linux-x64.tar.gz
- source = compiler.tar.gz::https://github.rc1844.workers.dev/msojocs/wechat-web-devtools-linux/releases/download/v1.05.2203070-6/compiler.tar.gz
+ source = compiler.tar.gz::https://github.rc1844.workers.dev/msojocs/wechat-web-devtools-linux/releases/download/v1.05.2204180-1/compiler.tar.gz
source = wechat-devtools.desktop
source = logo.svg
source = wechat-devtools
+ source = wechat-devtools-cli
source = fix-cli.sh
source = fix-menu.sh
source = fix-core.sh
@@ -32,9 +33,9 @@ pkgbase = wechat-devtools
source = wxvpkg_unpack.js
source = fix-other.sh
md5sums = ac7680788544c457daee11aaf69798fe
- md5sums = 2785d569b88d72a8e238d438d92faf44
+ md5sums = 0cd12ab05211bb88c56aa38f8de76a1a
md5sums = 4d14589085ebbf79ce504dc27330d33b
- md5sums = 7d78f10d04fff0b525df493d95847b37
+ md5sums = e5e51eb3adef2bc80adc1b2396d0df35
md5sums = 4d3f5273be80a74741c841fcfa4185d3
md5sums = 0f4353664123320280ea4d6bb295dce2
md5sums = SKIP
@@ -46,5 +47,6 @@ pkgbase = wechat-devtools
md5sums = SKIP
md5sums = SKIP
md5sums = SKIP
+ md5sums = SKIP
pkgname = wechat-devtools
diff --git a/PKGBUILD b/PKGBUILD
index b969cf7727b2..6dcf4437cd9f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,11 +7,11 @@
# https://github.com/dragonation/wechat-devtools
# https://github.com/cytle/wechat_web_devtools
-_wechat_devtools_ver="1.05.2203070"
+_wechat_devtools_ver="1.05.2204180"
# https://servicewechat.com/wxa-dev-logic/download_redirect?type=x64&from=mpwiki&download_version=1052203030&version_type=1
_wechat_devtools_url="https://servicewechat.com/wxa-dev-logic/download_redirect?type=x64&from=mpwiki&download_version=${_wechat_devtools_ver//\./}&version_type=1"
# _wechat_devtools_url="https://dldir1.qq.com/WechatWebDev/release/p-ae42ee2cde4d42ee80ac60b35f183a99/wechat_devtools_1.05.2201240_x64.exe"
-_wechat_devtools_md5="2785d569b88d72a8e238d438d92faf44"
+_wechat_devtools_md5="0cd12ab05211bb88c56aa38f8de76a1a"
_wechat_devtools_exe="wechat_devtools_${_wechat_devtools_ver}_x64.exe"
_nwjs_ver="0.55.0"
@@ -20,7 +20,7 @@ _node_version="16.4.2"
pkgname=wechat-devtools
pkgver="${_wechat_devtools_ver}" # 主版本号
-pkgrel=8 # 修订版本号release
+pkgrel=1 # 修订版本号release
epoch=2 # 大版本迭代强制更新(维护者变更,尽量不用)
pkgdesc="WeChat Devtools For Linux. "
arch=("x86_64")
@@ -32,7 +32,7 @@ makedepends=('p7zip' 'python2' 'openssl' 'gcc' 'make' 'libssh2' 'krb5')
source=("nwjs-v${_nwjs_ver}.tar.gz::https://npm.taobao.org/mirrors/nwjs/v${_nwjs_ver}/nwjs-sdk-v${_nwjs_ver}-linux-x64.tar.gz"
"${_wechat_devtools_exe}::${_wechat_devtools_url}"
"node-v${_node_version}.tar.gz::https://npm.taobao.org/mirrors/node/v${_node_version}/node-v${_node_version}-linux-x64.tar.gz"
- "compiler.tar.gz::https://github.rc1844.workers.dev/msojocs/wechat-web-devtools-linux/releases/download/v1.05.2203070-6/compiler.tar.gz"
+ "compiler.tar.gz::https://github.rc1844.workers.dev/msojocs/wechat-web-devtools-linux/releases/download/v1.05.2204180-1/compiler.tar.gz"
"wechat-devtools.desktop"
"logo.svg"
"wechat-devtools"
@@ -48,7 +48,7 @@ source=("nwjs-v${_nwjs_ver}.tar.gz::https://npm.taobao.org/mirrors/nwjs/v${_nwjs
md5sums=(ac7680788544c457daee11aaf69798fe # nwjs
"${_wechat_devtools_md5}"
4d14589085ebbf79ce504dc27330d33b # nodejs
- 7d78f10d04fff0b525df493d95847b37 # compiler
+ e5e51eb3adef2bc80adc1b2396d0df35 # compiler
4d3f5273be80a74741c841fcfa4185d3 # desktop
0f4353664123320280ea4d6bb295dce2 # svg
"SKIP"
diff --git a/fix-core.sh b/fix-core.sh
index e8043a39e9d4..dde996b986ff 100755
--- a/fix-core.sh
+++ b/fix-core.sh
@@ -36,8 +36,8 @@ fi
# open -a Terminal "`pwd`" --> gnome-terminal
find_result=$( grep -lr 'open -a Terminal "`pwd`"' "$tmp_dir/core.wxvpkg" )
+echo "Terminal启动位置: $find_result"
if [[ ! -z $find_result ]];then
- echo "Terminal启动位置: $find_result"
new_str="gnome-terminal"
sed -i "s#open -a Terminal \"\`pwd\`\"#$new_str#g" "$find_result"
fi
@@ -45,20 +45,21 @@ fi
# wcc、wcsc处理,设置NO_WINE=true环境变量生效
if [[ $NO_WINE == 'true' ]];then
# "wcc.exe":!0,"wcsc.exe":!0
- find_result=$( grep -lr '{wcc:!0,wcsc:!0,DevToolProtector:!0}' "$tmp_dir/core.wxvpkg" )
+ find_result=$( grep -lr '{wcc:!0,wcsc:!0}' "$tmp_dir/core.wxvpkg" )
+ echo "wcc: $find_result"
if [[ ! -z $find_result ]];then
- echo "wcc: $find_result"
- new_str='{"wcc.bin":!0,"wcsc.bin":!0,wcc:!0,wcsc:!0,DevToolProtector:!0}'
- sed -i "s#{wcc:!0,wcsc:!0,DevToolProtector:!0}#$new_str#g" "$find_result"
+ new_str='{"wcc.bin":!0,"wcsc.bin":!0,wcc:!0,wcsc:!0}'
+ sed -i "s#{wcc:!0,wcsc:!0}#$new_str#g" "$find_result"
new_str='"linux"===process.platform'
sed -i "s#\"darwin\"===process.platform#$new_str#g" "$find_result"
- sed -i 's#return I("wcc")#return I("wcc.bin"),I("wcc")#g' "$find_result"
- sed -i 's#return I("wcsc")#return I("wcsc.bin"),I("wcsc")#g' "$find_result"
+ # TODO: 看能不能动态识别函数名j,因为不同版本会发生变化
+ sed -i 's#return j("wcc")#return j("wcc.bin"),j("wcc")#g' "$find_result"
+ sed -i 's#return j("wcsc")#return j("wcsc.bin"),j("wcsc")#g' "$find_result"
fi
# 处理报错时控制台显示的环境
find_result=$( grep -lr '(env:' "$tmp_dir/core.wxvpkg" )
+ echo "env: $find_result"
if [[ ! -z $find_result ]];then
- echo "env: $find_result"
for file in $find_result; do
sed -i 's#"Windows"#"Linux"#g' "$file"
done
@@ -72,14 +73,16 @@ fi
# fix theme
find_result=$( grep -lr "OSThemeController=" "$tmp_dir/core.wxvpkg" )
echo "theme: $find_result"
-# require of child_process
-sed -i 's/"use strict";O/"use strict";const {execSync,spawn}=require("child_process");O/' $find_result
-# replace listener to monitor
-sed -i 's/this.registerListeners()/this.monitorTheme()/' $find_result
-# replace check func
-sed -i 's/mediaQuery.matches/isDark/' $find_result
-# add functions
-sed -i 's#}getDefaultTheme#}get isDark(){const{DESKTOP_SESSION}=process.env;console.log(DESKTOP_SESSION);let theme="";switch(DESKTOP_SESSION){case"deepin":theme=execSync(`gsettings get com.deepin.dde.appearance gtk-theme`);break;case"gnome":case"gnome-classic":theme=execSync(`gsettings get org.gnome.desktop.interface ${this.gnomeScheme}`);break;default:break}return theme.includes("dark")}get gnomeScheme(){const gnomeVersion=execSync(`gnome-shell --version`).toString().replace(/[\\r\\n]/g,"").split(" ");const gnomeVersionNum=gnomeVersion.length==3?Number(gnomeVersion[2]):0;return gnomeVersionNum>=42?"color-scheme":"gtk-theme"}monitorTheme(){let monitor=null;const{DESKTOP_SESSION}=process.env;switch(DESKTOP_SESSION){case"deepin":monitor=spawn("gsettings",["monitor","com.deepin.dde.appearance","gtk-theme",]);break;case"gnome":case"gnome-classic":monitor=spawn("gsettings",["monitor","org.gnome.desktop.interface",this.gnomeScheme,]);break;default:console.warn(`NOT SUPPORTED!!!DESKTOP_SESSION:${DESKTOP_SESSION}`);break}monitor\&\&monitor.on("error",(err)=>{console.error("monitorTheme",err)});monitor\&\&monitor.stdout.on("data",e.debounce((chunk)=>{const data=chunk.toString();const t=data.toLowerCase().includes("dark");(this._theme=t?i.Dark:i.Light),this._onDidThemeChange.fire(this._theme)},400))}getDefaultTheme#' $find_result
+if [[ -n $find_result ]];then
+ # require of child_process
+ sed -i 's/"use strict";O/"use strict";const {execSync,spawn}=require("child_process");O/' $find_result
+ # replace listener to monitor
+ sed -i 's/this.registerListeners()/this.monitorTheme()/' $find_result
+ # replace check func
+ sed -i 's/mediaQuery.matches/isDark/' $find_result
+ # add functions
+ sed -i 's#}getDefaultTheme#}get isDark(){try{const{DESKTOP_SESSION}=process.env;console.log(DESKTOP_SESSION);let theme="";switch(DESKTOP_SESSION){case"deepin":theme=execSync(`gsettings get com.deepin.dde.appearance gtk-theme`);break;case"gnome":case"gnome-classic":theme=execSync(`gsettings get org.gnome.desktop.interface ${this.gnomeScheme}`);break;default:break}return theme.includes("dark");}catch(err){console.error("尝试获取主题信息失败,使用默认暗色",err);return true;}}get gnomeScheme(){try{const gnomeVersion=execSync(`gnome-shell --version`).toString().replace(/[\\r\\n]/g,"").split(" ");const gnomeVersionNum=gnomeVersion.length==3?Number(gnomeVersion[2]):0;return gnomeVersionNum>=42?"color-scheme":"gtk-theme";}catch(err){console.error("检查gnome版本失败, 使用gtk-theme", err);return "gtk-theme";}}monitorTheme(){try{let monitor=null;const{DESKTOP_SESSION}=process.env;switch(DESKTOP_SESSION){case"deepin":monitor=spawn("gsettings",["monitor","com.deepin.dde.appearance","gtk-theme",]);break;case"gnome":case"gnome-classic":monitor=spawn("gsettings",["monitor","org.gnome.desktop.interface",this.gnomeScheme,]);break;default:console.warn(`NOT SUPPORTED!!!DESKTOP_SESSION:${DESKTOP_SESSION}`);break}monitor\&\&monitor.on("error",(err)=>{console.error("monitorTheme",err)});monitor\&\&monitor.stdout.on("data",e.debounce((chunk)=>{const data=chunk.toString();const t=data.toLowerCase().includes("dark");(this._theme=t?i.Dark:i.Light),this._onDidThemeChange.fire(this._theme)},400));process.on("SIGTERM",(signal)=>{monitor.kill(signal);});}catch(err){console.error("尝试监听主题失败!", err);}}getDefaultTheme#' $find_result
+fi
# fix update check
find_result=$( grep -lr "whatsnew.html" "$tmp_dir/core.wxvpkg" )
diff --git a/fix-other.sh b/fix-other.sh
index 2f475b450933..0d093967ac38 100755
--- a/fix-other.sh
+++ b/fix-other.sh
@@ -22,12 +22,11 @@ cd $tmp_dir && npm install miniprogram-compiler
# 可视化编译
(cd "${package_dir}/node_modules/" \
&& rm -rf wcc wcsc \
-&& mkdir -p "wcc/bin/linux" "wcsc/bin/linux" \
+&& mkdir -p "wcc/bin/linux" \
&& cp -r "${tmp_dir}/node_modules/miniprogram-compiler/bin/linux/wcc" "wcc/bin/linux/wcc" \
-&& cp -r "${tmp_dir}/node_modules/miniprogram-compiler/bin/linux/wcsc" "wcsc/bin/linux/wcsc" \
-&& chmod 0755 "wcc/bin/linux/wcc" "wcsc/bin/linux/wcsc" \
-&& cp -r "${srcdir}/compiler/wcc_node"/* "wcc" \
-&& cp -r "${srcdir}/compiler/wcsc_node"/* "wcsc"
+&& cp -r "${tmp_dir}/node_modules/miniprogram-compiler/bin/linux/wcsc" "wcc/bin/linux/wcsc" \
+&& chmod 0755 "wcc/bin/linux/wcc" "wcc/bin/linux/wcsc" \
+&& cp -r "${srcdir}/compiler/wcc_node"/* "wcc"
)
# 预览编译,设置NO_WINE=true环境变量生效
diff --git a/rebuild-node-modules.sh b/rebuild-node-modules.sh
index 2e3373b9c5c0..f6253b0f3a09 100755
--- a/rebuild-node-modules.sh
+++ b/rebuild-node-modules.sh
@@ -27,15 +27,15 @@ hash nw-gyp 2>/dev/null || {
}
# 代理处理
-echo "尝试取消所有代理"
-unset http_proxy
-unset HTTP_PROXY
-unset https_proxy
-unset HTTPS_PROXY
-unset socket_proxy
-unset SOCKET_PROXY
-unset all_proxy
-unset ALL_PROXY
+# echo "尝试取消所有代理"
+# unset http_proxy
+# unset HTTP_PROXY
+# unset https_proxy
+# unset HTTPS_PROXY
+# unset socket_proxy
+# unset SOCKET_PROXY
+# unset all_proxy
+# unset ALL_PROXY
echo -e "\033[42;37m ######## 版本信息 $(date '+%Y-%m-%d %H:%M:%S') ########\033[0m"
echo "NW VERSION: $NW_VERSION"
@@ -80,10 +80,10 @@ export JOBS=$max_thread
spdlog@0.11.1 \
trash \
vscode-oniguruma \
- vscode-ripgrep \
+ @vscode/ripgrep \
nodegit \
- --registry=http://registry.npmmirror.com \
- --nodegit_binary_host_mirror=http://npmmirror.com/mirrors/nodegit/v0.27.0/) # reinstall modules
+ --registry=https://registry.npmmirror.com \
+ --nodegit_binary_host_mirror=https://npmmirror.com/mirrors/nodegit/v0.27.0/ ) # reinstall modules
# rebuild
cd "$package_dir/node_modules_tmp/node_modules/node-pty" && nw-gyp rebuild --arch=x64 "--target=$NW_VERSION" --dist-url=https://registry.npmmirror.com/-/binary/nwjs
@@ -105,14 +105,14 @@ cd "$package_dir/node_modules_tmp/node_modules/spdlog" && nw-gyp rebuild --arch=
(cd "${package_dir}/node_modules_tmp/node_modules" && find -name ".deps" | xargs -I{} rm -rf {} && find -name "obj.target" | xargs -I{} rm -rf {} && find -name "*.a" -delete && find -name "*.lib" -delete && find -name "*.mk" -delete)
(cd "${package_dir}/node_modules_tmp/node_modules" && find -name "*.node" | xargs -I{} \cp -rf {} ${package_dir}/node_modules/{})
-cd "${package_dir}/node_modules_tmp/node_modules/vscode-ripgrep" && \
+cd "${package_dir}/node_modules_tmp/node_modules/@vscode/ripgrep" && \
sed -i 's/api.github.com/wechat-devtools.jiyecafe.workers.dev/' lib/download.js && \
sed -i "s/ const release/ downloadOpts.headers.upstream = 'api.github.com';const release/" lib/download.js && \
sed -i "s/ return download/ opts.headers.upstream = 'objects.githubusercontent.com';return download/" lib/download.js && \
sed -i 's/response.headers.location,/response.headers.location.replace("objects.githubusercontent.com", "wechat-devtools.jiyecafe.workers.dev"),/' lib/download.js && \
npm run postinstall
mkdir -p "${package_dir}/node_modules/vscode-ripgrep/bin"
-\cp -fr "${package_dir}/node_modules_tmp/node_modules/vscode-ripgrep/bin/rg" "${package_dir}/node_modules/vscode-ripgrep/bin/rg"
+\cp -fr "${package_dir}/node_modules_tmp/node_modules/@vscode/ripgrep/bin/rg" "${package_dir}/node_modules/vscode-ripgrep/bin/rg"
(cd "${package_dir}/node_modules" && find -name ".deps" | xargs -I{} rm -rf {} && find -name "obj.target" | xargs -I{} rm -rf {} && find -name "*.a" -delete && find -name "*.lib" -delete && find -name "*.mk" -delete && find -name "*Makefile" -delete && find -name "*gyp*" -delete)
rm -rf "${package_dir}/node_modules_tmp"
diff --git a/wechat-devtools b/wechat-devtools
index 7944a8d5bce6..1d1621bb0c9f 100644
--- a/wechat-devtools
+++ b/wechat-devtools
@@ -23,12 +23,21 @@ APP_NAME=${APP_NAME//\",\"main/}
export WECHAT_DEVTOOLS_DIR="$root_dir/nwjs"
export APPDATA="$DATA_DIR/$APP_NAME"
export PATH="$root_dir/node/bin:$root_dir/nwjs:$PATH"
-export USERPROFILE=$DATA_DIR
+export USERPROFILE=$APPDATA
+
+# SNAP
+# if [ -n $SNAP ];then
+# if [ ! -f $DATA_DIR/nacl_irt_x86_64.nexe ];then
+# # 解压
+# tar -zxf $root_dir/nwjs/nacl_irt_x86_64.nexe.tar.gz -C $APPDATA/nacl_irt_x86_64.nexe
+# fi
+# fi
clean_cache() {
echo "清理缓存";
rm -rf "$APPDATA/WeappCache";
rm -rf "$APPDATA/WeappVendor";
+ rm -rf "$DATA_DIR/wechat_devtools"
}
# 检测是否有清除缓存的必要
diff --git a/wechat-devtools-cli b/wechat-devtools-cli
index 358007822327..99cea8f98f99 100644
--- a/wechat-devtools-cli
+++ b/wechat-devtools-cli
@@ -14,4 +14,6 @@ export WECHAT_DEVTOOLS_DIR="$root_dir/nwjs"
export APPDATA="$root_dir/nwjs"
export PATH="$root_dir/wine:$root_dir/node/bin:$root_dir/nwjs:$PATH"
-node $root_dir/package.nw/js/common/cli/index.js "$@" \ No newline at end of file
+# node $root_dir/package.nw/js/common/cli/index.js "$@"
+# const t=e.customScriptName?e.$0:o.basename(e.$0),
+echo "process.argv[1]='$root_dir/bin/wechat-devtools-cli';require('$root_dir/package.nw/js/common/cli/index.js')" | node - "$@"