diff --git a/www-servers/lighttpd/Manifest b/www-servers/lighttpd/Manifest index ec90ae05d09b2..00b02dfcdd912 100644 --- a/www-servers/lighttpd/Manifest +++ b/www-servers/lighttpd/Manifest @@ -4,3 +4,5 @@ DIST lighttpd-1.4.80.tar.xz 882656 BLAKE2B 9257d32910292ee9e63dcf13f871604fcfcee DIST lighttpd-1.4.80.tar.xz.asc 833 BLAKE2B 575d58a21d1f759b4be4ea05277624fdd375095e7adf9e06dfb56a1fbb7d2d51dd9aaea4d56af342dce005cb3ea27dc275016651d658f34dce6c0387493be310 SHA512 6a9a2179252516896d935f4d20dbae561f3707b23c34c8c59a4e8d7e5b2ece3849a63879dcbcb79f0d9a44ac0b64d3046438d094555394a2a56f95a9ed7272a3 DIST lighttpd-1.4.81.tar.xz 882560 BLAKE2B 15385d8025b1693299cf75ba790def7a0936686e8e4972ec6e57fcd50578eaecfdc518519f2b9554fe171a37171e7a54c096d8de5cee30c3286c842a17ba226c SHA512 10c24b1c1ce1aa1d826a426868223393eb81d7c0fbcc0b4f032b082a14593e0364228a5275e1440ed8782a2e78f0ded7cf72bc6642e5528bc82defcefab9301b DIST lighttpd-1.4.81.tar.xz.asc 833 BLAKE2B 421bea70f0f199148e2ac1d9aaabb4bf97fedb38ac0625412d836fb66e413cc4c87868a08b43ddd8fa0560b6a13d226229114f6cb26fb20f9e5d24cdf209f0e0 SHA512 3aaf24734aaf53a933500cab3070b891a2817b199b738230d3b74f5aaf2645df9c78ead389586124b9d91c783667d0887f4030c0ee0579bf8562d6ddd38ae515 +DIST lighttpd-1.4.82.tar.xz 883352 BLAKE2B ea929d672fe76eb001e246d4833659845d1cfdbb8b7120c4f059e278262d9c9d164667e59af3978ae36ae678c5034bd9a5e41f58035587fea8b5fd634aa356d2 SHA512 a8ced6e61b6768d31fb643c1f75af906ee975000286a9a522415571878c7979fd9e5e39f36871e8f34f6ca5d3702fa4b20a0c1203b57ba446dae2dbb6efa71b4 +DIST lighttpd-1.4.82.tar.xz.asc 833 BLAKE2B 9baf7fedc4a977ea95cd26adea707901d44c3383467e00cd83d3ddad2192277ab3397c405bde24fe2d5e5b19377b6121816d35b9d0ad02dab26e3f6309451736 SHA512 ea199ad9456d52f387365f97327d7bab4fefdae64933623d1e4a8f377afdaadf6fd3bb8f8fb3dca8dd12e61461cbe80e7fc2b973f358fe130332048e5251f356 diff --git a/www-servers/lighttpd/lighttpd-1.4.82.ebuild b/www-servers/lighttpd/lighttpd-1.4.82.ebuild new file mode 100644 index 0000000000000..026d519594190 --- /dev/null +++ b/www-servers/lighttpd/lighttpd-1.4.82.ebuild @@ -0,0 +1,222 @@ +# Copyright 1999-2025 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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="BSD GPL-2" +SLOT="0" +IUSE="+brotli dbi gnutls kerberos ldap libdeflate +lua maxminddb mbedtls +nettle nss +pcre php sasl selinux ssl unwind webdav xattr +zlib zstd" + +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:= ) + libdeflate? ( app-arch/libdeflate ) + lua? ( ${LUA_DEPS} ) + maxminddb? ( dev-libs/libmaxminddb ) + mbedtls? ( net-libs/mbedtls:0= ) + 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 + verify-sig? ( >=sec-keys/openpgp-keys-lighttpd-20250325 ) +" + +# 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() { + # (One specific library might be preferred on embedded systems via + # MYMESONARGS with e.g. -DFORCE_blah_CRYPTO) + local emesonargs=( + -Dmoduledir="$(get_libdir)"/${PN} + + ${c_args} + + $(meson_feature brotli with_brotli) + + # TODO: revisit (was off in autotools ebuild) + -Dwith_bzip=disabled + + $(meson_feature dbi with_dbi) + + # Obsolete + -Dwith_fam=disabled + + $(meson_use gnutls with_gnutls) + $(meson_feature kerberos with_krb5) + $(meson_feature ldap with_ldap) + + $(meson_feature libdeflate with_libdeflate) + + $(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_boringssl=false + -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-r3 lighttpd.conf + doins "${FILESDIR}"/conf/mod_cgi.conf + doins "${FILESDIR}"/conf/mod_fastcgi.conf + doins doc/config/conf.d/mime.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-r3 ${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 +}