summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/yaws/DESCR16
-rw-r--r--www/yaws/Makefile76
-rw-r--r--www/yaws/PLIST287
-rw-r--r--www/yaws/distinfo7
-rw-r--r--www/yaws/files/yaws.conf127
-rw-r--r--www/yaws/patches/patch-ai22
-rw-r--r--www/yaws/patches/patch-configure.in18
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*)