atom、electron 和 gentoo

强烈建议用上ccache,不然崩了重开心态爆裂。

atom依赖electron,electron在gentoo里面是2.0.17-r2版本,但是问题多多。首先是pulseaudio它没办法支持(打补丁就可以,但是我还没有学会怎么用补丁),所以要把它的pulseaudio USE给去掉。这样就可以通过7000/16000的第一道坑了。

第二道坑是内置的chromium,源代码的/var/tmp/portage/dev-util/electron-2.0.17-r2/work/electron-2.0.17/chromium/third_party/WebKit/Source/core/dom/Document.cpp有问题,在5192行的结尾少了一个“;”号,要自己补上。这样就可以通过11000/16000的坑了。

这样electron就能编译成功了,atom也就是小case了。

atom报错找不到uncrustify

今天看书的时候无意间打开了之前写的一个C程序,按保存的时候突然报错找不到uncrustify。再三确认uncrustify不仅安装了还是安装的最新版本的情况下,甚至指定了绝对路径,atom还是不认。网上搜的全都是“你肯定没有安装,装一个就好”。

思考再三,感觉和之前的dhcpcd 8.1事件有点类似。首先降级了atom到1.40.1,发现问题没有解决。然后把uncrustify从0.70.0降级到0.69.0,问题就解决了。所以结论就是最新版的uncrustify是有问题的。

atom-ctags报错找不到ctags.node

根据https://github.com/yongkangchen/atom-ctags/issues/200,要手动找到ctags.node的位置,kkraju4u提示locate ctags.node,locate命令是由mlocate提供的。而安装好mlocate之后直接locate会报错没有db,根据stackexchange知道要用sudo ionice -c3 updatedb来更新db。然后就可以获得ctags.node的位置,直接修改~/.atom/packages/atom-ctags/node_modules/ctags/src/ctags.coffee的第一行,改一下就好了。