The Serf package contains 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.
This package is known to build and work properly using an LFS 11.3 platform.
Download (HTTP): https://archive.apache.org/dist/serf/serf-1.3.9.tar.bz2
Download MD5 sum: 370a6340ff20366ab088012cd13f2b57
Download size: 144 KB
Estimated disk space required: 3.2 MB
Estimated build time: less than 0.1 SBU
Apr-Util-1.6.3 and SCons-4.4.0
MIT Kerberos V5-1.20.1, for the GSSAPI
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/serf
First, fix an issue that causes compilation issues in other packages when using OpenSSL-3:
patch -Np1 -i ../serf-1.3.9-openssl3_fixes-1.patch
Install Serf by running the following commands:
sed -i "/Append/s:RPATH=libdir,::" SConstruct && sed -i "/Default/s:lib_static,::" SConstruct && sed -i "/Alias/s:install_static,::" SConstruct && sed -i "/ print/{s/print/print(/; s/$/)/}" SConstruct && sed -i "/get_contents()/s/,/.decode()&/" SConstruct && scons PREFIX=/usr
This package does not come with a functional test suite.
Now, as the root
user:
scons PREFIX=/usr install
sed -i "...": The first command removes the runtime path from a shared library and the next two commands disable building and installing of the static library. The fourth command corrects for changes in scons-3.x. The last command allows to use Python 3.
GSSAPI=/usr
: Use this switch if you
have installed a GSSAPI library and you want serf to use it.