commit:     8b78649fb457fb8cfe48aa194af9233cd3cc5cc6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri May  5 02:35:30 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May  5 02:35:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b78649f

app-arch/cpio: add 2.14

Bug: https://bugs.gentoo.org/699456
Bug: https://bugs.gentoo.org/738392
Bug: https://bugs.gentoo.org/807088
Bug: https://bugs.gentoo.org/854192
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-arch/cpio/Manifest                             |  1 +
 app-arch/cpio/cpio-2.14.ebuild                     | 50 ++++++++++++++++++++++
 .../files/cpio-2.14-sysmacros-glibc-2.26.patch     | 42 ++++++++++++++++++
 3 files changed, 93 insertions(+)

diff --git a/app-arch/cpio/Manifest b/app-arch/cpio/Manifest
index 1bc147148d44..dfe669870d3e 100644
--- a/app-arch/cpio/Manifest
+++ b/app-arch/cpio/Manifest
@@ -1,2 +1,3 @@
 DIST cpio-2.13-CVE-2021-38185.patch.xz 7844 BLAKE2B 
e338950e03c3eed3b4288435c9c75af8f0c3497b43680be4ee347e628db7cfac616b437a848094bf82cfc2c7f29d59b388bf0f6368b3b99770022e3f9533be11
 SHA512 
4d2cafefcd1ae9d86cb5171de2896799713490dfd9ed27d3dce0886fa4588c8df2b16ad8508a5dbb9155c9de6e40b6d1083bdb4774d967193a270a1dcbe37a33
 DIST cpio-2.13.tar.bz2 1354559 BLAKE2B 
45d77723acb55f15c8574ab5a2fdff6fb1767629d177dd3416b0268e9f82ee6bdd11b4fa591ef020efccbdc3f4918cf77263169da1a0f6422dfe1a9712295778
 SHA512 
459398e69f7f48201c04d1080218c50f75edcf114ffcbb236644ff6fcade5fcc566929bdab2ebe9be5314828d6902e43b348a8adf28351df978c8989590e93a3
+DIST cpio-2.14.tar.bz2 1521004 BLAKE2B 
f2fa9f5bc39cd91f4755fdf27f43cff4d1c1f098639502689a01314762ad686bf357a1eda7f92e4c802e6e8335548ca31fc789cea056ef685c558892ddcbebd1
 SHA512 
2dc93a81e31b6fb7ff9976243d22ca7a84bb396c7ad09e0abfb5d5efae1164ebb319fb89be45045797f8c604b3e3d2ea0746e3cfe559aa86282ea4ec9a17da28

diff --git a/app-arch/cpio/cpio-2.14.ebuild b/app-arch/cpio/cpio-2.14.ebuild
new file mode 100644
index 000000000000..1d3937b4bbab
--- /dev/null
+++ b/app-arch/cpio/cpio-2.14.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A file archival tool which can also read and write tar files"
+HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html";
+SRC_URI="mirror://gnu/cpio/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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"
+
+PDEPEND="
+       app-alternatives/cpio
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.12-non-gnu-compilers.patch #275295
+       "${FILESDIR}"/${PN}-2.14-sysmacros-glibc-2.26.patch
+)
+
+src_prepare() {
+       default
+
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               $(use_enable nls)
+               --bindir="${EPREFIX}"/bin
+               --with-rmt="${EPREFIX}"/usr/sbin/rmt
+               # install as gcpio for better compatibility with non-GNU 
userland
+               --program-prefix=g
+       )
+
+       econf "${myeconfargs[@]}"
+}
+
+pkg_postinst() {
+       # ensure to preserve the symlink before app-alternatives/cpio
+       # is installed
+       if [[ ! -h ${EROOT}/bin/cpio ]]; then
+               ln -s gcpio "${EROOT}/bin/cpio" || die
+       fi
+}

diff --git a/app-arch/cpio/files/cpio-2.14-sysmacros-glibc-2.26.patch 
b/app-arch/cpio/files/cpio-2.14-sysmacros-glibc-2.26.patch
new file mode 100644
index 000000000000..e6b187c8f5c6
--- /dev/null
+++ b/app-arch/cpio/files/cpio-2.14-sysmacros-glibc-2.26.patch
@@ -0,0 +1,42 @@
+--- a/am/ax_compile_check_rettype.m4
++++ b/am/ax_compile_check_rettype.m4
+@@ -70,6 +70,9 @@ AC_CACHE_VAL(AC_CV_NAME,
+ [for ac_type in char short int long "long long" $4
+  do 
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ #include <sys/types.h>
+ $3
+ ]], [[switch (0) case 0: case (sizeof ($1($2)) == sizeof ($ac_type)):;]])], 
[AC_CV_NAME=$ac_type])
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,14 +37,11 @@ gl_EARLY
+ AC_C_PROTOTYPES
+ 
+ AC_SYS_LARGEFILE
+-AC_HEADER_MAJOR
+ AC_C_CONST
+ AC_TYPE_UID_T
+ AC_CHECK_TYPE(gid_t, int)
+ 
+ AC_HEADER_DIRENT
+-AX_COMPILE_CHECK_RETTYPE([major], [0])
+-AX_COMPILE_CHECK_RETTYPE([minor], [0])
+ 
+ AC_CHECK_FUNCS([fchmod fchown])
+ # This is needed for mingw build
+@@ -65,7 +62,11 @@ AC_ARG_ENABLE(mt,
+ 
+ AM_CONDITIONAL([CPIO_MT_COND], [test "$enable_mt" = yes])
+ 
+-AC_CHECK_HEADERS([unistd.h stdlib.h string.h fcntl.h pwd.h grp.h 
sys/io/trioctl.h utmp.h getopt.h locale.h libintl.h sys/wait.h utime.h locale.h 
process.h sys/ioctl.h])
++AC_CHECK_HEADERS([unistd.h stdlib.h string.h fcntl.h pwd.h grp.h 
sys/io/trioctl.h utmp.h getopt.h locale.h libintl.h sys/wait.h utime.h locale.h 
process.h sys/ioctl.h sys/sysmacros.h])
++
++AC_HEADER_MAJOR
++AC_COMPILE_CHECK_RETTYPE([major], [0])
++AC_COMPILE_CHECK_RETTYPE([minor], [0])
+ 
+ AC_CHECK_DECLS([errno, getpwnam, getgrnam, getgrgid, strdup, strerror, 
getenv, atoi, exit], , , [
+ #include <stdio.h>

Reply via email to