summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-servers/hiawatha')
-rw-r--r--www-servers/hiawatha/Manifest1
-rw-r--r--www-servers/hiawatha/files/hiawatha-9.5-cflags.patch17
-rw-r--r--www-servers/hiawatha/files/hiawatha.initd26
-rw-r--r--www-servers/hiawatha/files/hiawatha.service9
-rw-r--r--www-servers/hiawatha/hiawatha-9.8.ebuild90
-rw-r--r--www-servers/hiawatha/metadata.xml18
6 files changed, 161 insertions, 0 deletions
diff --git a/www-servers/hiawatha/Manifest b/www-servers/hiawatha/Manifest
new file mode 100644
index 00000000000..b32d151f130
--- /dev/null
+++ b/www-servers/hiawatha/Manifest
@@ -0,0 +1 @@
+DIST hiawatha-9.8.tar.gz 888977 SHA256 6fe9bd408361bc07b47fe6eeaf98d6b644e1cd258b3470da3e70aba510e83b64 SHA512 f55b6065e0dd1dab11ccbbb44e981944aab5b542077fc2b4a03ec8c055be80bedb7b639fe9c52ccf0fc279648b9f4bfc0cbfa018b195b155907810bdfc4ec51a WHIRLPOOL 342c19df23dbe4eef7056f2424d53badede5a8dcf8bb713e7d3892f21e1061ae5e1a0c985f1fc824b10f25eb9fcc9cf0cbf8d384240bf814df4f9dca45dd96f2
diff --git a/www-servers/hiawatha/files/hiawatha-9.5-cflags.patch b/www-servers/hiawatha/files/hiawatha-9.5-cflags.patch
new file mode 100644
index 00000000000..4ff33cd0d12
--- /dev/null
+++ b/www-servers/hiawatha/files/hiawatha-9.5-cflags.patch
@@ -0,0 +1,17 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Fri May 23 16:59:33 UTC 2014
+Subject: make optimization level build-type dependant
+
+--- hiawatha-9.5/CMakeLists.txt
++++ hiawatha-9.5/CMakeLists.txt
+@@ -2,7 +2,9 @@
+ project(Hiawatha C)
+
+ # Compiler
+-set(CMAKE_C_FLAGS "-O2 -Wall -Wextra ${CMAKE_C_FLAGS}")
++set(CMAKE_C_FLAGS "-Wall -Wextra ${CMAKE_C_FLAGS}")
++set(CMAKE_C_FLAGS_RELEASE "-O2")
++set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2")
+ set(CMAKE_BUILD_TYPE "RelWithDebInfo")
+
+ # Options
diff --git a/www-servers/hiawatha/files/hiawatha.initd b/www-servers/hiawatha/files/hiawatha.initd
new file mode 100644
index 00000000000..36720dc2627
--- /dev/null
+++ b/www-servers/hiawatha/files/hiawatha.initd
@@ -0,0 +1,26 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon \
+ --start \
+ --exec "/usr/sbin/hiawatha" \
+ --pidfile "/var/run/hiawatha.pid"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon \
+ --stop \
+ --exec "/usr/sbin/hiawatha" \
+ --pidfile "/var/run/hiawatha.pid"
+ eend $?
+}
diff --git a/www-servers/hiawatha/files/hiawatha.service b/www-servers/hiawatha/files/hiawatha.service
new file mode 100644
index 00000000000..35e740b7e39
--- /dev/null
+++ b/www-servers/hiawatha/files/hiawatha.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Hiawatha webserver
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/hiawatha -d
+
+[Install]
+WantedBy=multi-user.target
diff --git a/www-servers/hiawatha/hiawatha-9.8.ebuild b/www-servers/hiawatha/hiawatha-9.8.ebuild
new file mode 100644
index 00000000000..37ebe249223
--- /dev/null
+++ b/www-servers/hiawatha/hiawatha-9.8.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# ssl USE flag currently broken, unconditionally enabled
+# rproxy USE flag broken too, unconditionally enabled
+
+EAPI=5
+
+CMAKE_MIN_VERSION="2.8.4"
+
+inherit cmake-utils systemd user
+
+DESCRIPTION="Advanced and secure webserver"
+HOMEPAGE="http://www.hiawatha-webserver.org"
+SRC_URI="http://www.hiawatha-webserver.org/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug +cache ipv6 monitor +rewrite tomahawk +xslt"
+
+RDEPEND="
+ >=net-libs/polarssl-1.3[threads]
+ xslt? ( dev-libs/libxslt
+ dev-libs/libxml2 )"
+DEPEND="${RDEPEND}"
+PDEPEND="monitor? ( www-apps/hiawatha-monitor )"
+
+# set this in make.conf if you want to use a different user/group
+HIAWATHA_USER=${HIAWATHA_USER:-hiawatha}
+HIAWATHA_GROUP=${HIAWATHA_GROUP:-hiawatha}
+
+pkg_setup() {
+ enewgroup ${HIAWATHA_GROUP}
+ enewuser ${HIAWATHA_USER} -1 -1 /var/www/hiawatha ${HIAWATHA_GROUP}
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-9.5-cflags.patch
+
+ rm -r polarssl || die
+
+ grep '#ServerId =' config/hiawatha.conf.in 1>/dev/null || die
+ sed -i \
+ -e "s/#ServerId =.*$/ServerId = ${HIAWATHA_USER}/" \
+ config/hiawatha.conf.in || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCONFIG_DIR:STRING=/etc/hiawatha
+ $(cmake-utils_use_enable cache CACHE)
+ $(cmake-utils_use_enable debug DEBUG)
+ $(cmake-utils_use_enable ipv6 IPV6)
+ $(cmake-utils_use_enable kernel_linux LOADCHECK)
+ $(cmake-utils_use_enable monitor MONITOR)
+ -DENABLE_SSL=YES
+ $(cmake-utils_use_enable tomahawk TOMAHAWK)
+ $(cmake-utils_use_enable rewrite TOOLKIT)
+ $(cmake-utils_use_enable xslt XSLT)
+ -DLOG_DIR:STRING=/var/log/hiawatha
+ -DPID_DIR:STRING=/var/run
+ -DUSE_SHARED_POLARSSL_LIBRARY=ON
+ -DUSE_SYSTEM_POLARSSL=ON
+ -DWEBROOT_DIR:STRING=/var/www/hiawatha
+ -DWORK_DIR:STRING=/var/lib/hiawatha
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ rm -rf "${ED%%/}"/var/www/hiawatha/*
+
+ newinitd "${FILESDIR}"/hiawatha.initd hiawatha
+ systemd_dounit "${FILESDIR}"/hiawatha.service
+
+ local i
+ for i in /var/{lib,log}/hiawatha ; do
+ keepdir ${i}
+ fowners ${HIAWATHA_USER}:${HIAWATHA_GROUP} ${i}
+ fperms 0750 ${i}
+ done
+
+ keepdir /var/www/hiawatha
+ fowners ${HIAWATHA_USER}:${HIAWATHA_GROUP} /var/www/hiawatha
+}
diff --git a/www-servers/hiawatha/metadata.xml b/www-servers/hiawatha/metadata.xml
new file mode 100644
index 00000000000..f9fc42478ea
--- /dev/null
+++ b/www-servers/hiawatha/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name='cache'>Enable caching of content.</flag>
+ <flag name='monitor'>Pull in www-apps/hiawatha-monitor.</flag>
+ <flag name='rewrite'>Enable the rewrite toolkit.</flag>
+ <flag name='tomahawk'>Enable Tomahawk control server.</flag>
+ <flag name='xslt'>Enable XSLT support.
+ This is also needed for directory listings.</flag>
+ </use>
+ <upstream>
+ <remote-id type='github'>hsleisink/hiawatha</remote-id>
+ </upstream>
+</pkgmetadata>