Files
haikuports/dev-libs/xapian/xapian-1.4.26.recipe
2024-10-26 17:39:17 +02:00

140 lines
3.8 KiB
Bash

SUMMARY="A probabilistic information retrieval library with numerous bindings"
DESCRIPTION="Xapian is an open source search engine library written in C++. \
It has bindings for a large number of other programming languages, including \
Perl, Python, Java and Ruby. It is hightly adaptable and extensible, fitting \
a wide range of information retrieval-related tasks. Xapian empowers the Omega \
search engine package. It supports a wide range of advanced features such as \
native Unicode support and modern search algorithms."
HOMEPAGE="https://xapian.org/"
COPYRIGHT="1999-2018 The Xapian Authors"
LICENSE="GNU GPL v2"
REVISION="3"
SOURCE_URI="https://oligarchy.co.uk/xapian/$portVersion/xapian-core-$portVersion.tar.xz"
CHECKSUM_SHA256="9e6a7903806966d16ce220b49377c9c8fad667c8f0ffcb23a3442946269363a7"
SOURCE_DIR="xapian-core-$portVersion"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
libVersion="30.13.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
xapian$secondaryArchSuffix = $portVersion
lib:libxapian$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libuuid$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
xapian${secondaryArchSuffix}_devel = $portVersion
cmd:xapian_config$commandSuffix = $portVersion
devel:libxapian$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
xapian$secondaryArchSuffix == $portVersion base
"
PROVIDES_tools="
xapian${secondaryArchSuffix}_tools
cmd:copydatabase$commandSuffix = $portVersion
cmd:quest$commandSuffix = $portVersion
cmd:simpleexpand$commandSuffix = $portVersion
cmd:simpleindex$commandSuffix = $portVersion
cmd:simplesearch$commandSuffix = $portVersion
cmd:xapian_check$commandSuffix = $portVersion
cmd:xapian_compact$commandSuffix = $portVersion
cmd:xapian_delve$commandSuffix = $portVersion
cmd:xapian_metadata$commandSuffix = $portVersion
cmd:xapian_pos$commandSuffix = $portVersion
cmd:xapian_progsrv$commandSuffix = $portVersion
cmd:xapian_replicate$commandSuffix = $portVersion
cmd:xapian_replicate_server$commandSuffix = $portVersion
cmd:xapian_tcpsrv$commandSuffix = $portVersion
"
REQUIRES_tools="
xapian$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libuuid$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libintl$secondaryArchSuffix
devel:libuuid$secondaryArchSuffix >= 1.3.1
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmp
cmd:diff
cmd:find # workaround for outdated haikuporter
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:sed
"
debugList=("$libDir"/libxapian.so.$libVersion)
for i in `echo "$PROVIDES" | sed -n -e \
"s/^[\t]*cmd:\(.*\)$commandSuffix =.*/\1/p;" | sed -e "s/_/-/g"`; do
debugList+=("$commandBinDir"/$i)
done
defineDebugInfoPackage xapian$secondaryArchSuffix "${debugList[@]}"
BUILD()
{
LIBS="-lintl" \
runConfigure --omit-dirs binDir ./configure \
--bindir="$commandBinDir" \
--disable-static
make $jobArgs
}
INSTALL()
{
make install
rm -f "$libDir"/libxapian.la
prepareInstalledDevelLib libxapian
fixPkgconfig
fixCMake
# fix xapian-config
sed -i "s,$libDir,$developLibDir,g" "$commandBinDir"/xapian-config \
$developLibDir/cmake/xapian/xapian-config.cmake # workaround for outdated haikuporter
packageEntries devel \
"$commandBinDir"/xapian-config \
"$manDir"/man1/xapian-config.1 \
"$developDir" \
"$dataDir" \
"$documentationDir/packages"
packageEntries tools \
"$commandBinDir" \
"$manDir"
# cleanup
rmdir "$documentationDir"
}
TEST()
{
LIBRARY_PATH="$sourceDir/.libs${LIBRARY_PATH:+:$LIBRARY_PATH}" \
make check
}