Windows 下编译 emacs 好难啊

有些依赖死活满足不了,比如 gnutls,还有 imagemagick。因为 emacs 只支持 imagemagick 6,不支持最新的 7,而 msys2 是滚动更新的,并没有以前版本的 imagemagick,除了修改 emacs 源代码令其支持 7 之外没有其它的办法了吗?哪位同学有成功编译 msys2 emacs 的环境麻烦分享一下。想编译一个打了补丁: https://github.com/syl20bnr/spacemacs/blob/develop/EXPERIMENTAL.org#simple-patch-of-emacs-source-code 的emacs 27.0.50 用于 pdump。

imagemagick 对于我是必须的,没有的话无法显示 png 图片。

你试了这个吗?自己写个 diff 文件然后修改一下 PKGBUILD

这个我看了,感觉工作量不小?imagemagick 也要自己打包?最主要是除了 elisp 的包以外,没有干过打包的活。当然,elisp 也不需要打包。

而且它这个脚本已经过时了吧?因为现在都是 imagemagick 7 了

这不是已经写好了吗?加个 diff 而已

而且它这个脚本已经过时了吧?因为现在都是 imagemagick 7 了

我看了一下,我的是 7.0.7.28-1

1 个赞

你的 emacs 是自己编译的吗?还是直接 pacman -S 的?

我自己编译的这个,你看看最近 commit

1 个赞

用这个 pkgbuild 脚本,如果我想给 emacs patch 的话应该怎样做呢?有没有打包教程之类的,谢谢!

目录底下两个 diff 文件就是补丁,仿照着写一个,然后 PKGBUILD 里面 prepare() 的那一段加一句话

我完全没有这方面经验啊,diff 文件还行,用 magit 生成一个就行了,问题是 buildpkg 文件怎么用?

依这行的葫芦画个瓢,哦对了,34行和38行再加进文件名和 sha256,不想计算 sha256 的话就 'SKIP'

1 个赞

谢谢,我按照 arch 的教程可以吗?

https://wiki.archlinux.org/index.php/PKGBUILD_(简体中文)

嗯,是一样的。有个坑是一定要在 MinGW64 下用 /usr/bin/make 来编译

1 个赞

多谢您的耐心回复,学习了

还有一点问题,换 git 代码的分支应该写在哪里?

不客气

这样只是指定了下载包的地址,能换分支吗?比如我要切换到 pdump 分支

试试写 prepare() 里面?

好的,应该可以,多谢多谢!解决了我的大麻烦!

我直接用的网站上编译好的emacs,直接用就行了。自己编译太麻烦了。 官网的emacs可以支持图片显示,配合便携版的imagemagick也可以缩放图片。

有两个选择:

  1. 使用官网的emacs,下载deps解压到emacs目录里面即可
  2. https://github.com/m-parashar/emax64