aboutsummaryrefslogtreecommitdiff
path: root/packages/arch
diff options
context:
space:
mode:
authorMetroWind <chris.corsair@gmail.com>2025-09-07 09:42:33 -0700
committerMetroWind <chris.corsair@gmail.com>2025-09-07 09:42:33 -0700
commitea0d3220db995018335c48eb06b9794235ff436b (patch)
tree892564cdd4946c6ee9c1051bc31ff5c7bba6ddf1 /packages/arch
Initial commit, mostly just copied from shrt.
Diffstat (limited to 'packages/arch')
-rw-r--r--packages/arch/PKGBUILD50
-rw-r--r--packages/arch/shrt.install9
-rw-r--r--packages/arch/shrt.service12
-rw-r--r--packages/arch/shrt.yaml7
-rw-r--r--packages/arch/sysusers-shrt.conf1
5 files changed, 79 insertions, 0 deletions
diff --git a/packages/arch/PKGBUILD b/packages/arch/PKGBUILD
new file mode 100644
index 0000000..550b8c7
--- /dev/null
+++ b/packages/arch/PKGBUILD
@@ -0,0 +1,50 @@
1pkgname=shrt-git
2pkgver=0.1
3pkgrel=1
4pkgdesc="A naively simple link shortener"
5arch=('x86_64')
6url="https://github.com/MetroWind/shrt"
7license=('MIT')
8groups=()
9depends=('sqlite' 'curl' 'openssl')
10makedepends=('git' 'cmake' 'gcc')
11provides=("${pkgname%-git}")
12conflicts=("${pkgname%-git}")
13replaces=()
14backup=("etc/shrt.yaml")
15# Stripping doesn’t work with ryml.
16options=(!debug !strip)
17install=shrt.install
18source=('git+https://github.com/MetroWind/shrt.git' "sysusers-${pkgname%-git}.conf" "${pkgname%-git}.service" "${pkgname%-git}.yaml")
19noextract=()
20sha256sums=('SKIP' "1ea5c7d99be0954fb9aa6e22e7f11d485fd66d3232df3cbe3051c81e542b4bfc"
21 "1e65ce88985b19471af84a95ebf8f2d6726e6af434cd4dafd7203ad783510a0f"
22 "c91a4e0a43373e08343aba704cbd064936521decf23546a74d2d8b3f08a8e963")
23
24pkgver()
25{
26 cd "$srcdir/${pkgname%-git}"
27 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
28}
29
30build()
31{
32 cd "$srcdir/${pkgname%-git}"
33 # Usually CMAKE_BUILD_TYPE is set to be “None” in a PKGBUILD. But
34 # it doesn’t work well with ryml.
35 cmake -B build \
36 -DCMAKE_BUILD_TYPE='Release' \
37 -DCMAKE_INSTALL_PREFIX='/usr' \
38 -Wno-dev .
39 cmake --build build
40}
41
42package()
43{
44 install -Dm755 -t "$pkgdir/usr/bin" "${srcdir}/${pkgname%-git}/build/${pkgname%-git}"
45 mkdir -pv "$pkgdir/var/lib/${pkgname%-git}/attachments"
46 cp -r "${srcdir}/${pkgname%-git}/"{statics,templates} "${pkgdir}/var/lib/${pkgname%-git}"
47 install -Dm644 -t "$pkgdir/etc" "${srcdir}/${pkgname%-git}.yaml"
48 install -Dm644 "${srcdir}/sysusers-${pkgname%-git}.conf" "${pkgdir}/usr/lib/sysusers.d/${pkgname%-git}.conf"
49 install -Dm644 "${srcdir}/${pkgname%-git}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname%-git}.service"
50}
diff --git a/packages/arch/shrt.install b/packages/arch/shrt.install
new file mode 100644
index 0000000..b3c69b3
--- /dev/null
+++ b/packages/arch/shrt.install
@@ -0,0 +1,9 @@
1post_install()
2{
3 chown -R shrt:shrt var/lib/shrt
4}
5
6post_upgrade()
7{
8 chown -R shrt:shrt var/lib/shrt
9}
diff --git a/packages/arch/shrt.service b/packages/arch/shrt.service
new file mode 100644
index 0000000..95e739f
--- /dev/null
+++ b/packages/arch/shrt.service
@@ -0,0 +1,12 @@
1[Unit]
2Description=Shrt service
3After=network.target
4
5[Service]
6User=shrt
7Group=shrt
8ExecStart=/usr/bin/shrt
9Restart=on-failure
10
11[Install]
12WantedBy=multi-user.target
diff --git a/packages/arch/shrt.yaml b/packages/arch/shrt.yaml
new file mode 100644
index 0000000..9439ccd
--- /dev/null
+++ b/packages/arch/shrt.yaml
@@ -0,0 +1,7 @@
1data-dir: "/var/lib/shrt"
2listen-address: localhost
3listen-port: 8080
4# client-id:
5# client-secret:
6# openid-url-prefix:
7base-url: http://localhost:8080
diff --git a/packages/arch/sysusers-shrt.conf b/packages/arch/sysusers-shrt.conf
new file mode 100644
index 0000000..b0900bd
--- /dev/null
+++ b/packages/arch/sysusers-shrt.conf
@@ -0,0 +1 @@
u shrt - "Shrt service user" - -