121 lines
2.7 KiB
Bash
121 lines
2.7 KiB
Bash
SUMMARY="A fast non-cryptographic hash algorithm"
|
|
DESCRIPTION="xxHash is an extremely fast non-cryptographic hash algorithm, \
|
|
working at speeds close to RAM limits."
|
|
HOMEPAGE="https://cyan4973.github.io/xxHash/
|
|
http://www.xxhash.com/"
|
|
COPYRIGHT="2014-2017 Yann Collet"
|
|
LICENSE="BSD (2-clause)"
|
|
REVISION="1"
|
|
SOURCE_URI="http://github.com/Cyan4973/xxHash/archive/v$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="7054c3ebd169c97b64a92d7b994ab63c70dd53a06974f1f630ab782c28db0f4f"
|
|
SOURCE_FILENAME="xxHash-$portVersion.tar.gz"
|
|
SOURCE_DIR="xxHash-$portVersion"
|
|
PATCHES="xxhash-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all ?x86_gcc2 ?x86"
|
|
SECONDARY_ARCHITECTURES="?x86_gcc2 x86"
|
|
|
|
# Provide cmd:xxhash on all primary architectures except x86_gcc2,
|
|
# as well as on x86 secondary arch if the primary arch is x86_gcc2.
|
|
commandSuffix=$secondaryArchSuffix
|
|
commandBinDir=$binDir
|
|
provideRuntime=yes
|
|
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
|
commandSuffix=
|
|
commandBinDir=$prefix/bin
|
|
else
|
|
if [ -n "$secondaryArchSuffix" ]; then
|
|
provideRuntime=no
|
|
fi
|
|
fi
|
|
if [ "$effectiveTargetArchitecture" = x86_gcc2 ]; then
|
|
provideRuntime=no
|
|
fi
|
|
|
|
libVersion="$portVersion"
|
|
libVersionCompat="$portVersion compat >= ${portVersion%%.*}"
|
|
|
|
PROVIDES="
|
|
xxhash$secondaryArchSuffix = $portVersion
|
|
lib:libxxhash$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
if [ "$provideRuntime" = yes ]; then
|
|
PROVIDES="$PROVIDES
|
|
cmd:xxh32sum$commandSuffix = $portVersion
|
|
cmd:xxh64sum$commandSuffix = $portVersion
|
|
cmd:xxh128sum$commandSuffix = $portVersion
|
|
cmd:xxhsum$commandSuffix = $portVersion
|
|
"
|
|
fi
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
xxhash${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libxxhash$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
xxhash$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:make
|
|
"
|
|
|
|
debugList=(
|
|
"$libDir"/libxxhash.so.$libVersion
|
|
)
|
|
if [ "$provideRuntime" = yes ]; then
|
|
debugList+=("$commandBinDir"/xxhsum)
|
|
fi
|
|
defineDebugInfoPackage xxhash$secondaryArchSuffix "${debugList[@]}"
|
|
|
|
PATCH()
|
|
{
|
|
if [ "$effectiveTargetArchitecture" = x86_gcc2 ]; then
|
|
sed -i \
|
|
-e "s/ -Wextra//" \
|
|
-e "s/ -Wstrict-aliasing=1//" \
|
|
-e "s/ -Wswitch-enum//" \
|
|
-e "s/ -Wdeclaration-after-statement//" \
|
|
Makefile
|
|
fi
|
|
}
|
|
|
|
TEST_REQUIRES="
|
|
cmd:awk
|
|
cmd:find
|
|
devel:libclang$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
make $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make PREFIX="$prefix" BINDIR="$commandBinDir" INCLUDEDIR="$includeDir" \
|
|
LIBDIR="$libDir" MANDIR="$manDir/man1" install
|
|
|
|
if [ "$provideRuntime" != yes ]; then
|
|
rm -rf "$commandBinDir" "$manDir"
|
|
fi
|
|
|
|
prepareInstalledDevelLib libxxhash
|
|
fixPkgconfig
|
|
|
|
packageEntries devel \
|
|
"$developDir"
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
make ENABLE_UNICODE=1 test-all
|
|
}
|