commit: 3f1aad3dcf145d7d7b6a877c157db123f4de26b3
Author: Glenn Strauss <gstrauss <AT> gluelogic <DOT> com>
AuthorDate: Wed May 8 11:07:22 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun 30 08:27:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f1aad3d
www-servers/lighttpd: USE_CRYPTO_* flags
Signed-off-by: Glenn Strauss <gstrauss <AT> gluelogic.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
www-servers/lighttpd/lighttpd-9999.ebuild | 36 +++++++++++++++++++++++++++++--
www-servers/lighttpd/metadata.xml | 6 +++++-
2 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/www-servers/lighttpd/lighttpd-9999.ebuild
b/www-servers/lighttpd/lighttpd-9999.ebuild
index ea8a10005ca7..c50a54419e5a 100644
--- a/www-servers/lighttpd/lighttpd-9999.ebuild
+++ b/www-servers/lighttpd/lighttpd-9999.ebuild
@@ -22,7 +22,7 @@ fi
LICENSE="BSD GPL-2"
SLOT="0"
-IUSE="+brotli dbi gnutls kerberos ldap libdeflate +lua maxminddb mbedtls
+nettle nss +pcre php sasl selinux ssl test unwind webdav xattr +zlib zstd"
+IUSE="+brotli crypto-gnutls crypto-mbedtls crypto-nettle crypto-openssl dbi
gnutls kerberos ldap libdeflate +lua maxminddb mbedtls +nettle nss +pcre php
sasl selinux ssl test unwind webdav xattr +zlib zstd"
RESTRICT="!test? ( test )"
REQUIRED_USE="
@@ -36,6 +36,10 @@ COMMON_DEPEND="
>=dev-libs/xxhash-0.8.2
virtual/libcrypt:=
brotli? ( app-arch/brotli:= )
+ crypto-gnutls? ( net-libs/gnutls )
+ crypto-mbedtls? ( net-libs/mbedtls )
+ crypto-nettle? ( dev-libs/nettle:= )
+ crypto-openssl? ( >=dev-libs/openssl-0.9.7:= )
dbi? (
dev-db/libdbi
)
@@ -107,9 +111,37 @@ pkg_setup() {
}
src_configure() {
+
+ local c_defs
+ local with_nettle
+
+ # choose crypto library
+ # (one specific library might be preferred on embedded systems via
+ # MYMESONARGS with e.g. -DFORCE_blah_CRYPTO)
+ if use crypto-nettle ; then
+ with_nettle=$(meson_use crypto-nettle with_nettle)
+ elif use nettle ; then
+ with_nettle=$(meson_use nettle with_nettle)
+ else
+ if use crypto-mbedtls ; then
+ c_defs+=-DFORCE_MBEDTLS_CRYPTO
+ elif use crypto-openssl ; then
+ c_defs+=-DFORCE_OPENSSL_CRYPTO
+ elif use crypto-gnutls ; then
+ c_defs+=-DFORCE_GNUTLS_CRYPTO
+ fi
+ fi
+
+ local c_args
+ if c_defs ; then
+ c_args=-Dc_args=\"${c_defs[0]}\"
+ fi
+
local emesonargs=(
-Dmoduledir="$(get_libdir)"/${PN}
+ ${c_args}
+
$(meson_feature brotli with_brotli)
# TODO: revisit (was off in autotools ebuild)
@@ -134,7 +166,7 @@ src_configure() {
$(meson_feature maxminddb with_maxminddb)
$(meson_use mbedtls with_mbedtls)
- $(meson_use nettle with_nettle)
+ ${with_nettle}
$(meson_use nss with_nss)
# Obsolete
diff --git a/www-servers/lighttpd/metadata.xml
b/www-servers/lighttpd/metadata.xml
index e4c15c0ffdca..02655cc07024 100644
--- a/www-servers/lighttpd/metadata.xml
+++ b/www-servers/lighttpd/metadata.xml
@@ -15,11 +15,15 @@
</longdescription>
<use>
<flag name="brotli">Enable output compression via
<pkg>app-arch/brotli</pkg> (recommended)</flag>
+ <flag name="crypto-gnutls">Use <pkg>net-libs/gnutls</pkg> as
crypto library</flag>
+ <flag name="crypto-mbedtls">Use <pkg>net-libs/mbedtls</pkg> as
crypto library</flag>
+ <flag name="crypto-nettle">Use <pkg>dev-libs/nettle</pkg> as
crypto library</flag>
+ <flag name="crypto-openssl">Use <pkg>dev-libs/openssl</pkg> as
crypto library</flag>
<flag name="gnutls">Build module for TLS via
<pkg>net-libs/gnutls</pkg></flag>
<flag name="libdeflate">Enable output compression via
<pkg>app-arch/libdeflate</pkg></flag>
<flag name="maxminddb">Add support for geolocation using
<pkg>dev-libs/libmaxminddb</pkg></flag>
<flag name="mbedtls">Build module for TLS via
<pkg>net-libs/mbedtls</pkg></flag>
- <flag name="nettle">Use <pkg>dev-libs/nettle</pkg> as crypto
backend</flag>
+ <flag name="nettle">Use <pkg>dev-libs/nettle</pkg> as crypto
library</flag>
<flag name="nss">Build module for TLS via Mozilla's Network
Security Services</flag>
<flag name="webdav">Enable webdav properties</flag>
<flag name="zlib">Enable output compression via gzip or deflate
algorithms from <pkg>sys-libs/zlib</pkg></flag>