commit:     6e7e22b8a35b61837d8b8dcbbe5ed4da27df9d96
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 21 10:59:33 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 21 11:00:50 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e7e22b8

net-dns/dnsmasq: add 2.90

Bug: https://bugs.gentoo.org/924448
Closes: https://bugs.gentoo.org/675278
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-dns/dnsmasq/Manifest            |   1 +
 net-dns/dnsmasq/dnsmasq-2.90.ebuild | 231 ++++++++++++++++++++++++++++++++++++
 2 files changed, 232 insertions(+)

diff --git a/net-dns/dnsmasq/Manifest b/net-dns/dnsmasq/Manifest
index 072eb7b53c94..d0aa68a76b3d 100644
--- a/net-dns/dnsmasq/Manifest
+++ b/net-dns/dnsmasq/Manifest
@@ -1 +1,2 @@
 DIST dnsmasq-2.89.tar.xz 562700 BLAKE2B 
d8be39697ce7d4e7beacf6d94a9ba1842fe0099f7ed7ebb243a7e6e5af8c83195e4723e60841705aee70a43510279be8484a9474191ddcf17eac1ff4edc5389f
 SHA512 
4384ed5b673e10eaf6532e6eaeb5c0a6b817581433cc28c632bdcbadbfc050a0ab73bc5b73c98d708cd39515bb3f72168714b0aa5f16436cebdd18020648d428
+DIST dnsmasq-2.90.tar.xz 570672 BLAKE2B 
e5a7a3f3b1457c94f508a17c32f1f14267ed61009058295e0202bee7a1798a3eb72c70e53c799f25fb6030b389c5eefc5e50845896b71b733c0fc302d730dff7
 SHA512 
e169de1892f935e219b0f49d90107f95cba42b40bca20bd3c973313c2cd4df58b929af6628cd988419051d81c3b4ccf8e9f816274df7d0840e79f5bf49602442

