From 5df3050ee7a4e6023998c689f76ee2a72e0a7bb0 Mon Sep 17 00:00:00 2001 From: msojocs Date: Mon, 11 Apr 2022 13:27:50 +0800 Subject: [PATCH] =?UTF-8?q?update:=20aur=20=E6=9E=84=E5=BB=BA=E8=B7=9F?= =?UTF-8?q?=E8=BF=9B=20fix:=20=E4=BF=AE=E5=A4=8D=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E6=89=A9=E5=B1=95=E5=AE=BF=E4=B8=BB=E6=84=8F?= =?UTF-8?q?=E5=A4=96=E7=BB=88=E6=AD=A2=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/wechat-devtools | 2 +- changelog.md | 2 + res/aur/PKGBUILD | 34 ++++++------ res/aur/wechat-devtools.desktop | 2 +- test/fix-spdlog | 7 +-- test/nw-gyp-rebuild | 9 ++++ tools/build-aur.sh | 1 + tools/build-deepin copy.sh | 93 --------------------------------- tools/rebuild-node-modules.sh | 1 + 9 files changed, 38 insertions(+), 113 deletions(-) mode change 100644 => 100755 test/fix-spdlog create mode 100755 test/nw-gyp-rebuild delete mode 100755 tools/build-deepin copy.sh diff --git a/bin/wechat-devtools b/bin/wechat-devtools index 84a6a56..32bf9a9 100755 --- a/bin/wechat-devtools +++ b/bin/wechat-devtools @@ -16,7 +16,7 @@ APP_NAME=${APP_NAME//\",\"main/} export WECHAT_DEVTOOLS_DIR="$root_dir/nwjs" export APPDATA="$DATA_DIR/$APP_NAME" -export PATH="$root_dir/wine:$root_dir/node/bin:$root_dir/nwjs:$PATH" +export PATH="$root_dir/node/bin:$root_dir/nwjs:$PATH" export USERPROFILE=$DATA_DIR clean_cache() { diff --git a/changelog.md b/changelog.md index de78b40..7dfb10e 100644 --- a/changelog.md +++ b/changelog.md @@ -1,7 +1,9 @@ # 1.05.2203070-8 / 2022-04-10 - fix: 国内网络vscode-ripgrep安装失败的问题 - fix: 内部的更新检查界面无法正常使用(这个更新用处不大,仅用于让维护者知道存在更新) +- fix: 修复可能出现扩展宿主意外终止的问题 - feat: 主题深浅跟随系统变化,感谢icepie的参与 +- update: 更新nwjs与nodejs # 1.05.2203070-7 / 2022-03-19 - fix: cli diff --git a/res/aur/PKGBUILD b/res/aur/PKGBUILD index 87ce0b1..2ca5bd7 100644 --- a/res/aur/PKGBUILD +++ b/res/aur/PKGBUILD @@ -14,13 +14,13 @@ _wechat_devtools_url="https://servicewechat.com/wxa-dev-logic/download_redirect? _wechat_devtools_md5="2785d569b88d72a8e238d438d92faf44" _wechat_devtools_exe="wechat_devtools_${_wechat_devtools_ver}_x64.exe" -_nwjs_ver="0.53.1" +_nwjs_ver="0.55.0" _install_dir="/opt/wechat-devtools" -_node_version="16.1.0" +_node_version="16.4.2" pkgname=wechat-devtools pkgver="${_wechat_devtools_ver}" # 主版本号 -pkgrel=3 # 修订版本号release +pkgrel=8 # 修订版本号release epoch=2 # 大版本迭代强制更新(维护者变更,尽量不用) pkgdesc="WeChat Devtools For Linux. " arch=("x86_64") @@ -29,12 +29,13 @@ license=('unknown') depends=('gconf' 'libxkbfile') makedepends=('p7zip' 'python2' 'openssl' 'gcc' 'make' 'libssh2' 'krb5') # compiler 用于可视化,以及编译 -source=("nwjs-v${_nwjs_ver}.tar.gz::http://npmmirror.com/mirrors/nwjs/v${_nwjs_ver}/nwjs-sdk-v${_nwjs_ver}-linux-x64.tar.gz" +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::http://npmmirror.com/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-3/compiler.tar.gz" + "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" "wechat-devtools.desktop" "logo.svg" + "wechat-devtools" "fix-cli.sh" "fix-menu.sh" "fix-core.sh" @@ -43,11 +44,11 @@ source=("nwjs-v${_nwjs_ver}.tar.gz::http://npmmirror.com/mirrors/nwjs/v${_nwjs_v "wxvpkg_pack.js" "wxvpkg_unpack.js" "fix-other.sh") -md5sums=(b6f49803c51d0abacca2d1e566c7fe19 # nwjs +md5sums=(ac7680788544c457daee11aaf69798fe # nwjs "${_wechat_devtools_md5}" - 2280bfbbf29981fd5adce334f40146ff # nodejs - 9650f811d5c4d2ca124dcfa6d0b32c4c # compiler - 01ea705bfe43f5f9683f0dbefb3f1574 # desktop + 4d14589085ebbf79ce504dc27330d33b # nodejs + 7d78f10d04fff0b525df493d95847b37 # compiler + 4d3f5273be80a74741c841fcfa4185d3 # desktop 0f4353664123320280ea4d6bb295dce2 # svg "SKIP" "SKIP" @@ -56,6 +57,7 @@ md5sums=(b6f49803c51d0abacca2d1e566c7fe19 # nwjs "SKIP" "SKIP" "SKIP" + "SKIP" "SKIP") options=('!strip') @@ -91,8 +93,8 @@ build() { cp "$(which node)" "${srcdir}/node.${_node_version}" # run fix scripts - export NW_PACKAGE_DIR="${srcdir}/package.nw" export NW_VERSION=$_nwjs_ver + # fix-package-name.js使用 export srcdir=$srcdir export NO_WINE=true @@ -108,14 +110,16 @@ build() { package() { mkdir -p "${pkgdir}${_install_dir}" cd "${pkgdir}${_install_dir}" + mkdir -p bin - cp -r "${srcdir}/nwjs/"* ./ - cp -r "${srcdir}/package.nw" ./package.nw + cp -r "${srcdir}/nwjs" . + cp -r "${srcdir}/package.nw" . find ./package.nw -type d | xargs -I {} chmod -R a+rx {} - cp ${srcdir}/node.${_node_version} node - ln -s node node.exe + cp ${srcdir}/node.${_node_version} nwjs/node + cd nwjs && ln -s node node.exe + install -Dm755 "${srcdir}/wechat-devtools" "${pkgdir}${_install_dir}/bin/wechat-devtools" install -Dm644 "${srcdir}/wechat-devtools.desktop" "${pkgdir}/usr/share/applications/wechat-devtools.desktop" install -Dm644 "${srcdir}/logo.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/wechat-devtools.svg" } diff --git a/res/aur/wechat-devtools.desktop b/res/aur/wechat-devtools.desktop index 556b661..99f8d4a 100755 --- a/res/aur/wechat-devtools.desktop +++ b/res/aur/wechat-devtools.desktop @@ -3,7 +3,7 @@ Name=WeChat Devtools Name[zh_CN]=微信web开发者工具 Comment=The development tools for wechat web develop Categories=Development;WebDevelopment;IDE; -Exec=env APPDATA=~/.config/wechat_devtools USERPROFILE=~ bash -c ' export PATH="/opt/wechat-devtools:$PATH"; clean_cache(){ echo "清理缓存"; rm -rf "$APPDATA/WeappCache"; rm -rf "$APPDATA/WeappVendor";}; if [[ -f "$APPDATA/.build_time" ]];then diff "$APPDATA/.build_time" "/opt/wechat-devtools/package.nw/.build_time" >/dev/null; if [ ! "$?" == "0" ];then \cp -f "/opt/wechat-devtools/package.nw/.build_time" "$APPDATA/.build_time";clean_cache; fi; else \cp -f "/opt/wechat-devtools/package.nw/.build_time" "$APPDATA/.build_time"; clean_cache; fi; /opt/wechat-devtools/nw --load-extension=~/.config/wechat_devtools/WeappPlugin --custom-devtools-frontend=file:///opt/wechat-devtools/package.nw/js/ideplugin/inspector %U' +Exec=/opt/wechat-devtools/bin/wechat-devtools %U Path=/opt/wechat-devtools Icon=wechat-devtools Type=Application diff --git a/test/fix-spdlog b/test/fix-spdlog old mode 100644 new mode 100755 index 7f48fa6..f574625 --- a/test/fix-spdlog +++ b/test/fix-spdlog @@ -3,9 +3,10 @@ root_dir=$(cd `dirname $0`/.. && pwd -P) export PATH="$root_dir/node/bin:$PATH" +module="spdlog" cd "$root_dir/tmp" mkdir -p node_test/node_modules cd node_test -npm install spdlog --save -rm -rf "$root_dir/package.nw/node_modules/spdlog" -cp -rf "$root_dir/tmp/node_test/node_modules/spdlog" "$root_dir/package.nw/node_modules" +npm install $module --save +rm -rf "$root_dir/package.nw/node_modules/$module" +cp -rf "$root_dir/tmp/node_test/node_modules/$module" "$root_dir/package.nw/node_modules" diff --git a/test/nw-gyp-rebuild b/test/nw-gyp-rebuild new file mode 100755 index 0000000..e6ed449 --- /dev/null +++ b/test/nw-gyp-rebuild @@ -0,0 +1,9 @@ +#!/bin/bash + +root_dir=$(cd `dirname $0`/.. && pwd -P) +export PATH="$root_dir/node/bin:$PATH" +ln -s "$( which python2 )" "$root_dir/node/bin/python" + +cd "$root_dir/tmp/node_test/node_modules/spdlog" +# node-gyp rebuild +nw-gyp rebuild --arch=x64 "--target=0.55.0" --dist-url=https://registry.npmmirror.com/-/binary/nwjs diff --git a/tools/build-aur.sh b/tools/build-aur.sh index fb3c738..79d59bc 100755 --- a/tools/build-aur.sh +++ b/tools/build-aur.sh @@ -55,6 +55,7 @@ COMPILER_MD5=$( md5sum tmp/compiler.tar.gz | cut -d ' ' -f1 ) rm -rf $build_dir mkdir -p $build_dir +cp "$root_dir/bin/wechat-devtools" "$build_dir" cp "$root_dir/tools"/*.sh "$build_dir" cp "$root_dir/tools"/*.js "$build_dir" cp "$root_dir/res/aur"/* "$build_dir" diff --git a/tools/build-deepin copy.sh b/tools/build-deepin copy.sh deleted file mode 100755 index 258f92c..0000000 --- a/tools/build-deepin copy.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/bash -set -e -notice() { - echo -e "\033[36m $1 \033[0m " -} -fail() { - echo -e "\033[41;37m 失败 \033[0m $1" -} - - -root_dir=$(cd `dirname $0`/.. && pwd -P) -DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) -DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}" -echo $BUILD_VERSION -if [ -n "$1" ];then - export BUILD_VERSION=$1 -fi -if [ -z "$BUILD_VERSION" ];then - export BUILD_VERSION='continuous' -fi -if [ "$BUILD_VERSION" == "continuous" ];then - export BUILD_VERSION="v${DEVTOOLS_VERSION}-continuous" -fi - -notice "检查版本号 -> $BUILD_VERSION" -INPUT_VERSION=$( echo $BUILD_VERSION | sed 's/v//' | sed 's/-.*//' ) -if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then - fail "传入版本号与实际版本号不一致!" - exit 1 -fi - -############ 准备构建deb包所需的文件及结构 ################ -package_name="io.github.msojocs.wechat-devtools" -if [[ $NO_WINE == 'true' ]];then - BUILD_MARK='no_wine' - package_name="${package_name}-no-wine" -else - BUILD_MARK='wine' - NAME_SUFFIX=" (wine)" - package_name="${package_name}-wine" -fi - -echo "root_dir: $root_dir" -tmp_dir="$root_dir/tmp" -build_dir="$root_dir/tmp/$package_name" -base_dir="$build_dir/opt/apps/$package_name" - -# Remove any previous build -rm -rf $build_dir -# Make usr and icons dirs -notice "Make Dirs" -mkdir -p $base_dir/{entries,files} -mkdir -p $base_dir/entries/{applications,icons/hicolor/scalable/apps/,mime,plugins,services} -mkdir -p $base_dir/files/{bin/bin,doc,lib} - -notice "COPY Files" -cp -r "$root_dir/res/deepin"/* $build_dir -mv "$build_dir/opt/apps/io.github.msojocs.wechat-devtools"/* $base_dir -rm -r "$build_dir/opt/apps/io.github.msojocs.wechat-devtools" -sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$build_dir/debian/control" "$base_dir/info" -sed -i "s/io.github.msojocs.wechat-devtools/$package_name/g" "$base_dir/info" "$build_dir/debian/control" -\cp -rf "$root_dir/bin/wechat-devtools" "$base_dir/files/bin/bin/wechat-devtools" - -# desktop -\cp -rf "$root_dir/res/template.desktop" "$base_dir/entries/applications/$package_name.desktop" -sed -i "s#Icon=dir/res/icons/wechat-devtools.svg#Icon=$package_name#" "$base_dir/entries/applications/$package_name.desktop" -sed -i "s#dir#/opt/apps/$package_name/files/bin#" "$base_dir/entries/applications/$package_name.desktop" -sed -i "s/WeChat Dev Tools/WeChat Dev Tools$NAME_SUFFIX/g" "$base_dir/info" "$base_dir/entries/applications/$package_name.desktop" -sed -i "s/微信开发者工具/微信开发者工具$NAME_SUFFIX/g" "$base_dir/entries/applications/$package_name.desktop" - -\cp -rf "$root_dir/res/icons/wechat-devtools.svg" "$base_dir/entries/icons/hicolor/scalable/apps/$package_name.svg" - -# 主体文件 -cp -r "$root_dir/package.nw" "$base_dir/files/bin/package.nw" -cp -r "$root_dir/nwjs" "$base_dir/files/bin/nwjs" -if [ -f "$root_dir/node/bin/node" ];then - rm -rf "$base_dir/files/bin/nwjs"/{node,node.exe} - cp "$root_dir/node/bin/node" "$base_dir/files/bin/nwjs/node" - cd "$base_dir/files/bin/nwjs/" && ln -s "node" "node.exe" -fi -# chown -R root:root "$base_dir" - -notice "BUILD DEB Package" -cd "$build_dir" -ls -l "$build_dir" -mkdir -p "$root_dir/tmp/build" - -if [[ ! $NO_WINE -eq 'true' ]];then - echo "Depends: wine, wine-binfmt" >> "$build_dir/debian/control" -fi - -# dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64_${BUILD_MARK}_deepin.deb" -debuild \ No newline at end of file diff --git a/tools/rebuild-node-modules.sh b/tools/rebuild-node-modules.sh index 99c9f3b..2339ceb 100755 --- a/tools/rebuild-node-modules.sh +++ b/tools/rebuild-node-modules.sh @@ -100,6 +100,7 @@ cp -fr "${package_dir}/node_modules_tmp/node_modules/nodegit" "${package_dir}/no (cp -fr "${package_dir}/node_modules_tmp/node_modules/oniguruma" "${package_dir}/node_modules_tmp/node_modules/oniguruma-node") (cp -fr "${package_dir}/node_modules_tmp/node_modules/spdlog" "${package_dir}/node_modules_tmp/node_modules/spdlog-node") +cd "$package_dir/node_modules_tmp/node_modules/spdlog" && nw-gyp rebuild --arch=x64 "--target=$NW_VERSION" --dist-url=https://registry.npmmirror.com/-/binary/nwjs (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/{})