summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvy Huang2024-03-27 02:57:49 -0400
committerIvy Huang2024-03-27 02:57:49 -0400
commitb0e00afa20d1696eba57d0bf05119604c44f402a (patch)
treedb99385aed810667c54c6617a8b7831b6bb29cac
downloadaur-b0e00afa20d1696eba57d0bf05119604c44f402a.tar.gz
create taskchampion-sync-server repo
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD53
-rw-r--r--taskchampion-sync-server.install8
-rw-r--r--taskchampion-sync-server.service14
-rw-r--r--taskchampion-sync-server.sysusers1
5 files changed, 98 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..2c30acbd3722
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = taskchampion-sync-server
+ pkgdesc = The server Taskwarrior syncs to
+ pkgver = 3.0.0
+ pkgrel = 1
+ url = https://taskwarrior.org/
+ install = taskchampion-sync-server.install
+ arch = x86_64
+ license = MIT
+ makedepends = cmake
+ makedepends = git
+ makedepends = cargo
+ depends = util-linux
+ depends = gnutls
+ options = !lto
+ source = taskchampion-sync-server::git+https://github.com/GothenburgBitFactory/taskwarrior.git#commit=3e41fb604c209e355444a1f0e2f4e15c70d76226
+ source = taskchampion-sync-server.service
+ source = taskchampion-sync-server.sysusers
+ sha256sums = 4f8304c149f28152fa1f291d6be1b263ed23619f53637715ae21e023f9c0f184
+ sha256sums = 3ea87bb86ec6aa395eba25f859350545c9c67fa9779e485fd9083b7317339458
+ sha256sums = 6ff937968e0c319bd436bdfe765eba132ceac78cb80640a8fd7b909cd44db89a
+
+pkgname = taskchampion-sync-server
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..af0521a5ba85
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Ivy Huang <imyxh@imyxh.net>
+# vim: set tw=0 sw=4 et :
+
+pkgname=taskchampion-sync-server
+pkgver=3.0.0
+pkgrel=1
+pkgdesc="The server Taskwarrior syncs to"
+arch=('x86_64')
+url="https://taskwarrior.org/"
+license=('MIT')
+depends=('util-linux' 'gnutls')
+makedepends=('cmake' 'git' 'cargo')
+optdepends=()
+_commit=3e41fb604c209e355444a1f0e2f4e15c70d76226
+source=(
+ "$pkgname::git+https://github.com/GothenburgBitFactory/taskwarrior.git#commit=$_commit"
+ "$pkgname.service"
+ "$pkgname.sysusers"
+)
+sha256sums=(
+ '4f8304c149f28152fa1f291d6be1b263ed23619f53637715ae21e023f9c0f184'
+ '3ea87bb86ec6aa395eba25f859350545c9c67fa9779e485fd9083b7317339458'
+ '6ff937968e0c319bd436bdfe765eba132ceac78cb80640a8fd7b909cd44db89a'
+)
+options=('!lto')
+install="$pkgname.install"
+
+prepare() {
+ cd "$srcdir/$pkgname/taskchampion/sync-server"
+ export RUSTUP_TOOLCHAIN=stable
+ cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
+}
+
+build() {
+ cd "$srcdir/$pkgname/taskchampion/sync-server"
+ export RUSTUP_TOOLCHAIN=stable
+ export CARGO_TARGET_DIR=target
+ cargo build --frozen --release
+}
+
+check() {
+ cd "$srcdir/$pkgname/taskchampion/sync-server"
+ export RUSTUP_TOOLCHAIN=stable
+ export CARGO_TARGET_DIR=target
+ cargo test --frozen
+}
+
+package() {
+ install -Dm644 "$srcdir/$pkgname.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ install -Dm644 "$srcdir/$pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+ install -Dt "$pkgdir/usr/bin" "$srcdir/$pkgname/taskchampion/sync-server/target/release/$pkgname"
+}
+
diff --git a/taskchampion-sync-server.install b/taskchampion-sync-server.install
new file mode 100644
index 000000000000..8687e4972dc0
--- /dev/null
+++ b/taskchampion-sync-server.install
@@ -0,0 +1,8 @@
+datadir=/var/lib/taskchampion-sync-server
+post_install() {
+ systemd-sysusers
+ if [[ ! -e $datadir ]]; then
+ echo "Initializing taskchampion-sync-server data."
+ install -dm770 $datadir
+ chown -R taskchampion:taskchampion $datadir
+ fi
diff --git a/taskchampion-sync-server.service b/taskchampion-sync-server.service
new file mode 100644
index 000000000000..2693c9c94abf
--- /dev/null
+++ b/taskchampion-sync-server.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=The server Taskwarrior syncs to
+After=network.target
+Documentation=http://taskwarrior.org/docs/
+
+[Service]
+ExecStart=/usr/bin/taskchampion-sync-server --port 53589 --data-dir /var/lib/taskchampion-sync-server
+Restart=on-abort
+Type=simple
+User=taskchampion
+Group=taskchampion
+
+[Install]
+WantedBy=multi-user.target
diff --git a/taskchampion-sync-server.sysusers b/taskchampion-sync-server.sysusers
new file mode 100644
index 000000000000..cd6e4e87411d
--- /dev/null
+++ b/taskchampion-sync-server.sysusers
@@ -0,0 +1 @@
+u taskchampion - "Taskwarrior Sync Server"