aports/testing/mitra/APKBUILD
2023-11-17 10:54:25 +00:00

97 lines
2.9 KiB
Plaintext

# Contributor: Celeste <cielesti@protonmail.com>
# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=mitra
pkgver=2.4.0
pkgrel=0
pkgdesc="ActivityPub microblogging platform written in Rust"
url="https://mitra.social/@mitra"
# riscv64: vite webapp fails to build: 'Parse error @:1:38'
arch="all !riscv64"
license="AGPL-3.0-only"
depends="postgresql"
makedepends="
cargo
cargo-auditable
nodejs
npm
openssl-dev
"
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-$pkgver.tar.gz::https://codeberg.org/silverpill/mitra-web/archive/v$pkgver.tar.gz
mitra.initd
init.sql
config.yaml
"
builddir="$srcdir/mitra"
# use system openssl
export OPENSSL_NO_VENDOR=1
prepare() {
default_prepare
cargo fetch --target="$CTARGET" --locked
cd "$srcdir/mitra-web"
npm ci --foreground-scripts
}
build() {
RUSTFLAGS="--cfg=ammonia_unstable" \
cargo auditable build --frozen --release \
--features production
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 --frozen --workspace \
--exclude mitra-models -- \
--skip test_follow_unfollow \
--skip test_hide_reblogs \
--skip test_subscribe_unsubscribe \
--skip test_get_jrd
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.yaml.example \
contrib/Caddyfile 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="
fc888f0764744ddc935b3060f1337d64655fb3c8d70de777c1ee046126869b20cb94d53b9c3ccb38b61575b483fc850f991d98625290b2a0f09f4fee5d37160f mitra-2.4.0.tar.gz
fc230b3e616d46ece66c4a6d627be7eb552f0679698264e4b3afcbab5c51498764588da691402c26878999eb2961ea1d3dec931e22be2e540008be1d3f8dd82e mitra-web-2.4.0.tar.gz
691f84f5dfdddc176e75792ab03ff167054246e75ced51be47a89f405ae55ebe5eb6280b73c1b467b5ecbe8539f6108fb3d86873d50fcc4f4b8c5b182632acb0 mitra.initd
02a40bf9dee625bf4b4783aa3588428313efa1e4d5ec5b8e64d76b9c6248f4d72b9d1287fba72b9d5d62c34352131d5d1609453583e257c5e8a1d2a787779147 init.sql
467bc366bf55c207c5490aa7a977fc4732275483330cdac256d04defcb0ccc9d25ae6c1ef11b51efa4d0b1722e6d64d150f278d9a88f7c202cb49954b7f7d76b config.yaml
"