From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 9AF6E139347 for ; Tue, 20 Jul 2021 19:03:46 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 719C9E0A9E; Tue, 20 Jul 2021 19:03:45 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 49DECE0A9E for ; Tue, 20 Jul 2021 19:03:45 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0DC94342BDD for ; Tue, 20 Jul 2021 19:03:44 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 797CA7DD for ; Tue, 20 Jul 2021 19:03:42 +0000 (UTC) From: "Conrad Kostecki" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Conrad Kostecki" Message-ID: <1626807782.ed03daa1c5e6f43ba79681c724c463048ed8957b.conikost@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/axtls/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-libs/axtls/axtls-2.1.5-r101.ebuild X-VCS-Directories: net-libs/axtls/ X-VCS-Committer: conikost X-VCS-Committer-Name: Conrad Kostecki X-VCS-Revision: ed03daa1c5e6f43ba79681c724c463048ed8957b X-VCS-Branch: master Date: Tue, 20 Jul 2021 19:03:42 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 662c4a46-9151-4d98-af91-11e3da630006 X-Archives-Hash: 00ab36e9a821d69b653eeb8d121b88b8 commit: ed03daa1c5e6f43ba79681c724c463048ed8957b Author: Conrad Kostecki gentoo org> AuthorDate: Sun Jul 18 19:32:39 2021 +0000 Commit: Conrad Kostecki gentoo org> CommitDate: Tue Jul 20 19:03:02 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed03daa1 net-libs/axtls: migrate to GLEP 81 Bug: https://bugs.gentoo.org/781401 Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Conrad Kostecki gentoo.org> net-libs/axtls/axtls-2.1.5-r101.ebuild | 178 +++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) diff --git a/net-libs/axtls/axtls-2.1.5-r101.ebuild b/net-libs/axtls/axtls-2.1.5-r101.ebuild new file mode 100644 index 00000000000..5f09e2c9f16 --- /dev/null +++ b/net-libs/axtls/axtls-2.1.5-r101.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..4} luajit ) + +inherit lua-single multilib-minimal savedconfig toolchain-funcs + +################################################################################ +# 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}/${PN}-code" + +LICENSE="BSD GPL-2" +SLOT="0/1" +KEYWORDS="amd64 arm ~arm64 ~hppa ~mips ppc ppc64 ~s390 ~sparc x86" + +IUSE="httpd cgi-lua cgi-php static static-libs doc" + +# TODO: add ipv6, and c#, java, lua, perl bindings +# Currently these all have some issue +BDEPEND="doc? ( app-doc/doxygen )" +RDEPEND=" + httpd? ( + acct-group/axtls + acct-user/axtls + cgi-lua? ( ${LUA_DEPS} ) + cgi-php? ( dev-lang/php[cgi] ) + )" + +#Note1: static, cgi-* makes no sense if httpd is not given +REQUIRED_USE=" + static? ( httpd ) + cgi-lua? ( httpd ${LUA_REQUIRED_USE} ) + cgi-php? ( httpd )" + +pkg_setup() { + use cgi-lua && lua-single_pkg_setup +} + +src_prepare() { + tc-export AR CC + + eapply "${FILESDIR}/explicit-libdir-r1.patch" + + #We want CONFIG_DEBUG to avoid stripping + #but not for debugging info + sed -i -e 's: -g::' config/Rules.mak || die + sed -i -e 's: -g::' config/makefile.conf || die + + eapply_user + + multilib_copy_sources +} + +use_flag_config() { + cp "${FILESDIR}"/config config/.config || die + + #Respect CFLAGS/LDFLAGS + sed -i -e "s:^CONFIG_EXTRA_CFLAGS_OPTIONS.*$:CONFIG_EXTRA_CFLAGS_OPTIONS=\"${CFLAGS}\":" \ + config/.config || die + sed -i -e "s:^CONFIG_EXTRA_LDFLAGS_OPTIONS.*$:CONFIG_EXTRA_LDFLAGS_OPTIONS=\"${LDFLAGS}\":" \ + config/.config || die + + #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:' \ + config/.config || die + fi + if ! use cgi-php && ! use cgi-lua; then + sed -i -e 's:^CONFIG_HTTP_HAS_CGI:# CONFIG_HTTP_HAS_CGI:' \ + config/.config || die + fi + if ! use cgi-php; then + sed -i -e 's:,.php::' config/.config || die + 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:' \ + config/.config || die + fi + if use cgi-lua; then + sed -i -e "s:/usr/bin/lua:${LUA}:" config/.config || die + fi + else + sed -i -e 's:^CONFIG_AXHTTPD:# CONFIG_AXHTTPD:' \ + config/.config || die + fi + + emake -j1 oldconfig < <(yes n) > /dev/null +} + +multilib_src_configure() { + #Per-ABI substitutions. + sed -i -e 's:^LIBDIR.*/lib:LIBDIR = $(PREFIX)/'"$(get_libdir):" \ + Makefile || die + + #Use CC as the host compiler for mconf + sed -i -e "s:^HOSTCC.*:HOSTCC=${CC}:" \ + config/Rules.mak || die + + 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 config/.config || die + fi + emake -j1 oldconfig < <(yes '') > /dev/null + else + use_flag_config + fi +} + +multilib_src_install() { + if multilib_is_native_abi && use savedconfig; then + save_config config/.config + fi + + emake PREFIX="${ED}/usr" install + + if ! use static-libs; then + rm -f "${ED}"/usr/$(get_libdir)/libaxtls.a || die + fi + + # The build system needs to install before it builds docs + if multilib_is_native_abi && use doc; then + emake docs + dodoc -r docsrc/html + fi +} + +multilib_src_install_all() { + if [[ -f "${ED}"/usr/bin/htpasswd ]]; then + mv "${ED}"/usr/bin/{,ax}htpasswd || die + fi + + if use httpd; then + newinitd "${FILESDIR}"/axhttpd.initd axhttpd + newconfd "${FILESDIR}"/axhttpd.confd axhttpd + fi + + docompress -x /usr/share/doc/${PF}/README + dodoc README +}