diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 759cd6e..ea077cd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -204,8 +204,10 @@ jobs: path: release merge-multiple: true - - name: 附带构建使用的 flake.lock - run: cp flake.lock release/flake.lock + - name: 附带发行元数据 + run: | + cp flake.lock release/flake.lock + cp packaging/arch/PKGBUILD release/PKGBUILD - uses: softprops/action-gh-release@v2 with: diff --git a/AGENTS.md b/AGENTS.md index fd7150d..3dec662 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,7 @@ ## 项目范围 -MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.14`。 +MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.15`。 不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ea29b2..fd9639e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ 本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 的格式。 +## [0.1.15] - 2026-08-26 + +### 修复 + +- Arch PKGBUILD 改为直接下载 GitHub Release 标签对应的源码归档,不再要求发布者或用户手动放置源码包。 +- 修正 GitHub 标签归档的解压目录处理,使 `makepkg` 可以直接完成构建、测试和打包。 +- 远程 Release 现在附带当前版本的 `PKGBUILD`,Arch 用户无需再从源码树中单独提取打包文件。 + ## [0.1.14] - 2026-08-26 ### 性能 diff --git a/CLAUDE.md b/CLAUDE.md index fd7150d..3dec662 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,7 +2,7 @@ ## 项目范围 -MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.14`。 +MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.15`。 不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。 diff --git a/linux/fcitx5/CMakeLists.txt b/linux/fcitx5/CMakeLists.txt index 16f10c5..48882f4 100644 --- a/linux/fcitx5/CMakeLists.txt +++ b/linux/fcitx5/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -project(meloasr-fcitx5 VERSION 0.1.14 LANGUAGES CXX) +project(meloasr-fcitx5 VERSION 0.1.15 LANGUAGES CXX) include(GNUInstallDirs) include(CTest) diff --git a/linux/fcitx5/meloasr.conf.in b/linux/fcitx5/meloasr.conf.in index 011a574..f03cc88 100644 --- a/linux/fcitx5/meloasr.conf.in +++ b/linux/fcitx5/meloasr.conf.in @@ -6,7 +6,7 @@ Comment[zh_CN]=将 MeloASR 网页后端连接到当前输入上下文 Type=SharedLibrary Library=@MELOASR_LIBRARY_PATH@ Category=Module -Version=0.1.14 +Version=0.1.15 OnDemand=False Configurable=False diff --git a/package-lock.json b/package-lock.json index d32f2d8..62b3c09 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "meloasr", - "version": "0.1.14", + "version": "0.1.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "meloasr", - "version": "0.1.14", + "version": "0.1.15", "devDependencies": { "@types/node": "^24.0.0", "electron": "42.3.0", diff --git a/package.json b/package.json index 6667685..76bf11f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "meloasr", "productName": "MeloASR", - "version": "0.1.14", + "version": "0.1.15", "private": true, "author": "MeloASR contributors", "description": "基于网页语音识别后端和 Fcitx5 的 Linux 实时语音输入工具", diff --git a/packaging/README.md b/packaging/README.md index 217103a..87ae50c 100644 --- a/packaging/README.md +++ b/packaging/README.md @@ -1,6 +1,6 @@ # Linux 分发打包 -MeloASR 0.1.14 的系统包由两部分组成: +MeloASR 0.1.15 的系统包由两部分组成: - Electron 应用安装到 `/opt/meloasr`,命令入口为 `/usr/bin/meloasr`; - Fcitx5 常驻 addon 由目标发行版中的 CMake/Fcitx5 开发包编译,并安装到该环境报告的 addon 目录。 @@ -40,7 +40,7 @@ npm run build:linux:dir packaging/deb/build-deb.sh ``` -产物位于 `packaging/out/meloasr_0.1.14_.deb`。依赖名称按 Debian/Ubuntu 系列填写,但尚未在各发行版完成安装验证。 +产物位于 `packaging/out/meloasr_0.1.15_.deb`。依赖名称按 Debian/Ubuntu 系列填写,但尚未在各发行版完成安装验证。 ## rpm diff --git a/packaging/arch/PKGBUILD b/packaging/arch/PKGBUILD index 2c2053a..e8b01d4 100644 --- a/packaging/arch/PKGBUILD +++ b/packaging/arch/PKGBUILD @@ -1,5 +1,5 @@ pkgname=meloasr -pkgver=0.1.14 +pkgver=0.1.15 pkgrel=1 pkgdesc='Web-backed voice input for Fcitx5' arch=('x86_64') @@ -7,11 +7,13 @@ url='https://github.com/Melorise/MeloASR' license=('MPL2') depends=('fcitx5' 'gtk3' 'nss' 'libxss' 'mesa' 'alsa-lib') makedepends=('nodejs' 'npm' 'cmake' 'gcc' 'nlohmann-json') -source=("${pkgname}-${pkgver}.tar.gz") +source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz") sha256sums=('SKIP') +_source_dir="MeloASR-${pkgver}" + build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/${_source_dir}" npm ci npm run build:linux:dir cmake -S linux/fcitx5 -B build/fcitx5 \ @@ -21,13 +23,13 @@ build() { } check() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/${_source_dir}" npm test ctest --test-dir build/fcitx5 --output-on-failure } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/${_source_dir}" install -d "${pkgdir}/opt/meloasr" cp -a release/linux-unpacked/. "${pkgdir}/opt/meloasr/" diff --git a/packaging/arch/README.md b/packaging/arch/README.md index 6634116..733f7b6 100644 --- a/packaging/arch/README.md +++ b/packaging/arch/README.md @@ -1,9 +1,11 @@ # Arch Linux 构建 -发布时把项目源码归档为 `meloasr-0.1.14.tar.gz`,与 `PKGBUILD` 放在同一目录,随后运行: +远程 Release 会附带当前版本的 `PKGBUILD`。下载后直接运行: ```bash +curl --fail --location --remote-name \ + https://github.com/Melorise/MeloASR/releases/download/v0.1.15/PKGBUILD makepkg --syncdeps --cleanbuild ``` -正式发布必须把 `source` 改为仓库的不可变 release URL,并以 `updpkgsums` 写入真实 SHA-256;当前源码包仍保留 `SKIP`,不能直接作为正式 Arch 发布源。 +`PKGBUILD` 会根据 `pkgver` 直接下载 GitHub Release 标签对应的源码归档,无需手动下载、重命名或放置源码包。源码地址固定为 `https://github.com/Melorise/MeloASR/archive/refs/tags/v${pkgver}.tar.gz`,因此同一份 `PKGBUILD` 可以重复构建该版本。 diff --git a/packaging/assets/meloasr.metainfo.xml b/packaging/assets/meloasr.metainfo.xml index 9d08b82..d155097 100644 --- a/packaging/assets/meloasr.metainfo.xml +++ b/packaging/assets/meloasr.metainfo.xml @@ -16,6 +16,7 @@ meloasr + diff --git a/packaging/deb/build-deb.sh b/packaging/deb/build-deb.sh index 9133752..1d270b5 100755 --- a/packaging/deb/build-deb.sh +++ b/packaging/deb/build-deb.sh @@ -2,7 +2,7 @@ set -euo pipefail project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" -version="${MELOASR_VERSION:-0.1.14}" +version="${MELOASR_VERSION:-0.1.15}" arch="${MELOASR_DEB_ARCH:-$(dpkg --print-architecture)}" app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}" work_dir="${project_dir}/packaging/out/deb-root" diff --git a/packaging/rpm/build-rpm.sh b/packaging/rpm/build-rpm.sh index 792f1d1..914657f 100755 --- a/packaging/rpm/build-rpm.sh +++ b/packaging/rpm/build-rpm.sh @@ -2,7 +2,7 @@ set -euo pipefail project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" -version="${MELOASR_VERSION:-0.1.14}" +version="${MELOASR_VERSION:-0.1.15}" app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}" stage_dir="${project_dir}/packaging/out/rpm-root" top_dir="${project_dir}/packaging/out/rpmbuild" diff --git a/packaging/rpm/meloasr-binary.spec b/packaging/rpm/meloasr-binary.spec index a85b085..ff224ab 100644 --- a/packaging/rpm/meloasr-binary.spec +++ b/packaging/rpm/meloasr-binary.spec @@ -36,6 +36,9 @@ tar -C %{buildroot} -xzf %{SOURCE0} /etc/xdg/autostart/meloasr.desktop %changelog +* Wed Aug 26 2026 MeloASR contributors - 0.1.15-1 +- Download the Arch package source directly from the matching GitHub release tag. + * Wed Aug 26 2026 MeloASR contributors - 0.1.14-1 - Cache the active web editor for the duration of each speech session.