openSUSE Tumbleweed Emacs 27.1 怎么从源码编译 emacs-rime

论坛的诸位大家好,初次发帖求助,对 Linux 系统的理解不深,请多见谅。

我是一名 Emacs 用户,但有在 Emacs 下输入中文的需求,因此采用的方案是 Emacs-rime 这个包来实现 Emacs 内的 rime 输入法。之前在 Ubuntu 与 Manjaro 系统下,只需要安装 27 以上版本的 Emacs 与 librime 即可实现前面的要求。

最近想要迁移到 openSUSE TumbleWeed,发现 openSUSE 下,直接安装的 Emacs 虽然是 27.1 版本,但使用 Emacs-rime 插件时会显示编译不通过,缺失了emacs-module.h这个文件。经过帮助,我可以从别的地方复制一份emacs-module.h到自己的机器上,然后在 emacs 中指定该文件的位置,但这么做总有种隔靴搔痒的意思。

因此我尝试了自己编译 emacs,通过在 gnu 官网下载源码并编译,我解决了大部分的问题,随后我注意到 openSUSE 是有 source 源、支持编译的,因此我就想通过 zypper 来编译安装 emacs。启用了 source 源后,我sudo zypper si emacs,发现 emacs 并没有安装,只是在/usr/src/packages/目录下载了源码,我不想再通过解压、make、install 的步骤来进行了,请问能否通过 zypper 的命令直接编译安装 emacs?

rpm 系的通用做法是: su 以后 rpmbuild -ba /usr/src/packages/SPECS/emacs.spec 这样会在 /usr/src/packages/(S) RPMS 下面生成一大堆 RPM 包。不过这和你手动 config & make 的区别仅仅在于编译出来的东西会被包装成一个个 rpm 的包,如果你要调整编译选项,需要自己动手改 emacs.spec

另外其实下载下来的源码包和 obs 上的 emacs 一模一样。

文档:

2赞

那个文件在 emacs-el 的那个包里面,安装了 emacs-el 应该就可以了。

原因可能是 rpm 系的打包者们喜欢把包拆分成很多,Fedora 同样需要另外安装 emacs-devel 才能有 emacs-module.h

参考 https://build.opensuse.org/package/view_file/editors/emacs/emacs.spec
或者你下载源码包里面的 /usr/src/packages/SPECS/emacs.spec

1赞

本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。