diff options
-rw-r--r-- | net-libs/axtls/ChangeLog | 12 | ||||
-rw-r--r-- | net-libs/axtls/axtls-1.4.6-r1.ebuild | 173 | ||||
-rw-r--r-- | net-libs/axtls/files/bigint_impl.h-add-missing-include.patch | 23 |
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 |