summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-libs/axtls/ChangeLog12
-rw-r--r--net-libs/axtls/axtls-1.4.6-r1.ebuild173
-rw-r--r--net-libs/axtls/files/bigint_impl.h-add-missing-include.patch23
3 files changed, 207 insertions, 1 deletions
diff --git a/net-libs/axtls/ChangeLog b/net-libs/axtls/ChangeLog
index 2b154c57d3a3..6800b54ebff7 100644
--- a/net-libs/axtls/ChangeLog
+++ b/net-libs/axtls/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for net-libs/axtls
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/axtls/ChangeLog,v 1.2 2012/05/29 07:47:36 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/axtls/ChangeLog,v 1.3 2012/06/07 00:13:29 blueness Exp $
+
+*axtls-1.4.6-r1 (07 Jun 2012)
+
+ 07 Jun 2012; Anthony G. Basile <blueness@gentoo.org> +axtls-1.4.6-r1.ebuild,
+ +files/bigint_impl.h-add-missing-include.patch:
+ Fix crypto/bigint_impl.h so curl can build against axtls
+ https://sourceforge.net/tracker/?func=detail&aid=3515628&group_id=171217&atid
+ =857113
+ https://sourceforge.net/tracker/?func=detail&aid=3532467&group_id=171217&atid
+ =857113
29 May 2012; Jeroen Roovers <jer@gentoo.org> axtls-1.4.6.ebuild:
Marked ~hppa too.
diff --git a/net-libs/axtls/axtls-1.4.6-r1.ebuild b/net-libs/axtls/axtls-1.4.6-r1.ebuild
new file mode 100644
index 000000000000..f3a4b68d014f
--- /dev/null
+++ b/net-libs/axtls/axtls-1.4.6-r1.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/axtls/axtls-1.4.6-r1.ebuild,v 1.1 2012/06/07 00:13:28 blueness Exp $
+
+EAPI="4"
+
+inherit eutils savedconfig toolchain-funcs user
+
+################################################################################
+# axtls CONFIG MINI-HOWTO
+#
+# Note: axtls is highly configurable and uses mconf, like the linux kernel.
+# You can configure it in a couple of ways:
+#
+# 1) USE="-savedconfig" and set/unset the remaining flags to obtain the features
+# you want, and possibly a lot more.
+#
+# 2) You can create your own configuration file by doing
+#
+# FEATURES="keepwork" USE="savedconfig -*" emerge axtls
+# cd /var/tmp/portage/net-libs/axtls*/work/axTLS
+# make menuconfig
+#
+# Now configure axtls as you want. Finally save your config file:
+#
+# cp config/.config /etc/portage/savedconfig/net-libs/axtls-${PV}
+#
+# where ${PV} is the current version. You can then run emerge again with
+# your configuration by doing
+#
+# USE="savedconfig" emerge axtls
+#
+################################################################################
+
+MY_PN=${PN/tls/TLS}
+
+DESCRIPTION="Embedded client/server TLSv1 SSL library and small HTTP(S) server"
+HOMEPAGE="http://axtls.sourceforge.net/"
+SRC_URI="mirror://sourceforge/axtls/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="httpd cgi-lua cgi-php static doc"
+
+# TODO: add ipv6, and c#, java, lua, perl bindings
+# Currently these all have some issue
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND="
+ httpd? (
+ cgi-lua? ( dev-lang/lua )
+ cgi-php? ( dev-lang/php[cgi] )
+ )"
+
+#Note1: static, cgi-* makes no sense if httpd is not given
+REQUIRED_USE="
+ static? ( httpd )
+ cgi-lua? ( httpd )
+ cgi-php? ( httpd )"
+
+AXTLS_GROUP="axtls"
+AXTLS_USER="axtls"
+
+pkg_setup() {
+ use httpd && {
+ ebegin "Creating axtls user and group"
+ enewgroup ${AXTLS_GROUP}
+ enewuser ${AXTLS_USER} -1 -1 -1 ${AXTLS_GROUP}
+ }
+}
+
+src_prepare() {
+ tc-export CC
+
+ epatch "${FILESDIR}/bigint_impl.h-add-missing-include.patch"
+
+ #Use CC as the host compiler for mconf
+ sed -i -e "s:^HOSTCC.*:HOSTCC=${CC}:" \
+ "${S}"/config/Rules.mak
+
+ #We want CONFIG_DEBUG to avoid stripping
+ #but not for debugging info
+ sed -i -e 's: -g::' \
+ "${S}"/config/Rules.mak
+ sed -i -e 's: -g::' \
+ "${S}"/config/makefile.conf
+}
+
+use_flag_config() {
+ cp "${FILESDIR}"/config "${S}"/config/.config
+
+ #Respect CFLAGS/LDFLAGS
+ sed -i -e "s:^CONFIG_EXTRA_CFLAGS_OPTIONS.*$:CONFIG_EXTRA_CFLAGS_OPTIONS=\"${CFLAGS}\":" \
+ "${S}"/config/.config
+ sed -i -e "s:^CONFIG_EXTRA_LDFLAGS_OPTIONS.*$:CONFIG_EXTRA_LDFLAGS_OPTIONS=\"${LDLAGS}\":" \
+ "${S}"/config/.config
+
+ #The logic is that the default config file enables everything and we disable
+ #here with sed unless a USE flags says to keep it
+ if use httpd; then
+ if ! use static; then
+ sed -i -e 's:^CONFIG_HTTP_STATIC_BUILD:# CONFIG_HTTP_STATIC_BUILD:' \
+ "${S}"/config/.config
+ fi
+ if ! use cgi-php && ! use cgi-lua; then
+ sed -i -e 's:^CONFIG_HTTP_HAS_CGI:# CONFIG_HTTP_HAS_CGI:' \
+ "${S}"/config/.config
+ fi
+ if ! use cgi-php; then
+ sed -i -e 's:,.php::' "${S}"/config/.config
+ fi
+ if ! use cgi-lua; then
+ sed -i -e 's:\.lua,::' \
+ -e 's:lua:php:' \
+ -e 's:^CONFIG_HTTP_ENABLE_LUA:# CONFIG_HTTP_ENABLE_LUA:' \
+ "${S}"/config/.config
+ fi
+ else
+ sed -i -e 's:^CONFIG_AXHTTPD:# CONFIG_AXHTTPD:' \
+ "${S}"/config/.config
+ fi
+
+ yes "n" | emake -j1 oldconfig > /dev/null
+}
+
+src_configure() {
+ tc-export CC
+
+ if use savedconfig; then
+ restore_config config/.config
+ if [ -f config/.config ]; then
+ ewarn "Using saved config, all other USE flags ignored"
+ else
+ ewarn "No saved config, seeding with the default"
+ cp "${FILESDIR}"/config "${S}"/config/.config
+ fi
+ yes "" | emake -j1 oldconfig > /dev/null
+ else
+ use_flag_config
+ fi
+}
+
+src_compile() {
+ default
+ if use doc; then
+ emake docs
+ mv www README
+ fi
+}
+
+src_install() {
+ if use savedconfig; then
+ save_config config/.config
+ fi
+
+ emake PREFIX="${ED}/usr" install
+ if [ -f "${ED}"/usr/bin/htpasswd ]; then
+ mv "${ED}"/usr/bin/{,ax}htpasswd
+ fi
+
+ if use httpd; then
+ newinitd "${FILESDIR}"/axhttpd.initd axhttpd
+ newconfd "${FILESDIR}"/axhttpd.confd axhttpd
+ fi
+
+ docompress -x /usr/share/doc/${PF}/README
+ dodoc -r README
+
+ if use doc; then
+ dodoc -r docsrc/html
+ fi
+}
diff --git a/net-libs/axtls/files/bigint_impl.h-add-missing-include.patch b/net-libs/axtls/files/bigint_impl.h-add-missing-include.patch
new file mode 100644
index 000000000000..1e29aca71482
--- /dev/null
+++ b/net-libs/axtls/files/bigint_impl.h-add-missing-include.patch
@@ -0,0 +1,23 @@
+crypto/bigint_impl.h: missing #include <stdint.h>
+
+bigint_impl.h typedefs uint16_t and uint32_t but never
+includes the headers where those are defined. On a standard
+gnu/linux system that means you need #include <stdint.h>.
+I hit this error when compiling curl --with-axtls and
+adding the include fixed the compile time error.
+
+See:
+https://sourceforge.net/tracker/?func=detail&aid=3515628&group_id=171217&atid=857113
+https://sourceforge.net/tracker/?func=detail&aid=3532467&group_id=171217&atid=857113
+
+--- crypto/bigint_impl.h.orig 2012-04-07 01:10:24.000000000 -0400
++++ crypto/bigint_impl.h 2012-04-06 23:00:22.000000000 -0400
+@@ -31,6 +31,8 @@
+ #ifndef BIGINT_IMPL_HEADER
+ #define BIGINT_IMPL_HEADER
+
++#include <stdint.h>
++
+ /* Maintain a number of precomputed variables when doing reduction */
+ #define BIGINT_M_OFFSET 0 /**< Normal modulo offset. */
+ #ifdef CONFIG_BIGINT_CRT