summaryrefslogtreecommitdiff
path: root/app-arch/pax
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /app-arch/pax
reinit the tree, so we can have metadata
Diffstat (limited to 'app-arch/pax')
-rw-r--r--app-arch/pax/Manifest12
-rw-r--r--app-arch/pax/files/pax-20160306-glibc-to-linux.patch38
-rw-r--r--app-arch/pax/files/pax-3.4-fix-fts-includes.patch24
-rw-r--r--app-arch/pax/files/pax-3.4-sysmacros.patch12
-rw-r--r--app-arch/pax/files/pax-3.4-x32.patch162
-rw-r--r--app-arch/pax/metadata.xml5
-rw-r--r--app-arch/pax/pax-20160306.ebuild60
-rw-r--r--app-arch/pax/pax-3.4.12.16-r1.ebuild39
-rw-r--r--app-arch/pax/pax-3.4.12.16.ebuild35
9 files changed, 387 insertions, 0 deletions
diff --git a/app-arch/pax/Manifest b/app-arch/pax/Manifest
new file mode 100644
index 000000000000..b4cab290188c
--- /dev/null
+++ b/app-arch/pax/Manifest
@@ -0,0 +1,12 @@
+AUX pax-20160306-glibc-to-linux.patch 932 SHA256 5dd64a70e394c15de0be8d9c4c2a366cb4cd998c2e32611dd0aced799a2c18e3 SHA512 96d018bd1be2b0d22c9c5e11a92d8cf7ef9bc72d1b13686e572aa15935f2fda9d507baf1e0eb916fec776c2f9d7bab458c203cab64446eed34b70f544109d1d7 WHIRLPOOL a9362fe33bd93532a123b35b4b12b97890b863035773dbcd79820cd7eb4ce4536c46fcff47a8d3947676ee166a4e10e62c1ccc84423ab3ee40d97d91fc67df1e
+AUX pax-3.4-fix-fts-includes.patch 709 SHA256 046520dd169157cd277a5c5be118848c580b67e07c7534d6dc39a9893058cf45 SHA512 16acd8b4f479a401e93a0bac6dc2436d0da833de697fd0b374c3293a429bcece18ba8344d5be043353664caec25f1e7717312870f07132b571d5000a5b0c10d6 WHIRLPOOL 1e23f57dad152b3ec768ba60582dce481769db099f6729e45db4f22e7fa81bc25759548ea0581fded4b01a84af0c702472994e74a053bcf63e5d74ab9178861e
+AUX pax-3.4-sysmacros.patch 204 SHA256 edc865b25d1dd8899b0e561d8f1728722a3412e59885bcad3d9f12444ec90e5d SHA512 9f99e0943aa243aeb026f23686bd09a3ded69903010495cfbee22eaac4b4c586103884e6275c63510bcd82d5cbbce13b4276996cfae5c6e522ec75bc3902a0d7 WHIRLPOOL 5b2c4b5a62737f47160437755b9a3a77d430936a2ff12d8d71567b1dffc50495c1bf55f6c7312e4362ac031a66e521f3f1bf535a5a44e28bde61fa937b72dfef
+AUX pax-3.4-x32.patch 6252 SHA256 d4d08ccda2a489c30bf933ec99ca45aaa50d8c67062f08d93522f2fa2106e138 SHA512 048a450eecf25333a9f4b20a1cf20c088636dd579b0ee37517e378793360429c8e0c86a4ebebb47ef15005ee10a265e359932deab970b86e35a2743d86e43d08 WHIRLPOOL d466be17e8e55a5ca8a34dc2504dae205484ada89aa9c8fbbfc0d37c015547642af3a75a6875c8da512f3e76b7cd90fcc07cd3024c9281e5da80cd8cb92eb452
+DIST pax-3.4-12.fc16.src.rpm 171016 SHA256 b86ca0556b12600d3dd4777900baae5118e71ce9e026e42e3bb51aed23853932 SHA512 78704cd1b66288acdaa8fdf4ca0a97c12b1e843e024be4d3fac88a6b42049928c6bfe69a72a58a00a9bf755c23e1e8e0b7d30bc72ba08a83830495dd5f6d9be1 WHIRLPOOL 8a674356efa939ceff0f502de926688d81f17da48c98f24674a76f11043f420c33aa9f47eb66fb1e896ddc4ca4c64cec554d7397379d1ccc884bf02b37eb9b29
+DIST paxmirabilis-20160306.cpio.gz 147448 SHA256 4e36fabfabc01a15e0d01eee0306cef79a7f374586f46254dae139eb866ae81b SHA512 65c9613f235d973f23d829d87b93963f4b21beca4d7158abb8243f7f0ba8eb883544bbd0c16bde82f0e55ab2fbf33e3dfb155a50c0f5be3bf6d88eaf95e1037f WHIRLPOOL 5945f45cc69cfd25d7754a9b6b25db98170de2fc926ffe3a661402d95bc41517e40ff059998d682cc65e32fd7e70a78e222525012eb98dde54c1d67c0c6c2277
+EBUILD pax-20160306.ebuild 1423 SHA256 57518b16ed82b8be0516e80fff1a72279034bab7454bc8e103e0d35c07fd14e9 SHA512 f1845f4921f165c8ba3130edd20fc3972c701caeec35fdbca0898faddc23c08c076a290a983786ff4e28f9ceb1fa1d5af3b230bad3701dfdc990720cc35e0cfc WHIRLPOOL 68eb577d1e896fc08cbbbe983faaf8e86d062b83dbb2d8945c3bde71a4eaa968ec0b951f3ee37e384f69aaefd509b5e3d747a299909a2f987d036920bef70913
+EBUILD pax-3.4.12.16-r1.ebuild 1093 SHA256 a9dcb473b1ea1e9a809a3be72d649ee17269d44c621ed60569733eb7b0476702 SHA512 0eb424739cece9e87e6c8154733dd2035248f1f64b713dd532e4c342c10b4eb0b917e9aa548363a20314f2c01d1669bb781aa6836143849020473fe1340aa935 WHIRLPOOL e764eab01c0fd9c3f24231788602f8450d1890d12e558d8b56bec25b5b5cb5a7ef0062e7dd2943525090b981d15d230b7d8c3c670715e40ccd1f0479a1f6de46
+EBUILD pax-3.4.12.16.ebuild 978 SHA256 90615183f63838b7100d8212a2c309d31c75893677ed49e9767afd75a616f130 SHA512 641c0574dd68f22aab3bf9d9c1c1ef28369e06c082af391eb6aded79225f23549712e7b4d999b92bee42eabb1b49205cc0f458cc5fbb1d02e774f6c9249ddea6 WHIRLPOOL 423ec15bcfa280db1fc45d01b3d3cc5d52f4e6a0f74f303d129128d41a65a3ca0f1169e34453ab618545005c0b2baf1de805b983baca9089748faa690c251019
+MISC ChangeLog 3256 SHA256 1a854680b7745056b95722905aebfef2eb438d830e3f4913716c9683c61d9a50 SHA512 8c2888f8024a21aced6df437893ae171633b3b331878e3a09b2745b8b24b62e0f170f69ae73d17c460f39d33c1bf45c35bdd948ab71087f2fb8b127b2918007a WHIRLPOOL 3956aaad76dd9400ac706888bb4c4216a22022f744da5b3cc27aaeace344338efe670ff4960e4440182a4ed5cc081b726f89147ffb3196c18072dae04c738b4b
+MISC ChangeLog-2015 3174 SHA256 a6c50b489dab184206dc36f0ef5abe180082f7d802acae758c4c7c071a5fa733 SHA512 f74df2c5cf0a8abdd905fd80251e327c5608f6de95398ed16f571ea5be7273a9db215c1d0f943a89c823efb800989fb2ee8d8b91209c6b94f1ff905cd088b60b WHIRLPOOL 205709456a97a0dcdf923fd1674c33b45d4012379bab094ec57c41321b149e05b73d44573d82b808d7f4927545ecdb0cf5605c3d7f9de1c4edd5781b9e07067c
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/app-arch/pax/files/pax-20160306-glibc-to-linux.patch b/app-arch/pax/files/pax-20160306-glibc-to-linux.patch
new file mode 100644
index 000000000000..f864729cc4fe
--- /dev/null
+++ b/app-arch/pax/files/pax-20160306-glibc-to-linux.patch
@@ -0,0 +1,38 @@
+--- pax/cache.c.old 2016-03-06 08:12:52.000000000 -0600
++++ pax/cache.c 2016-04-17 13:01:26.461307830 -0500
+@@ -195,7 +195,7 @@
+ * No entry for this uid, we will add it
+ */
+ if (!pwopn) {
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__linux__)
+ setpwent();
+ #elif !defined(__INTERIX)
+ setpassent(1);
+@@ -265,7 +265,7 @@
+ * No entry for this gid, we will add it
+ */
+ if (!gropn) {
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__linux__)
+ setgrent();
+ #elif !defined(__INTERIX) && !defined(__CYGWIN__)
+ setgroupent(1);
+@@ -336,7 +336,7 @@
+ }
+
+ if (!pwopn) {
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__linux__)
+ setpwent();
+ #elif !defined(__INTERIX)
+ setpassent(1);
+@@ -403,7 +403,7 @@
+ }
+
+ if (!gropn) {
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__linux__)
+ setgrent();
+ #elif !defined(__INTERIX) && !defined(__CYGWIN__)
+ setgroupent(1);
diff --git a/app-arch/pax/files/pax-3.4-fix-fts-includes.patch b/app-arch/pax/files/pax-3.4-fix-fts-includes.patch
new file mode 100644
index 000000000000..5e4e37eb66aa
--- /dev/null
+++ b/app-arch/pax/files/pax-3.4-fix-fts-includes.patch
@@ -0,0 +1,24 @@
+diff -ur pax-3.4-orig/lib/fts.c pax-3.4/lib/fts.c
+--- pax-3.4-orig/lib/fts.c 2005-07-29 09:55:25.000000000 +0200
++++ pax-3.4/lib/fts.c 2014-10-30 21:38:42.404092744 +0100
+@@ -35,7 +35,7 @@
+ #include <fcntl.h>
+ #include <dirent.h>
+ #include <errno.h>
+-#include <fts.h>
++#include "fts.h"
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+diff -ur pax-3.4-orig/src/ftree.c pax-3.4/src/ftree.c
+--- pax-3.4-orig/src/ftree.c 2005-07-29 09:46:06.000000000 +0200
++++ pax-3.4/src/ftree.c 2014-10-30 21:39:14.876093149 +0100
+@@ -46,7 +46,7 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <stdlib.h>
+-#include <fts.h>
++#include "../lib/fts.h"
+ #include "pax.h"
+ #include "ftree.h"
+ #include "extern.h"
diff --git a/app-arch/pax/files/pax-3.4-sysmacros.patch b/app-arch/pax/files/pax-3.4-sysmacros.patch
new file mode 100644
index 000000000000..3aede97ec06f
--- /dev/null
+++ b/app-arch/pax/files/pax-3.4-sysmacros.patch
@@ -0,0 +1,12 @@
+not all C libs pull in this header via sys/types.h for major()/etc...
+
+--- a/src/extern.h
++++ b/src/extern.h
+@@ -38,6 +38,7 @@
+ */
+
+ #include <sys/cdefs.h>
++#include <sys/sysmacros.h>
+
+ /*
+ * ar_io.c
diff --git a/app-arch/pax/files/pax-3.4-x32.patch b/app-arch/pax/files/pax-3.4-x32.patch
new file mode 100644
index 000000000000..7ae1a9d914ca
--- /dev/null
+++ b/app-arch/pax/files/pax-3.4-x32.patch
@@ -0,0 +1,162 @@
+https://sites.google.com/site/x32abi/x32-patches
+
+--- pax-3.4/configure.in
++++ pax-3.4/configure.in
+@@ -33,4 +33,7 @@ dnl Checks for header files.
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+
++AC_CHECK_SIZEOF(off_t)
++AC_CHECK_SIZEOF(long)
++
+ AC_OUTPUT([Makefile lib/Makefile src/Makefile])
+--- pax-3.4/src/ar_io.c
++++ pax-3.4/src/ar_io.c
+@@ -378,7 +378,8 @@ ar_close(void)
+ * could have written anything yet.
+ */
+ if (frmt == NULL) {
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ (void)fprintf(listf, "%s: unknown format, %qu bytes skipped.\n",
+ #else
+ (void)fprintf(listf, "%s: unknown format, %lu bytes skipped.\n",
+@@ -391,7 +392,8 @@ ar_close(void)
+
+ if (strcmp(NM_CPIO, argv0) == 0)
+ (void)fprintf(listf,
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ "%qu blocks\n",
+ #else
+ "%lu blocks\n",
+@@ -399,7 +401,8 @@ ar_close(void)
+ (rdcnt ? rdcnt : wrcnt) / 5120);
+ else if (strcmp(NM_TAR, argv0) != 0)
+ (void)fprintf(listf,
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ "%s: %s vol %d, %lu files, %qu bytes read, %qu bytes written.\n",
+ #else
+ "%s: %s vol %d, %lu files, %lu bytes read, %lu bytes written.\n",
+--- pax-3.4/src/cpio.c
++++ pax-3.4/src/cpio.c
+@@ -218,7 +218,8 @@ rd_ln_nm (ARCHD *arcn)
+ */
+ if ((arcn->sb.st_size == 0) ||
+ (arcn->sb.st_size >= (off_t) sizeof(arcn->ln_name))) {
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ paxwarn (1, "Cpio link name length is invalid: %qu",
+ arcn->sb.st_size);
+ #else
+--- pax-3.4/src/gen_subs.c
++++ pax-3.4/src/gen_subs.c
+@@ -133,7 +133,8 @@ ls_list (ARCHD *arcn, time_t now, FILE *
+ * print device id's for devices, or sizes for other nodes
+ */
+ if ((arcn->type == PAX_CHR) || (arcn->type == PAX_BLK))
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ (void) fprintf (fp, "%4lu,%4lu ", (unsigned long) MAJOR (sbp->st_rdev),
+ (unsigned long) MINOR (sbp->st_rdev));
+ #else
+@@ -142,7 +143,8 @@ ls_list (ARCHD *arcn, time_t now, FILE *
+ #endif
+ else
+ {
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ (void) fprintf (fp, "%9qu ", sbp->st_size);
+ #else
+ (void) fprintf (fp, "%9lu ", sbp->st_size);
+@@ -334,7 +336,8 @@ ul_asc (u_long val, char *str, int len,
+ return (0);
+ }
+
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ /*
+ * asc_uqd()
+ * convert hex/octal character string into a u_quad_t. We do not have to
+--- pax-3.4/src/options.c
++++ pax-3.4/src/options.c
+@@ -1545,7 +1545,8 @@ str_offt (char *val)
+ char *expr;
+ off_t num, t;
+
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ num = strtoq (val, &expr, 0);
+ if ((num == LONG_LONG_MAX) || (num <= 0) || (expr == val))
+ #else
+--- pax-3.4/src/tar.c
++++ pax-3.4/src/tar.c
+@@ -58,7 +58,8 @@
+ static unsigned long tar_chksm (char *, int);
+ static char *name_split (char *, int);
+ static int ul_oct (u_long, char *, int, int);
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ static int uqd_oct (u_quad_t, char *, int, int);
+ #endif
+
+@@ -196,7 +197,8 @@ ul_oct (u_long val, register char *str,
+ return (0);
+ }
+
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ /*
+ * uqd_oct()
+ * convert an u_quad_t to an octal string. one of many oddball field
+@@ -427,7 +429,8 @@ tar_rd (ARCHD *arcn, char *buf)
+ 0xfff);
+ arcn->sb.st_uid = (uid_t) asc_ul (hd->uid, sizeof (hd->uid), OCT);
+ arcn->sb.st_gid = (gid_t) asc_ul (hd->gid, sizeof (hd->gid), OCT);
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ arcn->sb.st_size = (off_t) asc_uqd (hd->size, sizeof (hd->size), OCT);
+ #else
+ arcn->sb.st_size = (off_t) asc_ul (hd->size, sizeof (hd->size), OCT);
+@@ -659,7 +662,8 @@ tar_wr (register ARCHD * arcn)
+ * data follows this file, so set the pad
+ */
+ hd->linkflag = AREGTYPE;
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ if (uqd_oct ((u_quad_t) arcn->sb.st_size, hd->size,
+ sizeof (hd->size), 1))
+ #else
+@@ -834,7 +838,8 @@ ustar_rd (ARCHD *arcn, char *buf)
+ */
+ arcn->sb.st_mode = (mode_t) (asc_ul (hd->mode, sizeof (hd->mode), OCT) &
+ 0xfff);
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ arcn->sb.st_size = (off_t) asc_uqd (hd->size, sizeof (hd->size), OCT);
+ #else
+ arcn->sb.st_size = (off_t) asc_ul (hd->size, sizeof (hd->size), OCT);
+@@ -1081,7 +1086,8 @@ ustar_wr (register ARCHD * arcn)
+ else
+ hd->typeflag = REGTYPE;
+ arcn->pad = TAR_PAD (arcn->sb.st_size);
+-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \
++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
+ if (uqd_oct ((u_quad_t) arcn->sb.st_size, hd->size,
+ sizeof (hd->size), 3))
+ {
diff --git a/app-arch/pax/metadata.xml b/app-arch/pax/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/app-arch/pax/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-arch/pax/pax-20160306.ebuild b/app-arch/pax/pax-20160306.ebuild
new file mode 100644
index 000000000000..221a2103c1a3
--- /dev/null
+++ b/app-arch/pax/pax-20160306.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit unpacker toolchain-funcs flag-o-matic
+
+DESCRIPTION="pax (Portable Archive eXchange) is the POSIX standard archive tool"
+HOMEPAGE="https://www.mirbsd.org/pax.htm"
+SRC_URI="https://www.mirbsd.org/MirOS/dist/mir/cpio/paxmirabilis-${PV}.cpio.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+RDEPEND="dev-libs/libbsd
+ elibc_musl? ( sys-libs/fts-standalone )"
+DEPEND="${RDEPEND}
+ $(unpacker_src_uri_depends)"
+
+S=${WORKDIR}/${PN}
+
+PATCHES=( "${FILESDIR}/${P}-glibc-to-linux.patch" )
+
+src_prepare() {
+ # Newer C libraries omit this include from sys/types.h.
+ sed -i '1i#include <sys/sysmacros.h>' extern.h || die
+ default
+}
+
+src_configure() {
+ tc-export CC PKG_CONFIG
+}
+
+src_compile() {
+ use elibc_musl && append-ldflags "-lfts"
+
+ # We can't rely on LFS flags as it uses the fts.h interface which lacks 64-bit support.
+ set -- \
+ ${CC} ${CPPFLAGS} ${CFLAGS} \
+ -DHAVE_STRLCPY -DHAVE_VIS -DHAVE_STRMODE \
+ -DLONG_OFF_T -DHAVE_LINKAT \
+ $(${PKG_CONFIG} --cflags libbsd-overlay) \
+ -Wall ${LDFLAGS} *.c -o ${PN} \
+ $(${PKG_CONFIG} --libs libbsd-overlay)
+ echo "$@"
+ "$@" || die
+}
+
+src_install() {
+ dobin ${PN}
+ doman ${PN}.1
+
+ dosym pax /usr/bin/paxcpio
+ newman cpio.1 paxcpio.1
+
+ dosym pax /usr/bin/paxtar
+ newman tar.1 paxtar.1
+}
diff --git a/app-arch/pax/pax-3.4.12.16-r1.ebuild b/app-arch/pax/pax-3.4.12.16-r1.ebuild
new file mode 100644
index 000000000000..7962aaaf3f41
--- /dev/null
+++ b/app-arch/pax/pax-3.4.12.16-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils rpm versionator autotools
+
+MY_PV=$(get_version_component_range 1-2)
+MY_P="${PN}-${MY_PV}"
+RPM_PV=$(get_version_component_range 3)
+FC_PV=$(get_version_component_range 4)
+
+DESCRIPTION="pax (Portable Archive eXchange) is the POSIX standard archive tool"
+HOMEPAGE="http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin/pax/"
+SRC_URI="mirror://fedora-dev/releases/${FC_PV}/Everything/source/SRPMS/${MY_P}-${RPM_PV}.fc${FC_PV}.src.rpm"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ rpm_spec_epatch ../${PN}.spec
+ epatch "${FILESDIR}"/pax-3.4-x32.patch
+ epatch "${FILESDIR}"/pax-3.4-fix-fts-includes.patch
+ epatch "${FILESDIR}"/pax-3.4-sysmacros.patch
+ sed -i configure.in \
+ -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' \
+ -e '/AC_PROG_RANLIB/a AC_PROG_MKDIR_P' \
+ || die
+ eautoreconf
+}
+
+src_install() {
+ default
+ dodoc AUTHORS ChangeLog NEWS README THANKS
+}
diff --git a/app-arch/pax/pax-3.4.12.16.ebuild b/app-arch/pax/pax-3.4.12.16.ebuild
new file mode 100644
index 000000000000..cdd4636f56d9
--- /dev/null
+++ b/app-arch/pax/pax-3.4.12.16.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils rpm versionator autotools
+
+MY_PV=$(get_version_component_range 1-2)
+MY_P="${PN}-${MY_PV}"
+RPM_PV=$(get_version_component_range 3)
+FC_PV=$(get_version_component_range 4)
+
+DESCRIPTION="pax (Portable Archive eXchange) is the POSIX standard archive tool"
+HOMEPAGE="http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin/pax/"
+SRC_URI="mirror://fedora-dev/releases/${FC_PV}/Everything/source/SRPMS/${MY_P}-${RPM_PV}.fc${FC_PV}.src.rpm"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ rpm_spec_epatch ../${PN}.spec
+ epatch "${FILESDIR}"/pax-3.4-x32.patch
+ epatch "${FILESDIR}"/pax-3.4-sysmacros.patch
+ sed -i configure.in -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' || die
+ eautoreconf
+}
+
+src_install() {
+ default
+ dodoc AUTHORS ChangeLog NEWS README THANKS
+}