aboutsummaryrefslogtreecommitdiff
path: root/app-crypt
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt')
-rw-r--r--app-crypt/tang/Manifest5
-rw-r--r--app-crypt/tang/files/tang.initd16
-rw-r--r--app-crypt/tang/files/tangd.service9
-rw-r--r--app-crypt/tang/metadata.xml8
-rw-r--r--app-crypt/tang/tang-11.ebuild52
5 files changed, 90 insertions, 0 deletions
diff --git a/app-crypt/tang/Manifest b/app-crypt/tang/Manifest
new file mode 100644
index 0000000..148102a
--- /dev/null
+++ b/app-crypt/tang/Manifest
@@ -0,0 +1,5 @@
+AUX tang.initd 427 BLAKE2B fe4ad69442d5a4a8dd1eda0bd1916a1f3e467d58d10444720141bffb091c3eab42c431bec8350ba3d31718586b208f6db83f2f36d3a476d236de0cec6eaa66d3 SHA512 11639188a92cb2f46c4f73d3497e2ce4b2b24707162c04126319d690daa4aba219e5ba77086536e55121fdc1850a46a2ce84d41d6725a1d7090f4c9acb6cf181
+AUX tangd.service 219 BLAKE2B 5a75ce6191d998dedd1ed1a9506e8ca7d4852ebed1faa8737c311b1b8ae5a3547791c47b57ab4188d0ef8727155a8a38992eac37c86742516c0c2e9cead7da36 SHA512 bb69883becf9799fcabbb284e2019e8a32eb4bffbd6ea4646bb9e6fcc0f88ce2660104b8bfe2acd456ee97f75ab84d3008fcf529ce392f606c93a41fcd732ec3
+DIST tang-11.tar.gz 38502 BLAKE2B cc440780eda3aa2ded7dfa6bea62794c2f08d3c7e89573c4002d5f2644f5cd809357400031c9df94f5128fb24e3e038a56f3df14f8f7762c071404fdb7b62444 SHA512 a1115c7192224f2d09d026776768b4247632333ad152f2cb700567404ff33a220dc1280e4f588c6408775c4b9dc5049b5601bbee6336c8ff7f39ec6f28e26599
+EBUILD tang-11.ebuild 1141 BLAKE2B 7c0014074dfe50b3869d6179d7190b017e369085c1e9314a7b173666a25dd42284c2414520d3f0e163903baeb1cc6503492afd33d1407c930408dc499a0d2980 SHA512 1040d8cae41ec8b26346607e01a83ffa336ea2325f4503eca107f9138ff5f963f6064e77f044eca4a2b87d376f316fe378f8d45591f51f0632ab2a11f4cba793
+MISC metadata.xml 241 BLAKE2B 6dac420f48c539432671f9251c134a254e92cd56082e2551d3f9153c4319f11d06ee167a7ea10b4d16764fc2325db5057662ac61812c1ead8e7256915d9f494b SHA512 da3a07ed2a719b870f4a8f2fb10a54f6248184f553d6b8b55c7faa6b7d90aaf1d2a77ac40e08c1b6eb33f6a6da5f1db4d5eaf6c6332ffbd232fddc4ac3a1086a
diff --git a/app-crypt/tang/files/tang.initd b/app-crypt/tang/files/tang.initd
new file mode 100644
index 0000000..4b7e429
--- /dev/null
+++ b/app-crypt/tang/files/tang.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 0000000..8a7507b
--- /dev/null
+++ b/app-crypt/tang/files/tangd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Tang Server
+
+[Service]
+StandardInput=socket
+StandardOutput=socket
+StandardError=journal
+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 0000000..97ba7c2
--- /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>julien@jroy.ca</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 0000000..a12787c
--- /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}"/tang.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
+}