summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-dotnet/xsp/Manifest2
-rw-r--r--dev-dotnet/xsp/files/2.2/mod-mono-server-r1.initd83
-rw-r--r--dev-dotnet/xsp/files/2.2/mod-mono-server.confd34
-rw-r--r--dev-dotnet/xsp/files/2.2/mod-mono-server.initd81
-rw-r--r--dev-dotnet/xsp/files/2.2/xsp.confd12
-rw-r--r--dev-dotnet/xsp/files/2.2/xsp.initd38
-rw-r--r--dev-dotnet/xsp/files/aclocal-fix.patch13
-rw-r--r--dev-dotnet/xsp/files/xsp-2.10.2-endrequest.patch35
-rw-r--r--dev-dotnet/xsp/metadata.xml9
-rw-r--r--dev-dotnet/xsp/xsp-2.10.2-r2.ebuild51
-rw-r--r--dev-dotnet/xsp/xsp-2014.11.ebuild65
11 files changed, 423 insertions, 0 deletions
diff --git a/dev-dotnet/xsp/Manifest b/dev-dotnet/xsp/Manifest
new file mode 100644
index 000000000000..fdfa0372f10e
--- /dev/null
+++ b/dev-dotnet/xsp/Manifest
@@ -0,0 +1,2 @@
+DIST 2014.11.tar.gz 308009 SHA256 6378f0167dc09aaf8f48874b4f9ece3d41d375b168f0cb86a1b2cf52ee937376 SHA512 68e127e1d33da6f7fdcbf2586a48b2da32b1931558e637f10ba6b86cd7e6bf4ad67fc47cfa68703eb65964c270616a04da3eb9f2df14974ecdaa7b979f7fc9b6 WHIRLPOOL 143540614e0c7e509257d3391b06af231acd8732c5528134e4cc6c76a7812531e8f8c6b6059993e1dcd5fcc7516ed44accf44e8e1e4e8917f77ee65dde459815
+DIST xsp-2.10.2.tar.bz2 284801 SHA256 f4657f724167244d9baedf94e1d5747b8f1f53c339c7a11897154c1eb1289d4e SHA512 9b49e3a712e062b9a272e72609eda3cb8139127bc9780d6374a3567f51f15f38233f92252c2e4c22778b1841de66855dfe6a8cf81c97c6ebbf84f71dda0d43dd WHIRLPOOL fce613fedf164f7cd4cf0bae622884a4f7b6747e249d965c4ea23997586371b6a588ad96d66bcc5c6e74f98b76de3f374cd676de164ba1f3a889e4b00b8b6dcc
diff --git a/dev-dotnet/xsp/files/2.2/mod-mono-server-r1.initd b/dev-dotnet/xsp/files/2.2/mod-mono-server-r1.initd
new file mode 100644
index 000000000000..6ce6a60bcec2
--- /dev/null
+++ b/dev-dotnet/xsp/files/2.2/mod-mono-server-r1.initd
@@ -0,0 +1,83 @@
+#!/sbin/runscript
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id: mod-mono-server-r1.initd,v 1.1 2012/01/22 12:54:29 pacho Exp $
+
+depend() {
+ use net
+ after dotnet
+}
+
+start() {
+ [ -z "$MonoServerRootDir" ] && \
+ MonoServerRootDir="/usr/lib/xsp/test"
+ [ -z "$MonoApplications" ] && \
+ MonoApplications="/mono:/usr/lib/xsp/test,/:."
+ [ -z "$UnixSocketFileName" ] && \
+ UnixSocketFileName="/tmp/mod_mono_server"
+ [ -z "$MonoServerAddress" ] && \
+ MonoServerAddress=127.0.0.1
+ [ -z "$MonoServerPort" ] && \
+ MonoServerPort=8080
+ [ -z "$MonoServerVersion" ] && \
+ MonoServerVersion=1
+
+ MONO_SERVER_OPTS="--root ${MonoServerRootDir} \
+--applications ${MonoApplications} --nonstop"
+
+ [ -n "$MonoApplicationsConfigDir" ] && \
+ MONO_SERVER_OPTS="${MONO_SERVER_OPTS} \
+--appconfigdir ${MonoApplicationsConfigDir}"
+
+ case "$MonoServerChannel" in
+ "tcp" )
+ MONO_SERVER_OPTS="${MONO_SERVER_OPTS} \
+--address ${MonoServerAddress} --port ${MonoServerPort}"
+ ;;
+
+ "unix" )
+ [ -f "$UnixSocketFileName" ] && rm -f $UnixSocketFileName
+ MONO_SERVER_OPTS="${MONO_SERVER_OPTS} \
+--filename ${UnixSocketFileName}"
+ ;;
+
+ * )
+ eerror "Please set a valid value for MonoServerChannel"
+ return 1
+ ;;
+ esac
+
+ if [ ${MonoServerVersion} -eq 1 ]; then
+ modmonoserverpath=1.0/mod-mono-server.exe
+ elif [ ${MonoServerVersion} -eq 2 ]; then
+ modmonoserverpath=2.0/mod-mono-server2.exe
+ elif [ ${MonoServerVersion} -eq 4 ]; then
+ modmonoserverpath=4.0/mod-mono-server4.exe
+ else
+ eerror "MonoServerVersion was not properly set. Check your /etc/conf.d/mod-mono-server"
+ return 1
+ fi
+
+ export MONO_SHARED_DIR=/tmp
+
+ ebegin "Starting mod-mono-server"
+
+ start-stop-daemon --quiet --start \
+ --background \
+ --make-pidfile \
+ --pidfile /var/run/aspnet/mod-mono-server.pid \
+ --user aspnet \
+ --exec /usr/bin/mono /usr/lib/mono/${modmonoserverpath} \
+ -- $MONO_SERVER_OPTS
+
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping mod-mono-server"
+
+ start-stop-daemon --quiet --stop \
+ --pidfile /var/run/aspnet/mod-mono-server.pid
+
+ eend $?
+}
diff --git a/dev-dotnet/xsp/files/2.2/mod-mono-server.confd b/dev-dotnet/xsp/files/2.2/mod-mono-server.confd
new file mode 100644
index 000000000000..7cefdbea49b4
--- /dev/null
+++ b/dev-dotnet/xsp/files/2.2/mod-mono-server.confd
@@ -0,0 +1,34 @@
+# Config file for /etc/init.d/mod-mono-server
+# $Id: mod-mono-server.confd,v 1.1 2009/01/18 17:44:04 loki_val Exp $
+
+# Configuration directives for mod-mono-server.exe. For more information on
+# these variables, see the man page for xsp(1).
+
+# This is the document root; trailing slash is not necessary
+#MonoServerRootDir="/usr/lib/xsp/test"
+
+# Directory to search for files with an `.webapp' extension.
+#MonoApplicationsConfigDir="/usr/lib/xsp/test"
+
+# Comma separated list of directories (in the form virtual:real) for all
+# applications managed by the server. For example:
+# /app1:/var/www/localhost/htdocs/app1,/app2:/var/www/localhost/htdocs/app2
+MonoApplications="/mono:/usr/lib/xsp/test"
+
+# The communication channel used between mod-mono-server and mod_mono.
+# unix - A unix socket
+# tcp - A TCP connection
+MonoServerChannel="unix"
+
+# When the comm. channel is "unix", the local filename used by the socket.
+UnixSocketFileName="/tmp/mod_mono_server"
+
+# When the comm. channel is "tcp", IP address for the server to listen on.
+#MonoServerAddress=127.0.0.1
+
+# When the comm. channel is "tcp", port for the server to listen on.
+#MonoServerPort=8080
+
+# If you want to host .NET 2.0 applications you have to set this to 2.
+# Otherwise, leave it unchaged
+MonoServerVersion=1
diff --git a/dev-dotnet/xsp/files/2.2/mod-mono-server.initd b/dev-dotnet/xsp/files/2.2/mod-mono-server.initd
new file mode 100644
index 000000000000..49119e5af497
--- /dev/null
+++ b/dev-dotnet/xsp/files/2.2/mod-mono-server.initd
@@ -0,0 +1,81 @@
+#!/sbin/runscript
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id: mod-mono-server.initd,v 1.1 2009/01/18 17:44:04 loki_val Exp $
+
+depend() {
+ use net
+ after dotnet
+}
+
+start() {
+ [ -z "$MonoServerRootDir" ] && \
+ MonoServerRootDir="/usr/lib/xsp/test"
+ [ -z "$MonoApplications" ] && \
+ MonoApplications="/mono:/usr/lib/xsp/test,/:."
+ [ -z "$UnixSocketFileName" ] && \
+ UnixSocketFileName="/tmp/mod_mono_server"
+ [ -z "$MonoServerAddress" ] && \
+ MonoServerAddress=127.0.0.1
+ [ -z "$MonoServerPort" ] && \
+ MonoServerPort=8080
+ [ -z "$MonoServerVersion" ] && \
+ MonoServerVersion=1
+
+ MONO_SERVER_OPTS="--root ${MonoServerRootDir} \
+--applications ${MonoApplications} --nonstop"
+
+ [ -n "$MonoApplicationsConfigDir" ] && \
+ MONO_SERVER_OPTS="${MONO_SERVER_OPTS} \
+--appconfigdir ${MonoApplicationsConfigDir}"
+
+ case "$MonoServerChannel" in
+ "tcp" )
+ MONO_SERVER_OPTS="${MONO_SERVER_OPTS} \
+--address ${MonoServerAddress} --port ${MonoServerPort}"
+ ;;
+
+ "unix" )
+ [ -f "$UnixSocketFileName" ] && rm -f $UnixSocketFileName
+ MONO_SERVER_OPTS="${MONO_SERVER_OPTS} \
+--filename ${UnixSocketFileName}"
+ ;;
+
+ * )
+ eerror "Please set a valid value for MonoServerChannel"
+ return 1
+ ;;
+ esac
+
+ if [ ${MonoServerVersion} -eq 1 ]; then
+ modmonoserverpath=1.0/mod-mono-server.exe
+ elif [ ${MonoServerVersion} -eq 2 ]; then
+ modmonoserverpath=2.0/mod-mono-server2.exe
+ else
+ eerror "MonoServerVersion was not properly set. Check your /etc/conf.d/xsp"
+ return 1
+ fi
+
+ export MONO_SHARED_DIR=/tmp
+
+ ebegin "Starting mod-mono-server"
+
+ start-stop-daemon --quiet --start \
+ --background \
+ --make-pidfile \
+ --pidfile /var/run/aspnet/mod-mono-server.pid \
+ --chuid aspnet \
+ --exec /usr/bin/mono /usr/lib/mono/${modmonoserverpath} \
+ -- $MONO_SERVER_OPTS
+
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping mod-mono-server"
+
+ start-stop-daemon -o --quiet --stop \
+ --pidfile /var/run/aspnet/mod-mono-server.pid
+
+ eend $?
+}
diff --git a/dev-dotnet/xsp/files/2.2/xsp.confd b/dev-dotnet/xsp/files/2.2/xsp.confd
new file mode 100644
index 000000000000..45a79a52bb63
--- /dev/null
+++ b/dev-dotnet/xsp/files/2.2/xsp.confd
@@ -0,0 +1,12 @@
+# Config file for /etc/init.d/xsp
+# $Id: xsp.confd,v 1.1 2009/01/18 17:44:04 loki_val Exp $
+
+# This is the document root; trailing slash is not necessary
+MonoServerRoot=/usr/lib/xsp/test
+
+# Port for the server to run on
+MonoServerPort=8000
+
+# If you want to host .NET 2.0 applications you have to set this to 2.
+# Otherwise, leave it unchanged
+MonoServerVersion=1
diff --git a/dev-dotnet/xsp/files/2.2/xsp.initd b/dev-dotnet/xsp/files/2.2/xsp.initd
new file mode 100644
index 000000000000..0432bca7d36e
--- /dev/null
+++ b/dev-dotnet/xsp/files/2.2/xsp.initd
@@ -0,0 +1,38 @@
+#!/sbin/runscript
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id: xsp.initd,v 1.1 2009/01/18 17:44:04 loki_val Exp $
+
+depend() {
+ need net
+ after dotnet
+}
+
+start() {
+ ebegin "Starting xsp"
+
+ if [ ${MonoServerVersion} -eq 1 ]; then
+ xsppath=1.0/xsp.exe
+ elif [ ${MonoServerVersion} -eq 2 ]; then
+ xsppath=2.0/xsp2.exe
+ else
+ eerror "MonoServerVersion was not properly set. Check your config file"
+ return 1
+ fi
+
+ start-stop-daemon --quiet --start \
+ --background \
+ --make-pidfile \
+ --pidfile /var/run/aspnet/xsp.pid \
+ --chuid aspnet \
+ --exec /usr/bin/mono /usr/lib/mono/${xsppath} -- --root ${MonoServerRoot} --port ${MonoServerPort} --nonstop
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping xsp"
+ start-stop-daemon -o --quiet --stop \
+ --pidfile /var/run/aspnet/xsp.pid
+ eend $?
+}
+
diff --git a/dev-dotnet/xsp/files/aclocal-fix.patch b/dev-dotnet/xsp/files/aclocal-fix.patch
new file mode 100644
index 000000000000..49a00050fe8d
--- /dev/null
+++ b/dev-dotnet/xsp/files/aclocal-fix.patch
@@ -0,0 +1,13 @@
+--- Makefile_old.am 2013-07-30 09:11:50.033962122 +0400
++++ Makefile.am 2013-07-30 09:12:20.843574793 +0400
+@@ -1,10 +1,2 @@
+ SUBDIRS=build man src test tools scripts packaging lib
+ ACLOCAL_AMFLAGS += -I build/m4
+-
+-if UNITTESTS
+-SUBDIRS += unittests
+-endif
+-
+-if BUILD_DOCS
+-SUBDIRS += docs
+-endif
diff --git a/dev-dotnet/xsp/files/xsp-2.10.2-endrequest.patch b/dev-dotnet/xsp/files/xsp-2.10.2-endrequest.patch
new file mode 100644
index 000000000000..ff702d3faa59
--- /dev/null
+++ b/dev-dotnet/xsp/files/xsp-2.10.2-endrequest.patch
@@ -0,0 +1,35 @@
+From d2c4a279942a4575b80618719646d0767c077e96 Mon Sep 17 00:00:00 2001
+From: Guillaume Pitel <guillaume.pitel@exensa.com>
+Date: Tue, 6 Mar 2012 17:20:24 +0100
+Subject: [PATCH] Added try/catch around EndRequest Record sending (Bug 3765
+ https://bugzilla.xamarin.com/show_bug.cgi?id=3765)
+
+---
+ src/Mono.WebServer.FastCgi/Connection.cs | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/src/Mono.WebServer.FastCgi/Connection.cs b/src/Mono.WebServer.FastCgi/Connection.cs
+index 6c70824..0e9ef64 100644
+--- a/src/Mono.WebServer.FastCgi/Connection.cs
++++ b/src/Mono.WebServer.FastCgi/Connection.cs
+@@ -319,10 +319,13 @@ public void Run ()
+ {
+ EndRequestBody body = new EndRequestBody (appStatus,
+ protocolStatus);
+-
+- if (IsConnected)
+- new Record (1, RecordType.EndRequest, requestID,
+- body.GetData ()).Send (socket);
++ try {
++ if (IsConnected)
++ new Record (1, RecordType.EndRequest, requestID,
++ body.GetData ()).Send (socket);
++ } catch (System.Net.Sockets.SocketException) {
++ }
++
+
+ int index = GetRequestIndex (requestID);
+
+--
+1.7.10
+
diff --git a/dev-dotnet/xsp/metadata.xml b/dev-dotnet/xsp/metadata.xml
new file mode 100644
index 000000000000..c264edab779b
--- /dev/null
+++ b/dev-dotnet/xsp/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>dotnet</herd>
+ <longdescription lang="en">
+ XSP is a standalone web server written in C# that can be used to run
+ your ASP.NET applications.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-dotnet/xsp/xsp-2.10.2-r2.ebuild b/dev-dotnet/xsp/xsp-2.10.2-r2.ebuild
new file mode 100644
index 000000000000..dcf35279a672
--- /dev/null
+++ b/dev-dotnet/xsp/xsp-2.10.2-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+inherit eutils go-mono mono user
+
+PATCHDIR="${FILESDIR}/2.2/"
+
+DESCRIPTION="XSP is a small web server that can host ASP.NET pages"
+HOMEPAGE="http://www.mono-project.com/ASP.NET"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+IUSE=""
+
+RDEPEND="dev-db/sqlite:3"
+DEPEND="${RDEPEND}"
+
+MAKEOPTS="${MAKEOPTS} -j1"
+
+src_prepare() {
+ # Added try/catch around EndRequest Record sending, bug #432750
+ epatch "${FILESDIR}/${PN}-2.10.2-endrequest.patch"
+}
+
+src_configure() {
+ default
+}
+
+pkg_preinst() {
+ enewgroup aspnet
+ # Give aspnet home dir of /tmp since it must create ~/.wapi
+ enewuser aspnet -1 -1 /tmp aspnet
+}
+
+src_install() {
+ mv_command="cp -ar" go-mono_src_install
+ newinitd "${PATCHDIR}"/xsp.initd xsp
+ newinitd "${PATCHDIR}"/mod-mono-server-r1.initd mod-mono-server
+ newconfd "${PATCHDIR}"/xsp.confd xsp
+ newconfd "${PATCHDIR}"/mod-mono-server.confd mod-mono-server
+
+ keepdir /var/run/aspnet
+}
+
+pkg_postinst() {
+ chown aspnet:aspnet /var/run/aspnet
+}
diff --git a/dev-dotnet/xsp/xsp-2014.11.ebuild b/dev-dotnet/xsp/xsp-2014.11.ebuild
new file mode 100644
index 000000000000..c1b957baebb0
--- /dev/null
+++ b/dev-dotnet/xsp/xsp-2014.11.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PATCHDIR="${FILESDIR}/2.2/"
+
+inherit base eutils dotnet user autotools autotools-utils
+
+DESCRIPTION="XSP is a small web server that can host ASP.NET pages"
+HOMEPAGE="http://www.mono-project.com/ASP.NET"
+SRC_URI="https://github.com/Heather/xsp/archive/2014.11.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-db/sqlite:3"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${P}
+
+src_prepare() {
+ epatch "${FILESDIR}/aclocal-fix.patch"
+
+ if [ -z "$LIBTOOL" ]; then
+ LIBTOOL=`which glibtool 2>/dev/null`
+ if [ ! -x "$LIBTOOL" ]; then
+ LIBTOOL=`which libtool`
+ fi
+ fi
+ eaclocal -I build/m4/shamrock -I build/m4/shave $ACLOCAL_FLAGS
+ if test -z "$NO_LIBTOOLIZE"; then
+ ${LIBTOOL}ize --force --copy
+ fi
+ eautoconf
+}
+
+src_configure() {
+ myeconfargs=("--enable-maintainer-mode")
+ use test && myeconfargs+=("--with_unit_tests")
+ use doc || myeconfargs+=("--disable-docs")
+ eautomake --gnu --add-missing --force --copy #nowarn
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+}
+
+pkg_preinst() {
+ enewgroup aspnet
+ enewuser aspnet -1 -1 /tmp aspnet
+}
+
+src_install() {
+ mv_command="cp -ar" autotools-utils_src_install
+ newinitd "${PATCHDIR}"/xsp.initd xsp
+ newinitd "${PATCHDIR}"/mod-mono-server-r1.initd mod-mono-server
+ newconfd "${PATCHDIR}"/xsp.confd xsp
+ newconfd "${PATCHDIR}"/mod-mono-server.confd mod-mono-server
+
+ keepdir /var/run/aspnet
+}