http_daemon: new perl module recipe

This commit is contained in:
Joachim Mairböck
2025-01-25 20:47:15 +01:00
parent b5df9d083b
commit 0318c8bec4

View File

@@ -0,0 +1,69 @@
SUMMARY="A simple http server class"
DESCRIPTION="Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen on a socket for \
incoming requests. The HTTP::Daemon is a subclass of IO::Socket::IP, so you can perform socket \
operations directly on it too.
Please note that HTTP::Daemon used to be a subclass of IO::Socket::INET. To support IPv6, it \
switched the parent class to IO::Socket::IP at version 6.05.
The accept() method will return when a connection from a client is available. The returned value \
will be an HTTP::Daemon::ClientConn object which is another IO::Socket::IP subclass. Calling the \
get_request() method on this object will read data from the client and return an HTTP::Request \
object. The ClientConn object also provide methods to send back various responses.
This HTTP daemon does not fork(2) for you. Your application, i.e. the user of the HTTP::Daemon is \
responsible for forking if that is desirable. Also note that the user is responsible for \
generating responses that conform to the HTTP/1.1 protocol."
HOMEPAGE="https://metacpan.org/pod/HTTP::Daemon"
COPYRIGHT="1995 by Gisle Aas"
LICENSE="Artistic"
REVISION="1"
SOURCE_URI="https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Daemon-$portVersion.tar.gz"
CHECKSUM_SHA256="b38d092725e6fa4e0c4dc2a47e157070491bafa0dbe16c78a358e806aa7e173d"
SOURCE_DIR="HTTP-Daemon-$portVersion"
ARCHITECTURES="any"
PROVIDES="
http_daemon = $portVersion
"
REQUIRES="
haiku
http_date
http_message
lwp_mediatypes
vendor_perl
"
BUILD_REQUIRES="
haiku_devel
module_build_tiny
"
BUILD_PREREQUIRES="
cmd:perl
"
TEST_REQUIRES="
http_date
http_message
lwp_mediatypes
test_needs
"
BUILD()
{
perl Build.PL --prefix $prefix
./Build
}
INSTALL()
{
./Build install
# remove architecture-specific files
cd $prefix
rm -r $(perl -V:vendorarch | cut -d\' -f2 | cut -d/ -f5-)
# cut extracts the quoted string and strips the prefix (which is perl's and not ours)
}
TEST()
{
./Build test
}