mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
104 lines
2.7 KiB
Bash
104 lines
2.7 KiB
Bash
SUMMARY="A fast compiler cache"
|
|
DESCRIPTION="ccache speeds up recompilation by caching previous \
|
|
compilations and detecting when same compilation is being done again. \
|
|
Supported languages are C, C++, Objective-C and Objective-C++."
|
|
HOMEPAGE="https://ccache.samba.org/"
|
|
COPYRIGHT="2002-2007 Andrew Tridgell
|
|
2009-2022 Joel Rosdahl and other contributors"
|
|
LICENSE="GNU GPL v3
|
|
GNU LGPL v3"
|
|
REVISION="1"
|
|
SOURCE_URI="https://github.com/ccache/ccache/releases/download/v$portVersion/ccache-$portVersion.tar.xz"
|
|
CHECKSUM_SHA256="319390f276123968cfa565acc3da0b1e18414374b40ff25274230e6860352125"
|
|
PATCHES="ccache-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
GLOBAL_WRITABLE_FILES="settings/ccache.conf keep-old"
|
|
USER_SETTINGS_FILES="settings/ccache.conf"
|
|
|
|
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
|
|
commandSuffix=$secondaryArchSuffix
|
|
commandBinDir=$binDir
|
|
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
|
commandSuffix=
|
|
commandBinDir=$prefix/bin
|
|
fi
|
|
|
|
PROVIDES="
|
|
ccache$secondaryArchSuffix = $portVersion
|
|
cmd:ccache$commandSuffix
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libfmt$secondaryArchSuffix
|
|
lib:libhiredis$secondaryArchSuffix
|
|
lib:libxxhash$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
lib:libzstd$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
libfmt${secondaryArchSuffix}_devel >= 8
|
|
devel:libhiredis$secondaryArchSuffix
|
|
devel:libxxhash$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
devel:libzstd$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:cmake
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:xargs
|
|
"
|
|
|
|
TEST_REQUIRES="
|
|
cmd:awk
|
|
cmd:cmp
|
|
cmd:dirname
|
|
cmd:head
|
|
cmd:perl
|
|
cmd:sed
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
cmake -B build -S . \
|
|
$cmakeDirArgs \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_BINDIR=$commandBinDir \
|
|
-DENABLE_TESTING=OFF
|
|
make -C build $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make -C build install
|
|
echo "# System-wide configuration for ccache" > $settingsDir/ccache.conf
|
|
}
|
|
|
|
# Be sure to use -DENABLE_TESTING=ON on BUILD(), otherwise "make check" fails.
|
|
#
|
|
# Reference results on beta5 64 bits (workdir in RAMFS):
|
|
# 52% tests passed, 23 tests failed out of 48
|
|
# Total Test time (real) = 39.52 sec
|
|
# (RAMFS usage causes many: "cannot make pipe for process substitution: Operation not supported")
|
|
#
|
|
# Reference results on beta5 64 bits (workdir in SSD):
|
|
# 88% tests passed, 6 tests failed out of 48
|
|
# Total Test time (real) = 355.56 sec
|
|
# The following tests FAILED:
|
|
# 1 - unittest (Failed)
|
|
# 2 - test.base (Failed)
|
|
# 10 - test.debug_prefix_map (Failed)
|
|
# 23 - test.nocpp2 (Failed)
|
|
# 28 - test.pch (Failed)
|
|
# 46 - test.stats_log (Failed)
|
|
TEST()
|
|
{
|
|
make -C build check
|
|
}
|