summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-10-25 12:00:56 -0400
committerMike Frysinger <vapier@gentoo.org>2021-10-25 12:04:12 -0400
commitee514defae182ae2efb4e38cddacdbb523783093 (patch)
treed4d9561de7f5742ab6642f5ee94986a807d35ef0 /sys-apps
parentdev-db/citus: Bump to 10.2.2 (diff)
downloadgentoo-ee514defae182ae2efb4e38cddacdbb523783093.tar.gz
gentoo-ee514defae182ae2efb4e38cddacdbb523783093.tar.bz2
gentoo-ee514defae182ae2efb4e38cddacdbb523783093.zip
sys-apps/findutils: use LFS & 64-bit time_t
This only matters for 32-bit systems, but they can fail to build under glibc-2.34 due to new 64-bit time_T checks. We want this to use 64-bit FS interfaces anyways since this heavily interacts with the filesystem. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/findutils/findutils-4.8.0-r1.ebuild76
1 files changed, 76 insertions, 0 deletions
diff --git a/sys-apps/findutils/findutils-4.8.0-r1.ebuild b/sys-apps/findutils/findutils-4.8.0-r1.ebuild
new file mode 100644
index 000000000000..659a7bb9835f
--- /dev/null
+++ b/sys-apps/findutils/findutils-4.8.0-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit flag-o-matic python-any-r1
+
+DESCRIPTION="GNU utilities for finding files"
+HOMEPAGE="https://www.gnu.org/software/findutils/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="nls selinux static test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="selinux? ( sys-libs/libselinux )
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ test? ( ${PYTHON_DEPS} )
+"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Don't build or install locate because it conflicts with mlocate,
+ # which is a secure version of locate. See bug 18729
+ sed \
+ -e '/^SUBDIRS/s@locate@@' \
+ -e '/^built_programs/s@ frcode locate updatedb@@' \
+ -i Makefile.in || die
+
+ default
+}
+
+src_configure() {
+ append-lfs-flags #471102
+ append-cppflags -D_TIME_BITS=64
+
+ if use static; then
+ append-flags -pthread
+ append-ldflags -static
+ fi
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # https://lists.gnu.org/archive/html/bug-findutils/2021-01/msg00050.html
+ # https://lists.gnu.org/archive/html/bug-findutils/2021-01/msg00051.html
+ append-cppflags '-D__nonnull\(X\)='
+ fi
+
+ program_prefix=$(usex userland_GNU '' g)
+ local myeconfargs=(
+ --with-packager="Gentoo"
+ --with-packager-version="${PVR}"
+ --with-packager-bug-reports="https://bugs.gentoo.org/"
+ --program-prefix=${program_prefix}
+ $(use_enable nls)
+ $(use_with selinux)
+ --libexecdir='$(libdir)'/find
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # We don't build locate, but the docs want a file in there.
+ emake -C locate dblocation.texi
+ default
+}