commit:     3e712656018c3fa11f523aec26ebea7b32161e98
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 18 18:15:58 2020 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Dec 18 18:16:23 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e712656

app-arch/libarchive-3.5.0: fix for ppc-macos

Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 .../files/libarchive-3.5.0-darwin-strnlen.patch    | 27 ++++++++++++++++++++++
 app-arch/libarchive/libarchive-3.5.0.ebuild        |  1 +
 2 files changed, 28 insertions(+)

diff --git a/app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch 
b/app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch
new file mode 100644
index 00000000000..8f540e4aa07
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch
@@ -0,0 +1,27 @@
+https://github.com/macports/macports-ports/blob/master/archivers/libarchive/files/patch-libarchive-3.5-strnlen.diff
+
+next release should have a fix for this
+
+--- a/libarchive/archive_read_support_format_mtree.c
++++ b/libarchive/archive_read_support_format_mtree.c
+@@ -65,6 +65,20 @@ __FBSDID("$FreeBSD: 
head/lib/libarchive/archive_read_support_format_mtree.c 2011
+ #define O_CLOEXEC     0
+ #endif
+ 
++#ifdef __APPLE__
++#if  __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070
++static size_t strnlen(const char *s, size_t maxlen) {
++  size_t l = 0;
++  while (l < maxlen && *s) {
++    l++;
++    s++;
++  }
++  return l;
++}
++#endif
++#endif
++
++
+ #define       MTREE_HAS_DEVICE        0x0001
+ #define       MTREE_HAS_FFLAGS        0x0002
+ #define       MTREE_HAS_GID           0x0004

diff --git a/app-arch/libarchive/libarchive-3.5.0.ebuild 
b/app-arch/libarchive/libarchive-3.5.0.ebuild
index dde837017a8..d59eb05c046 100644
--- a/app-arch/libarchive/libarchive-3.5.0.ebuild
+++ b/app-arch/libarchive/libarchive-3.5.0.ebuild
@@ -39,6 +39,7 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
        "${FILESDIR}"/${PN}-3.3.3-libressl.patch
+       "${FILESDIR}"/${PN}-3.5.0-darwin-strnlen.patch  # drop on next release
 )
 
 src_prepare() {

Reply via email to