Files
haikuports/net-libs/librsync/librsync-2.3.4.recipe

98 lines
2.5 KiB
Bash

SUMMARY="Free implementation of rsync remote-delta algorithm"
DESCRIPTION="librsync is a free software library that implements the \
rsync remote-delta algorithm. This algorithm allows efficient remote \
updates of a file, without requiring the old and new versions to \
both be presentat the sending end. The library uses a \"streaming\" \
design similar to that of zlib with the aim of allowing it to be embedded \
into many different applications."
HOMEPAGE="https://github.com/librsync/librsync"
COPYRIGHT="1995 Patrick Powell
1996-1999 Andrew Tridgell
1996 Paul Mackerras
1999-2016 Martin Pool
2002-2003 Donovan Baarda"
LICENSE="GNU LGPL v2.1"
REVISION="1"
SOURCE_URI="https://github.com/librsync/librsync/archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256='a0dedf9fff66d8e29e7c25d23c1f42beda2089fb4eac1b36e6acd8a29edfbd1f'
SOURCE_FILENAME="librsync-v$portVersion.tar.gz"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
$portName = $portVersion
cmd:rdiff$commandSuffix = $portVersion
lib:librsync$secondaryArchSuffix = $portVersion compat >= 2
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libb2$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libpopt$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
# Although the librsync soname is bumped to 2.0.0, it is purely an ABI change,
# so the compat level for the devel package remains at 1.
PROVIDES_devel="
${portName}_devel = $portVersion compat >= 1
devel:librsync$secondaryArchSuffix = $portVersion compat >= 1
"
REQUIRES_devel="
librsync$secondaryArchSuffix == $portVersion base
lib:libbz2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libb2$secondaryArchSuffix
devel:libbz2$secondaryArchSuffix
devel:libpopt$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:cmake
cmd:make
cmd:perl
"
TEST_REQUIRES="
cmd:cmp
"
BUILD()
{
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=release \
$cmakeDirArgs \
-DCMAKE_INSTALL_BINDIR=$commandBinDir \
-DUSE_LIBB2=ON
make -C build $jobArgs
}
INSTALL()
{
make -C build install
prepareInstalledDevelLib librsync
packageEntries devel \
$developDir \
$manDir/man3
}
TEST()
{
make -C build -k test
}