Files
haikuports/dev-libs/capnproto/capnproto-1.0.1.recipe
2023-09-23 16:14:29 +00:00

117 lines
3.1 KiB
Bash

SUMMARY="A Data Serialization Format"
DESCRIPTION="Cap'n Proto is a binary data interchange format and capability-based \
RPC system."
HOMEPAGE="https://capnproto.org"
COPYRIGHT="2017 Cloudflare, Inc. and contributors"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/capnproto/capnproto/archive/refs/tags/v${portVersion}.tar.gz"
CHECKSUM_SHA256="5bdb16f6b389a9e29b04214b9bae1759e8b7fe2b45049d7e3f1f286ba050a200"
SOURCE_DIR="capnproto-$portVersion"
PATCHES="capnproto-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%.*}"
PROVIDES="
capnproto$secondaryArchSuffix = $portVersion
lib:libcapnp$secondaryArchSuffix = $libVersionCompat
lib:libcapnpc$secondaryArchSuffix = $libVersionCompat
lib:libcapnp_json$secondaryArchSuffix = $libVersionCompat
lib:libcapnp_rpc$secondaryArchSuffix = $libVersionCompat
lib:libcapnp_websocket$secondaryArchSuffix = $libVersionCompat
lib:libkj$secondaryArchSuffix = $libVersionCompat
lib:libkj_async$secondaryArchSuffix = $libVersionCompat
lib:libkj_gzip$secondaryArchSuffix = $libVersionCompat
lib:libkj_http$secondaryArchSuffix = $libVersionCompat
lib:libkj_test$secondaryArchSuffix = $libVersionCompat
lib:libkj_tls$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
capnproto${secondaryArchSuffix}_devel = $portVersion
cmd:capnp$secondaryArchSuffix
cmd:capnpc$secondaryArchSuffix
cmd:capnpc_c++$secondaryArchSuffix
cmd:capnpc_capnp$secondaryArchSuffix
devel:libcapnp$secondaryArchSuffix = $libVersionCompat
devel:libcapnpc$secondaryArchSuffix = $libVersionCompat
devel:libcapnp_json$secondaryArchSuffix = $libVersionCompat
devel:libcapnp_rpc$secondaryArchSuffix = $libVersionCompat
devel:libcapnp_websocket$secondaryArchSuffix = $libVersionCompat
devel:libkj$secondaryArchSuffix = $libVersionCompat
devel:libkj_async$secondaryArchSuffix = $libVersionCompat
devel:libkj_gzip$secondaryArchSuffix = $libVersionCompat
devel:libkj_http$secondaryArchSuffix = $libVersionCompat
devel:libkj_test$secondaryArchSuffix = $libVersionCompat
devel:libkj_tls$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
capnproto$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libssl$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
cmake \
-B build -S . \
$cmakeDirArgs \
-DCMAKE_CXX_FLAGS="-std=c++11" \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DWITH_OPENSSL=ON \
-DCMAKE_BUILD_TYPE=Release
make -C build $jobArgs
}
INSTALL()
{
make -C build install
prepareInstalledDevelLibs \
libcapnp \
libcapnpc \
libcapnp-json \
libcapnp-rpc \
libcapnp-websocket \
libkj \
libkj-async \
libkj-gzip \
libkj-http \
libkj-test \
libkj-tls
fixPkgconfig
packageEntries devel \
$binDir \
$developDir \
$libDir/cmake
}
TEST()
{
make -C build test
}