Files
haikuports/net-libs/libmicrohttpd/libmicrohttpd-0.9.72.recipe
2023-01-05 10:20:24 +01:00

111 lines
3.3 KiB
Bash

SUMMARY="A C library to run an HTTP server as part of another application"
DESCRIPTION="GNU libmicrohttpd is a small C library that is supposed to make \
it easy to run an HTTP server as part of another application. GNU GNU \
Libmicrohttpd is free software and part of the GNU project. Key features \
that distinguish GNU Libmicrohttpd from other projects are:
* C library: fast and small
* API is simple, expressive and fully reentrant
* Implementation is HTTP 1.1 compliant
* HTTP server can listen on multiple ports
* Four different threading models (select, poll, pthread, thread pool)
* Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android,
* OSX, W32, Symbian and z/OS
* Support for IPv6
* Support for SHOUTcast
* Support for incremental processing of POST data (optional)
* Support for basic and digest authentication (optional)
* Support for SSL3 and TLS (requires libgcrypt and libgnutls, optional)
* Binary is only about 32k (without TLS/SSL support and other optional features)
GNU Libmicrohttpd was started because the author needed an easy way to add a \
concurrent HTTP server to other projects. Existing alternatives were either \
non-free, not reentrant, standalone, of terrible code quality or a \
combination thereof. Do not use GNU Libmicrohttpd if you are looking for a \
standalone HTTP server, there are many other projects out there that provide \
that kind of functionality already. However, if you want to be able to serve \
simple WWW pages from within your C or C++ application, check it out."
HOMEPAGE="https://www.gnu.org/software/libmicrohttpd/"
COPYRIGHT="2017 Free Software Foundation, Inc."
LICENSE="GNU LGPL v2.1"
REVISION="2"
SOURCE_URI="http://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-$portVersion.tar.gz"
CHECKSUM_SHA256="0ae825f8e0d7f41201fd44a0df1cf454c1cb0bc50fe9d59c26552260264c2ff8"
PATCHES="libmicrohttpd-$portVersion.patchset"
ARCHITECTURES="all ?x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="12.57.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
libmicrohttpd$secondaryArchSuffix = $portVersion
lib:libmicrohttpd$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libgcrypt$secondaryArchSuffix
lib:libgnutls$secondaryArchSuffix
lib:libgpg_error$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
"
PROVIDES_devel="
libmicrohttpd${secondaryArchSuffix}_devel = $portVersion
devel:libmicrohttpd$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
haiku${secondaryArchSuffix}_devel
libmicrohttpd$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix
devel:libcurl$secondaryArchSuffix
devel:libgcrypt$secondaryArchSuffix
devel:libgnutls$secondaryArchSuffix
devel:libgpg_error$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:autopoint$secondaryArchSuffix
cmd:autoreconf
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:makeinfo
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
autoreconf -fi
runConfigure ./configure --disable-static
make $jobArgs
}
INSTALL()
{
make install
rm $libDir/libmicrohttpd.la
prepareInstalledDevelLib libmicrohttpd
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
make check
}