diff options
-rw-r--r-- | www/yaws/DESCR | 16 | ||||
-rw-r--r-- | www/yaws/Makefile | 76 | ||||
-rw-r--r-- | www/yaws/PLIST | 287 | ||||
-rw-r--r-- | www/yaws/distinfo | 7 | ||||
-rw-r--r-- | www/yaws/files/yaws.conf | 127 | ||||
-rw-r--r-- | www/yaws/patches/patch-ai | 22 | ||||
-rw-r--r-- | www/yaws/patches/patch-configure.in | 18 |
7 files changed, 553 insertions, 0 deletions
diff --git a/www/yaws/DESCR b/www/yaws/DESCR new file mode 100644 index 00000000000..eeb1bc980d5 --- /dev/null +++ b/www/yaws/DESCR @@ -0,0 +1,16 @@ +Yaws is a HTTP high perfomance 1.1 webserver particularly well suited for +dynamic-content webapplications. Two separate modes of operations are +supported: + * Standalone mode where Yaws runs as a regular webserver daemon. + This is the default mode. + * Embedded mode where Yaws runs as an embedded webserver in another + erlang application. + +Yaws is entirely written in Erlang furthermore it is a multithreaded webserver +where one Erlang light weight process is used to handle each client. + +The main advantages of yaws compared to other Web technologies are performance +and elegance. The performance comes from the underlying Erlang system and its +ability to handle concurrent processes in an efficent way. Its elegance comes +from Erlang as well. Web applications dont have to be written in ugly adhoc +languages. diff --git a/www/yaws/Makefile b/www/yaws/Makefile new file mode 100644 index 00000000000..a5ec3074338 --- /dev/null +++ b/www/yaws/Makefile @@ -0,0 +1,76 @@ +# $NetBSD: Makefile,v 1.1.1.1 2011/08/26 13:46:43 cheusov Exp $ +# + +DISTNAME= yaws-1.91 +CATEGORIES= www +MASTER_SITES= http://yaws.hyber.org/download/ + +MAINTAINER= bartosz.kuzma@gmail.com +HOMEPAGE= http://yaws.hyber.org/ +COMMENT= High perfomance HTTP 1.1 webserver written in Erlang +LICENSE= modified-bsd + +BUILD_DEFS+= VARBASE + +PKG_DESTDIR_SUPPORT= user-destdir + +USE_TOOLS+= gmake perl pax autoconf +GNU_CONFIGURE= yes +AUTOCONF_REQD= 2.50 + +CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}/yaws +CONFIGURE_ARGS+= --localstatedir=${VARBASE} + +EGDIR= ${PREFIX}/share/examples/yaws +CONF_FILES= ${EGDIR}/yaws.conf ${PKG_SYSCONFDIR}/yaws/yaws.conf +RCD_SCRIPTS= yaws +RCD_SCRIPT_SRC.yaws= ${WRKSRC}/scripts/netbsd/yaws.sh + +LIBDIR= ${PREFIX}/lib/yaws +WWWDIR= ${PREFIX}/share/yaws/www +INSTALLATION_DIRS= ${EGDIR} +INSTALLATION_DIRS+= ${LIBDIR}/ebin ${LIBDIR}/include +INSTALLATION_DIRS+= ${LIBDIR}/priv ${WWWDIR} + +OWN_DIRS= ${VARBASE}/log/yaws + +REPLACE_PYTHON= www/cgi-bin/foo.py +#CHECK_INTERPRETER_SKIP= ${WWWDIR}/cgi-bin/foo.py +CHECK_INTERPRETER_SKIP= share/yaws/www/cgi-bin/foo.py + +INSTALLATION_DIRS+= bin +INSTALLATION_DIRS+= ${PKGMANDIR}/man1 +INSTALLATION_DIRS+= ${PKGMANDIR}/man5 + +post-patch: + ${RM} ${WRKDIR}/yaws + ${RM} -Rf ${WRKSRC}/www/.xvpics + ${RM} -Rf ${WRKSRC}/www/testdir + ${FIND} ${WRKSRC} -name \*.orig -o -name .empty | ${XARGS} ${RM} + +pre-configure: + cd ${WRKSRC} && autoconf + +post-configure: + ${SED} -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g" \ + -e "s|@PREFIX@|${PREFIX}|g" \ + -e "s|@VARBASE@|${VARBASE}|g" \ + ${FILESDIR}/yaws.conf > ${WRKDIR}/yaws.conf + +do-install: + ${INSTALL_SCRIPT} ${WRKSRC}/bin/yaws ${DESTDIR}${PREFIX}/bin + ${INSTALL_DATA} ${WRKDIR}/yaws.conf ${DESTDIR}${EGDIR} + + ${INSTALL_DATA} ${WRKSRC}/ebin/* ${DESTDIR}${LIBDIR}/ebin + ${INSTALL_DATA} ${WRKSRC}/include/* ${DESTDIR}${LIBDIR}/include + cd ${WRKSRC}/priv && pax -rw . ${DESTDIR}${LIBDIR}/priv + + cd ${WRKSRC}/www && pax -rw . ${DESTDIR}${WWWDIR} + + ${INSTALL_MAN} ${WRKSRC}/man/yaws.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 + ${INSTALL_MAN} ${WRKSRC}/man/*.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5 + + ${INSTALL_DATA_DIR} ${DESTDIR}${PKG_SYSCONFDIR}/yaws + +.include "../../lang/erlang/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/www/yaws/PLIST b/www/yaws/PLIST new file mode 100644 index 00000000000..7472a983c34 --- /dev/null +++ b/www/yaws/PLIST @@ -0,0 +1,287 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2011/08/26 13:46:43 cheusov Exp $ +bin/yaws +lib/yaws/ebin/authmod_gssapi.beam +lib/yaws/ebin/haxe.beam +lib/yaws/ebin/json.beam +lib/yaws/ebin/json2.beam +lib/yaws/ebin/jsonrpc.beam +lib/yaws/ebin/mime_types.beam +lib/yaws/ebin/yaws.app +lib/yaws/ebin/yaws.appup +lib/yaws/ebin/yaws.beam +lib/yaws/ebin/yaws_api.beam +lib/yaws/ebin/yaws_app.beam +lib/yaws/ebin/yaws_appmod_cgi.beam +lib/yaws/ebin/yaws_appmod_fcgi.beam +lib/yaws/ebin/yaws_cgi.beam +lib/yaws/ebin/yaws_compile.beam +lib/yaws/ebin/yaws_config.beam +lib/yaws/ebin/yaws_ctl.beam +lib/yaws/ebin/yaws_dav.beam +lib/yaws/ebin/yaws_debug.beam +lib/yaws/ebin/yaws_dime.beam +lib/yaws/ebin/yaws_exhtml.beam +lib/yaws/ebin/yaws_generated.beam +lib/yaws/ebin/yaws_html.beam +lib/yaws/ebin/yaws_jsonrpc.beam +lib/yaws/ebin/yaws_log.beam +lib/yaws/ebin/yaws_log_file_h.beam +lib/yaws/ebin/yaws_logger.beam +lib/yaws/ebin/yaws_ls.beam +lib/yaws/ebin/yaws_multipart.beam +lib/yaws/ebin/yaws_outmod.beam +lib/yaws/ebin/yaws_pam.beam +lib/yaws/ebin/yaws_revproxy.beam +lib/yaws/ebin/yaws_rpc.beam +lib/yaws/ebin/yaws_rss.beam +lib/yaws/ebin/yaws_sendfile.beam +lib/yaws/ebin/yaws_server.beam +lib/yaws/ebin/yaws_session_server.beam +lib/yaws/ebin/yaws_shaper.beam +lib/yaws/ebin/yaws_soap_lib.beam +lib/yaws/ebin/yaws_soap_srv.beam +lib/yaws/ebin/yaws_stats.beam +lib/yaws/ebin/yaws_sup.beam +lib/yaws/ebin/yaws_sup_restarts.beam +lib/yaws/ebin/yaws_ticker.beam +lib/yaws/ebin/yaws_vdir.beam +lib/yaws/ebin/yaws_websockets.beam +lib/yaws/ebin/yaws_xmlrpc.beam +lib/yaws/ebin/yaws_zlib.beam +lib/yaws/include/soap.hrl +lib/yaws/include/yaws.hrl +lib/yaws/include/yaws_api.hrl +lib/yaws/include/yaws_dav.hrl +lib/yaws/priv/envelope.xsd +lib/yaws/priv/epam +lib/yaws/priv/lib/.gitignore +lib/yaws/priv/lib/setuid_drv.so +lib/yaws/priv/mime.types +lib/yaws/priv/soap.xsd +lib/yaws/priv/wsdl.xsd +man/man1/yaws.1 +man/man5/yaws.conf.5 +man/man5/yaws_api.5 +man/man5/yaws_soap_lib.5 +share/examples/rc.d/yaws +share/examples/yaws/yaws.conf +share/yaws/www/END +share/yaws/www/END2 +share/yaws/www/HEAD +share/yaws/www/Makefile +share/yaws/www/TAB.inc +share/yaws/www/api.yaws +share/yaws/www/appmods.yaws +share/yaws/www/arg.yaws +share/yaws/www/arg2.yaws +share/yaws/www/bindings.yaws +share/yaws/www/cgi-bin/foo.py +share/yaws/www/cgi.yaws +share/yaws/www/code.yaws +share/yaws/www/code/Makefile +share/yaws/www/code/myappmod.beam +share/yaws/www/code/myappmod.erl +share/yaws/www/compile_layout.dia +share/yaws/www/compile_layout.png +share/yaws/www/configuration.yaws +share/yaws/www/contact.yaws +share/yaws/www/contributors.txt +share/yaws/www/cookies.yaws +share/yaws/www/doc.yaws +share/yaws/www/dynamic.yaws +share/yaws/www/embed.yaws +share/yaws/www/examples.yaws +share/yaws/www/favicon.ico +share/yaws/www/form.yaws +share/yaws/www/haxe_intro.yaws +share/yaws/www/haxe_sample.html +share/yaws/www/haxe_sample.yaws +share/yaws/www/icons/README +share/yaws/www/icons/a.gif +share/yaws/www/icons/alert.black.gif +share/yaws/www/icons/alert.red.gif +share/yaws/www/icons/apache_pb.gif +share/yaws/www/icons/back.gif +share/yaws/www/icons/ball.gray.gif +share/yaws/www/icons/ball.red.gif +share/yaws/www/icons/binary.gif +share/yaws/www/icons/binhex.gif +share/yaws/www/icons/blank.gif +share/yaws/www/icons/bomb.gif +share/yaws/www/icons/box1.gif +share/yaws/www/icons/box2.gif +share/yaws/www/icons/broken.gif +share/yaws/www/icons/burst.gif +share/yaws/www/icons/c.gif +share/yaws/www/icons/comp.blue.gif +share/yaws/www/icons/comp.gray.gif +share/yaws/www/icons/compressed.gif +share/yaws/www/icons/continued.gif +share/yaws/www/icons/dir.gif +share/yaws/www/icons/down.gif +share/yaws/www/icons/dvi.gif +share/yaws/www/icons/erl.gif +share/yaws/www/icons/f.gif +share/yaws/www/icons/folder.gif +share/yaws/www/icons/folder.open.gif +share/yaws/www/icons/folder.sec.gif +share/yaws/www/icons/forward.gif +share/yaws/www/icons/generic.gif +share/yaws/www/icons/generic.red.gif +share/yaws/www/icons/generic.sec.gif +share/yaws/www/icons/gnu-head-tiny.jpg +share/yaws/www/icons/hand.right.gif +share/yaws/www/icons/hand.up.gif +share/yaws/www/icons/hrl.gif +share/yaws/www/icons/icon.sheet.gif +share/yaws/www/icons/image1.gif +share/yaws/www/icons/image2.gif +share/yaws/www/icons/image3.gif +share/yaws/www/icons/index.gif +share/yaws/www/icons/layout.gif +share/yaws/www/icons/left.gif +share/yaws/www/icons/link.gif +share/yaws/www/icons/mailman-large.jpg +share/yaws/www/icons/mailman.jpg +share/yaws/www/icons/movie.gif +share/yaws/www/icons/p.gif +share/yaws/www/icons/patch.gif +share/yaws/www/icons/pdf.gif +share/yaws/www/icons/php4.gif +share/yaws/www/icons/pie0.gif +share/yaws/www/icons/pie1.gif +share/yaws/www/icons/pie2.gif +share/yaws/www/icons/pie3.gif +share/yaws/www/icons/pie4.gif +share/yaws/www/icons/pie5.gif +share/yaws/www/icons/pie6.gif +share/yaws/www/icons/pie7.gif +share/yaws/www/icons/pie8.gif +share/yaws/www/icons/portal.gif +share/yaws/www/icons/ps.gif +share/yaws/www/icons/quill.gif +share/yaws/www/icons/right.gif +share/yaws/www/icons/screw1.gif +share/yaws/www/icons/screw2.gif +share/yaws/www/icons/script.gif +share/yaws/www/icons/small/README.txt +share/yaws/www/icons/small/back.gif +share/yaws/www/icons/small/binary.gif +share/yaws/www/icons/small/binhex.gif +share/yaws/www/icons/small/blank.gif +share/yaws/www/icons/small/broken.gif +share/yaws/www/icons/small/burst.gif +share/yaws/www/icons/small/comp1.gif +share/yaws/www/icons/small/comp2.gif +share/yaws/www/icons/small/compressed.gif +share/yaws/www/icons/small/continued.gif +share/yaws/www/icons/small/dir.gif +share/yaws/www/icons/small/dir2.gif +share/yaws/www/icons/small/doc.gif +share/yaws/www/icons/small/forward.gif +share/yaws/www/icons/small/generic.gif +share/yaws/www/icons/small/generic2.gif +share/yaws/www/icons/small/generic3.gif +share/yaws/www/icons/small/image.gif +share/yaws/www/icons/small/image2.gif +share/yaws/www/icons/small/index.gif +share/yaws/www/icons/small/key.gif +share/yaws/www/icons/small/movie.gif +share/yaws/www/icons/small/patch.gif +share/yaws/www/icons/small/ps.gif +share/yaws/www/icons/small/rainbow.gif +share/yaws/www/icons/small/sound.gif +share/yaws/www/icons/small/sound2.gif +share/yaws/www/icons/small/tar.gif +share/yaws/www/icons/small/text.gif +share/yaws/www/icons/small/transfer.gif +share/yaws/www/icons/small/unknown.gif +share/yaws/www/icons/small/uu.gif +share/yaws/www/icons/sound1.gif +share/yaws/www/icons/sound2.gif +share/yaws/www/icons/sphere1.gif +share/yaws/www/icons/sphere2.gif +share/yaws/www/icons/tar.gif +share/yaws/www/icons/tex.gif +share/yaws/www/icons/text.gif +share/yaws/www/icons/transfer.gif +share/yaws/www/icons/unknown.gif +share/yaws/www/icons/up.gif +share/yaws/www/icons/uu.gif +share/yaws/www/icons/uuencoded.gif +share/yaws/www/icons/world1.gif +share/yaws/www/icons/world2.gif +share/yaws/www/icons/yaws.gif +share/yaws/www/icons/yawsY.gif +share/yaws/www/icons/yaws_head.gif +share/yaws/www/icons/yaws_pb.gif +share/yaws/www/icons/yaws_y.gif +share/yaws/www/index.yaws +share/yaws/www/internals.yaws +share/yaws/www/jsolait/jsolait.js +share/yaws/www/jsolait/lib/jsonrpc.js +share/yaws/www/jsolait/lib/urllib.js +share/yaws/www/json_intro.yaws +share/yaws/www/json_sample.html +share/yaws/www/json_sample.yaws +share/yaws/www/man.yaws +share/yaws/www/motivation.yaws +share/yaws/www/news +share/yaws/www/pcookie.yaws +share/yaws/www/post.yaws +share/yaws/www/privbind.yaws +share/yaws/www/process_tree.dia +share/yaws/www/process_tree.png +share/yaws/www/query.yaws +share/yaws/www/readcookie.yaws +share/yaws/www/readpcookie.yaws +share/yaws/www/redirect.yaws +share/yaws/www/redirect2.yaws +share/yaws/www/redirect3.yaws +share/yaws/www/redirect4.yaws +share/yaws/www/session.yaws +share/yaws/www/session1.yaws +share/yaws/www/setcookie.yaws +share/yaws/www/setpcookie.yaws +share/yaws/www/shoppingcart/Makefile +share/yaws/www/shoppingcart/buy.yaws +share/yaws/www/shoppingcart/index.yaws +share/yaws/www/shoppingcart/junk.jpg +share/yaws/www/shoppingcart/loginpost.yaws +share/yaws/www/shoppingcart/logout.yaws +share/yaws/www/shoppingcart/shopcart.beam +share/yaws/www/shoppingcart/shopcart.erl +share/yaws/www/shoppingcart/shopcart_form.yaws +share/yaws/www/shoppingcart/source.html +share/yaws/www/shoppingcart/style.css +share/yaws/www/simple.yaws +share/yaws/www/simple_ex1.yaws +share/yaws/www/simple_ex2.yaws +share/yaws/www/simple_ex3.yaws +share/yaws/www/simple_ex4.yaws +share/yaws/www/small.yaws +share/yaws/www/soap_intro.yaws +share/yaws/www/spacer.gif +share/yaws/www/ssi.yaws +share/yaws/www/ssi/dynamic.1 +share/yaws/www/ssi/dynamic.2 +share/yaws/www/ssi/dynamic.3 +share/yaws/www/ssi_ex1 +share/yaws/www/static.html +share/yaws/www/stats_ex.yaws +share/yaws/www/stil.css +share/yaws/www/stream.yaws +share/yaws/www/todo.yaws +share/yaws/www/upload.yaws +share/yaws/www/upload0.yaws +share/yaws/www/urandom.yaws +share/yaws/www/urandom_from_pid.yaws +share/yaws/www/websockets.yaws +share/yaws/www/websockets_example.yaws +share/yaws/www/websockets_example_endpoint.yaws +share/yaws/www/yapp_intro.yaws +share/yaws/www/yaws-1.55_to_1.56.patch +share/yaws/www/ybed.erl +share/yaws/www/ybed_sup.erl +share/yaws/www/yman.yaws +@pkgdir etc/yaws diff --git a/www/yaws/distinfo b/www/yaws/distinfo new file mode 100644 index 00000000000..08cf6840402 --- /dev/null +++ b/www/yaws/distinfo @@ -0,0 +1,7 @@ +$NetBSD: distinfo,v 1.1.1.1 2011/08/26 13:46:43 cheusov Exp $ + +SHA1 (yaws-1.91.tar.gz) = 832665fd306ea19a433e3085055f39a5124205ef +RMD160 (yaws-1.91.tar.gz) = 62fe994fe40b136c53d5b3b0ae62c134feeba39c +Size (yaws-1.91.tar.gz) = 878620 bytes +SHA1 (patch-ai) = fff8d3007722922d1b40ab579817626616740be6 +SHA1 (patch-configure.in) = 0592a6c78f4b16c30dc0737b600f806cbd97fa45 diff --git a/www/yaws/files/yaws.conf b/www/yaws/files/yaws.conf new file mode 100644 index 00000000000..0518940025d --- /dev/null +++ b/www/yaws/files/yaws.conf @@ -0,0 +1,127 @@ +# conf for yaws + +# first we have a set of globals +# That apply to all virtual servers + +# This is the directory where all logfiles for +# all virtual servers will be written + +logdir = @VARBASE@/log/yaws + +# This the path to a directory where additional +# beam code can be placed. The daemon will add this +# directory to its search path + +ebin_dir = @PREFIX@/lib/yaws/ebin + +# This is a directory where application specific .hrl +# files can be placed. application specifig .yaws code can +# then include these .hrl files + +include_dir = @PREFIX@/lib/yaws/include + +# This is a debug variable, possible values are http | traffic | false +# It is also possible to set the trace (possibly to the tty) while +# invoking yaws from the shell as in +# yaws -i -T -x (see man yaws) + +trace = false + +# it is possible to have yaws start additional +# application specific code at startup +# +# runmod = mymodule + +# By default yaws will copy the erlang error_log and +# end write it to a wrap log called report.log (in the logdir) +# this feature can be turned off. This would typically +# be the case when yaws runs within another larger app + +copy_error_log = true + +# Logs are wrap logs + +log_wrap_size = 1000000 + +# Possibly resolve all hostnames in logfiles so webalizer +# can produce the nice geography piechart + +log_resolve_hostname = false + +# fail completely or not if yaws fails +# to bind a listen socket +fail_on_bind_err = true + +# If yaws is started as root, it can, once it has opened +# all relevant sockets for listening, change the uid to a +# user with lower accessrights than root + +# username = nobody + +# If HTTP auth is used, it is possible to have a specific +# auth log. + +auth_log = true + +# When we're running multiple yaws systems on the same +# host, we need to give each yaws system an individual +# name. Yaws will write a number of runtime files under +# /tmp/yaws/${id} +# The default value is "default" + +# id = myname + +# earlier versions of Yaws picked the first virtual host +# in a list of hosts with the same IP/PORT when the Host: +# header doesn't match any name on any Host +# This is often nice in testing environments but not +# acceptable in real live hosting scenarios + +pick_first_virthost_on_nomatch = true + +# All unices are broken since it's not possible to bind to +# a privileged port (< 1024) unless uid==0 +# There is a contrib in jungerl which makes it possible by means +# of an external setuid root programm called fdsrv to listen to +# to privileged port. +# If we use this feature, it requires fdsrv to be properly installed. +# Doesn't yet work with SSL. + +use_fdsrv = false + +# end then a set of virtual servers +# First two virthosted servers on the same IP (0.0.0.0) +# in this case, but an explicit IP can be given as well + +<server localhost> + port = 80 + listen = 0.0.0.0 + docroot = @PREFIX@/share/yaws/www +</server> + +#<server localhost-dav> +# port = 80 +# listen = 0.0.0.0 +# docroot = /tmp +# dir_listings = true +# dav = true +# <auth> +# realm = foobar +# dir = / +# user = foo:bar +# user = baz:bar +# </auth> +#</server> + +# And then an ssl server + +#<server localhost-ssl> +# port = 443 +# docroot = @PREFIX@/share/yaws/www +# listen = 0.0.0.0 +# dir_listings = true +# <ssl> +# keyfile = @PKG_SYSCONFDIR@/yaws/yaws-key.pem +# certfile = @PKG_SYSCONFDIR@/yaws/yaws-cert.pem +# </ssl> +#</server> diff --git a/www/yaws/patches/patch-ai b/www/yaws/patches/patch-ai new file mode 100644 index 00000000000..653e1ef42db --- /dev/null +++ b/www/yaws/patches/patch-ai @@ -0,0 +1,22 @@ +$NetBSD: patch-ai,v 1.1.1.1 2011/08/26 13:46:43 cheusov Exp $ + +Replace '%var%' with '@VAR@' +--- scripts/netbsd/yaws.sh.orig 2009-07-05 22:20:13.000000000 +0400 ++++ scripts/netbsd/yaws.sh 2009-10-01 03:53:05.000000000 +0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!@RCD_SCRIPTS_SHELL@ + # + + # +@@ -19,8 +19,8 @@ + + name="yaws" + rcvar=$name +-yaws_command="%prefix%bin/${name}" +-required_files="%etcdir%yaws/yaws.conf" ++yaws_command="@PREFIX@/bin/${name}" ++required_files="@PKG_SYSCONFDIR@/yaws/yaws.conf" + + start_cmd="yaws_start" + stop_cmd="yaws_stop" diff --git a/www/yaws/patches/patch-configure.in b/www/yaws/patches/patch-configure.in new file mode 100644 index 00000000000..b5e5ffb5422 --- /dev/null +++ b/www/yaws/patches/patch-configure.in @@ -0,0 +1,18 @@ +$NetBSD: patch-configure.in,v 1.1.1.1 2011/08/26 13:46:43 cheusov Exp $ + +Support for DragonflyBSD +--- configure.in.orig 2011-08-02 13:43:09 +0000 ++++ configure.in +@@ -253,10 +253,10 @@ case "$host_os" in + AC_SUBST(FPIC) + ;; + +- *bsd*) ++ *bsd*|*dragonfly*) + AC_DEFINE(BSD) + case "$host_os" in +- freebsd*) ++ freebsd*|dragonfly*) + HAVE_SENDFILE=true + ;; + bsdi*) |