blob: 84213497b40cb90fd4e5d9e5d284436691c6142f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# Maintainer: Shohei Maruyama <cheat.sc.linux@outlook.com>
pkgname=rustfs
pkgver=1.0.0_beta.8
_console_ver=0.1.13
pkgrel=7
pkgdesc="High-performance distributed object storage for MinIO alternative."
url='https://rustfs.com/en/'
arch=('x86_64')
license=('Apache-2.0')
depends=(
'glibc'
'gcc-libs'
'bzip2'
)
makedepends=(
'cargo'
'pnpm'
'protobuf'
)
options=(!lto)
source=(
"${pkgname}-${pkgver//_/-}.tar.gz::https://github.com/rustfs/rustfs/archive/refs/tags/${pkgver//_/-}.tar.gz"
"console-${_console_ver}.tar.gz::https://github.com/rustfs/console/archive/refs/tags/v${_console_ver}.tar.gz"
)
sha256sums=(
'142dc2c676549cc1a35ec2f7c98d5b35d671d127734d242e7e62ac261961a141'
'527864a290e46f087b5495ccb72f673a93a7902d7584b5b91411345ca54480c9'
)
prepare() {
cd ${pkgname}-${pkgver//_/-}
RUSTC_BOOTSTRAP=1 cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
build() {
# build embedded console assets
cd console-${_console_ver}
# Avoid hitting OS thread limits in Next.js builds by disabling worker threads
sed -i 's/images: {/experimental: { workerThreads: false, cpus: 1 }, images: {/' next.config.ts
pnpm --pm-on-fail=ignore i --dangerously-allow-all-builds
pnpm --pm-on-fail=ignore build
cp -r out/* ${srcdir}/${pkgname}-${pkgver//_/-}/rustfs/static/
# build rustfs
cd ${srcdir}/${pkgname}-${pkgver//_/-}
export AWS_LC_SYS_NO_JITTER_ENTROPY=1
RUSTFLAGS+=' --cfg tokio_unstable'
RUSTC_BOOTSTRAP=1 cargo build --frozen --release
}
package() {
cd ${pkgname}-${pkgver//_/-}
install -Dm 755 -t "${pkgdir}/usr/bin" target/release/rustfs
}
|