summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www-servers/hiawatha/files/hiawatha-9.14-system-mbedtls.patch25
-rw-r--r--www-servers/hiawatha/hiawatha-9.14-r1.ebuild87
2 files changed, 112 insertions, 0 deletions
diff --git a/www-servers/hiawatha/files/hiawatha-9.14-system-mbedtls.patch b/www-servers/hiawatha/files/hiawatha-9.14-system-mbedtls.patch
new file mode 100644
index 000000000000..05f3d09b8a73
--- /dev/null
+++ b/www-servers/hiawatha/files/hiawatha-9.14-system-mbedtls.patch
@@ -0,0 +1,25 @@
+Add missing libraries to linker.
+
+
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -114,7 +114,7 @@
+ #add_definitions(-DMBEDTLS_THREADING_PTHREAD -DMBEDTLS_THREADING_C)
+ add_subdirectory(mbedtls)
+ endif()
+- set(MBEDTLS_LIBRARY "mbedtls")
++ set(MBEDTLS_LIBRARIES "mbedtls" "mbedx509" "mbedcrypto")
+ endif()
+
+ # Hiawatha
+@@ -144,8 +144,8 @@
+ target_link_libraries(wigwam ${CRYPT_LIBRARY})
+ target_link_libraries(hiawatha ${CRYPT_LIBRARY} pthread ${Z_LIBRARY})
+ if(ENABLE_TLS)
+- target_link_libraries(hiawatha ${MBEDTLS_LIBRARY})
+- target_link_libraries(wigwam ${MBEDTLS_LIBRARY})
++ target_link_libraries(hiawatha ${MBEDTLS_LIBRARIES})
++ target_link_libraries(wigwam ${MBEDTLS_LIBRARIES})
+ if(NOT USE_SYSTEM_MBEDTLS)
+ set_target_properties(hiawatha PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/hiawatha)
+ set_target_properties(wigwam PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/hiawatha)
diff --git a/www-servers/hiawatha/hiawatha-9.14-r1.ebuild b/www-servers/hiawatha/hiawatha-9.14-r1.ebuild
new file mode 100644
index 000000000000..f1a4466be723
--- /dev/null
+++ b/www-servers/hiawatha/hiawatha-9.14-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2015 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="+cache ipv6 monitor +rewrite tomahawk +xslt"
+
+RDEPEND="
+ >=net-libs/mbedtls-2.0[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 \
+ "${FILESDIR}"/${PN}-9.14-system-mbedtls.patch
+
+ 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 ipv6 IPV6)
+ $(cmake-utils_use_enable kernel_linux LOADCHECK)
+ $(cmake-utils_use_enable monitor MONITOR)
+ -DENABLE_TLS=YES
+ $(cmake-utils_use_enable tomahawk TOMAHAWK)
+ $(cmake-utils_use_enable rewrite TOOLKIT)
+ $(cmake-utils_use_enable xslt XSLT)
+ -DUSE_SYSTEM_MBEDTLS=ON
+ -DLOG_DIR:STRING=/var/log/hiawatha
+ -DPID_DIR:STRING=/var/run
+ -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
+}