Gentoo Archives: gentoo-commits

From: Anna Vyalkova <cyber+gentoo@×××××.in>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: www-apps/snac/, www-apps/snac/files/
Date: Fri, 02 Dec 2022 06:15:54
Message-Id: 1669961590.f44cdd34807d42349c73a9eb84634408be3aec05.cybertailor@gentoo
1 commit: f44cdd34807d42349c73a9eb84634408be3aec05
2 Author: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
3 AuthorDate: Thu Dec 1 15:13:00 2022 +0000
4 Commit: Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
5 CommitDate: Fri Dec 2 06:13:10 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f44cdd34
7
8 www-apps/snac: new package, add 2.12
9
10 Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>
11
12 www-apps/snac/Manifest | 1 +
13 www-apps/snac/files/snac | 52 +++++++++++++++++++++++++++++++++++++++
14 www-apps/snac/files/snac.service | 15 ++++++++++++
15 www-apps/snac/metadata.xml | 8 ++++++
16 www-apps/snac/snac-2.12.ebuild | 53 ++++++++++++++++++++++++++++++++++++++++
17 5 files changed, 129 insertions(+)
18
19 diff --git a/www-apps/snac/Manifest b/www-apps/snac/Manifest
20 new file mode 100644
21 index 000000000..6efab6dca
22 --- /dev/null
23 +++ b/www-apps/snac/Manifest
24 @@ -0,0 +1 @@
25 +DIST snac-2.12.tar.gz 65818 BLAKE2B a9c7e43a10ee32aa31b2f58b5557199f16f3b03d118b17151215586428c5e98d3aa2e9fb9f2fc1ffec47650e103134d1d53df8db75c54aa95996cc07505f6aaf SHA512 6b9259e6a91e30be907851d28ff8998bda0c19be95c0c9c76bed37e1a4ce87a900b5903fac62a199603f9f078861bbbb55e1549604176a95b71cd9eff88925d8
26
27 diff --git a/www-apps/snac/files/snac b/www-apps/snac/files/snac
28 new file mode 100644
29 index 000000000..3e09749eb
30 --- /dev/null
31 +++ b/www-apps/snac/files/snac
32 @@ -0,0 +1,52 @@
33 +#!/sbin/openrc-run
34 +# Copyright 2022 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +# shellcheck shell=sh
37 +
38 +: ${SNAC_DATA:=/var/lib/snac/data}
39 +
40 +extra_stopped_commands="init"
41 +extra_commands="adduser"
42 +description_init="Create the database"
43 +description_adduser="Create a user"
44 +
45 +command="/usr/bin/snac"
46 +command_args="httpd ${SNAC_DATA}"
47 +command_user="snac:snac"
48 +command_background=yes
49 +pidfile="/run/snac.pid"
50 +output_logger="logger -p daemon.info -t snac --"
51 +error_logger="logger -p daemon.err -t snac --"
52 +
53 +depend() {
54 + use logger
55 + need net
56 +}
57 +
58 +check_db() {
59 + if [ ! -f "${SNAC_DATA}"/server.json ]; then
60 + eerror "Please run 'rc-service snac init' before the first start"
61 + return 1
62 + fi
63 +
64 + return 0
65 +}
66 +
67 +start_pre() {
68 + check_db || return 1
69 +
70 + start-stop-daemon --exec "${command}" --user "${command_user}" \
71 + -- purge "${SNAC_DATA}"
72 +}
73 +
74 +init() {
75 + start-stop-daemon --exec "${command}" --user "${command_user}" \
76 + -- init "${SNAC_DATA}"
77 +}
78 +
79 +adduser() {
80 + check_db || return 1
81 +
82 + start-stop-daemon --exec "${command}" --user "${command_user}" \
83 + -- adduser "${SNAC_DATA}"
84 +}
85
86 diff --git a/www-apps/snac/files/snac.service b/www-apps/snac/files/snac.service
87 new file mode 100644
88 index 000000000..35f90db6c
89 --- /dev/null
90 +++ b/www-apps/snac/files/snac.service
91 @@ -0,0 +1,15 @@
92 +[Unit]
93 +Description=A simple, minimalistic ActivityPub instance
94 +After=network.target
95 +Wants=network-online.target
96 +
97 +[Service]
98 +Type=simple
99 +ExecStart=/usr/bin/snac httpd /var/lib/snac/data
100 +Restart=always
101 +RestartSec=5
102 +User=snac
103 +Group=snac
104 +
105 +[Install]
106 +WantedBy=multi-user.target
107
108 diff --git a/www-apps/snac/metadata.xml b/www-apps/snac/metadata.xml
109 new file mode 100644
110 index 000000000..7ebbd0334
111 --- /dev/null
112 +++ b/www-apps/snac/metadata.xml
113 @@ -0,0 +1,8 @@
114 +<?xml version="1.0" encoding="UTF-8"?>
115 +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
116 +<pkgmetadata>
117 + <maintainer type="person">
118 + <email>cyber+gentoo@×××××.in</email>
119 + <name>Anna</name>
120 + </maintainer>
121 +</pkgmetadata>
122
123 diff --git a/www-apps/snac/snac-2.12.ebuild b/www-apps/snac/snac-2.12.ebuild
124 new file mode 100644
125 index 000000000..419bef237
126 --- /dev/null
127 +++ b/www-apps/snac/snac-2.12.ebuild
128 @@ -0,0 +1,53 @@
129 +# Copyright 2022 Gentoo Authors
130 +# Distributed under the terms of the GNU General Public License v2
131 +
132 +EAPI=8
133 +
134 +inherit systemd toolchain-funcs
135 +
136 +MY_PN="snac2"
137 +DESCRIPTION="A simple, minimalistic ActivityPub instance"
138 +HOMEPAGE="https://codeberg.org/grunfink/snac2"
139 +SRC_URI="https://codeberg.org/grunfink/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
140 +S="${WORKDIR}/${MY_PN}"
141 +
142 +LICENSE="MIT"
143 +SLOT="0"
144 +KEYWORDS="~amd64"
145 +
146 +DEPEND="
147 + dev-libs/openssl:=
148 + net-misc/curl
149 +"
150 +RDEPEND="${DEPEND}
151 + acct-user/snac
152 +"
153 +
154 +DOCS=( {README,RELEASE_NOTES,TODO}.md )
155 +
156 +src_configure() {
157 + tc-export CC
158 +}
159 +
160 +src_compile() {
161 + emake CFLAGS="${CFLAGS}"
162 +}
163 +
164 +src_install() {
165 + mkdir -p "${ED}"/usr/bin
166 + emake PREFIX="${ED}/usr" PREFIX_MAN="${ED}/usr/share/man" install
167 + einstalldocs
168 +
169 + doinitd "${FILESDIR}"/snac
170 + systemd_dounit "${FILESDIR}"/snac.service
171 +
172 + diropts --owner snac --group snac
173 + keepdir /var/lib/snac
174 +}
175 +
176 +pkg_postinst() {
177 + if [[ -z ${REPLACING_VERSIONS} ]]; then
178 + einfo "To finish the installation, please run:"
179 + einfo " # rc-service snac init"
180 + fi
181 +}