summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-02-20 05:02:07 +0000
committerSam James <sam@gentoo.org>2024-02-20 05:02:07 +0000
commitc62f5edf9ca493d85a5ae20ecfb6ad5f2458170d (patch)
treedc1cef9a4bcae085ac51918f5015835f9bb13f36 /sys-apps
parentnet-analyzer/macchanger: drop USE=split-usr (diff)
downloadgentoo-c62f5edf9ca493d85a5ae20ecfb6ad5f2458170d.tar.gz
gentoo-c62f5edf9ca493d85a5ae20ecfb6ad5f2458170d.tar.bz2
gentoo-c62f5edf9ca493d85a5ae20ecfb6ad5f2458170d.zip
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@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/tcp-wrappers/tcp-wrappers-7.6.31-r1.ebuild115
1 files changed, 115 insertions, 0 deletions
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
+}