aports/testing/cvise/APKBUILD
2025-03-08 13:11:08 +00:00

75 lines
1.7 KiB
Text

# Maintainer:
pkgname=cvise
pkgver=2.11.0
pkgrel=0
_llvmver=19
pkgdesc="Python port of C-Reduce, for program testcase minimisation"
url="https://github.com/marxin/cvise"
arch="all"
license="NCSA"
depends="
cmd:clang-format
py3-chardet
py3-pebble
py3-psutil
unifdef
"
makedepends="
clang$_llvmver-dev
clang$_llvmver-extra-tools
clang$_llvmver-static
cmake
flex
llvm$_llvmver-dev
llvm$_llvmver-gtest
llvm$_llvmver-static
samurai
"
checkdepends="
py3-pytest-forked
py3-pytest-xdist
"
subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/marxin/cvise/archive/refs/tags/v$pkgver.tar.gz"
export PATH="/usr/lib/llvm$_llvmver/bin:$PATH"
build() {
export CC=clang-$_llvmver
export CXX=clang++-$_llvmver
export CFLAGS="${CFLAGS/-fstack-clash-protection} -O2 -DNDEBUG"
export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection} -O2 -DNDEBUG"
cmake -B build -G Ninja -Wno-dev \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
}
check() {
cd build
# simple_deduction: for some reason it checks for a short string but gets a wall of text in a reduced case
pytest -c /dev/null -n auto --forked -k 'not test_simple_reduction'
}
package() {
DESTDIR="$pkgdir" cmake --install build
# remove tests
rm -r "$pkgdir"/usr/share/cvise/tests
python3 -m compileall -fq "$pkgdir"/usr/share/cvise
}
pyc() {
pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
cd "$pkgdir"
local IFS='
'
# shellcheck disable=2046
amove $(find usr/share/cvise -type d -name __pycache__)
}
sha512sums="
4c0844f1ce0596a7aed84018ecf63fbed31e7fb474d341f9947e99ee61274713ad8ae5dce619fcbc7b2acdddb950b1418989e9cd6cd6d7a2031e56226ccf9f57 cvise-2.11.0.tar.gz
"