aports/testing/mitra/APKBUILD
2025-03-09 04:59:58 +00:00

102 lines
3.2 KiB
Plaintext

# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=mitra
pkgver=3.19.0
pkgrel=0
_mitraweb=$pkgver #"${pkgver%.*}.0"
pkgdesc="ActivityPub microblogging platform written in Rust"
url="https://mitra.social/@mitra"
# loongarch64, ppc64le, riscv64, s390x: mitra v3 removed native-tls feature
# armhf, armv7, x86: starting with v3.4.0 - "literal out of range for usize"
arch="aarch64 x86_64"
license="AGPL-3.0-only"
depends="postgresql"
makedepends="
cargo
cargo-auditable
nodejs
npm
"
install="$pkgname.pre-install $pkgname.post-install"
pkgusers="mitra"
pkggroups="mitra"
subpackages="$pkgname-doc $pkgname-openrc"
source="mitra-$pkgver.tar.gz::https://codeberg.org/silverpill/mitra/archive/v$pkgver.tar.gz
mitra-web-$_mitraweb.tar.gz::https://codeberg.org/silverpill/mitra-web/archive/v$_mitraweb.tar.gz
mitra.initd
init.sql
config.yaml
"
builddir="$srcdir/mitra"
_cargo_opts="--frozen --no-default-features --features production"
prepare() {
default_prepare
cargo fetch --target="$CTARGET" --locked
cd "$srcdir/mitra-web"
npm ci --foreground-scripts
}
build() {
RUSTFLAGS="--cfg=ammonia_unstable" \
cargo auditable build $_cargo_opts --release
cd "$srcdir/mitra-web"
echo 'VITE_BACKEND_URL=' > .env.local
npm run build
}
check() {
# These tests require a database connection
RUSTFLAGS="--cfg=ammonia_unstable" \
cargo test $_cargo_opts --workspace \
--exclude mitra_models -- \
--skip test_follow_unfollow \
--skip test_hide_reblogs \
--skip test_subscribe_unsubscribe \
--skip test_get_jrd \
--skip test_filter_mentions_none \
--skip test_filter_mentions_only_known \
--skip test_prepare_instance_ed25519_key \
--skip test_mute \
--skip test_federation_filter \
--skip test_parse_content_object_link_and_mention
cd "$srcdir/mitra-web"
npm run test
}
package() {
install -Dm755 target/release/mitra -t "$pkgdir"/usr/bin
install -Dm755 target/release/mitractl -t "$pkgdir"/usr/bin
mkdir -p "$pkgdir"/usr/share/webapps
cp -r "$srcdir"/mitra-web/dist \
"$pkgdir"/usr/share/webapps/mitra
install -Dm644 docs/* -t "$pkgdir"/usr/share/doc/$pkgname
install -Dm644 config_dev.example.yaml \
contrib/*.nginx \
contrib/monero/wallet.conf \
-t "$pkgdir"/usr/share/doc/$pkgname/examples
install -Dm640 -g mitra "$srcdir"/config.yaml -t "$pkgdir"/etc/mitra
install -dm755 -o mitra -g mitra "$pkgdir"/var/lib/mitra
install -Dm644 "$srcdir"/init.sql -t "$pkgdir"/var/lib/mitra
install -Dm755 "$srcdir"/mitra.initd "$pkgdir"/etc/init.d/mitra
}
sha512sums="
34088dc00615dc22ed444d96b6da1861ff68c76f6645da898bf0f31a48a201a4cdbad2defec4d63bf0e12c28c69f0edabca9301c4f1136b094f7ea8109e5da42 mitra-3.19.0.tar.gz
b827b2880c1d6f188079f9d75f800deb9b990fdb571bd2cef7bad42f756d3f9b0ea099e4e187ab25b8ddfb897a534d84658339f6ac1751542ca5e552e1dc56ea mitra-web-3.19.0.tar.gz
691f84f5dfdddc176e75792ab03ff167054246e75ced51be47a89f405ae55ebe5eb6280b73c1b467b5ecbe8539f6108fb3d86873d50fcc4f4b8c5b182632acb0 mitra.initd
180a47f5072534418b4aac3ce7c885a4f7e4dc38aca80d6d81c79848d12fbe24799788c3575bd195030a10da5e0372f87fa2809a4ef99a48eaa6df52f4d053dd init.sql
12193c9c308e28c2b9f98aa7ec1cfa35d7d7ff7b51f98368160fb6cc567991a44f99e0495f7ed913647f6d96aeb86132839880b144b56d29c55d1bae8b0cf93f config.yaml
"