commit: fa5ec1cfbe8dcc32df3d01bf03904d626cdaa592
Author: Julien Roy <julien <AT> jroy <DOT> ca>
AuthorDate: Sun Apr 17 20:57:39 2022 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Apr 17 20:57:39 2022 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=fa5ec1cf
app-crypt/tang: initial import
Signed-off-by: Julien Roy <julien <AT> jroy.ca>
app-crypt/tang/Manifest | 1 +
app-crypt/tang/files/tangd.initd | 16 ++++++++++++
app-crypt/tang/files/tangd.service | 6 +++++
app-crypt/tang/metadata.xml | 8 ++++++
app-crypt/tang/tang-11.ebuild | 52 ++++++++++++++++++++++++++++++++++++++
5 files changed, 83 insertions(+)
diff --git a/app-crypt/tang/Manifest b/app-crypt/tang/Manifest
new file mode 100644
index 000000000..c79d202ff
--- /dev/null
+++ b/app-crypt/tang/Manifest
@@ -0,0 +1 @@
+DIST tang-11.tar.gz 38502 BLAKE2B
cc440780eda3aa2ded7dfa6bea62794c2f08d3c7e89573c4002d5f2644f5cd809357400031c9df94f5128fb24e3e038a56f3df14f8f7762c071404fdb7b62444
SHA512
a1115c7192224f2d09d026776768b4247632333ad152f2cb700567404ff33a220dc1280e4f588c6408775c4b9dc5049b5601bbee6336c8ff7f39ec6f28e26599
diff --git a/app-crypt/tang/files/tangd.initd b/app-crypt/tang/files/tangd.initd
new file mode 100644
index 000000000..4b7e42991
--- /dev/null
+++ b/app-crypt/tang/files/tangd.initd
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+port=8888
+bind=0.0.0.0
+tangd=/usr/libexec/tangd
+tangdir=/var/db/tang
+
+name="tang daemon"
+description="Tang binding daemon"
+command=/usr/bin/socat
+pidfile="/var/run/${RC_SVCNAME}.pid"
+command_user="tang"
+command_args="TCP-LISTEN:${port},bind=${bind},fork SYSTEM:'${tangd}
${tangdir}'"
+command_background=true
diff --git a/app-crypt/tang/files/tangd.service
b/app-crypt/tang/files/tangd.service
new file mode 100644
index 000000000..59625d974
--- /dev/null
+++ b/app-crypt/tang/files/tangd.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Tang Server
+
+[Service]
+ExecStart=/usr/bin/socat TCP-LISTEN:8888,bind=0.0.0.0,fork
SYSTEM:'/usr/libexec/tangd /var/db/tang'
+User=tang
diff --git a/app-crypt/tang/metadata.xml b/app-crypt/tang/metadata.xml
new file mode 100644
index 000000000..97ba7c28b
--- /dev/null
+++ b/app-crypt/tang/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>[email protected]</email>
+ <name>Julien Roy</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-crypt/tang/tang-11.ebuild b/app-crypt/tang/tang-11.ebuild
new file mode 100644
index 000000000..94b1883d7
--- /dev/null
+++ b/app-crypt/tang/tang-11.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Tang binding daemon"
+HOMEPAGE="https://github.com/latchset/tang"
+SRC_URI="https://github.com/latchset/${PN}/archive/v${PV}.tar.gz ->
${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="systemd"
+
+DEPEND="acct-user/tang
+ app-text/asciidoc
+ net-misc/socat
+ >=net-libs/http-parser-2.8.0
+ >=dev-libs/jose-8"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_install(){
+ meson_install
+ newinitd "${FILESDIR}"/tangd.initd tangd
+
+ dodir /var/db/tang
+ keepdir /var/db/tang
+ fowners tang:tang /var/db/tang
+ fperms 770 /var/db/tang
+
+ if use systemd; then
+ insinto /usr/lib/systemd/system
+ doins ${FILESDIR}/tangd.service
+ fi
+}
+
+pkg_postinst(){
+ einfo "By default, tang runs on port 8888 and listens on address
0.0.0.0"
+ einfo "It also stores JWKs in /var/db/tang."
+ if use systemd; then
+ einfo "If you want to change this, modify
/usr/lib/systemd/system/tangd.service directly."
+ else
+ einfo "If you want to change this, modify /etc/init.d/tangd
directly."
+ fi
+
+ if use systemd; then
+ systemctl daemon-reload
+ fi
+}