[分享] Borg 在 msys2 的 mingw64 中使用

2021年12月6日开始使用 Borg, 到现在已经整整一年了,这是一个基于 Git submodule 的包管理器。我平时主要是在 macOS 上使用 Borg,在 Windows 平台主要是用于更新配置,以及 Build 第三方包的 elc 和 eln,并生成 autoloads 文件。

在 Unix-like 平台的使用一切顺利,但 Windows 平台下一直都是要在 Git 的 bash shell 下才能执行 make native 命令。最近升级到 Emacs 29 后,发现 makeinfo 又没法工作了,于是就升级了 texinfo 到最新的 7.0 版本。但是还是没解决问题。原来是因为 msys2 的 mingw64 中没安装 perl,默认只是在 msys2 环境下安装了 perl。

所以,要彻底解决问题,只要做到下面几步:

  1. 安装 mingw64 版本的 perl
   pacman -S mingw64/mingw-w64-x86_64-perl
  1. 将 C:\msys64\mingw64\bin 加入 Path,不需要加 C:\msys64\usr\bin

  2. 将 Emacs 加入 Path, 比如我的 Emas 安装位置是 C:\opt\emacs\bin

  3. 安装 make,并加入 Path,如 C:\opt\make-4.4-without-guile-w32-bin\bin
    可以从 Eli 分享的 ezwinports 下载 make-4.4-without-guile-w32-bin

  4. 安装 texinfo 7.0,并加入 Path,如 C:\opt\texinfo-7.0.1-w32-bin\bin
    可以从 Eli 分享的 ezwinports 下载 texinfo-7.0.1-w32-bin

上面的准备好以后,就可以在 ming64 环境下愉快地使用 Borg 了。

在 Shell 中 Borg 常用 Shell 命令:

make clean # 清除所有的 elc, eln 和 autoload 文件
make build # Build elc,启动 Emacs 后自动 Build eln,速度快
make native # Build elc 和 eln,速度慢
make native/<package-name> # Build 单个包
4 个赞

makeinfo的问题也可以通过创建一个bat文件解决

不过话说回来,package-vc也是需要makeinfo 的,应该给msys2提个issue让他们做个MinGW64版的texinfo

确实需要一个 mingw64 的 Texinfo,有空再去提一个。