Files
haikuports/dev-util/clazy/clazy-1.17.1.recipe
2026-04-14 17:31:12 +00:00

89 lines
2.1 KiB
Bash

SUMMARY="A plugin which allows clang to understand Qt semantics"
DESCRIPTION="clazy is a compiler plugin which allows clang to understand Qt \
semantics. You get more than 50 Qt related compiler warnings, ranging from \
unneeded memory allocations to misusage of API, including fix-its for \
automatic refactoring."
HOMEPAGE="https://www.kdab.com"
COPYRIGHT="2016-2026 Sérgio Martins"
LICENSE="GNU LGPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/clazy/$portVersion/src/clazy-v$portVersion.tar.xz"
CHECKSUM_SHA256="e5c0900833f38b8a3238b1e42611f8e4cc1a5300f1b763f2dad0b25c97a58863"
SOURCE_DIR="clazy-v$portVersion"
PATCHES="clazy-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
clangVer="21"
pythonVersion="3.10"
PROVIDES="
clazy$secondaryArchSuffix = $portVersion
cmd:clazy$commandSuffix = $portVersion
cmd:clazy_standalone$commandSuffix = $portVersion
lib:ClazyPlugin$secondaryArchSuffix = $portVersion
lib:ClazyClangTidy$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libclang_cpp$secondaryArchSuffix
lib:libLLVM$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libLLVM_$clangVer$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:clang_$clangVer
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:pod2man
cmd:readlink
"
TEST_REQUIRES="
cmd:diff
cmd:python$pythonVersion
# devel:libQt5Core$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Qml$secondaryArchSuffix
"
BUILD()
{
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON \
-DCMAKE_INSTALL_BINDIR=$commandBinDir \
-DCMAKE_SKIP_RPATH=YES \
-DCMAKE_AUTOGEN_PARALLEL=1 \
-Wno-dev
make -C build $jobArgs
}
INSTALL()
{
make -C build install
rm -rf $prefix/share
}
TEST()
{
# 8% tests passed, 94 tests failed out of 102
# previous version failed on all tests
ctest --test-dir build --output-on-failure
}