Added patch to work fine on 64bit arches. Don't let the package be stripped by the...
authorDiego Elio Pettenò <flameeyes@gentoo.org>
Mon, 19 Sep 2005 17:53:02 +0000 (17:53 +0000)
committerDiego Elio Pettenò <flameeyes@gentoo.org>
Mon, 19 Sep 2005 17:53:02 +0000 (17:53 +0000)
Package-Manager: portage-2.0.52-r1

app-arch/bsdsfv/ChangeLog
app-arch/bsdsfv/Manifest
app-arch/bsdsfv/bsdsfv-1.18-r1.ebuild [new file with mode: 0644]
app-arch/bsdsfv/files/bsdsfv-1.18-64bit.patch [new file with mode: 0644]
app-arch/bsdsfv/files/digest-bsdsfv-1.18-r1 [new file with mode: 0644]

index 83586ff12e8fb7f853c93e0fbd41d8b86d140057..6a76ac5795dcb8c2459c0a3081fef59f520caa93 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for app-arch/bsdsfv
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/bsdsfv/ChangeLog,v 1.16 2005/04/10 20:51:38 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/bsdsfv/ChangeLog,v 1.17 2005/09/19 17:53:01 flameeyes Exp $
+
+*bsdsfv-1.18-r1 (19 Sep 2005)
+
+  19 Sep 2005; Diego Pettenò <flameeyes@gentoo.org>
+  +files/bsdsfv-1.18-64bit.patch, +bsdsfv-1.18-r1.ebuild:
+  Added patch to work fine on 64bit arches. Don't let the package be stripped
+  by the makefile. Respected the configured compiler.
 
   10 Apr 2005; Mike Frysinger <vapier@gentoo.org> bsdsfv-1.18.ebuild:
   Mark -amd64 since it failed to properly verify half the files in a 70 disk set.
index b22091e5f3a8ca6ae80202f6f22487074dbc439f..6b944895d0c39f839fe06782bb6938456d1fa1c5 100644 (file)
@@ -1,3 +1,16 @@
-MD5 9b88b9f94fa78e013e90db078bee5a59 ChangeLog 1663
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+MD5 c52d01216cb87f6bb74f74a1832e8905 ChangeLog 1941
+MD5 5272193c1cffbd0d714721be1ebaa5a9 bsdsfv-1.18-r1.ebuild 719
 MD5 def713ebb472d3e5bb941ab3723802d1 bsdsfv-1.18.ebuild 526
