Created attachment 478512 [details] keybase-9999.ebuild app-crypt/keybase are in the habit of breaking API compatibility and introducing new functionality without bumping the version number. This is especially frustrating when done towards towards app-crypt/kbfs, which doesn't even have versions or releases at all. Please add a live Git ebuild for app-crypt/keybase, so we can at least upgrade it in synch with app-crypt/kbfs. One I made from app-crypt/keybase-1.0.20.ebuild and app-crypt/kbfs-9999.ebuild is attached.
Thanks for the ebuild, it works, but it missed to install GUI desktop client. I was able to manually build it this way: emerge electron yarn mkdir ~/tmp/keybase cd ~/tmp/keybase git clone https://github.com/keybase/client git clone https://github.com/keybase/kbfs cd client/packaging/linux ./build_binaries.sh but I don't have enough spare time to convert all of this into good ebuild. Maybe someone else will update the ebuild? Also it looks like -9999 versions of kbfs and both console and gui clients require `paxmark m` (I'm not sure is this important having current issues with GrSecurity/PaX, but, still, adding paxmarking to ebuild doesn't harm anything).
The desktop GUI client is a Node.js application, which Portage currently does not support. It looks like you will have to build it yourself outside of Portage if you want it. That ./build_binaries.sh script calls Yarn to download 1334 NPM packages, which will never be acceptable to Portage. There have been attempts to convert NPM packages to ebuilds, but they all look abandoned and none ever made it into mainline. https://github.com/neurogeek/g-npm and https://github.com/neurogeek/gentoo-overlay is the most complete one I found, and even it hasn't been touched for four years.
(In reply to Karl-Johan Karlsson from comment #2) > The desktop GUI client is a Node.js application, which Portage currently > does not support. It looks like you will have to build it yourself outside > of Portage if you want it. I suppose it's electron app, which makes some difference, especially for packaging. > That ./build_binaries.sh script calls Yarn to download 1334 NPM packages, > which will never be acceptable to Portage. I don't see these packages installed in my home dir. So I suppose they was downloaded into temporary directory and used only while building Keybase binary and it resource file electron.asar. This means `emerge keybase` will have to download these 1334 packages on every re-emerge, but we doesn't have to actually add these 1334 packages to the portage. It doesn't require too much time to download these 1334 packages on my system, so I don't this this will be an issue for -9999 ebuild. For non-git ebuild we probably can pre-package all these node modules into single distfiles archive to ensure repeatable builds and avoid re-downloading them in every re-emerge.
Thanks for providing the ebuild Karl-Johan! And thanks Alex for testing it carefully. I think it would be useful as is even without GUI support for the reasons Karl-Johan points out. At some point it would be great if we could add more proper GUI building to the non-git ebuild. But for now I'll add the 9999 ebuild to the tree. Thanks!
Added to tree.