You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MSYS2下使用Meson构建系统打包tio 1.37时,最终Pacman包缺失可执行文件的问题排查与解决咨询

问题:MSYS2下用Meson构建的tio包仅含源码,缺失编译产物

我正在MSYS2环境中为Windows 10构建最新版的tio(1.37版本),这个版本改用了Meson构建系统,之前我用的是基于configure.ac和Makefile的1.32版本。

我修改了原有的PKGBUILD来适配Meson,构建步骤如下:

  • 在C:\src下创建tio_msys2目录并进入
  • 下载修改后的PKGBUILD文件
  • 执行makepkg -sCLf命令构建

修改后的PKGBUILD核心内容如下:

pkgname=tio
pkgver=1.37
pkgrel=1
pkgdesc="A simple TTY terminal I/O application"
arch=('i686' 'x86_64')
url="https://tio.github.io/"
license=('GPL')
makedepends=('autotools' 'gcc' 'meson' 'ninja')
source=(https://github.com/tio/tio/releases/download/v${pkgver}/tio-${pkgver}.tar.xz)
sha256sums=('a54cd09baeaabd306fdea486b8161eea6ea75bb970b27cae0e8e407fb2dd7181')
validpgpkeys=('101BAC1C15B216DBE07A3EEA2BDB4A0944FA00B1') # Martin Lund

prepare() {
  cd "${srcdir}/${pkgname}-${pkgver}"
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  meson --prefix=/usr --buildtype=plain build
  meson compile -C build
}

package() {
  echo "srcdir ${srcdir} pkgname ${pkgname} pkgver ${pkgver} destdir ${destdir}"
  cd "${srcdir}/${pkgname}-${pkgver}"
  meson install -C build --destdir "$pkgdir"
}

构建过程看起来是成功的:生成了tio.exe可执行文件,/c/src/tio_msys2/pkg目录里也形成了完整的安装结构,包含tio.exe、bash补全文件和手册等内容。但当我检查最终生成的pacman安装包tio-1.37.tar.xz时,发现里面只有tio 1.37的源码文件,完全缺失了pkg目录里的编译产物和打包内容。

我想请教:

  1. 我在配置或操作中哪里出了问题?
  2. 如何才能把pkg目录中已准备好的内容(包括编译后的二进制文件)正确打包到最终的Pacman安装包里?
  3. 我注意到其他MSYS2中使用Meson构建的PKGBUILD会在meson install后手动复制文件,是不是我也需要执行类似操作?

内容的提问来源于stack exchange,提问作者sdbbs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 19:44:11