summaryrefslogtreecommitdiff
path: root/archivers/archangel
diff options
context:
space:
mode:
authorsbd <sbd@pkgsrc.org>2012-01-28 01:52:48 +0000
committersbd <sbd@pkgsrc.org>2012-01-28 01:52:48 +0000
commit6f700b3ff177021c8757fd4a03d207051b86e7bf (patch)
tree17233ecce1ae47df80a393e8e7bbe24140988ace /archivers/archangel
parent458adf38317e62bc14986fe7db9135661a4d4393 (diff)
downloadpkgsrc-6f700b3ff177021c8757fd4a03d207051b86e7bf.tar.gz
Add a workaround for a problem with gcc transparent_union attribute that
causes the wait() prototype to be wrong. Also linux's struct stat dosn't have st_flags.
Diffstat (limited to 'archivers/archangel')
-rw-r--r--archivers/archangel/distinfo4
-rw-r--r--archivers/archangel/patches/patch-ad30
2 files changed, 23 insertions, 11 deletions
diff --git a/archivers/archangel/distinfo b/archivers/archangel/distinfo
index 1e09344a279..5bf1b9a4290 100644
--- a/archivers/archangel/distinfo
+++ b/archivers/archangel/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.8 2006/10/01 21:00:20 rillig Exp $
+$NetBSD: distinfo,v 1.9 2012/01/28 01:52:48 sbd Exp $
SHA1 (archangel-20050730.tar.gz) = 966948ebac01a71732e93afd72fe5c4a21ba1ed8
RMD160 (archangel-20050730.tar.gz) = 16b5f1d7dae8d45b22d0e371a90e0673c5e58caa
@@ -6,5 +6,5 @@ Size (archangel-20050730.tar.gz) = 673307 bytes
SHA1 (patch-aa) = cc5369ee02b35a0f4c21bed18802a3919f89bc63
SHA1 (patch-ab) = 580fac24f5c2ee698ea58dce3b75bc4301db75bf
SHA1 (patch-ac) = f7cd2a68ae6349e9ce2570ee269c70d7dd565c8f
-SHA1 (patch-ad) = 576ba595b35fba2a0eb2ef840cf544b3d2a88856
+SHA1 (patch-ad) = 7d4ec3b88e2453d81c041ec37859c804b36a0090
SHA1 (patch-ae) = 21e2e651af0d828813b26cd036b7583a5dd3eebe
diff --git a/archivers/archangel/patches/patch-ad b/archivers/archangel/patches/patch-ad
index b13709feec2..446aa54bdd9 100644
--- a/archivers/archangel/patches/patch-ad
+++ b/archivers/archangel/patches/patch-ad
@@ -1,7 +1,7 @@
-$NetBSD: patch-ad,v 1.2 2006/10/01 21:00:20 rillig Exp $
+$NetBSD: patch-ad,v 1.3 2012/01/28 01:52:49 sbd Exp $
---- aa.c.orig 2005-08-01 00:20:23.000000000 +0200
-+++ aa.c 2006-08-30 17:56:16.285256480 +0200
+--- aa.c.orig 2005-07-31 22:20:23.000000000 +0000
++++ aa.c
@@ -48,6 +48,9 @@
#include <sys/endian.h>
#endif
@@ -12,7 +12,19 @@ $NetBSD: patch-ad,v 1.2 2006/10/01 21:00:20 rillig Exp $
#include <ctype.h>
-@@ -534,7 +537,7 @@ readfile(aa_t *aa, aaent_t *aep, char *n
+@@ -221,7 +224,10 @@ asystem(aa_t *aa, const char *file, int
+ (void) close(fdv[0]);
+ (void) write(fdv[1], aa->phrase, strlen(aa->phrase));
+ (void) write(fdv[1], "\n", 1);
+- (void) wait(&status);
++#if !defined(__GLIBC__) || !defined(__USE_BSD)
++#define __WAIT_STATUS int *
++#endif
++ (void) wait((__WAIT_STATUS)&status);
+ (void) close(fdv[1]);
+ break;
+ }
+@@ -534,7 +540,7 @@ readfile(aa_t *aa, aaent_t *aep, char *n
#ifdef HAVE_SETXATTR
/* set the external attributes */
static int
@@ -21,7 +33,7 @@ $NetBSD: patch-ad,v 1.2 2006/10/01 21:00:20 rillig Exp $
{
char *ap;
char *eq;
-@@ -549,7 +552,11 @@ ext_attr_set(aa_t *aa, aaent_t *aep, cha
+@@ -549,7 +555,11 @@ ext_attr_set(aa_t *aa, aaent_t *aep, cha
warn("WARNING: malformed attribute (%s) for \"%s\"", ap, name);
} else {
*eq = 0x0;
@@ -33,7 +45,7 @@ $NetBSD: patch-ad,v 1.2 2006/10/01 21:00:20 rillig Exp $
warn("WARNING: can't setxattr (%s) for \"%s\"", ap, name);
}
*eq = '=';
-@@ -605,7 +612,11 @@ extractfile(aa_t *aa, aaent_t *aep, char
+@@ -605,7 +615,11 @@ extractfile(aa_t *aa, aaent_t *aep, char
warn("extractfile: can't open \"%s\" mode %x", name, mode);
return 0;
}
@@ -45,7 +57,7 @@ $NetBSD: patch-ad,v 1.2 2006/10/01 21:00:20 rillig Exp $
warn("extractfile: can't set access/modification time for \"%s\"", name);
}
if (aep->sub.xattrlen > 0) {
-@@ -927,9 +938,17 @@ ext_attr_get(aa_t *aa, aaent_t *aep, cha
+@@ -927,9 +941,17 @@ ext_attr_get(aa_t *aa, aaent_t *aep, cha
int cc;
int vc;
@@ -63,11 +75,11 @@ $NetBSD: patch-ad,v 1.2 2006/10/01 21:00:20 rillig Exp $
warnx("file \"%s\" attribute \"%s\" is too long, skipping...", path, key);
} else {
ac += snprintf(&attrs[ac], sizeof(attrs) - ac, "%s=%s\n", key, val);
-@@ -982,7 +1001,11 @@ addent(aa_t *aa, char *name, int namelen
+@@ -982,7 +1004,11 @@ addent(aa_t *aa, char *name, int namelen
#endif
a.sub.size = sp->st_size;
a.sub.blocks = sp->st_blocks;
-+#if defined(__sun)
++#if defined(__sun) || defined(__linux)
+ a.sub.flags = 0;
+#else
a.sub.flags = sp->st_flags;