www-servers/hiawatha: revbump to use system net-libs/mbedtls
authorJulian Ospald <hasufell@gentoo.org>
Fri, 14 Aug 2015 22:18:03 +0000 (00:18 +0200)
committerJulian Ospald <hasufell@gentoo.org>
Fri, 14 Aug 2015 22:18:03 +0000 (00:18 +0200)
www-servers/hiawatha/files/hiawatha-9.14-system-mbedtls.patch [new file with mode: 0644]
www-servers/hiawatha/hiawatha-9.14-r1.ebuild [new file with mode: 0644]

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 (file)
index 0000000..05f3d09
--- /dev/null
@@ -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 (file)
index 0000000..f1a4466
--- /dev/null
@@ -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
+}