mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-03-24 23:12:41 +01:00
98 lines
2.5 KiB
Plaintext
98 lines
2.5 KiB
Plaintext
# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
|
|
pkgname=seastar
|
|
pkgver=22.11.0_git20250303
|
|
pkgrel=0
|
|
_commit="3ee9204cb792885c4a0bdb19a61619572d88c963"
|
|
_ver="${_commit:=$pkgver}"
|
|
pkgdesc="High performance server-side application framework"
|
|
url="https://seastar.io"
|
|
# riscv64, loongarch64: valgrind
|
|
# armhf armv7 x86 32bit not supported
|
|
arch="all !x86 !armhf !armv7 !riscv64 !loongarch64"
|
|
license="Apache-2.0"
|
|
depends_dev="
|
|
$pkgname=$pkgver-r$pkgrel
|
|
$pkgname-testing=$pkgver-r$pkgrel
|
|
"
|
|
makedepends="
|
|
boost-dev
|
|
bsd-compat-headers
|
|
c-ares-dev
|
|
cmake
|
|
crypto++-dev
|
|
fmt-dev
|
|
gnutls-dev
|
|
hwloc-dev
|
|
libpciaccess-dev
|
|
libucontext-dev
|
|
libunwind-dev
|
|
liburing-dev
|
|
lksctp-tools-dev
|
|
lz4-dev
|
|
numactl-dev
|
|
protobuf-dev
|
|
ragel
|
|
samurai
|
|
util-linux-dev
|
|
valgrind-dev
|
|
xfsprogs-dev
|
|
yaml-cpp-dev
|
|
"
|
|
case "$CARCH" in
|
|
aarch64|x86_64) makedepends="$makedepends dpdk-dev" ;;
|
|
esac
|
|
checkdepends="py3-yaml"
|
|
subpackages="$pkgname-dev $pkgname-testing"
|
|
source="$pkgname-$_ver.tar.gz::https://github.com/scylladb/seastar/archive/$_ver.tar.gz"
|
|
builddir="$srcdir/$pkgname-$_ver"
|
|
|
|
build() {
|
|
case "$CARCH" in
|
|
aarch64|x86_64) local _dpdk=ON ;;
|
|
*) local _dpdk=OFF ;;
|
|
esac
|
|
if [ "$CBUILD" != "$CHOST" ]; then
|
|
local _crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
|
|
fi
|
|
export CXXFLAGS="$CXXFLAGS -DSEASTAR_DEFAULT_ALLOCATOR -Wno-cpp"
|
|
cmake -B build -G Ninja \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_INSTALL_LIBDIR=lib \
|
|
-DCMAKE_BUILD_TYPE=MinSizeRel \
|
|
-DSeastar_APPS=OFF \
|
|
-DSeastar_DEMOS=OFF \
|
|
-DSeastar_DOCS=OFF \
|
|
-DSeastar_DPDK="$_dpdk" \
|
|
$_crossopts
|
|
cmake --build build
|
|
}
|
|
|
|
check() {
|
|
# rest: needs root (doesn't work in container) for hardware access
|
|
# see also: https://github.com/scylladb/seastar/issues/1826
|
|
local _tests="chunk_parsers|dns|httpd|request_parser|semaphore|stall_detector|tls|app-template"
|
|
# -j2: "Could not initialize seastar: std::runtime_error (Could not setup Async I/O:
|
|
# "Not enough request capacity in /proc/sys/fs/aio-max-nr. Try increasing that number
|
|
# "or reducing the amount of logical CPUs available for your application)"
|
|
ctest --test-dir build --output-on-failure \
|
|
-E "($_tests)" -j2
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
}
|
|
|
|
dev() {
|
|
default_dev
|
|
amove usr/bin
|
|
}
|
|
|
|
testing() {
|
|
amove usr/lib/libseastar_*testing.so
|
|
}
|
|
|
|
sha512sums="
|
|
0049256e47f243c87426ccb3b988224be1e8452b22c4f4dc9b75d205e438e2e5b89c03438d3e327836800abef451589a874b15ca3947c8832ab6677f5812fe9f seastar-3ee9204cb792885c4a0bdb19a61619572d88c963.tar.gz
|
|
"
|