diff options
-rw-r--r-- | www-servers/hiawatha/files/hiawatha-9.14-system-mbedtls.patch | 25 | ||||
-rw-r--r-- | www-servers/hiawatha/hiawatha-9.14-r1.ebuild | 87 |
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 +} |