@@ -, +, @@ acl #587890 --- .../files/libarchive-3.2.1-osx-fix-acl.patch | 32 ++++++ app-arch/libarchive/libarchive-3.2.1-r2.ebuild | 117 ------------------- app-arch/libarchive/libarchive-3.2.1-r3.ebuild | 125 +++++++++++++++++++++ 3 files changed, 157 insertions(+), 117 deletions(-) create mode 100644 app-arch/libarchive/files/libarchive-3.2.1-osx-fix-acl.patch delete mode 100644 app-arch/libarchive/libarchive-3.2.1-r2.ebuild create mode 100644 app-arch/libarchive/libarchive-3.2.1-r3.ebuild --- a/app-arch/libarchive/files/libarchive-3.2.1-osx-fix-acl.patch +++ a/app-arch/libarchive/files/libarchive-3.2.1-osx-fix-acl.patch @@ -0,0 +1,32 @@ +From 3e66829717c8fde611b2b611497f08a46da40ce7 Mon Sep 17 00:00:00 2001 +From: Joerg Sonnenberger +Date: Tue, 21 Jun 2016 18:29:07 +0200 +Subject: [PATCH] Dummy out copy_acls if sys/acl.h is missing or ACL support is + disabled. + +--- + libarchive/archive_write_disk_posix.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/libarchive/archive_write_disk_posix.c b/libarchive/archive_write_disk_posix.c +index 6737cd7..67aacf1 100644 +--- a/libarchive/archive_write_disk_posix.c ++++ b/libarchive/archive_write_disk_posix.c +@@ -3487,6 +3487,9 @@ copy_xattrs(struct archive_write_disk *a, int tmpfd, int dffd) + static int + copy_acls(struct archive_write_disk *a, int tmpfd, int dffd) + { ++#ifndef HAVE_SYS_ACL_H ++ return 0; ++#else + acl_t acl, dfacl = NULL; + int acl_r, ret = ARCHIVE_OK; + +@@ -3514,6 +3517,7 @@ copy_acls(struct archive_write_disk *a, int tmpfd, int dffd) + if (dfacl) + acl_free(dfacl); + return (ret); ++#endif + } + + static int --- a/app-arch/libarchive/libarchive-3.2.1-r2.ebuild +++ a/app-arch/libarchive/libarchive-3.2.1-r2.ebuild @@ -1,117 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 -inherit autotools eutils multilib-minimal toolchain-funcs - -DESCRIPTION="BSD tar command" -HOMEPAGE="http://www.libarchive.org/" -SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz" - -LICENSE="BSD BSD-2 BSD-4 public-domain" -SLOT="0/13" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs xattr +zlib" - -RDEPEND=" - acl? ( virtual/acl[${MULTILIB_USEDEP}] ) - bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] ) - expat? ( dev-libs/expat[${MULTILIB_USEDEP}] ) - !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] ) - iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] ) - kernel_linux? ( - xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) - lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] ) - lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] ) - nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - kernel_linux? ( - virtual/os-headers - e2fsprogs? ( sys-fs/e2fsprogs ) - )" - -PATCHES=( "${FILESDIR}/${P}-fix-tests-gnu99.patch" ) - -multilib_src_configure() { - export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923 - - local myconf=() - myconf=( - $(use_enable acl) - $(use_enable static-libs static) - $(use_enable xattr) - $(use_with bzip2 bz2lib) - $(use_with expat) - $(use_with !expat xml2) - $(use_with iconv) - $(use_with lz4) - $(use_with lzma) - $(use_with lzo lzo2) - $(use_with nettle) - $(use_with zlib) - ) - if multilib_is_native_abi ; then myconf+=( - --enable-bsdcat=$(tc-is-static-only && echo static || echo shared) - --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared) - --enable-bsdtar=$(tc-is-static-only && echo static || echo shared) - ); else myconf+=( - --disable-bsdcat - --disable-bsdcpio - --disable-bsdtar - ); fi - - # We disable lzmadec because we support the newer liblzma from xz-utils - # and not liblzmadec with this version. - myconf+=( - --without-lzmadec - ) - - ECONF_SOURCE="${S}" econf "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi ; then - emake - else - emake libarchive.la - fi -} - -multilib_src_test() { - # Replace the default src_test so that it builds tests in parallel - multilib_is_native_abi && emake check -} - -multilib_src_install() { - if multilib_is_native_abi ; then - emake DESTDIR="${D}" install - - # Create symlinks for FreeBSD - if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then - for bin in cat cpio tar; do - dosym bsd${bin} /usr/bin/${bin} - echo '.so bsd${bin}.1' > "${T}"/${bin}.1 - doman "${T}"/${bin}.1 - done - fi - else - emake DESTDIR="${D}" \ - install-includeHEADERS \ - install-libLTLIBRARIES \ - install-pkgconfigDATA - fi - - # Libs.private: should be used from libarchive.pc instead - prune_libtool_files -} - -multilib_src_install_all() { - cd "${S}" || die - einstalldocs -} --- a/app-arch/libarchive/libarchive-3.2.1-r3.ebuild +++ a/app-arch/libarchive/libarchive-3.2.1-r3.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +inherit autotools eutils multilib-minimal toolchain-funcs + +DESCRIPTION="BSD tar command" +HOMEPAGE="http://www.libarchive.org/" +SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz" + +LICENSE="BSD BSD-2 BSD-4 public-domain" +SLOT="0/13" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs xattr +zlib" + +RDEPEND=" + acl? ( virtual/acl[${MULTILIB_USEDEP}] ) + bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] ) + expat? ( dev-libs/expat[${MULTILIB_USEDEP}] ) + !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] ) + iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] ) + kernel_linux? ( + xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + ) + !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) + lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) + lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] ) + lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] ) + nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] ) + zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + kernel_linux? ( + virtual/os-headers + e2fsprogs? ( sys-fs/e2fsprogs ) + )" + +PATCHES=( + "${FILESDIR}/${P}-fix-tests-gnu99.patch" + "${FILESDIR}/${P}-osx-fix-acl.patch" #587890 +) + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923 + + local myconf=() + myconf=( + $(use_enable acl) + $(use_enable static-libs static) + $(use_enable xattr) + $(use_with bzip2 bz2lib) + $(use_with expat) + $(use_with !expat xml2) + $(use_with iconv) + $(use_with lz4) + $(use_with lzma) + $(use_with lzo lzo2) + $(use_with nettle) + $(use_with zlib) + ) + if multilib_is_native_abi ; then myconf+=( + --enable-bsdcat=$(tc-is-static-only && echo static || echo shared) + --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared) + --enable-bsdtar=$(tc-is-static-only && echo static || echo shared) + ); else myconf+=( + --disable-bsdcat + --disable-bsdcpio + --disable-bsdtar + ); fi + + # We disable lzmadec because we support the newer liblzma from xz-utils + # and not liblzmadec with this version. + myconf+=( + --without-lzmadec + ) + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +multilib_src_compile() { + if multilib_is_native_abi ; then + emake + else + emake libarchive.la + fi +} + +multilib_src_test() { + # Replace the default src_test so that it builds tests in parallel + multilib_is_native_abi && emake check +} + +multilib_src_install() { + if multilib_is_native_abi ; then + emake DESTDIR="${D}" install + + # Create symlinks for FreeBSD + if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then + for bin in cat cpio tar; do + dosym bsd${bin} /usr/bin/${bin} + echo '.so bsd${bin}.1' > "${T}"/${bin}.1 + doman "${T}"/${bin}.1 + done + fi + else + emake DESTDIR="${D}" \ + install-includeHEADERS \ + install-libLTLIBRARIES \ + install-pkgconfigDATA + fi + + # Libs.private: should be used from libarchive.pc instead + prune_libtool_files +} + +multilib_src_install_all() { + cd "${S}" || die + einstalldocs +} --