diff --git a/net-dns/dnsmasq/dnsmasq-2.90.ebuild 
b/net-dns/dnsmasq/dnsmasq-2.90.ebuild
new file mode 100644
index 000000000000..10bf751246b7
--- /dev/null
+++ b/net-dns/dnsmasq/dnsmasq-2.90.ebuild
@@ -0,0 +1,231 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit toolchain-funcs lua-single systemd
+
+DESCRIPTION="Small forwarding DNS server"
+HOMEPAGE="https://thekelleys.org.uk/dnsmasq/doc.html";
+SRC_URI="https://thekelleys.org.uk/dnsmasq/${P}.tar.xz";
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+
+IUSE="auth-dns conntrack dbus +dhcp dhcp-tools dnssec +dumpfile id idn libidn2"
+IUSE+=" +loop +inotify ipv6 lua nettlehash nls script selinux static tftp"
+
+DM_LINGUAS=(de es fi fr id it no pl pt_BR ro)
+
+BDEPEND="
+       app-arch/xz-utils
+       virtual/pkgconfig
+       nls? ( sys-devel/gettext )
+"
+
+COMMON_DEPEND="
+       acct-group/dnsmasq
+       acct-user/dnsmasq
+       dbus? ( sys-apps/dbus:= )
+       idn? (
+               !libidn2? ( net-dns/libidn:0= )
+               libidn2? ( >=net-dns/libidn2-2.0:= )
+       )
+       lua? ( ${LUA_DEPS} )
+       conntrack? ( net-libs/libnetfilter_conntrack:= )
+       nls? ( sys-devel/gettext )
+"
+
+DEPEND="${COMMON_DEPEND}
+       dnssec? (
+               dev-libs/nettle:=[gmp]
+               static? ( >=dev-libs/nettle-3.4[static-libs(+)] )
+       )
+       nettlehash? (
+               static? ( >=dev-libs/nettle-3.4[static-libs(+)] )
+       )
+"
+
+RDEPEND="${COMMON_DEPEND}
+       dnssec? (
+               !static? ( >=dev-libs/nettle-3.4:=[gmp] )
+       )
+       nettlehash? (
+               !static? ( dev-libs/nettle:=[gmp] )
+       )
+       selinux? ( sec-policy/selinux-dnsmasq )
+"
+
+REQUIRED_USE="
+       dhcp-tools? ( dhcp )
+       dnssec? ( !nettlehash )
+       lua? (
+               script
+               ${LUA_REQUIRED_USE}
+       )
+       libidn2? ( idn )
+"
+
+use_have() {
+       local no_only
+       if [[ ${1} == '-n' ]]; then
+               no_only=1
+               shift
+       fi
+       local useflag="${1}"
+       shift
+
+       local uword="${1:-${useflag}}"
+       shift
+
+       while [[ ${uword} ]]; do
+               uword="${uword^^}"
+
+               if ! use "${useflag}"; then
+                       printf -- " -DNO_%s" "${uword}"
+               elif [[ -z "${no_only}" ]]; then
+                       printf -- " -DHAVE_%s" "${uword}"
+               fi
+               uword="${1}"
+               shift
+       done
+}
+
+pkg_setup() {
+       use lua && lua-single_pkg_setup
+}
+
+pkg_pretend() {
+       if use static; then
+               einfo "Only sys-libs/gmp and dev-libs/nettle are statically 
linked."
+               use dnssec || einfo "Thus, ${P}[!dnssec,static] makes no 
sense;" \
+                       "in this case the static USE flag does nothing."
+       fi
+}
+
+src_prepare() {
+       default
+
+       sed -i "s:%%PREFIX%%:${EPREFIX}/usr:" \
+               dnsmasq.conf.example || die
+}
+
+src_configure() {
+       COPTS=(
+               $(use_have -n auth-dns auth)
+               $(use_have conntrack)
+               $(use_have dbus)
+               $(use libidn2 || use_have idn)
+               $(use_have libidn2)
+               $(use_have -n inotify)
+               $(use_have -n dhcp dhcp dhcp6)
+               $(use_have -n ipv6 ipv6 dhcp6)
+               $(use_have -n id id)
+               $(use_have -n loop)
+               $(use_have lua luascript)
+               $(use_have -n script)
+               $(use_have -n tftp)
+               $(use_have dnssec)
+               $(use_have nettlehash)
+               $(use_have static dnssec_static)
+               $(use_have -n dumpfile)
+       )
+}
+
+src_compile() {
+       emake \
+               PREFIX=/usr \
+               MANDIR=/usr/share/man \
+               CC="$(tc-getCC)" \
+               PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+               CFLAGS="${CFLAGS}" \
+               LDFLAGS="${LDFLAGS}" \
+               COPTS="${COPTS[*]}" \
+               CONFFILE="/etc/${PN}.conf" \
+               all$(use nls && printf -- "-i18n\n")
+
+       use dhcp-tools && emake -C contrib/lease-tools \
+               PREFIX=/usr \
+               MANDIR=/usr/share/man \
+               CC="$(tc-getCC)" \
+               PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+               CFLAGS="${CFLAGS}" \
+               LDFLAGS="${LDFLAGS}" \
+               all
+}
+
+src_install() {
+       local lingua puid
+       emake \
+               PREFIX=/usr \
+               MANDIR=/usr/share/man \
+               CC="$(tc-getCC)" \
+               PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+               CFLAGS="${CFLAGS}" \
+               LDFLAGS="${LDFLAGS}" \
+               COPTS="${COPTS[*]}" \
+               CONFFILE="/etc/${PN}.conf" \
+               DESTDIR="${ED}" \
+               install$(use nls && printf -- "-i18n\n")
+
+       for lingua in "${DM_LINGUAS[@]}"; do
+               has ${lingua} ${LINGUAS-${lingua}} \
+                       || rm -rf "${ED}"/usr/share/locale/${lingua}
+       done
+       [[ -d "${D}"/usr/share/locale/ ]] && \
+               rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/locale/
+
+       dodoc CHANGELOG CHANGELOG.archive FAQ dnsmasq.conf.example
+       dodoc -r logo
+
+       docinto html/
+       dodoc *.html
+
+       newinitd "${FILESDIR}"/dnsmasq-init-r4 ${PN}
+       newconfd "${FILESDIR}"/dnsmasq.confd-r1 ${PN}
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/dnsmasq.logrotate ${PN}
+
+       insinto /etc
+       newins dnsmasq.conf.example dnsmasq.conf
+
+       insinto /usr/share/dnsmasq
+       doins trust-anchors.conf
+
+       if use dhcp; then
+               keepdir /var/lib/misc
+               newinitd "${FILESDIR}"/dnsmasq-init-dhcp-r3 ${PN}
+       fi
+       if use dbus; then
+               insinto /etc/dbus-1/system.d
+               doins dbus/dnsmasq.conf
+
+               docinto
+               dodoc dbus/DBus-interface
+       fi
+
+       if use dhcp-tools; then
+               dosbin contrib/lease-tools/{dhcp_release,dhcp_lease_time}
+               doman contrib/lease-tools/{dhcp_release,dhcp_lease_time}.1
+               if use ipv6; then
+                       dosbin contrib/lease-tools/dhcp_release6
+                       doman contrib/lease-tools/dhcp_release6.1
+               fi
+       fi
+
+       systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
+}
+
+pkg_preinst() {
+       [[ -f /var/lib/misc/dnsmasq.leases ]] && \
+               cp /var/lib/misc/dnsmasq.leases "${T}"
+}
+
+pkg_postinst() {
+       [[ -f "${T}"/dnsmasq.leases ]] && \
+               cp "${T}"/dnsmasq.leases /var/lib/misc/dnsmasq.leases
+}

Reply via email to