commit: b5d27ba41941be450cada145f6a03367ecb0a525 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Apr 28 05:52:12 2023 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Apr 28 06:04:11 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5d27ba4
dev-libs/libtar: fix configure w/ clang 16 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/libtar-1.2.20-configure-clang16.patch | 43 +++++++++++++++ dev-libs/libtar/libtar-1.2.20-r6.ebuild | 64 ++++++++++++++++++++++ 2 files changed, 107 insertions(+) diff --git a/dev-libs/libtar/files/libtar-1.2.20-configure-clang16.patch b/dev-libs/libtar/files/libtar-1.2.20-configure-clang16.patch new file mode 100644 index 000000000000..c47ae7f3c8f2 --- /dev/null +++ b/dev-libs/libtar/files/libtar-1.2.20-configure-clang16.patch @@ -0,0 +1,43 @@ +https://src.fedoraproject.org/rpms/libtar/raw/175c39e7e572fea263fd2e35175646852a785def/f/libtar-configure-c99.patch + +Add additional #include directives to prevent implicit function +declarations and build failures with future compilers. + +--- a/compat/module.ac ++++ b/compat/module.ac +@@ -31,6 +31,8 @@ AC_DEFUN([COMPAT_FUNC_BASENAME], [ + [compat_cv_func_basename_works], + [AC_TRY_RUN([ + #include <stdio.h> ++#include <stdlib.h> ++#include <string.h> + #ifdef HAVE_LIBGEN_H + # include <libgen.h> + #endif +@@ -85,6 +87,8 @@ AC_DEFUN([COMPAT_FUNC_DIRNAME], [ + [compat_cv_func_dirname_works], + [AC_TRY_RUN([ + #include <stdio.h> ++#include <stdlib.h> ++#include <string.h> + #ifdef HAVE_LIBGEN_H + # include <libgen.h> + #endif +@@ -208,6 +212,7 @@ AC_DEFUN([COMPAT_FUNC_MAKEDEV], [ + [compat_cv_func_makedev_three_args], + [AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ ++#include <stdlib.h> + #include <sys/types.h> + #ifdef MAJOR_IN_MKDEV + # include <sys/mkdev.h> +@@ -248,6 +253,8 @@ AC_DEFUN([COMPAT_FUNC_SNPRINTF], [ + [compat_cv_func_snprintf_works], + [AC_TRY_RUN([ + #include <stdio.h> ++#include <stdlib.h> ++#include <string.h> + + typedef struct { + int length; + diff --git a/dev-libs/libtar/libtar-1.2.20-r6.ebuild b/dev-libs/libtar/libtar-1.2.20-r6.ebuild new file mode 100644 index 000000000000..de4f3b50ca80 --- /dev/null +++ b/dev-libs/libtar/libtar-1.2.20-r6.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="C library for manipulating tar archives" +HOMEPAGE="https://repo.or.cz/w/libtar.git/" +SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="zlib" +# There is no test and 'check' target errors out due to mixing of automake & +# non-automake makefiles. +# https://bugs.gentoo.org/526436 +RESTRICT="test" + +RDEPEND=" + zlib? ( sys-libs/zlib:= ) + !zlib? ( app-arch/gzip )" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.2.11-free.patch + "${FILESDIR}"/${PN}-1.2.11-impl-dec.patch + "${FILESDIR}"/CVE-2013-4420.patch + "${FILESDIR}"/${P}-fd-leaks.patch + "${FILESDIR}"/${P}-tar_open-memleak.patch + "${FILESDIR}"/${P}-bin-memleaks.patch + "${FILESDIR}"/${P}-configure-clang16.patch +) + +src_prepare() { + default + + sed -e '/INSTALL_PROGRAM/s:-s::' \ + -i {doc,lib{,tar}}/Makefile.in || die + + eautoreconf +} + +src_configure() { + local myeconfargs=( + --disable-encap + --disable-epkg-install + $(use_with zlib) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + dodoc ChangeLog-1.0.x + newdoc compat/README README.compat + newdoc compat/TODO TODO.compat + newdoc listhash/TODO TODO.listhash + + find "${ED}" -name '*.la' -delete || die +}
