0
0
Fork 0
haikuports/dev-libs/apr_util/apr_util-1.4.1.recipe

129 lines
2.9 KiB
Bash

SUMMARY="Apache Portable Runtime Utility Library"
HOMEPAGE="http://apr.apache.org/"
SOURCE_URI="http://archive.apache.org/dist/apr/apr-util-1.4.1.tar.gz"
CHECKSUM_SHA256="d636d9ef95c6e50e47fc338d532aa375edd11e5d7a3c30dee48beb38ddf4ab4c"
LICENSE="Apache v2"
COPYRIGHT="2011 The Apache Software Foundation."
REVISION="4"
ARCHITECTURES="all"
PATCHES="apr_util-1.4.1.patch"
PROVIDES="
apr_util = $portVersion compat >= 1
lib:libaprutil_1 = 0.4.1 compat >= 0
"
REQUIRES="
haiku
lib:libapr_1
lib:libexpat
lib:libiconv
"
BUILD_REQUIRES="
devel:libapr_1 >= 0.4.6
devel:libexpat >= 1.5.2
devel:libiconv
"
BUILD_PREREQUIRES="
haiku_devel
cmd:aclocal
cmd:autoconf
cmd:autoheader
cmd:gcc
cmd:ld
cmd:libtoolize
cmd:make
"
SOURCE_DIR="apr-util-$portVersion"
PATCH()
{
echo 'AM_INIT_AUTOMAKE' >> xml/expat/configure.in
}
BUILD()
{
aprInstallDir=$portPackageLinksDir/lib~libapr_1
expatInstallDir=$portPackageLinksDir/lib~libexpat
rm -rf aclocal.m4
mkdir -p m4
libtoolize -fci
aclocal --install -I m4
autoconf -f
cd xml/expat
mkdir -p m4
libtoolize -fci
aclocal --install -I m4
autoconf --force
autoheader
touch libtool.m4
cd ../..
# TODO: fix this hack!
cp /boot/system/bin/libtool .
ln -sfn $sourceDir/libtool /libtool
runConfigure ./configure \
--with-apr=$aprInstallDir \
--with-expat=$expatInstallDir
make $jobArgs
}
INSTALL()
{
make install
# prepare develop/lib
prepareInstalledDevelLibs libaprutil-1
fixPkgconfig
# fix apu-1-config
fixDevelopLibDirReferences $binDir/apu-1-config
# remove superfluous .exp file
rm $libDir/aprutil.exp
# devel package
packageEntries devel \
$binDir \
$developDir
}
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)
"
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
apr_util_devel = portVersion compat >= 1
cmd:apu_1_config = $portVersion compat >= 1
devel:libaprutil_1 = 0.4.1 compat >= 0
"
REQUIRES_devel="
apr_util == $portVersion base
"