Files
haikuports/dev-db/db/db18-18.1.40.recipe
2023-10-08 18:26:19 +00:00

170 lines
4.4 KiB
Bash

SUMMARY="The Oracle Berkeley Database"
DESCRIPTION="The Oracle Berkeley DB family of open source, embeddable \
databases provides developers with fast, reliable, local persistence with zero \
administration."
HOMEPAGE="http://www.oracle.com/technetwork/database/berkeleydb/index.html"
COPYRIGHT="1990-2013, Oracle
1990-1995, The Regents of the University of California
1996-1996, The President and Fellows of Harvard University
2000-2005, INRIA - France Telecom"
LICENSE="SleepyCat"
REVISION="2"
SOURCE_URI="http://download.oracle.com/berkeley-db/db-$portVersion.tar.gz"
CHECKSUM_SHA256="0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8"
SOURCE_DIR="db-$portVersion"
PATCHES="db-$portVersion.patchset"
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
db18$secondaryArchSuffix = $portVersion compat >= 18.1
lib:libdb_18$secondaryArchSuffix = $portVersion
lib:libdb_18.1$secondaryArchSuffix = $portVersion
lib:libdb_cxx_18$secondaryArchSuffix = $portVersion
lib:libdb_cxx_18.1$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
"
if [ -z "$secondaryArchSuffix" ]; then
SUMMARY_tools="The Berkeley Database tools"
PROVIDES_tools="
db18${secondaryArchSuffix}_tools = $portVersion compat >= 18.1
cmd:db_archive$secondaryArchSuffix
cmd:db_checkpoint$secondaryArchSuffix
cmd:db_convert$secondaryArchSuffix
cmd:db_deadlock$secondaryArchSuffix
cmd:db_dump$secondaryArchSuffix
cmd:db_hotbackup$secondaryArchSuffix
cmd:db_load$secondaryArchSuffix
cmd:db_log_verify$secondaryArchSuffix
cmd:db_printlog$secondaryArchSuffix
cmd:db_recover$secondaryArchSuffix
cmd:db_replicate$secondaryArchSuffix
cmd:db_stat$secondaryArchSuffix
cmd:db_tuner$secondaryArchSuffix
cmd:db_upgrade$secondaryArchSuffix
cmd:db_verify$secondaryArchSuffix
"
REQUIRES_tools="
db18$secondaryArchSuffix == $portVersion base
$REQUIRES
"
fi
PROVIDES_devel="
db18${secondaryArchSuffix}_devel = $portVersion compat >= 18.1
devel:libdb$secondaryArchSuffix = $portVersion
devel:libdb_18.1$secondaryArchSuffix = $portVersion
devel:libdb_cxx$secondaryArchSuffix = $portVersion
devel:libdb_cxx_18.1$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
db18$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtool
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
if [ "$effectiveTargetArchitecture" != x86_gcc2 ]; then
PROVIDES_devel+="
devel:libdb_java$secondaryArchSuffix = $portVersion
devel:libdb_java_18.1$secondaryArchSuffix = $portVersion
"
REQUIRES_devel+="
db18${secondaryArchSuffix}_java == $portVersion
"
SUMMARY_java="Java bindings for the Berkeley Database"
PROVIDES_java="
db18${secondaryArchSuffix}_java = $portVersion
lib:libdb_java_18$secondaryArchSuffix = $portVersion
lib:libdb_java_18.1$secondaryArchSuffix = $portVersion
lib:libdb_java_18.1_g$secondaryArchSuffix = $portVersion
"
REQUIRES_java="
db18$secondaryArchSuffix == $portVersion base
$REQUIRES
java:runtime == 17
"
BUILD_REQUIRES+="
java:environment == 17
"
BUILD_PREREQUIRES+="
cmd:javac >= 17
"
fi
BUILD()
{
if [ "$effectiveTargetArchitecture" != x86_gcc2 ]; then
source /system/data/profile.d/openjdk.sh
export CPPFLAGS="-I/boot/system/lib$secondaryArchSubDir/openjdk17/include/haiku"
java="--enable-java"
fi
cd build_unix
runConfigure ../dist/configure --enable-cxx \
--disable-static $java
make $jobArgs
}
INSTALL()
{
make -C build_unix install
# remove libtool files
rm $libDir/*.la
if [ "$effectiveTargetArchitecture" != x86_gcc2 ]; then
prepareInstalledDevelLibs libdb_java libdb_java-18.1
fi
# prepare develop/lib
prepareInstalledDevelLibs libdb libdb-18.1 libdb_cxx libdb_cxx-18.1
fixPkgconfig
# tools package
if [ -z "$secondaryArchSuffix" ]; then
packageEntries tools \
$binDir
fi
# devel package
packageEntries devel \
$developDir \
$documentationDir
# Remove stuff we don't need in the secondary architecture base package.
if [ -n "$secondaryArchSuffix" ]; then
rm -rf $binDir
fi
if [ "$effectiveTargetArchitecture" != x86_gcc2 ]; then
packageEntries java \
$libDir/libdb_java* \
$libDir/db.jar
fi
}
TEST()
{
make -C build_unix check
}