commit:     c62f5edf9ca493d85a5ae20ecfb6ad5f2458170d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 20 05:02:07 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Feb 20 05:02:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c62f5edf

sys-apps/tcp-wrappers: EAPI 8, drop usr-ldscript, LLD 17 workaround

* EAPI 8
* Drop usr-ldscript per news item
* Add LLD 17 workaround (bug #919689)

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

 .../tcp-wrappers/tcp-wrappers-7.6.31-r1.ebuild     | 115 +++++++++++++++++++++
 1 file changed, 115 insertions(+)

diff --git a/sys-apps/tcp-wrappers/tcp-wrappers-7.6.31-r1.ebuild 
b/sys-apps/tcp-wrappers/tcp-wrappers-7.6.31-r1.ebuild
new file mode 100644
index 000000000000..d70560e637f5
--- /dev/null
+++ b/sys-apps/tcp-wrappers/tcp-wrappers-7.6.31-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs multilib-minimal
+
+MY_PV=$(ver_cut 1-2)
+DEB_PV=$(ver_cut 3)
+MY_P="${PN//-/_}_${MY_PV}"
+
+DESCRIPTION="TCP Wrappers"
+HOMEPAGE="http://ftp.porcupine.org/pub/security";
+SRC_URI="
+       http://ftp.porcupine.org/pub/security/${MY_P}.tar.gz
+       
mirror://debian/pool/main/t/${PN}/${PN}_${MY_PV}.q-${DEB_PV}.debian.tar.xz
+       https://dev.gentoo.org/~soap/distfiles/${P}-patches.tar.xz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="tcp_wrappers_license"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="ipv6 netgroups selinux"
+
+DEPEND="
+       netgroups? ( net-libs/libnsl:= )
+"
+RDEPEND="
+       ${DEPEND}
+       selinux? ( sec-policy/selinux-tcpd )
+"
+
+PATCHES=( "${WORKDIR}"/gentoo-patches/ )
+
+src_prepare() {
+       # Apply Debian patchset except for the series file which just lists
+       # the patches
+       eapply $(sed -e 's:^:../debian/patches/:' ../debian/patches/series || 
die)
+
+       default
+
+       multilib_copy_sources
+}
+
+temake() {
+       # Broken with lld-17 (bug #919689)
+       append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+       append-cppflags "-DHAVE_WEAKSYMS -DHAVE_STRERROR -DSYS_ERRLIST_DEFINED"
+
+       if use ipv6; then
+               append-cppflags "-DINET6=1 -Dss_family=__ss_family 
-Dss_len=__ss_len"
+       fi
+
+       local myemakeargs=(
+               REAL_DAEMON_DIR="${EPREFIX}/usr/sbin"
+               TLI= VSYSLOG= PARANOID= BUGS=
+               AUTH="-DALWAYS_RFC931"
+               AUX_OBJ="weak_symbols.o"
+               DOT="-DAPPEND_DOT"
+               HOSTNAME="-DALWAYS_HOSTNAME"
+               NETGROUP=$(usev netgroups -DNETGROUPS)
+               STYLE="-DPROCESS_OPTIONS"
+               LIBS=$(usev netgroups -lnsl)
+               LIB="" # disable static-libs
+               AR="$(tc-getAR)" ARFLAGS=rc
+               CC="$(tc-getCC)"
+               RANLIB="$(tc-getRANLIB)"
+               COPTS="${CFLAGS} ${CPPFLAGS}"
+               LDFLAGS="${LDFLAGS}"
+               "$@"
+       )
+
+       emake "${myemakeargs[@]}"
+}
+
+multilib_src_configure() {
+       tc-export AR RANLIB
+       temake config-check
+}
+
+multilib_src_compile() {
+       # https://bugs.gentoo.org/728348
+       unset STRINGS
+       temake all
+}
+
+multilib_src_install() {
+       into /usr
+       dolib.so shared/libwrap.so*
+
+       insinto /usr/include
+       doins tcpd.h
+
+       if multilib_is_native_abi; then
+               dosbin tcpd tcpdchk tcpdmatch safe_finger try-from
+       fi
+}
+
+multilib_src_install_all() {
+       doman *.[358]
+       dosym hosts_access.5 /usr/share/man/man5/hosts.allow.5
+       dosym hosts_access.5 /usr/share/man/man5/hosts.deny.5
+
+       insinto /etc
+       newins "${FILESDIR}"/hosts.allow.example hosts.allow
+
+       dodoc BLURB CHANGES DISCLAIMER README*
+}
+
+pkg_preinst() {
+       # don't clobber people with our default example config
+       [[ -e ${EROOT}/etc/hosts.allow ]] && cp -pP "${EROOT}"/etc/hosts.allow 
"${ED}"/etc/hosts.allow
+}

Reply via email to