From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1648366-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id DE20C15802E
	for <garchives@archives.gentoo.org>; Sun, 30 Jun 2024 08:31:32 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id D087BE2AF0;
	Sun, 30 Jun 2024 08:31:31 +0000 (UTC)
Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id A7B48E2AF0
	for <gentoo-commits@lists.gentoo.org>; Sun, 30 Jun 2024 08:31:31 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id CC9B5340BDE
	for <gentoo-commits@lists.gentoo.org>; Sun, 30 Jun 2024 08:31:30 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 2FA761C93
	for <gentoo-commits@lists.gentoo.org>; Sun, 30 Jun 2024 08:31:29 +0000 (UTC)
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org>
Message-ID: <1719736067.941a051c196e0d68952392d9d5d24a80471314ba.sam@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: www-servers/lighttpd/
X-VCS-Repository: repo/gentoo
X-VCS-Files: www-servers/lighttpd/lighttpd-9999.ebuild
X-VCS-Directories: www-servers/lighttpd/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: 941a051c196e0d68952392d9d5d24a80471314ba
X-VCS-Branch: master
Date: Sun, 30 Jun 2024 08:31:29 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 3376852c-c678-4704-a4d2-870fa0b96f61
X-Archives-Hash: 60ddf12ec23f0403909b4f7cd201a371

commit:     941a051c196e0d68952392d9d5d24a80471314ba
Author:     Glenn Strauss <gstrauss <AT> gluelogic <DOT> com>
AuthorDate: Mon May  6 19:11:12 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun 30 08:27:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=941a051c

www-servers/lighttpd: lighttpd-9999.ebuild

Signed-off-by: Glenn Strauss <gstrauss <AT> gluelogic.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 www-servers/lighttpd/lighttpd-9999.ebuild | 217 ++++++++++++++++++++++++++++++
 1 file changed, 217 insertions(+)

