app-crypt/keybase: Install as systemd user service
authorNicolas Bock <nicolasbock@gentoo.org>
Wed, 21 Feb 2018 20:02:53 +0000 (13:02 -0700)
committerNicolas Bock <nicolasbock@gentoo.org>
Wed, 21 Feb 2018 20:03:12 +0000 (13:03 -0700)
The service file needs to be installed as a user service so that
non-privileged users can start it in their namespace.

Bug: https://bugs.gentoo.org/644210
Package-Manager: Portage-2.3.19, Repoman-2.3.6

app-crypt/keybase/keybase-1.0.41-r2.ebuild [new file with mode: 0644]

diff --git a/app-crypt/keybase/keybase-1.0.41-r2.ebuild b/app-crypt/keybase/keybase-1.0.41-r2.ebuild
new file mode 100644 (file)
index 0000000..afb3571
--- /dev/null
@@ -0,0 +1,62 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils systemd user versionator
+
+MY_PV=$(replace_version_separator 3 '-')
+
+DESCRIPTION="Client for keybase.io"
+HOMEPAGE="https://keybase.io/"
+SRC_URI="https://github.com/keybase/client/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+       >=dev-lang/go-1.6:0
+       app-crypt/kbfs"
+RDEPEND="
+       app-crypt/gnupg"
+
+S="${WORKDIR}/src/github.com/keybase/client"
+
+pkg_setup() {
+       enewuser keybasehelper
+}
+
+src_unpack() {
+       unpack "${P}.tar.gz"
+       mkdir -p "$(dirname "${S}")" || die
+       mv "client-${MY_PV}" "${S}" || die
+}
+
+src_compile() {
+       GOPATH="${WORKDIR}:${S}/go/vendor" \
+               go build -v -x \
+               -tags production \
+               -o "${T}/keybase" \
+               github.com/keybase/client/go/keybase || die
+       GOPATH="${WORKDIR}" \
+               go build -v -x \
+               -tags production \
+               -o "${T}/keybase-mount-helper" \
+               github.com/keybase/client/go/mounter/keybase-mount-helper || die
+}
+
+src_install() {
+       dobin "${T}/keybase"
+       dobin "${T}/keybase-mount-helper"
+       fowners keybasehelper:keybasehelper "${EROOT}/usr/bin/keybase-mount-helper"
+       dobin "${S}/packaging/linux/run_keybase"
+       systemd_douserunit "${S}/packaging/linux/systemd/keybase.service"
+}
+
+pkg_postinst() {
+       elog "Run the service: keybase service"
+       elog "Run the client:  keybase login"
+       elog "Restart keybase: run_keybase"
+}