+MD5 9cdf8f8e27eabb71f8dce2d0ffcc5da4 files/bsdsfv-1.18-64bit.patch 2392
+MD5 edec83a4548c43916e86bf0263c41b9c files/digest-bsdsfv-1.18-r1 62
 MD5 edec83a4548c43916e86bf0263c41b9c files/digest-bsdsfv-1.18 62
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.2 (GNU/Linux)
+
+iD8DBQFDLvsrj5H05b2HAEkRAkz4AJwLttR8YRUtuPwizV1vcD3rcHz/CgCdG2Nk
+ya4OvqcgfSjJSPdDhN03Ayw=
+=/7RO
+-----END PGP SIGNATURE-----
diff --git a/app-arch/bsdsfv/bsdsfv-1.18-r1.ebuild b/app-arch/bsdsfv/bsdsfv-1.18-r1.ebuild
new file mode 100644 (file)
index 0000000..2a837f8
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/bsdsfv/bsdsfv-1.18-r1.ebuild,v 1.1 2005/09/19 17:53:01 flameeyes Exp $
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="all-in-one SFV checksum utility"
+HOMEPAGE="http://bsdsfv.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bsdsfv/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc-macos ~sparc ~x86"
+IUSE=""
+
+DEPEND=""
+
+S=${WORKDIR}/${PN}
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+
+       epatch "${FILESDIR}/${P}-64bit.patch"
+}
+
+src_compile() {
+       emake STRIP=true CC=$(tc-getCC) || die "emake failed"
+}
+
+src_install() {
+       dobin bsdsfv || die
+       dodoc README MANUAL
+}
diff --git a/app-arch/bsdsfv/files/bsdsfv-1.18-64bit.patch b/app-arch/bsdsfv/files/bsdsfv-1.18-64bit.patch
new file mode 100644 (file)
index 0000000..651b419
--- /dev/null
@@ -0,0 +1,85 @@
+Index: bsdsfv/bsdsfv.c
+===================================================================
+--- bsdsfv.orig/bsdsfv.c
++++ bsdsfv/bsdsfv.c
+@@ -60,9 +60,13 @@ typedef struct sfvtable {
+ #include <sys/mman.h>
+ #include <dirent.h>
+ 
++#ifdef __GLIBC__
++#include <inttypes.h>
++#endif
++
+ 
+-long
+-UpdateCRC(unsigned long CRC, const char *buffer, long count)
++int32_t
++UpdateCRC(uint32_t CRC, const char *buffer, int32_t count)
+ {
+       /*
+        * Note: if you want to know how CRC32-checking works, I
+@@ -70,7 +74,7 @@ UpdateCRC(unsigned long CRC, const char 
+        * There is not much you can change in this function, so
+        * if you need a CRC32-check yourself, feel free to rip.
+        */
+-      unsigned long CRCTABLE[] = {
++      uint32_t CRCTABLE[] = {
+               0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
+                   0x706af48f,
+               0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e,
+@@ -175,13 +179,13 @@ UpdateCRC(unsigned long CRC, const char 
+ 
+ 
+ 
+-long
++int32_t
+ GetFileCRC(char *filename)
+ {
+-      unsigned long crc = 0xffffffff;
++      uint32_t crc = 0xffffffff;
+       FILE *f;
+-      long totalread = 0;
+-      long localread;
++      int32_t totalread = 0;
++      int32_t localread;
+ 
+       /*
+        * Note: different buffer sizes may result in noticable 
+@@ -306,7 +310,7 @@ main(int argc, char *argv[])
+       FILE *missingfile;
+       DIR *dirp;
+       struct dirent *dp;
+-      long mycrc;
++      int32_t mycrc;
+       int cnt;
+       int dothisone;
+       char cfname[FNAMELEN];
+@@ -487,8 +491,8 @@ main(int argc, char *argv[])
+                               printf("Adding file: %s ... ", cfname);
+                               fflush(stdout);
+                               mycrc = GetFileCRC(cfname);
+-                              printf("CRC = 0x%08lX\n", mycrc);
+-                              sprintf(sfvline, "%s %08lX", cfname, mycrc);
++                              printf("CRC = 0x%08" PRIX32 "\n", mycrc);
++                              sprintf(sfvline, "%s %08" PRIX32, cfname, mycrc);
+ 
+                               // uncomment next 2 lines to 
+                               // convert filename to upper case, for whatever reason
+@@ -516,7 +520,7 @@ main(int argc, char *argv[])
+                       printf("Testing %s ... ", cfname);
+                       fflush(stdout);
+                       mycrc = GetFileCRC(cfname);
+-                      printf("local = 0x%08lX, listed = ", mycrc);
++                      printf("local = 0x%08" PRIX32 ", listed = ", mycrc);
+                       fflush(stdout);
+ 
+                       sfvfile = fopen(sfvname, "rt");
+@@ -675,7 +679,7 @@ main(int argc, char *argv[])
+ 
+                                       mycrc = GetFileCRC(dp->d_name);
+ 
+-                                      printf("local = 0x%08lX ... ", mycrc);
++                                      printf("local = 0x%08" PRIX32 " ... ", mycrc);
+ 
+                                       if (mycrc == sfvTable[cnt].crc) {
+                                               printf("OK\n");
diff --git a/app-arch/bsdsfv/files/digest-bsdsfv-1.18-r1 b/app-arch/bsdsfv/files/digest-bsdsfv-1.18-r1
new file mode 100644 (file)
index 0000000..eb6674a
--- /dev/null
@@ -0,0 +1 @@
+MD5 381df19a827d5a20097ab95ea9e760fa bsdsfv-1.18.tar.gz 13301