diff --git a/www-servers/lighttpd/lighttpd-9999.ebuild b/www-servers/lighttpd/lighttpd-9999.ebuild
new file mode 100644
index 000000000000..dce878470fb1
--- /dev/null
+++ b/www-servers/lighttpd/lighttpd-9999.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lighttpd.asc
+inherit lua-single meson readme.gentoo-r1 systemd tmpfiles verify-sig
+
+DESCRIPTION="Lightweight high-performance web server"
+HOMEPAGE="https://www.lighttpd.net https://github.com/lighttpd"
+if [[ ${PV} == *9999* ]] ; then
+	EGIT_REPO_URI="https://git.lighttpd.net/lighttpd/lighttpd1.4.git"
+	inherit git-r3
+else
+	SRC_URI="
+		https://download.lighttpd.net/lighttpd/releases-1.4.x/${P}.tar.xz
+		verify-sig? ( https://download.lighttpd.net/lighttpd/releases-$(ver_cut 1-2).x/${P}.tar.xz.asc )
+	"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+IUSE="+brotli dbi gnutls kerberos ldap +lua maxminddb mbedtls +nettle nss +pcre php sasl selinux ssl test unwind webdav xattr +zlib zstd"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+	lua? ( ${LUA_REQUIRED_USE} )
+"
+
+# Match the bundled xxhash version for the minimum version
+COMMON_DEPEND="
+	acct-group/lighttpd
+	acct-user/lighttpd
+	>=dev-libs/xxhash-0.8.2
+	virtual/libcrypt:=
+	brotli? ( app-arch/brotli:= )
+	dbi? (
+		dev-db/libdbi
+	)
+	gnutls? ( net-libs/gnutls )
+	kerberos? ( virtual/krb5 )
+	ldap? ( >=net-nds/openldap-2.1.26:= )
+	lua? ( ${LUA_DEPS} )
+	maxminddb? ( dev-libs/libmaxminddb )
+	mbedtls? ( net-libs/mbedtls )
+	nettle? ( dev-libs/nettle:= )
+	nss? ( dev-libs/nss )
+	pcre? ( dev-libs/libpcre2 )
+	php? ( dev-lang/php:*[cgi] )
+	sasl? ( dev-libs/cyrus-sasl )
+	ssl? ( >=dev-libs/openssl-0.9.7:= )
+	unwind? ( sys-libs/libunwind:= )
+	webdav? (
+		dev-libs/libxml2
+		dev-db/sqlite
+	)
+	xattr? ( kernel_linux? ( sys-apps/attr ) )
+	zlib? ( >=sys-libs/zlib-1.1 )
+	zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+	${COMMON_DEPEND}
+	elibc_musl? ( sys-libs/queue-standalone )
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	selinux? ( sec-policy/selinux-apache )
+"
+BDEPEND="
+	virtual/pkgconfig
+	test? ( virtual/perl-Test-Harness )
+	verify-sig? ( sec-keys/openpgp-keys-lighttpd )
+"
+
+# update certain parts of lighttpd.conf based on conditionals
+update_config() {
+	local config="${ED}/etc/lighttpd/lighttpd.conf"
+
+	# Enable php/mod_fastcgi settings
+	if use php; then
+		sed -i -e 's|#.*\(include.*fastcgi.*$\)|\1|' ${config} || die
+	fi
+
+	# Automatically listen on IPv6 if built with USE=ipv6 (which we now always do)
+	# bug #234987
+	sed -i -e 's|# server.use-ipv6|server.use-ipv6|' ${config} || die
+}
+
+pkg_setup() {
+	if use lua; then
+		lua-single_pkg_setup
+	fi
+
+	if ! use pcre ; then
+		ewarn "It is highly recommended that you build ${PN}"
+		ewarn "with perl regular expressions support via USE=pcre."
+		ewarn "Otherwise you lose support for some core options such"
+		ewarn "as conditionals and modules such as mod_re{write,direct}."
+	fi
+
+	DOC_CONTENTS="IPv6 migration guide:\n
+		https://wiki.lighttpd.net/IPv6-Config
+	"
+}
+
+src_configure() {
+	local emesonargs=(
+		-Dmoduledir="$(get_libdir)"/${PN}
+
+		$(meson_feature brotli with_brotli)
+
+		# TODO: revisit (was off in autotools ebuild)
+		-Dwith_bzip=disabled
+
+		$(meson_feature dbi with_dbi)
+
+		# Unpackaged in Gentoo
+		-Dwith_libdeflate=disabled
+		# Obsolete
+		-Dwith_fam=disabled
+
+		$(meson_use gnutls with_gnutls)
+		$(meson_feature kerberos with_krb5)
+		$(meson_feature ldap with_ldap)
+
+		$(meson_feature unwind with_libunwind)
+
+		$(meson_use lua with_lua)
+		-Dlua_version=${ELUA}
+
+		$(meson_feature maxminddb with_maxminddb)
+		$(meson_use mbedtls with_mbedtls)
+
+		$(meson_use nettle with_nettle)
+		$(meson_use nss with_nss)
+
+		# Obsolete
+		-Dwith_pcre=disabled
+
+		$(meson_use pcre with_pcre2)
+
+		$(meson_feature sasl with_sasl)
+		$(meson_use ssl with_openssl)
+
+		-Dwith_xxhash=enabled
+		$(meson_feature webdav with_webdav_props)
+
+		# Unpackaged in Gentoo
+		-Dwith_wolfssl=false
+
+		$(meson_use xattr with_xattr)
+		$(meson_feature zlib with_zlib)
+		$(meson_feature zstd with_zstd)
+	)
+
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	# Init script stuff
+	newinitd "${FILESDIR}"/lighttpd.initd-r2 lighttpd
+	newconfd "${FILESDIR}"/lighttpd.confd lighttpd
+
+	# Configs
+	insinto /etc/lighttpd
+	newins "${FILESDIR}"/conf/lighttpd.conf-r2 lighttpd.conf
+	doins "${FILESDIR}"/conf/mod_cgi.conf
+	doins "${FILESDIR}"/conf/mod_fastcgi.conf
+
+	# Update lighttpd.conf directives based on conditionals
+	update_config
+
+	# Docs
+	dodoc AUTHORS README NEWS doc/scripts/*.sh
+	newdoc doc/config/lighttpd.conf lighttpd.conf.distrib
+	readme.gentoo_create_doc
+
+	docinto txt
+	dodoc doc/outdated/*.txt
+
+	doman doc/*.8
+
+	# Logrotate
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}"/lighttpd.logrotate-r1 lighttpd
+
+	keepdir /var/l{ib,og}/lighttpd /var/www/localhost/htdocs
+	fowners lighttpd:lighttpd /var/l{ib,og}/lighttpd
+	fperms 0750 /var/l{ib,og}/lighttpd
+
+	systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
+	newtmpfiles "${FILESDIR}"/${PN}.tmpfiles.conf ${PN}.conf
+}
+
+pkg_postinst() {
+	tmpfiles_process ${PN}.conf
+
+	readme.gentoo_print_elog
+
+	if [[ -f ${EROOT}/etc/lighttpd.conf ]] ; then
+		elog
+		elog "Gentoo has a customized configuration,"
+		elog "which is now located in ${EROOT}/etc/lighttpd. Please migrate your"
+		elog "existing configuration."
+	fi
+
+	if use brotli || use zstd || use zlib ; then
+		elog
+		elog "Remember to clean your cache directory when using"
+		elog "output compression!"
+		elog "https://wiki.lighttpd.net/Docs_ModDeflate"
+	fi
+}