Files
haikuports/dev-libs/apr/apr-1.7.5.recipe
OscarL 358cd0594a apr: update to version 1.7.5. (#11419)
- Drop gcc2 versions. All on-tree package that depend on this are "!x86_gcc2" (or will be after this).
- Drop older apr_util version (gcc2).
2024-12-09 10:11:16 +01:00

114 lines
3.0 KiB
Bash

SUMMARY="Apache Portable Runtime Library"
DESCRIPTION="The mission of the Apache Portable Runtime (APR) project is to \
create and maintain software libraries that provide a predictable and \
consistent interface to underlying platform-specific implementations.
The primary goal is to provide an API to which software developers may code \
and be assured of predictable if not identical behaviour regardless of the \
platform on which their software is built, relieving them of the need to code \
special-case conditions to work around or take advantage of platform-specific \
deficiencies or features.
To give a brief overview, the primary core subsystems of APR 1.x include the \
following:
- atomic operations
- dynamic shared object loading
- file I/O
- locks (mutexes, condition variables, etc.)
- memory management (high performance allocators)
- memory-mapped files
- multicast sockets
- network I/O
- shared memory
- thread and process management
- various data structures (tables, hashes, priority queues, etc.)"
HOMEPAGE="http://apr.apache.org/"
COPYRIGHT="2012 The Apache Software Foundation"
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="http://archive.apache.org/dist/apr/apr-$portVersion.tar.gz"
CHECKSUM_SHA256="3375fa365d67bcf945e52b52cba07abea57ef530f40b281ffbe977a9251361db"
PATCHES="apr-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="0.7.5"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
apr$secondaryArchSuffix = $portVersion
lib:libapr_1$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
apr${secondaryArchSuffix}_devel = portVersion
cmd:apr_1_config$secondaryArchSuffix = $portVersion compat >= 1
devel:libapr_1$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
apr$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
"
BUILD()
{
libtoolize -fci
touch libtool.m4
aclocal -I build
autoconf
runConfigure ./configure \
--disable-static \
--with-installbuilddir=$prefix/data/apr CFLAGS=-D_BSD_SOURCE
make $jobArgs
}
INSTALL()
{
make install
rm $libDir/libapr-1.la
# prepare develop/lib
prepareInstalledDevelLibs libapr-1
fixPkgconfig
# fix apr-1-config
fixDevelopLibDirReferences $binDir/apr-1-config
# remove superfluous .exp file
rm $libDir/apr.exp
# devel package
packageEntries devel \
$binDir \
$dataDir \
$developDir
}
# For reference:
# Tests crash on beta5 64 bits, and "freezes" the system on 32 bits.
# Tests are divided in four:
# - testlockperf - all tests OK. (takes about 30 minutes on VMware, slower on VBox)
# - testmutexscope - all tests OK.
# - testall - 2 fails (1 in testfile, 1 in testcond), then crashes (or freezes system).
# - sendfile - Not run as Haiku doesn't has "sendfile()".
TEST()
{
make test
}