diff options
author | metamuffin <metamuffin@disroot.org> | 2024-10-12 16:39:21 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-10-12 16:39:21 +0200 |
commit | a9fd82ae18eb67f6288d46d40bc893598922d181 (patch) | |
tree | 0f8f2d2cef42fcac145d5beb097e76197bc6f232 | |
download | pkgbuilds-a9fd82ae18eb67f6288d46d40bc893598922d181.tar pkgbuilds-a9fd82ae18eb67f6288d46d40bc893598922d181.tar.bz2 pkgbuilds-a9fd82ae18eb67f6288d46d40bc893598922d181.tar.zst |
add existing pkgbuilds
78 files changed, 1601 insertions, 0 deletions
diff --git a/conduit-git/PKGBUILD b/conduit-git/PKGBUILD new file mode 100644 index 0000000..c5dbe93 --- /dev/null +++ b/conduit-git/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=conduit-git +pkgver=r2330.be1b8b68 +pkgrel=1 +pkgdesc="conduit matrix homeserver" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/conduit" +license=('AGPL3') +depends=('gcc-libs') +makedepends=('rustup' 'clang') +backup=('etc/conduit.toml') +source=("git+https://gitlab.com/famedly/conduit.git" + "conduit.service" + "config.toml" + "tmpfiles.conf" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP" + "SKIP" + "SKIP") +pkgver() { + cd "conduit" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "conduit" + cargo fetch --locked --target "$CHOST" +} +build() { + cd "conduit" + cargo build --frozen --release --target "$CHOST" +} +package() { + install -Dm755 conduit/target/$CHOST/release/conduit "$pkgdir/usr/bin/conduit" + install -Dm644 config.toml "$pkgdir/etc/conduit.toml" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/conduit.conf" + install -Dm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/conduit.conf" + install -Dm644 conduit.service "$pkgdir/usr/lib/systemd/system/conduit.service" + install -Dm644 conduit/LICENSE "$pkgdir/usr/share/licenses/conduit/LICENSE" +} diff --git a/conduit-git/conduit.service b/conduit-git/conduit.service new file mode 100644 index 0000000..d39a33b --- /dev/null +++ b/conduit-git/conduit.service @@ -0,0 +1,55 @@ + +[Unit] +Description=Conduit Matrix Homeserver +After=network.target nss-lookup.target + +[Service] +Type=notify +ExecStart=/usr/bin/conduit-matrix +ExecReload=/bin/kill -HUP ${MAINPID} +TimeoutSec=10 +Restart=on-failure + +Environment="CONDUIT_CONFIG=/etc/conduit.toml" +WorkingDirectory=/var/lib/conduit-matrix + +StartLimitInterval=1m +StartLimitBurst=5 + +AmbientCapabilities= +CapabilityBoundingSet= +LockPersonality=yes +ProcSubset=pid +ProtectProc=invisible +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=yes +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=strict +PrivateDevices=yes +PrivateMounts=yes +PrivateTmp=yes +PrivateUsers=yes +RemoveIPC=yes +RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX +RestrictNamespaces=yes +RestrictRealtime=yes +RestrictSUIDSGID=yes +SystemCallArchitectures=native +SystemCallFilter=@system-service +SystemCallErrorNumber=EPERM +StateDirectory=conduit-matrix +RuntimeDirectory=conduit-matrix + +User=conduit-matrix +Group=conduit-matrix +ReadWriteDirectories=-/var/lib/conduit-matrix +ReadWriteDirectories=-/var/log/conduit-matrix + +[Install] +WantedBy=multi-user.target diff --git a/conduit-git/config.toml b/conduit-git/config.toml new file mode 100644 index 0000000..d72932c --- /dev/null +++ b/conduit-git/config.toml @@ -0,0 +1,13 @@ +[global] +server_name = "CHANGE THIS" +database_path = "/var/lib/conduit-matrix/conduit_db" +database_backend = "rocksdb" +port = 6167 +address = "127.0.0.1" +max_request_size = 20_000_000 +allow_registration = false +registration_token = "CHANGE THIS" +allow_encryption = true +allow_federation = true +enable_lightning_bolt = true +trusted_servers = ["matrix.org"] diff --git a/conduit-git/sysusers.conf b/conduit-git/sysusers.conf new file mode 100644 index 0000000..feff1dc --- /dev/null +++ b/conduit-git/sysusers.conf @@ -0,0 +1 @@ +u conduit - "conduit matrix homeserver" /var/lib/conduit-matrix - diff --git a/conduit-git/tmpfiles.conf b/conduit-git/tmpfiles.conf new file mode 100644 index 0000000..0647300 --- /dev/null +++ b/conduit-git/tmpfiles.conf @@ -0,0 +1,3 @@ +d /var/lib/conduit 0700 conduit conduit - - +d /var/lib/conduit/conduit_db 0700 conduit conduit - - +d /var/log/conduit 0700 conduit conduit - - diff --git a/fastbangs-git/.gitignore b/fastbangs-git/.gitignore new file mode 100644 index 0000000..fe201fa --- /dev/null +++ b/fastbangs-git/.gitignore @@ -0,0 +1,5 @@ +*.tar.zst +*.tar +/pkg +/src +/fastbangs diff --git a/fastbangs-git/PKGBUILD b/fastbangs-git/PKGBUILD new file mode 100644 index 0000000..a4387f5 --- /dev/null +++ b/fastbangs-git/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=fastbangs-git +pkgver=r91.0ece6f0 +pkgrel=4 +pkgdesc="A search engine redirect service" +arch=('x86_64') +url="https://codeberg.org/lialenck/fastbangs" +license=('AGPL-3.0-only') +makedepends=('esbuild' 'sassc' 'stack-static' 'make') +backup=('etc/fastbangs.yaml') +install='fastbangs.install' +source=("git+https://codeberg.org/lialenck/fastbangs" + "fastbangs.service" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "fastbangs" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "fastbangs" + make frontend/fuzzysort.js + stack setup +} +build() { + cd "fastbangs" + make +} +package() { + install -Dm755 fastbangs/deploy/fastbangs "$pkgdir/usr/bin/fastbangs" + install -Dm644 fastbangs/LICENSE.agpl "$pkgdir/usr/share/licenses/fastbangs/COPYING" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/fastbangs.conf" + install -Dm644 fastbangs.service "$pkgdir/usr/lib/systemd/system/fastbangs.service" + install -Dm644 fastbangs/fastbangs.yaml "$pkgdir/etc/fastbangs.yaml" +} diff --git a/fastbangs-git/fastbangs.install b/fastbangs-git/fastbangs.install new file mode 100644 index 0000000..a60b4dc --- /dev/null +++ b/fastbangs-git/fastbangs.install @@ -0,0 +1,5 @@ +post_install() { + mkdir -p /var/lib/fastbangs + chown -v fastbangs:fastbangs /var/lib/fastbangs + ln -svf "/etc/fastbangs.yaml" "/var/lib/fastbangs/fastbangs.yaml" +} diff --git a/fastbangs-git/fastbangs.service b/fastbangs-git/fastbangs.service new file mode 100644 index 0000000..7ba3bb2 --- /dev/null +++ b/fastbangs-git/fastbangs.service @@ -0,0 +1,33 @@ +[Unit] +Description=fastbangs search engine redirect service +After=network.target +Wants=network-online.target + +[Service] +WorkingDirectory=/var/lib/fastbangs +ExecStart=/usr/bin/fastbangs +User=fastbangs +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/fastbangs-git/sysusers.conf b/fastbangs-git/sysusers.conf new file mode 100644 index 0000000..a66b26f --- /dev/null +++ b/fastbangs-git/sysusers.conf @@ -0,0 +1 @@ +u fastbangs - "fastbangs search engine redirect service" - - diff --git a/gnix-git/PKGBUILD b/gnix-git/PKGBUILD new file mode 100644 index 0000000..decaa4e --- /dev/null +++ b/gnix-git/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=gnix-git +pkgver=r87.2a576e6 +pkgrel=1 +pkgdesc="a simple stupid http reverse proxy" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/gnix" +license=('AGPL3') +makedepends=('rustup') +conflics=('gnix') +provides=('gnix') +backup=('etc/gnix.yaml') +source=("git+https://codeberg.org/metamuffin/gnix.git" + "gnix.service" + "config.yaml" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP" + "SKIP") +pkgver() { + cd "gnix" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "gnix" + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "gnix" + cargo +nightly build --frozen --release --target "$CHOST" +} +package() { + install -Dm755 gnix/target/$CHOST/release/gnix "$pkgdir/usr/bin/gnix" + install -Dm644 gnix/src/modules/auth/login.html "$pkgdir/usr/share/gnix/login.html" + install -Dm644 config.yaml "$pkgdir/etc/gnix.yaml" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/gnix.conf" + install -Dm644 gnix.service "$pkgdir/usr/lib/systemd/system/gnix.service" + install -Dm644 gnix/COPYING "$pkgdir/usr/share/licenses/gnix/COPYING" +} diff --git a/gnix-git/config.yaml b/gnix-git/config.yaml new file mode 100644 index 0000000..85dc121 --- /dev/null +++ b/gnix-git/config.yaml @@ -0,0 +1,7 @@ +http: + bind: "0.0.0.0:80" + +handler: !hosts + "example.org": !files + root: "/srv/http" + index: true diff --git a/gnix-git/gnix.service b/gnix-git/gnix.service new file mode 100644 index 0000000..95593f5 --- /dev/null +++ b/gnix-git/gnix.service @@ -0,0 +1,34 @@ +[Unit] +Description=gnix http reverse proxy +After=network.target +Wants=network-online.target + +[Service] +AmbientCapabilities=CAP_NET_BIND_SERVICE +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/gnix /etc/gnix.yaml +User=gnix +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/gnix-git/sysusers.conf b/gnix-git/sysusers.conf new file mode 100644 index 0000000..f452f5d --- /dev/null +++ b/gnix-git/sysusers.conf @@ -0,0 +1 @@ +u gnix - "gnix http reverse proxy" - - diff --git a/gnix/PKGBUILD b/gnix/PKGBUILD new file mode 100644 index 0000000..d4bd744 --- /dev/null +++ b/gnix/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=gnix +pkgver=2.2.0 +pkgrel=1 +pkgdesc="a simple stupid http reverse proxy" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/gnix" +license=('AGPL3') +makedepends=('rustup') +backup=('etc/gnix.yaml') +source=("$pkgname-$pkgver.tar.gz::https://codeberg.org/metamuffin/gnix/archive/v$pkgver.tar.gz" + "gnix.service" + "config.yaml" + "sysusers.conf") +sha256sums=('9ff1ebbf496c7c1df613fc46820091b92775816785d0026ddced6012204e8b1c' + 'a80df54a4e44960decf43ad618dc1afef9cc498370460362e91646ac3f95358e' + 'dae3df7d0d521b075d16ab518bc321a63bc0ca7822b814aed6e00402577d380b' + '9e03be16b1b3dd4c0d0e5feb5c31221758b68a54bad5ba7232e8565d766ea620') + +prepare() { + cd "gnix" + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "gnix" + cargo +nightly build --frozen --release --target "$CHOST" +} +package() { + install -Dm755 gnix/target/$CHOST/release/gnix "$pkgdir/usr/bin/gnix" + install -Dm644 gnix/src/modules/auth/login.html "$pkgdir/usr/share/gnix/login.html" + install -Dm644 config.yaml "$pkgdir/etc/gnix.yaml" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/gnix.conf" + install -Dm644 gnix.service "$pkgdir/usr/lib/systemd/system/gnix.service" + install -Dm644 gnix/COPYING "$pkgdir/usr/share/licenses/gnix/COPYING" +} diff --git a/gnix/config.yaml b/gnix/config.yaml new file mode 100644 index 0000000..85dc121 --- /dev/null +++ b/gnix/config.yaml @@ -0,0 +1,7 @@ +http: + bind: "0.0.0.0:80" + +handler: !hosts + "example.org": !files + root: "/srv/http" + index: true diff --git a/gnix/gnix.service b/gnix/gnix.service new file mode 100644 index 0000000..95593f5 --- /dev/null +++ b/gnix/gnix.service @@ -0,0 +1,34 @@ +[Unit] +Description=gnix http reverse proxy +After=network.target +Wants=network-online.target + +[Service] +AmbientCapabilities=CAP_NET_BIND_SERVICE +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/gnix /etc/gnix.yaml +User=gnix +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/gnix/sysusers.conf b/gnix/sysusers.conf new file mode 100644 index 0000000..f452f5d --- /dev/null +++ b/gnix/sysusers.conf @@ -0,0 +1 @@ +u gnix - "gnix http reverse proxy" - - diff --git a/gpn-tron-git/PKGBUILD b/gpn-tron-git/PKGBUILD new file mode 100644 index 0000000..b0def43 --- /dev/null +++ b/gpn-tron-git/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=gpn-tron-git +pkgver=r21.12f974f +pkgrel=1 +pkgdesc="GPN-Tron Rust rewrite" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/gpn-tron-rust" +license=('AGPL-3.0-only') +makedepends=('rustup' 'esbuild') +backup=('etc/gpn-tron.toml') +source=("gpn-tron::git+https://codeberg.org/metamuffin/gpn-tron-rust" + "gpn-tron.service" + "gpn-tron.toml" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "gpn-tron" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "gpn-tron" + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "gpn-tron" + cargo +nightly build --frozen --release --target "$CHOST" +} +package() { + install -Dm755 gpn-tron/target/$CHOST/release/gpn-tron "$pkgdir/usr/bin/gpn-tron" + install -Dm644 gpn-tron/COPYING "$pkgdir/usr/share/licenses/gpn-tron/COPYING" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/gpn-tron.conf" + install -Dm644 gpn-tron.service "$pkgdir/usr/lib/systemd/system/gpn-tron.service" + install -Dm644 gpn-tron.toml "$pkgdir/etc/gpn-tron.toml" +} diff --git a/gpn-tron-git/gpn-tron.service b/gpn-tron-git/gpn-tron.service new file mode 100644 index 0000000..93e353d --- /dev/null +++ b/gpn-tron-git/gpn-tron.service @@ -0,0 +1,32 @@ +[Unit] +Description=GPN-Tron Rust rewrite +After=network.target +Wants=network-online.target + +[Service] +ExecStart=/usr/bin/gpn-tron /etc/gpn-tron.toml +User=gpn-tron +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/gpn-tron-git/gpn-tron.toml b/gpn-tron-git/gpn-tron.toml new file mode 100644 index 0000000..6f00cbe --- /dev/null +++ b/gpn-tron-git/gpn-tron.toml @@ -0,0 +1,14 @@ +[spectate] +bind = "0.0.0.0:3000" + +[game] +bind = "0.0.0.0:4000" +tickrate = 1 +tickrate_speedup = 0.1 +tickrate_max = 3 + +[bot] +amount = 2 + +[database] +path = "/tmp/trondb" diff --git a/gpn-tron-git/sysusers.conf b/gpn-tron-git/sysusers.conf new file mode 100644 index 0000000..927518f --- /dev/null +++ b/gpn-tron-git/sysusers.conf @@ -0,0 +1 @@ +u gpn-tron - "gpn-tron game server daemon" - - diff --git a/hurrycurry-client-git/PKGBUILD b/hurrycurry-client-git/PKGBUILD new file mode 100644 index 0000000..4a282aa --- /dev/null +++ b/hurrycurry-client-git/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=hurrycurry-client-git +pkgver=r1782.4b2e56f +pkgrel=2 +pkgdesc="A game about cooking (client)" +arch=('any') +url="https://codeberg.org/hurrycurry/hurrycurry" +license=('AGPL3') +depends=('godot') +makedepends=('godot') +conflics=('hurrycurry-client') +provides=('hurrycurry-client') +source=("git+https://codeberg.org/hurrycurry/hurrycurry.git" + "hurrycurry-client" + "hurrycurry-client.desktop") +sha256sums=("SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "hurrycurry" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +build() { + cd "hurrycurry" + make client + mkdir -p target/release + godot --headless --export-pack wasm32-unknown-unknown ../target/release/client.pck client/project.godot +} +package() { + install -Dm755 hurrycurry-client "$pkgdir/usr/bin/hurrycurry-client" + install -Dm644 hurrycurry-client.desktop "$pkgdir/usr/share/applications/hurrycurry-client.desktop" + install -Dm644 hurrycurry/target/release/client.pck "$pkgdir/usr/share/hurrycurry/client.pck" + install -Dm644 hurrycurry/COPYING "$pkgdir/usr/share/licenses/hurrycurry-client/COPYING" + install -Dm644 hurrycurry/client/icons/main.png "$pkgdir/usr/share/icons/hicolor/512x512/apps/hurrycurry.png" +} diff --git a/hurrycurry-client-git/hurrycurry-client b/hurrycurry-client-git/hurrycurry-client new file mode 100644 index 0000000..c621e13 --- /dev/null +++ b/hurrycurry-client-git/hurrycurry-client @@ -0,0 +1,2 @@ +#!/bin/sh +godot --main-pack /usr/share/hurrycurry/client.pck diff --git a/hurrycurry-client-git/hurrycurry-client.desktop b/hurrycurry-client-git/hurrycurry-client.desktop new file mode 100644 index 0000000..8b2b04b --- /dev/null +++ b/hurrycurry-client-git/hurrycurry-client.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Hurry Curry! +Icon=hurrycurry +GenericName[de]=Ein Spiel rund ums Kochen +GenericName=A game about cooking +Exec=hurrycurry-client +Terminal=false +StartupNotify=false +Type=Application +Categories=Game; +Keywords=game;cooking; +PrefersNonDefaultGPU=true diff --git a/hurrycurry-client-web-git/PKGBUILD b/hurrycurry-client-web-git/PKGBUILD new file mode 100644 index 0000000..b8fa3b5 --- /dev/null +++ b/hurrycurry-client-web-git/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=hurrycurry-client-web-git +pkgver=r1782.4b2e56f +pkgrel=1 +pkgdesc="A game about cooking (web client)" +arch=('any') +url="https://codeberg.org/hurrycurry/hurrycurry" +license=('AGPL3') +conflics=('hurrycurry-client-web') +provides=('hurrycurry-client-web') +makedepends=('godot') +source=("git+https://codeberg.org/hurrycurry/hurrycurry.git") +sha256sums=("SKIP") + +pkgver() { + cd "hurrycurry" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +build() { + cd "hurrycurry" + make client + mkdir -p target/release + godot --headless --export-release wasm32-unknown-unknown ../target/release/client.html client/project.godot +} +package() { + install -Dm644 hurrycurry/COPYING "$pkgdir/usr/share/licenses/hurrycurry-client-web/COPYING" + install -Dm664 -t "$pkgdir/usr/share/hurrycurry/client-web" hurrycurry/target/release/client.* +} diff --git a/hurrycurry-client-web/PKGBUILD b/hurrycurry-client-web/PKGBUILD new file mode 100644 index 0000000..22e8564 --- /dev/null +++ b/hurrycurry-client-web/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=hurrycurry-client-web +pkgver=2.1.1 +pkgrel=1 +pkgdesc="A game about cooking (web client)" +arch=('any') +url="https://codeberg.org/hurrycurry/hurrycurry" +license=('AGPL3') +makedepends=('godot') +source=("hurrycurry-$pkgver.tar.gz::https://codeberg.org/hurrycurry/hurrycurry/archive/v$pkgver.tar.gz") +sha256sums=('f165fd6ddd2b0ce22cdb010049a8a39dd74de4943dbf0e994e6e0ca02b6b2a54') + +build() { + cd "hurrycurry" + make client + mkdir -p target/release + godot --headless --export-release wasm32-unknown-unknown ../target/release/client.html client/project.godot +} +package() { + install -Dm644 hurrycurry/COPYING "$pkgdir/usr/share/licenses/hurrycurry-client-web/COPYING" + install -Dm664 -t "$pkgdir/usr/share/hurrycurry/client-web" hurrycurry/target/release/client.* +} diff --git a/hurrycurry-client/PKGBUILD b/hurrycurry-client/PKGBUILD new file mode 100644 index 0000000..8f5b799 --- /dev/null +++ b/hurrycurry-client/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=hurrycurry-client +pkgver=2.1.1 +pkgrel=2 +pkgdesc="A game about cooking (client)" +arch=('any') +url="https://codeberg.org/hurrycurry/hurrycurry" +license=('AGPL3') +depends=('godot') +makedepends=('godot') +source=("hurrycurry-$pkgver.tar.gz::https://codeberg.org/hurrycurry/hurrycurry/archive/v$pkgver.tar.gz" + "hurrycurry-client" + "hurrycurry-client.desktop") +sha256sums=('f165fd6ddd2b0ce22cdb010049a8a39dd74de4943dbf0e994e6e0ca02b6b2a54' + '2853345b64837352f576397aac7659aa0306e03ca7de4cdd04bb64bab9c8706c' + '2607233a774b1f74f10deb0ef1c594e418554c4b5701d0e700016368e6d59718') + +build() { + cd "hurrycurry" + make client + mkdir -p target/release + godot --headless --export-pack wasm32-unknown-unknown ../target/release/client.pck client/project.godot +} +package() { + install -Dm755 hurrycurry-client "$pkgdir/usr/bin/hurrycurry-client" + install -Dm644 hurrycurry-client.desktop "$pkgdir/usr/share/applications/hurrycurry-client.desktop" + install -Dm644 hurrycurry/target/release/client.pck "$pkgdir/usr/share/hurrycurry/client.pck" + install -Dm644 hurrycurry/COPYING "$pkgdir/usr/share/licenses/hurrycurry-client/COPYING" + install -Dm644 hurrycurry/client/icons/main.png "$pkgdir/usr/share/icons/hicolor/512x512/apps/hurrycurry.png" +} diff --git a/hurrycurry-client/hurrycurry-client b/hurrycurry-client/hurrycurry-client new file mode 100644 index 0000000..c621e13 --- /dev/null +++ b/hurrycurry-client/hurrycurry-client @@ -0,0 +1,2 @@ +#!/bin/sh +godot --main-pack /usr/share/hurrycurry/client.pck diff --git a/hurrycurry-client/hurrycurry-client.desktop b/hurrycurry-client/hurrycurry-client.desktop new file mode 100644 index 0000000..8b2b04b --- /dev/null +++ b/hurrycurry-client/hurrycurry-client.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Hurry Curry! +Icon=hurrycurry +GenericName[de]=Ein Spiel rund ums Kochen +GenericName=A game about cooking +Exec=hurrycurry-client +Terminal=false +StartupNotify=false +Type=Application +Categories=Game; +Keywords=game;cooking; +PrefersNonDefaultGPU=true diff --git a/hurrycurry-pixel-client-git/PKGBUILD b/hurrycurry-pixel-client-git/PKGBUILD new file mode 100644 index 0000000..4f22f4c --- /dev/null +++ b/hurrycurry-pixel-client-git/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=hurrycurry-pixel-client-git +pkgver=r1860.f0d6634 +pkgrel=1 +pkgdesc="A game about cooking (pixel client)" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/hurrycurry/hurrycurry" +license=('AGPL3') +depends=('sdl2') +makedepends=('rustup' 'sdl2' 'sdl2_image') +conflics=('hurrycurry-pixel-client') +provides=('hurrycurry-pixel-client') +source=("git+https://codeberg.org/hurrycurry/hurrycurry.git" + "hurrycurry-pixel-client.desktop") +sha256sums=("SKIP" + "SKIP") + +pkgver() { + cd "hurrycurry" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "hurrycurry" + rustup default nightly + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "hurrycurry" + make pixel-client + cargo build --release --bin pixelcurry --target "$CHOST" +} +package() { + install -Dm755 hurrycurry/target/$CHOST/release/pixelcurry "$pkgdir/usr/bin/pixelcurry" + install -Dm644 hurrycurry-pixel-client.desktop "$pkgdir/usr/share/applications/hurrycurry-pixel-client.desktop" + install -Dm644 hurrycurry/COPYING "$pkgdir/usr/share/licenses/hurrycurry-pixel-client/COPYING" + install -Dm644 hurrycurry/pixel-client/icon.png "$pkgdir/usr/share/icons/hicolor/512x512/apps/pixelcurry.png" +} diff --git a/hurrycurry-pixel-client-git/hurrycurry-pixel-client.desktop b/hurrycurry-pixel-client-git/hurrycurry-pixel-client.desktop new file mode 100644 index 0000000..32389df --- /dev/null +++ b/hurrycurry-pixel-client-git/hurrycurry-pixel-client.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Pixel Curry! +Icon=pixelcurry +GenericName[de]=Ein Spiel rund ums Kochen im Retro-stil +GenericName=A retro-style game about cooking +Exec=pixelcurry +Terminal=false +StartupNotify=false +Type=Application +Categories=Game; +Keywords=game;cooking; diff --git a/hurrycurry-server-git/PKGBUILD b/hurrycurry-server-git/PKGBUILD new file mode 100644 index 0000000..d6b6234 --- /dev/null +++ b/hurrycurry-server-git/PKGBUILD @@ -0,0 +1,65 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=hurrycurry-server-git +pkgver=r1859.64e2704 +pkgrel=4 +pkgdesc="A game about cooking (server)" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/hurrycurry/hurrycurry" +license=('AGPL3') +conflics=('hurrycurry-server') +provides=('hurrycurry-server') +makedepends=('rustup' 'deno' 'graphviz' 'godot') +source=("git+https://codeberg.org/hurrycurry/hurrycurry.git" + "hurrycurry.service" + "hurrycurry-registry.service" + "hurrycurry.yaml" + "tmpfiles.conf" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP" + "SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "hurrycurry" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + curl 'https://s.metamuffin.org/static/hurrycurry/book.pdf' -o book.pdf + cd "hurrycurry" + rustup default nightly + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "hurrycurry" + cargo +nightly build --frozen --release --target "$CHOST" --bin hurrycurry-server + cargo +nightly build --frozen --release --target "$CHOST" --bin hurrycurry-replaytool + cargo +nightly build --frozen --release --target "$CHOST" --bin hurrycurry-registry + cargo +nightly build --frozen --release --target "$CHOST" --bin hurrycurry-discover + make -C data all + make -C test-client + make -C data recipes/default.svg +} +package() { + install -Dm755 hurrycurry/target/$CHOST/release/hurrycurry-server "$pkgdir/usr/bin/hurrycurry-server" + install -Dm755 hurrycurry/target/$CHOST/release/hurrycurry-replaytool "$pkgdir/usr/bin/hurrycurry-replaytool" + install -Dm755 hurrycurry/target/$CHOST/release/hurrycurry-registry "$pkgdir/usr/bin/hurrycurry-registry" + install -Dm755 hurrycurry/target/$CHOST/release/hurrycurry-discover "$pkgdir/usr/bin/hurrycurry-discover" + install -Dm644 hurrycurry.service "$pkgdir/usr/lib/systemd/system/hurrycurry.service" + install -Dm644 hurrycurry-registry.service "$pkgdir/usr/lib/systemd/system/hurrycurry-registry.service" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/hurrycurry.conf" + install -Dm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/hurrycurry.conf" + install -Dm644 hurrycurry/COPYING "$pkgdir/usr/share/licenses/hurrycurry-server/COPYING" + install -Dm664 hurrycurry/test-client/main.js "$pkgdir/usr/share/hurrycurry/test-client/main.js" + install -Dm664 hurrycurry/test-client/index.html "$pkgdir/usr/share/hurrycurry/test-client/index.html" + install -dm755 "$pkgdir/usr/share/hurrycurry/test-client/locale" + install -Dm664 -t "$pkgdir/usr/share/hurrycurry/test-client/locale" hurrycurry/test-client/locale/* + install -Dm644 hurrycurry/data/index.yaml "$pkgdir/usr/share/hurrycurry/data/index.yaml" + install -Dm664 -t "$pkgdir/usr/share/hurrycurry/data/recipes" hurrycurry/data/recipes/*.yaml + install -Dm664 -t "$pkgdir/usr/share/hurrycurry/data/maps" hurrycurry/data/maps/*.yaml + install -Dm664 -t "$pkgdir/usr/share/doc/hurrycurry/recipes" hurrycurry/data/recipes/*.svg + install -Dm664 book.pdf "$pkgdir/usr/share/doc/hurrycurry/book.pdf" +} diff --git a/hurrycurry-server-git/hurrycurry-registry.service b/hurrycurry-server-git/hurrycurry-registry.service new file mode 100644 index 0000000..bc50072 --- /dev/null +++ b/hurrycurry-server-git/hurrycurry-registry.service @@ -0,0 +1,33 @@ +[Unit] +Description=hurrycurry server registry service +After=network.target +Wants=network-online.target + +[Service] +Environment=XDG_DATA_HOME=/var/lib +ExecStart=/usr/bin/hurrycurry-registry +User=hurrycurry +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/hurrycurry-server-git/hurrycurry.service b/hurrycurry-server-git/hurrycurry.service new file mode 100644 index 0000000..8e888e2 --- /dev/null +++ b/hurrycurry-server-git/hurrycurry.service @@ -0,0 +1,34 @@ +[Unit] +Description=hurrycurry game server +After=network.target +Wants=network-online.target + +[Service] +WorkingDirectory=/usr/share/hurrycurry +Environment=XDG_DATA_HOME=/var/lib +ExecStart=/usr/bin/hurrycurry-server +User=hurrycurry +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/hurrycurry-server-git/hurrycurry.yaml b/hurrycurry-server-git/hurrycurry.yaml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/hurrycurry-server-git/hurrycurry.yaml diff --git a/hurrycurry-server-git/sysusers.conf b/hurrycurry-server-git/sysusers.conf new file mode 100644 index 0000000..026ba33 --- /dev/null +++ b/hurrycurry-server-git/sysusers.conf @@ -0,0 +1 @@ +u hurrycurry - "hurrycurry game server" - - diff --git a/hurrycurry-server-git/tmpfiles.conf b/hurrycurry-server-git/tmpfiles.conf new file mode 100644 index 0000000..e14fa40 --- /dev/null +++ b/hurrycurry-server-git/tmpfiles.conf @@ -0,0 +1,2 @@ +d /var/lib/hurrycurry 0700 hurrycurry hurrycurry - - +d /var/lib/hurrycurry-registry 0700 hurrycurry hurrycurry - - diff --git a/hurrycurry-server/PKGBUILD b/hurrycurry-server/PKGBUILD new file mode 100644 index 0000000..b78eea8 --- /dev/null +++ b/hurrycurry-server/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=hurrycurry-server +pkgver=2.1.1 +pkgrel=6 +pkgdesc="A game about cooking (server)" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/hurrycurry/hurrycurry" +license=('AGPL3') +makedepends=('rustup' 'deno' 'graphviz' 'godot') +source=("hurrycurry-$pkgver.tar.gz::https://codeberg.org/hurrycurry/hurrycurry/archive/v$pkgver.tar.gz" + "hurrycurry.service" + "hurrycurry-registry.service" + "hurrycurry.yaml" + "tmpfiles.conf" + "sysusers.conf") +sha256sums=('f165fd6ddd2b0ce22cdb010049a8a39dd74de4943dbf0e994e6e0ca02b6b2a54' + '2e10c8882ef4847586f03ac5feb469294c1b2304928f8df41db12a1d84569eb7' + 'dec75b020f3a0bfc5c22f0fa013fe03d06feab608f9d4a42fb46d05dbed56844' + 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' + '47c6bd933fc96d08322d78a14c7932707b1dd1be2c1bb6eda2d212973f96aac9' + 'bbb29eff6b62d4530b04c0a964a88229212fea165f97a1c4674c53fae9fb4fe4') + +prepare() { + curl 'https://s.metamuffin.org/static/hurrycurry/book.pdf' -o book.pdf + cd "hurrycurry" + rustup default nightly + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "hurrycurry" + cargo +nightly build --frozen --release --target "$CHOST" --bin hurrycurry-server + cargo +nightly build --frozen --release --target "$CHOST" --bin hurrycurry-replaytool + cargo +nightly build --frozen --release --target "$CHOST" --bin hurrycurry-registry + cargo +nightly build --frozen --release --target "$CHOST" --bin hurrycurry-discover + make -C data all + make -C test-client + make -C data recipes/default.svg +} +package() { + install -Dm755 hurrycurry/target/$CHOST/release/hurrycurry-server "$pkgdir/usr/bin/hurrycurry-server" + install -Dm755 hurrycurry/target/$CHOST/release/hurrycurry-replaytool "$pkgdir/usr/bin/hurrycurry-replaytool" + install -Dm755 hurrycurry/target/$CHOST/release/hurrycurry-registry "$pkgdir/usr/bin/hurrycurry-registry" + install -Dm755 hurrycurry/target/$CHOST/release/hurrycurry-discover "$pkgdir/usr/bin/hurrycurry-discover" + install -Dm644 hurrycurry.service "$pkgdir/usr/lib/systemd/system/hurrycurry.service" + install -Dm644 hurrycurry-registry.service "$pkgdir/usr/lib/systemd/system/hurrycurry-registry.service" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/hurrycurry.conf" + install -Dm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/hurrycurry.conf" + install -Dm644 hurrycurry/COPYING "$pkgdir/usr/share/licenses/hurrycurry-server/COPYING" + install -Dm664 hurrycurry/test-client/main.js "$pkgdir/usr/share/hurrycurry/test-client/main.js" + install -Dm664 hurrycurry/test-client/index.html "$pkgdir/usr/share/hurrycurry/test-client/index.html" + install -dm755 "$pkgdir/usr/share/hurrycurry/test-client/locale" + install -Dm664 -t "$pkgdir/usr/share/hurrycurry/test-client/locale" hurrycurry/test-client/locale/* + install -Dm644 hurrycurry/data/index.yaml "$pkgdir/usr/share/hurrycurry/data/index.yaml" + install -Dm664 -t "$pkgdir/usr/share/hurrycurry/data/recipes" hurrycurry/data/recipes/*.yaml + install -Dm664 -t "$pkgdir/usr/share/hurrycurry/data/maps" hurrycurry/data/maps/*.yaml + install -Dm664 -t "$pkgdir/usr/share/doc/hurrycurry/recipes" hurrycurry/data/recipes/*.svg + install -Dm664 book.pdf "$pkgdir/usr/share/doc/hurrycurry/book.pdf" +} diff --git a/hurrycurry-server/hurrycurry-registry.service b/hurrycurry-server/hurrycurry-registry.service new file mode 100644 index 0000000..bc50072 --- /dev/null +++ b/hurrycurry-server/hurrycurry-registry.service @@ -0,0 +1,33 @@ +[Unit] +Description=hurrycurry server registry service +After=network.target +Wants=network-online.target + +[Service] +Environment=XDG_DATA_HOME=/var/lib +ExecStart=/usr/bin/hurrycurry-registry +User=hurrycurry +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/hurrycurry-server/hurrycurry.service b/hurrycurry-server/hurrycurry.service new file mode 100644 index 0000000..8e888e2 --- /dev/null +++ b/hurrycurry-server/hurrycurry.service @@ -0,0 +1,34 @@ +[Unit] +Description=hurrycurry game server +After=network.target +Wants=network-online.target + +[Service] +WorkingDirectory=/usr/share/hurrycurry +Environment=XDG_DATA_HOME=/var/lib +ExecStart=/usr/bin/hurrycurry-server +User=hurrycurry +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/hurrycurry-server/hurrycurry.yaml b/hurrycurry-server/hurrycurry.yaml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/hurrycurry-server/hurrycurry.yaml diff --git a/hurrycurry-server/sysusers.conf b/hurrycurry-server/sysusers.conf new file mode 100644 index 0000000..026ba33 --- /dev/null +++ b/hurrycurry-server/sysusers.conf @@ -0,0 +1 @@ +u hurrycurry - "hurrycurry game server" - - diff --git a/hurrycurry-server/tmpfiles.conf b/hurrycurry-server/tmpfiles.conf new file mode 100644 index 0000000..e14fa40 --- /dev/null +++ b/hurrycurry-server/tmpfiles.conf @@ -0,0 +1,2 @@ +d /var/lib/hurrycurry 0700 hurrycurry hurrycurry - - +d /var/lib/hurrycurry-registry 0700 hurrycurry hurrycurry - - diff --git a/i2p b/i2p new file mode 160000 +Subproject b817262d08ebfa421c11ff396eeb99210c54fba diff --git a/i2prouter-nowrapper/PKGBUILD b/i2prouter-nowrapper/PKGBUILD new file mode 100644 index 0000000..f98aedc --- /dev/null +++ b/i2prouter-nowrapper/PKGBUILD @@ -0,0 +1,20 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=i2prouter-nowrapper +pkgver=1.0.0 +pkgrel=3 +pkgdesc="Starts I2P without java-service-wrapper" +arch=('any') +url="https://geti2p.net/" +license=('AGPL-3.0-only') +depends=('fish' 'i2p') +provides=('java-service-wrapper') +source=("i2prouter-wrapper" + "service-dropin.conf") +sha256sums=('b8759f7b1207a9b9d1627cf80b9025b5c2f30fdb2a065ffc0840ffc27675e9f4' + '57f1ff4ef321644d05b8f4f47301dee6f2def3edb2cff86d20438f9f35f16ba9') + +package() { + install -Dm644 service-dropin.conf "$pkgdir/usr/lib/systemd/system/i2prouter.service.d/no-wrapper.conf" + install -Dm755 i2prouter-wrapper "$pkgdir/usr/bin/i2prouter-wrapper" +} diff --git a/i2prouter-nowrapper/i2prouter-wrapper b/i2prouter-nowrapper/i2prouter-wrapper new file mode 100644 index 0000000..3c8c5e6 --- /dev/null +++ b/i2prouter-nowrapper/i2prouter-wrapper @@ -0,0 +1,11 @@ +#!/usr/bin/fish +java \ + -cp (string join ':' /opt/i2p/lib/*.jar) \ + -Xmx256m \ + -Di2p.dir.base=/opt/i2p \ + -Djava.library.path=/opt/i2p:/opt/i2p/lib \ + -Dorg.mortbay.http.Version.paranoid=true \ + -Dorg.mortbay.xml.XmlParser.NotValidating=true \ + -Djava.io.tmpdir=/opt/i2p/.tmp \ + -DloggerFilenameOverride=logs/log-router-@.txt \ + net.i2p.router.RouterLaunch diff --git a/i2prouter-nowrapper/service-dropin.conf b/i2prouter-nowrapper/service-dropin.conf new file mode 100644 index 0000000..8f5933e --- /dev/null +++ b/i2prouter-nowrapper/service-dropin.conf @@ -0,0 +1,7 @@ +[Service] +Type=simple +ExecStart= +ExecStop= +ExecReload= +PIDFile= +ExecStart=/usr/bin/i2prouter-wrapper diff --git a/jellything-git/PKGBUILD b/jellything-git/PKGBUILD new file mode 100644 index 0000000..abaf289 --- /dev/null +++ b/jellything-git/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=jellything-git +pkgver=r633.5ccadd8 +pkgrel=1 +pkgdesc="Jellything media streaming server" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/jellything" +license=('AGPL-3.0-only') +depends=('dav1d' 'libavif' 'zstd') +optdepends=('ffmpeg: Transcoding') +makedepends=('rustup' 'esbuild' 'nasm' 'meson' 'ninja' 'cmake' 'mdbook') +backup=('etc/jellything.yaml' 'etc/jellything_secrets.yaml') +install='jellything.install' +source=("git+https://codeberg.org/metamuffin/jellything.git" + "jellything.service" + "jellything.yaml" + "jellything_secrets.yaml" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "jellything" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "jellything" + git submodule init + git submodule update + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "jellything" + cargo +nightly build --frozen --release --target "$CHOST" + cargo +nightly build --frozen --release --bin generate_completions + ./target/release/generate_completions completions + mdbook build doc +} +check() { + cd "jellything" + cargo test --release +} +package() { + install -Dm755 jellything/target/$CHOST/release/jellything "$pkgdir/usr/bin/jellything" + install -Dm755 jellything/target/$CHOST/release/jellytool "$pkgdir/usr/bin/jellytool" + install -Dm644 jellything/completions/jellytool.fish "$pkgdir/usr/share/fish/completions/jellytool.fish" + install -Dm644 jellything/completions/jellytool.bash "$pkgdir/usr/share/bash-completion/completions/jellytool" + install -Dm644 jellything/completions/_jellytool "$pkgdir/usr/share/zsh/site-functions/_jellytool" + install -Dm644 jellything/completions/jellytool.elv "$pkgdir/usr/share/elvish/lib/jellytool.elv" + install -Dm644 jellything/COPYING "$pkgdir/usr/share/licenses/jellything/COPYING" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/jellything.conf" + install -Dm644 jellything.service "$pkgdir/usr/lib/systemd/system/jellything.service" + install -Dm644 jellything.yaml "$pkgdir/etc/jellything.yaml" + install -Dm640 jellything_secrets.yaml "$pkgdir/etc/jellything_secrets.yaml" + mkdir -p "$pkgdir/usr/share/doc" && cp -r jellything/target/book "$pkgdir/usr/share/doc/jellything" +} diff --git a/jellything-git/jellything.install b/jellything-git/jellything.install new file mode 100644 index 0000000..eadb9eb --- /dev/null +++ b/jellything-git/jellything.install @@ -0,0 +1,7 @@ + +pre_upgrade() { + if [ -e /usr/bin/jellytool ]; then + echo 'Backing up the previous jellytool version...' + cp -v /usr/bin/jellytool{,.old} + fi +} diff --git a/jellything-git/jellything.service b/jellything-git/jellything.service new file mode 100644 index 0000000..9ec78f7 --- /dev/null +++ b/jellything-git/jellything.service @@ -0,0 +1,32 @@ +[Unit] +Description=jellything media streaming server +After=network.target +Wants=network-online.target + +[Service] +ExecStart=/usr/bin/jellything /etc/jellything.yaml +User=jellything +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/jellything-git/jellything.yaml b/jellything-git/jellything.yaml new file mode 100644 index 0000000..1be19b4 --- /dev/null +++ b/jellything-git/jellything.yaml @@ -0,0 +1,13 @@ +hostname: example.org +brand: "Jellything" +slogan: "" +admin_username: admin + +secrets_path: "/etc/jellything_secrets.yaml" + +media_path: "/srv/media" +asset_path: "/var/lib/jellything/assets" +database_path: "/var/lib/jellything/db" +library_path: "/var/lib/jellything/library" +temp_path: "/tmp/jellything" +cache_path: "/var/cache/jellything" diff --git a/jellything-git/jellything_secrets.yaml b/jellything-git/jellything_secrets.yaml new file mode 100644 index 0000000..b81eafa --- /dev/null +++ b/jellything-git/jellything_secrets.yaml @@ -0,0 +1,21 @@ +# This file contains secret information for jellything. + +# You need to set a passwort to enable admin login. +#admin_password: "hunter2" + +# To avoid sign-out on server restart, generate persistent keys here. +# Use `head -c 32 /dev/random | base64`. +#session_key: +#cookie_key: + +# Credentials for federating remote instances +federation: {} + #"jellything.example.org": { username: "fed_example", password: "" } + +# API Keys for obtaining metadata +api: {} + #fanart_tv: "" + #tmdb: "" + #omdb: "" + #trakt: "" + #tvdb: "" diff --git a/jellything-git/sysusers.conf b/jellything-git/sysusers.conf new file mode 100644 index 0000000..01c35a7 --- /dev/null +++ b/jellything-git/sysusers.conf @@ -0,0 +1 @@ +u jellything - "jellything media streaming server" - - diff --git a/keks-meet-server-git/PKGBUILD b/keks-meet-server-git/PKGBUILD new file mode 100644 index 0000000..121fd26 --- /dev/null +++ b/keks-meet-server-git/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=keks-meet-server-git +pkgver=r383.4f926ff +pkgrel=1 +pkgdesc="Server for keks-meet, a simple and secure conferencing application for the web." +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/keks-meet" +license=('AGPL3') +makedepends=('rustup' 'esbuild') +conflics=('keks-meet-server') +provides=('keks-meet-server') +backup=('etc/keks-meet-server.toml') +source=("git+https://codeberg.org/metamuffin/keks-meet.git" + "keks-meet-server.service" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "keks-meet" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "keks-meet" + cargo fetch --locked --target "$CHOST" +} +build() { + cd "keks-meet" + make client-build + cargo +nightly build --frozen --release --bin keks-meet-server --target "$CHOST" +} +package() { + install -Dm755 keks-meet/target/$CHOST/release/keks-meet-server "$pkgdir/usr/bin/keks-meet-server" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/keks-meet-server.conf" + install -Dm644 keks-meet-server.service "$pkgdir/usr/lib/systemd/system/keks-meet-server.service" + install -Dm644 keks-meet/COPYING "$pkgdir/usr/share/licenses/keks-meet/COPYING" + install -Dm644 keks-meet/config/default.toml "$pkgdir/etc/keks-meet-server.toml" +} diff --git a/keks-meet-server-git/keks-meet-server.service b/keks-meet-server-git/keks-meet-server.service new file mode 100644 index 0000000..79c55cd --- /dev/null +++ b/keks-meet-server-git/keks-meet-server.service @@ -0,0 +1,34 @@ +[Unit] +Description=keks-meet Server Daemon +After=network.target +Wants=network-online.target + +[Service] +AmbientCapabilities=CAP_NET_BIND_SERVICE +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/keks-meet-server /etc/keks-meet-server.toml +User=keks-meet-server +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/keks-meet-server-git/sysusers.conf b/keks-meet-server-git/sysusers.conf new file mode 100644 index 0000000..0853982 --- /dev/null +++ b/keks-meet-server-git/sysusers.conf @@ -0,0 +1 @@ +u keks-meet-server - "keks-meet server daemon" - - diff --git a/keks-meet-server/PKGBUILD b/keks-meet-server/PKGBUILD new file mode 100644 index 0000000..de29bf1 --- /dev/null +++ b/keks-meet-server/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=keks-meet-server +pkgver=1.1.0 +pkgrel=2 +pkgdesc="Server for keks-meet, a simple and secure conferencing application for the web." +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/keks-meet" +license=('AGPL3') +makedepends=('rustup' 'esbuild') +backup=('etc/keks-meet-server.toml') +source=("$pkgname-$pkgver.tar.gz::https://codeberg.org/metamuffin/keks-meet/archive/v$pkgver.tar.gz" + "keks-meet-server.service" + "sysusers.conf") +sha256sums=('40cd5203f227d2019bc2179ca018a25a264570dd6c31ba023dacc92847d632db' + '7760ad9c44dd9a0a8d6e74ae647911eb2375776fea6d0f635024f1126c1618ce' + '8cc9a7ace869b934732bfe376fd09b4ab82d22f52c70619e9df4ead0fae9a9aa') + +prepare() { + cd "keks-meet" + cargo fetch --locked --target "$CHOST" +} +build() { + cd "keks-meet" + make client-build + cargo +nightly build --frozen --release --bin keks-meet-server --target "$CHOST" +} +package() { + install -Dm755 keks-meet/target/$CHOST/release/keks-meet-server "$pkgdir/usr/bin/keks-meet-server" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/keks-meet-server.conf" + install -Dm644 keks-meet-server.service "$pkgdir/usr/lib/systemd/system/keks-meet-server.service" + install -Dm644 keks-meet/COPYING "$pkgdir/usr/share/licenses/keks-meet/COPYING" + install -Dm644 keks-meet/config/default.toml "$pkgdir/etc/keks-meet-server.toml" +} diff --git a/keks-meet-server/keks-meet-server.service b/keks-meet-server/keks-meet-server.service new file mode 100644 index 0000000..79c55cd --- /dev/null +++ b/keks-meet-server/keks-meet-server.service @@ -0,0 +1,34 @@ +[Unit] +Description=keks-meet Server Daemon +After=network.target +Wants=network-online.target + +[Service] +AmbientCapabilities=CAP_NET_BIND_SERVICE +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/keks-meet-server /etc/keks-meet-server.toml +User=keks-meet-server +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/keks-meet-server/sysusers.conf b/keks-meet-server/sysusers.conf new file mode 100644 index 0000000..0853982 --- /dev/null +++ b/keks-meet-server/sysusers.conf @@ -0,0 +1 @@ +u keks-meet-server - "keks-meet server daemon" - - diff --git a/mediamtx/.SRCINFO b/mediamtx/.SRCINFO new file mode 100644 index 0000000..6030ee4 --- /dev/null +++ b/mediamtx/.SRCINFO @@ -0,0 +1,18 @@ +pkgbase = mediamtx + pkgdesc = Ready-to-use RTSP / RTMP / LL-HLS / WebRTC server and proxy that allows to read, publish and proxy video and audio streams + pkgver = 1.8.0 + pkgrel = 1 + url = https://github.com/bluenviron/mediamtx + arch = x86_64 + arch = aarch64 + license = MIT + makedepends = go + backup = etc/mediamtx/mediamtx.yml + source = mediamtx-1.8.0.tar.gz::https://github.com/bluenviron/mediamtx/archive/refs/tags/v1.8.0.tar.gz + source = mediamtx.service + source = mediamtx@.service + b2sums = ac4a8bd9ce55a927f4d6849eac536c22db7fee9283ec4b5deecfe05e6832a9ef6ab6e8bffffc3a93ed6dfa9346e184ddb339697b7b7c8e258a26d9bebdd476de + b2sums = 636b7c89aec0e54a471464d013fd13fd83bebb21c3ebef9c0259fdea21185e3317ced09ef1c821ed253a62c3825f00cced19e42cdd175d1ddaecdef9800eeb4f + b2sums = 280cab48cc4d513d20952c82aab7474b9eb474dcb37a2b9d559a7caa8cd5ab6527a293c77b8ab7c64f02564c42c91b7141756020adef8ddb54316e8fcea6d0bf + +pkgname = mediamtx diff --git a/mediamtx/PKGBUILD b/mediamtx/PKGBUILD new file mode 100644 index 0000000..9328b1c --- /dev/null +++ b/mediamtx/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: database64128 <free122448@hotmail.com> + +pkgname=mediamtx +pkgver=1.8.3 +pkgrel=1 +pkgdesc="Ready-to-use RTSP / RTMP / LL-HLS / WebRTC server and proxy that allows to read, publish and proxy video and audio streams" +arch=('x86_64' 'aarch64') +url="https://github.com/bluenviron/$pkgname" +license=('MIT') +makedepends=('go') +backup=("etc/$pkgname/mediamtx.yml") +source=( + "$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz" + "$pkgname.service" + "$pkgname@.service" +) +b2sums=('b8060b459bc1d3da7c54deccfc6d66576312263b2a6b143a2556f7f670f0c0dbf070123564446a5f14ad2a772ade465c4e92ecdd105f4000836f02e1b1e6582c' + '636b7c89aec0e54a471464d013fd13fd83bebb21c3ebef9c0259fdea21185e3317ced09ef1c821ed253a62c3825f00cced19e42cdd175d1ddaecdef9800eeb4f' + '280cab48cc4d513d20952c82aab7474b9eb474dcb37a2b9d559a7caa8cd5ab6527a293c77b8ab7c64f02564c42c91b7141756020adef8ddb54316e8fcea6d0bf') + +build() { + cd "$pkgname-$pkgver" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export GOFLAGS="-buildmode=pie -trimpath" + go generate ./... + go build -ldflags="-s -w -linkmode=external -X github.com/bluenviron/mediamtx/internal/core.version=v$pkgver" +} + +package() { + install -Dm644 $pkgname.service "$pkgdir"/usr/lib/systemd/system/$pkgname.service + install -Dm644 $pkgname@.service "$pkgdir"/usr/lib/systemd/system/$pkgname@.service + cd "$pkgname-$pkgver" + install -d "$pkgdir"/etc/$pkgname + install -Dm644 $pkgname.yml "$pkgdir"/etc/$pkgname/$pkgname.yml + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname +} diff --git a/mediamtx/mediamtx.service b/mediamtx/mediamtx.service new file mode 100644 index 0000000..c8ea8bf --- /dev/null +++ b/mediamtx/mediamtx.service @@ -0,0 +1,10 @@ +[Unit] +Description=MediaMTX +After=network-online.target +Wants=network-online.target + +[Service] +ExecStart=/usr/bin/mediamtx /etc/mediamtx/mediamtx.yml + +[Install] +WantedBy=multi-user.target diff --git a/mediamtx/mediamtx@.service b/mediamtx/mediamtx@.service new file mode 100644 index 0000000..055ce64 --- /dev/null +++ b/mediamtx/mediamtx@.service @@ -0,0 +1,10 @@ +[Unit] +Description=MediaMTX +After=network-online.target +Wants=network-online.target + +[Service] +ExecStart=/usr/bin/mediamtx /etc/mediamtx/%i.yml + +[Install] +WantedBy=multi-user.target diff --git a/meta-adservices-git/PKGBUILD b/meta-adservices-git/PKGBUILD new file mode 100644 index 0000000..345f323 --- /dev/null +++ b/meta-adservices-git/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=meta-adservices-git +pkgver=r15.27e6f6e +pkgrel=1 +pkgdesc="Funny adservice." +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/meta-adservices" +license=('AGPL-3.0-only') +depends=() +makedepends=('rustup') +backup=('etc/meta_adservices.toml') +source=("git+https://codeberg.org/metamuffin/meta-adservices.git" + "meta_adservices.service" + "meta_adservices.toml" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "meta-adservices" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "meta-adservices" + rustup default nightly + cargo +nightly fetch --target "$CHOST" +} +build() { + cd "meta-adservices" + cargo +nightly build --release --target "$CHOST" +} +package() { + install -Dm755 meta-adservices/target/$CHOST/release/meta-adservices "$pkgdir/usr/bin/meta-adservices" + install -Dm644 meta-adservices/COPYING "$pkgdir/usr/share/licenses/meta-adservices/COPYING" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/meta-adservices.conf" + install -Dm644 meta_adservices.service "$pkgdir/usr/lib/systemd/system/meta_adservices.service" + install -Dm644 meta_adservices.toml "$pkgdir/etc/meta_adservices.toml" + mkdir -p "$pkgdir/var/lib/meta_adservices" +} diff --git a/meta-adservices-git/meta_adservices.service b/meta-adservices-git/meta_adservices.service new file mode 100644 index 0000000..09ab329 --- /dev/null +++ b/meta-adservices-git/meta_adservices.service @@ -0,0 +1,32 @@ +[Unit] +Description=meta adservices +After=network.target +Wants=network-online.target + +[Service] +ExecStart=/usr/bin/meta-adservices /etc/meta_adservices.toml +User=meta_adservices +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/meta-adservices-git/meta_adservices.toml b/meta-adservices-git/meta_adservices.toml new file mode 100644 index 0000000..fccd0f7 --- /dev/null +++ b/meta-adservices-git/meta_adservices.toml @@ -0,0 +1,5 @@ +bloom_filter_size = 10000 +impression_weight_falloff = 0.9 +database_path = "/var/lib/meta_adservices/db" +ad_dir = "/var/local/ads" +port = 44492 diff --git a/meta-adservices-git/sysusers.conf b/meta-adservices-git/sysusers.conf new file mode 100644 index 0000000..5de1ebe --- /dev/null +++ b/meta-adservices-git/sysusers.conf @@ -0,0 +1 @@ +u meta_adservices - "meta adservices server user" /var/lib/meta_adservices - diff --git a/metamuffin-blog-git/PKGBUILD b/metamuffin-blog-git/PKGBUILD new file mode 100644 index 0000000..1b752a7 --- /dev/null +++ b/metamuffin-blog-git/PKGBUILD @@ -0,0 +1,21 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=metamuffin-blog-git +pkgver=r63.cb029be +pkgrel=1 +pkgdesc="metamuffins blog" +arch=('any') +url="https://codeberg.org/metamuffin/metamuffin-blog" +license=('CC-BY-SA') +makedepends=('rustup') +source=("git+https://codeberg.org/metamuffin/metamuffin-blog.git") +sha256sums=("SKIP") + +pkgver() { + cd "metamuffin-blog" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +package() { + mkdir -p "$pkgdir/usr/share/metamuffin-website" + cp -rf metamuffin-blog "$pkgdir/usr/share/metamuffin-website/blog"; +} diff --git a/metamuffin-website-git/PKGBUILD b/metamuffin-website-git/PKGBUILD new file mode 100644 index 0000000..3a0eb5f --- /dev/null +++ b/metamuffin-website-git/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=metamuffin-website-git +pkgver=r73.8c4a1a0 +pkgrel=1 +pkgdesc="metamuffins personal webpage" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/metamuffin-website" +license=('AGPL3') +makedepends=('rustup') +source=("git+https://codeberg.org/metamuffin/metamuffin-website.git" + "metamuffin-website.service" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "metamuffin-website" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "metamuffin-website" + rustup default nightly + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "metamuffin-website" + cargo +nightly build --frozen --release --target "$CHOST" +} +package() { + mkdir -p "$pkgdir/usr/share/metamuffin-website" + install -Dm755 metamuffin-website/target/$CHOST/release/metamuffin-website "$pkgdir/usr/bin/metamuffin-website" + install -Dm644 metamuffin-website.service "$pkgdir/usr/lib/systemd/system/metamuffin-website.service" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/metamuffin-website.conf" + install -Dm644 metamuffin-website/COPYING "$pkgdir/usr/share/licenses/metamuffin-website/COPYING" +} diff --git a/metamuffin-website-git/metamuffin-website.service b/metamuffin-website-git/metamuffin-website.service new file mode 100644 index 0000000..4195d98 --- /dev/null +++ b/metamuffin-website-git/metamuffin-website.service @@ -0,0 +1,33 @@ +[Unit] +Description=metamuffin personal website +After=network.target +Wants=network-online.target + +[Service] +WorkingDirectory=/usr/share/metamuffin-website +ExecStart=/usr/bin/metamuffin-website +User=metamuffin_website +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/metamuffin-website-git/sysusers.conf b/metamuffin-website-git/sysusers.conf new file mode 100644 index 0000000..8c70085 --- /dev/null +++ b/metamuffin-website-git/sysusers.conf @@ -0,0 +1 @@ +u metamuffin_website - "metamuffins personal website" - - diff --git a/statuspage-git/PKGBUILD b/statuspage-git/PKGBUILD new file mode 100644 index 0000000..a2f9e50 --- /dev/null +++ b/statuspage-git/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=statuspage-git +pkgver=r19.0c33249 +pkgrel=1 +pkgdesc="service status page" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/statuspage" +license=('AGPL3') +makedepends=('rustup') +backup=('etc/statuspage.yaml') +source=("git+https://codeberg.org/metamuffin/statuspage.git" + "statuspage.service" + "statuspage.yaml" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP" + "SKIP") + +pkgver() { + cd "statuspage" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "statuspage" + rustup default nightly + cargo +nightly fetch --locked --target "$CHOST" +} +build() { + cd "statuspage" + cargo +nightly build --frozen --release --target "$CHOST" +} +package() { + mkdir -p "$pkgdir/usr/share/statuspage" + install -Dm755 statuspage/target/$CHOST/release/statuspage "$pkgdir/usr/bin/statuspage" + install -Dm644 statuspage.service "$pkgdir/usr/lib/systemd/system/statuspage.service" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/statuspage.conf" + install -Dm644 statuspage/COPYING "$pkgdir/usr/share/licenses/statuspage/COPYING" + install -Dm644 statuspage.yaml "$pkgdir/etc/statuspage.yaml" +} diff --git a/statuspage-git/statuspage.service b/statuspage-git/statuspage.service new file mode 100644 index 0000000..ea2dd09 --- /dev/null +++ b/statuspage-git/statuspage.service @@ -0,0 +1,32 @@ +[Unit] +Description=service status page +After=network.target +Wants=network-online.target + +[Service] +ExecStart=/usr/bin/statuspage /etc/statuspage.yaml +User=statuspage +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/statuspage-git/statuspage.yaml b/statuspage-git/statuspage.yaml new file mode 100644 index 0000000..2d7d0eb --- /dev/null +++ b/statuspage-git/statuspage.yaml @@ -0,0 +1,14 @@ +title: "My Status Page" +bind: 127.0.0.1:8000 +interval: 60 + +services: + - title: sshd + checks: + - !systemd "sshd" + + - title: CUPS + url: https://127.0.0.1:631/ + checks: + - !systemd cups + - !http { url: https://127.0.0.1:631/ } diff --git a/statuspage-git/sysusers.conf b/statuspage-git/sysusers.conf new file mode 100644 index 0000000..014df4f --- /dev/null +++ b/statuspage-git/sysusers.conf @@ -0,0 +1 @@ +u statuspage - "service status page" - - diff --git a/violet/PKGBUILD b/violet/PKGBUILD new file mode 100644 index 0000000..7096843 --- /dev/null +++ b/violet/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Paul-Louis Ageneau <paul-louis at ageneau dot org> + +pkgname=violet +pkgver=0.5.0 +pkgrel=2 +pkgdesc="Lightweight STUN/TURN server" +arch=('x86_64' 'i686' 'armv7h' 'aarch64') +url="https://github.com/paullouisageneau/$pkgname" +license=('GPL') # GPLv2 or any later version +makedepends=('git' 'cmake') +depends=('glibc' 'libjuice') +provides=() +conflicts=() +source=("git+https://github.com/paullouisageneau/$pkgname.git#tag=v$pkgver") +md5sums=('47bfad71129d6c6444fc3fa7ab4ab5dd') + +prepare() { + true +} + +build() { + cd "$pkgname" + rm -rf build + cmake -B build -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DUSE_SYSTEM_JUICE=1 + + cmake --build build +} + +package() { + cd "$pkgname" + install -m755 -d "$pkgdir"/usr/bin + install -m755 build/"$pkgname" "$pkgdir"/usr/bin + install -m755 -d "$pkgdir"/usr/lib/systemd/system + install -m644 "$pkgname".service "$pkgdir"/usr/lib/systemd/system + install -m755 -d "$pkgdir"/etc/violet + install -m644 example.conf "$pkgdir"/etc/violet/violet.conf + install -m755 -d "$pkgdir"/usr/lib/sysusers.d + echo "u violet - \"Violet STUN/TURN server user\"" > "$pkgdir"/usr/lib/sysusers.d/violet.conf +} diff --git a/ympd b/ympd new file mode 160000 +Subproject 43115466b4dcf47ff561753b6bb5f1f0fa812fa |