SUMMARY="A high-performance asynchronous HTTP client library" DESCRIPTION="The serf library is a C-based HTTP client library built upon the \ Apache Portable Runtime (APR) library. It multiplexes connections, running \ the read/write communication asynchronously. Memory copies and \ transformations are kept to a minimum to provide high performance operation." HOMEPAGE="https://serf.apache.org/" COPYRIGHT="2002-2019 Justin Erenkrantz and Greg Stein" LICENSE="Apache v2" REVISION="10" SOURCE_URI="https://archive.apache.org/dist/serf/serf-$portVersion.tar.bz2" CHECKSUM_SHA256="549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc" PATCHES=" serf-$portVersion.patchset 0001-Fix-syntax-of-a-print-in-the-scons-file-to-unbreak-b.patch 0002-SConstruct-Fix-path-quoting-for-.def-generator.patch 0003-gen_def.patch 0004-Follow-up-to-r1811083-fix-building-with-scons-3.0.0-.patch " ARCHITECTURES="all" SECONDARY_ARCHITECTURES="x86_gcc2 x86" libVersion="1.3.0" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" serf$secondaryArchSuffix = $portVersion lib:libserf_1$secondaryArchSuffix = $libVersionCompat " REQUIRES=" haiku$secondaryArchSuffix lib:libapr_1$secondaryArchSuffix lib:libaprutil_1$secondaryArchSuffix lib:libcrypto$secondaryArchSuffix lib:libexpat$secondaryArchSuffix # aprutil brings us lib:libiconv$secondaryArchSuffix # aprutil brings us lib:libssl$secondaryArchSuffix lib:libz$secondaryArchSuffix " PROVIDES_devel=" serf${secondaryArchSuffix}_devel = $portVersion devel:libserf_1$secondaryArchSuffix = $libVersionCompat " REQUIRES_devel=" serf$secondaryArchSuffix == $portVersion base devel:libapr_1$secondaryArchSuffix devel:libaprutil_1$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libapr_1$secondaryArchSuffix devel:libaprutil_1$secondaryArchSuffix devel:libcrypto$secondaryArchSuffix devel:libexpat$secondaryArchSuffix # aprutil brings us devel:libiconv$secondaryArchSuffix # aprutil brings us devel:libssl$secondaryArchSuffix devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" cmd:apr_1_config$secondaryArchSuffix cmd:apu_1_config$secondaryArchSuffix cmd:gcc$secondaryArchSuffix #cmd:make cmd:scons " BUILD() { archDir= if [ -n "$secondaryArchSuffix" ]; then archDir=/$effectiveTargetArchitecture fi apr=$portPackageLinksDir/cmd~apr_1_config$secondaryArchSuffix/bin$archDir/apr-1-config apu=$portPackageLinksDir/cmd~apu_1_config$secondaryArchSuffix/bin$archDir/apu-1-config gcc=$portPackageLinksDir/cmd~gcc$secondaryArchSuffix/bin$archDir/gcc scons OPENSSL=$portPackageLinksDir/devel~libssl$secondaryArchSuffix \ ZLIB=/system APR=$apr APU=$apu PREFIX=$prefix \ LIBDIR=$libDir CC=$gcc } INSTALL() { configDir= if [ -n "$secondaryArchSuffix" ]; then configDir=/$effectiveTargetArchitecture fi apr=$portPackageLinksDir/cmd~apr_1_config$secondaryArchSuffix/bin$configDir/apr-1-config apu=$portPackageLinksDir/cmd~apu_1_config$secondaryArchSuffix/bin$configDir/apu-1-config scons install OPENSSL=$portPackageLinksDir/devel~libssl$secondaryArchSuffix \ ZLIB=/system APR=$apr APU=$apu PREFIX=$prefix \ LIBDIR=$libDir mkdir -p $includeDir $developLibDir mv $prefix/include/serf-1/* $includeDir/ rm -rf $prefix/include # remove static library rm -f $libDir/libserf-1.a # prepare development lib links prepareInstalledDevelLib libserf-1 fixPkgconfig # The pkgconfig file reference other libraries using the wrong paths, which # creates a lot of confusion. Fix them so correct paths are used. local develPackageName="${portName}_devel-$portFullVersion" local packageLinksDir=$(dirname $portPackageLinksDir) local linksDir="$packageLinksDir/${develPackageName}/devel~libaprutil_1$secondaryArchSuffix/$relativeDevelopLibDir" sed -i -e "s,^\(Libs.private.*\)-L.* \(-laprutil.*\)$,\1-L$linksDir \2," \ $developLibDir/pkgconfig/serf-1.pc local linksDir="$packageLinksDir/${develPackageName}/devel~libapr_1$secondaryArchSuffix/$relativeDevelopLibDir" sed -i -e "s,\-L/packages/apr-1.* \(-lapr-1 .*\)$,-L$linksDir \1," \ $developLibDir/pkgconfig/serf-1.pc # devel package packageEntries devel $developDir }