mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-14 15:50:07 +02:00
150 lines
5.2 KiB
Bash
150 lines
5.2 KiB
Bash
SUMMARY="C++ libraries for building network-based applications"
|
|
DESCRIPTION="The POCO C++ Libraries are powerful cross-platform C++ libraries for building \
|
|
network- and internet-based applications that run on desktop, server, mobile, IoT, \
|
|
and embedded systems."
|
|
HOMEPAGE="https://pocoproject.org/"
|
|
COPYRIGHT="pocoproject"
|
|
LICENSE="Boost v1.0"
|
|
REVISION="1"
|
|
SOURCE_URI="https://github.com/pocoproject/poco/archive/refs/tags/poco-1.12.4-release.tar.gz"
|
|
CHECKSUM_SHA256="71ef96c35fced367d6da74da294510ad2c912563f12cd716ab02b6ed10a733ef"
|
|
SOURCE_DIR="poco-poco-1.12.4-release/"
|
|
PATCHES="poco-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
libVersion=$portVersion
|
|
libVersionCompat="$portVersion compat >= 94"
|
|
soSuffix="94"
|
|
|
|
PROVIDES="
|
|
poco$secondaryArchSuffix = $portVersion
|
|
cmd:arc$secondaryArchSuffix = $portVersion
|
|
cmd:cpspc$secondaryArchSuffix = $portVersion
|
|
cmd:f2cpsp$secondaryArchSuffix = $portVersion
|
|
lib:libPocoActiveRecord$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoCrypto$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoData$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoDataSQLite$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoEncodings$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoFoundation$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoJSON$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoJWT$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoMongoDB$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoNet$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoNetSSL$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoRedis$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoUtil$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoPrometheus$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoXML$secondaryArchSuffix = $libVersionCompat
|
|
lib:libPocoZip$secondaryArchSuffix = $libVersionCompat
|
|
lib:poco$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libexpat$secondaryArchSuffix
|
|
lib:libpcre2_32$secondaryArchSuffix
|
|
lib:libssl$secondaryArchSuffix
|
|
lib:libsqlite3$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
poco${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libPocoActiveRecord$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoCrypto$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoData$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoDataSQLite$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoEncodings$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoFoundation$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoJSON$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoJWT$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoMongoDB$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoNet$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoNetSSL$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoRedis$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoUtil$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoPrometheus$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoXML$secondaryArchSuffix = $libVersionCompat
|
|
devel:libPocoZip$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
poco$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libexpat$secondaryArchSuffix
|
|
devel:libpcre2_32$secondaryArchSuffix
|
|
devel:libssl$secondaryArchSuffix
|
|
devel:libsqlite3$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:cmake
|
|
cmd:make
|
|
cmd:gcc$secondaryArchSuffix
|
|
"
|
|
|
|
TEST_REQUIRES="
|
|
cmd:ctest
|
|
"
|
|
|
|
defineDebugInfoPackage poco$secondaryArchSuffix \
|
|
$binDir/arc \
|
|
$binDir/cpspc \
|
|
$binDir/f2cpsp \
|
|
$libDir/libPocoActiveRecord.so.$soSuffix \
|
|
$libDir/libPocoCrypto.so.$soSuffix \
|
|
$libDir/libPocoData.so.$soSuffix \
|
|
$libDir/libPocoDataSQLite.so.$soSuffix \
|
|
$libDir/libPocoEncodings.so.$soSuffix \
|
|
$libDir/libPocoFoundation.so.$soSuffix \
|
|
$libDir/libPocoJSON.so.$soSuffix \
|
|
$libDir/libPocoJWT.so.$soSuffix \
|
|
$libDir/libPocoMongoDB.so.$soSuffix \
|
|
$libDir/libPocoNet.so.$soSuffix \
|
|
$libDir/libPocoNetSSL.so.$soSuffix \
|
|
$libDir/libPocoPrometheus.so.$soSuffix \
|
|
$libDir/libPocoRedis.so.$soSuffix \
|
|
$libDir/libPocoUtil.so.$soSuffix \
|
|
$libDir/libPocoXML.so.$soSuffix \
|
|
$libDir/libPocoZip.so.$soSuffix
|
|
|
|
BUILD() {
|
|
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
-DENABLE_TESTS=ON \
|
|
-DCMAKE_INSTALL_INCLUDEDIR=$includeDir \
|
|
-DCMAKE_INSTALL_LIBDIR=$libDir \
|
|
-DCMAKE_INSTALL_BINDIR=$binDir \
|
|
$cmakeDirArgs \
|
|
-DPOCO_UNBUNDLED=ON
|
|
# -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g3" \
|
|
make -C build $jobArgs
|
|
}
|
|
|
|
INSTALL() {
|
|
mkdir -p $includeDir
|
|
make -C build install
|
|
|
|
prepareInstalledDevelLibs libPocoActiveRecord libPocoCrypto \
|
|
libPocoData libPocoDataSQLite libPocoEncodings libPocoFoundation \
|
|
libPocoJSON libPocoJWT libPocoMongoDB libPocoNet \
|
|
libPocoNetSSL libPocoRedis libPocoUtil libPocoPrometheus \
|
|
libPocoXML libPocoZip
|
|
fixPkgconfig
|
|
|
|
packageEntries devel \
|
|
$developDir \
|
|
$libDir/cmake
|
|
}
|
|
|
|
TEST() {
|
|
mkdir -p /home
|
|
# for some reason, the test library is in the bin folder
|
|
# a test assumes that $HOME is set, which it is not for build environments
|
|
HOME=/home LIBRARY_PATH=/sources/$SOURCE_DIR/build/bin:$LIBRARY_PATH make \
|
|
-C build $jobArgs test ARGS="--rerun-failed --output-on-failure"
|
|
}
|