Nix + Mac 用户现在可以直接下载编译好的 emacs-nativecomp 可执行文件了

没遇到这个问题。

建议你写个最小配置来验证一下。

好耶,大家都不喜欢 homebrew 呢!

已经可以正常运行了,虽然也不知道为什么。 确实感到比之前emacs28.05(not nativecomp) 流畅一些,有时候写些不太思考的代码,愿意用gccemacs 加快码代码速度。

小问题,gccemacs启动是只能terminal 形式么? 我运行emacs 时,会开一个terminal,打开GUI界面?

open ~/.nix-profile/Applications/Emacs.app
2 个赞

我今天参考你的github repo,重新运行命令更新了gccemacs。 现在可以在任意位置打开gccemacs,而没有相对路径动态链接找不到的报错。 感谢!

太感谢了,终于不用自己折腾就用上了!

问个问题,如果想要更新是否直接运行下面这行命令就行?

nix-env -iA emacsGccDarwin -f https://github.com/twlz0ne/nix-gccemacs-darwin/archive/master.zip

首次安装:

nix-env -iA cachix -f https://cachix.org/api/v1/install
cachix use gccemacs-darwin
nix-env -iA emacsGccDarwin -f https://github.com/twlz0ne/nix-gccemacs-darwin/archive/master.zip

更新:

nix-env -iA emacsGccDarwin -f https://github.com/twlz0ne/nix-gccemacs-darwin/archive/master.zip
4 个赞

大佬,能不能直接提供一个macOS的pre-built binary 下载,不想折腾nix啊

我觉得其实和nix 没啥太大关系。。。就是一顿操作就能用了。。。

Standalone / Portable binary?

恐怕要修改一堆的链接目标,Nix 默认路径为 /nix/store…。看到有个 https://github.com/matthewbauer/nix-bundle 似乎是可以用来做这件事,不知是否靠谱。

其实如果把 Nix 当作 Homebrew 用,安装很简单:https://nixos.org/guides/install-nix.html

他的 pre-built binary 的意思应该是 当nix的buildphase 执行完,把这个path copy 出来。其他人直接下载这个,就可以直接make install了。我不知道我理解对不对。显然你dep没有nix,除非就是打包dmg。我非纯macos用户没关注这个nixtodmg的应用,但我经常用nix打包deb rpm等等。把整个环境打包进去提供dmg才是正确方式. 但是nix-bundle目前没看到支持dmg, * Only compatible Linux

build-emacs-for-macos 楼主之前提到的这个仓库编译起来很简单。虽然我用的时候有点小问题,但是都很容易修改

我已经按照这个编译成功了,但是如果能有地方提供下载会更方便。我是在catalina上编译的,有地方我可以共享。不过好像不是很稳定,性能提升也不明显。

nix如果不想下载是需要Binay cache就如cachix 你可以用它下载binary cache是不用编译的。就是把本地编译好的推送到cachix,你这边下载。如你有服务器可以用nix-serve下载,我本身是有的但是我没推送darwincache,你可以使用cachix

@twlz0ne 我注意到emacs-plus 已经可以直接通过brew install 来安装native compile了。这个和你现在维护的emacs-nativecomp 有什么区别么?

#1 楼说得很明白了:提供二进制下载。

也因为如此,二进制文件不能及时更新,需要定期 push。

I see. Thanks!

我以为从emacs-plus 上安装也不是需要编译呢。太naive了。。。 不过,测试起来编译速度倒是很快,大概20分钟不到就搞定了。当然可能看不同电脑配置。我的是2013年的macpro。

-------- 更新

我注意到我并没有实际用起来gcc,warning里面还是会报 libgcc.so 不能找到的错误。在我的2013 macbook air 上,emacs-plus with naive compile 要花数个小时,最后也还是不能用。看起来在emacs-plus上,也不是安装顺利。

最后还是跳回到twlzOne维护的已经编译好的版本,算是开箱可用了。 @twlz0ne 多谢楼主!

哇13年的!垃圾桶!超喜歡的!

确实!实验室里没人用,我配了64G内存,外置了一块500G的SSD,感觉很不错。也非常喜欢这个设计!

现在 nixpkgs 中有编译好的 28.1+nativecomp 了

nix-env -iA nixpkgs.emacs28NativeComp