summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-arch/par2cmdline/ChangeLog12
-rw-r--r--app-arch/par2cmdline/files/digest-par2cmdline-0.42
-rw-r--r--app-arch/par2cmdline/files/digest-par2cmdline-0.4-r12
-rw-r--r--app-arch/par2cmdline/files/digest-par2cmdline-0.4-r23
-rw-r--r--app-arch/par2cmdline/files/par2cmdline-0.4-letype.patch219
-rw-r--r--app-arch/par2cmdline/files/par2cmdline-0.4-offset.patch16
-rw-r--r--app-arch/par2cmdline/files/par2cmdline-0.4-wildcard-fix.patch92
-rw-r--r--app-arch/par2cmdline/par2cmdline-0.4-r2.ebuild35
8 files changed, 307 insertions, 74 deletions
diff --git a/app-arch/par2cmdline/ChangeLog b/app-arch/par2cmdline/ChangeLog
index fb1dae5bc131..a935be816ce7 100644
--- a/app-arch/par2cmdline/ChangeLog
+++ b/app-arch/par2cmdline/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for app-arch/par2cmdline
-# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/par2cmdline/ChangeLog,v 1.13 2005/08/22 04:02:00 swegener Exp $
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/par2cmdline/ChangeLog,v 1.14 2006/09/24 19:30:39 swegener Exp $
+
+*par2cmdline-0.4-r2 (24 Sep 2006)
+
+ 24 Sep 2006; Sven Wegener <swegener@gentoo.org>
+ +files/par2cmdline-0.4-letype.patch, +files/par2cmdline-0.4-offset.patch,
+ files/par2cmdline-0.4-wildcard-fix.patch, +par2cmdline-0.4-r2.ebuild:
+ Revision bump, include an update wildcard fix, a fix from debian and a fix
+ from fedora, bugs #129093, #144410 and #137092.
22 Aug 2005; Sven Wegener <swegener@gentoo.org> par2cmdline-0.4-r1.ebuild:
Replace hardlinks with symlinks.
diff --git a/app-arch/par2cmdline/files/digest-par2cmdline-0.4 b/app-arch/par2cmdline/files/digest-par2cmdline-0.4
index baa9c66a199c..904aac66aafb 100644
--- a/app-arch/par2cmdline/files/digest-par2cmdline-0.4
+++ b/app-arch/par2cmdline/files/digest-par2cmdline-0.4
@@ -1 +1,3 @@
MD5 1551b63e57e3c232254dc62073b723a9 par2cmdline-0.4.tar.gz 239312
+RMD160 e98dc84fa7a4304b8d71c1d373fdce0bca1e6290 par2cmdline-0.4.tar.gz 239312
+SHA256 9e32b7dbcf7bca8249f98824757d4868714156fe2276516504cd26f736e9f677 par2cmdline-0.4.tar.gz 239312
diff --git a/app-arch/par2cmdline/files/digest-par2cmdline-0.4-r1 b/app-arch/par2cmdline/files/digest-par2cmdline-0.4-r1
index baa9c66a199c..904aac66aafb 100644
--- a/app-arch/par2cmdline/files/digest-par2cmdline-0.4-r1
+++ b/app-arch/par2cmdline/files/digest-par2cmdline-0.4-r1
@@ -1 +1,3 @@
MD5 1551b63e57e3c232254dc62073b723a9 par2cmdline-0.4.tar.gz 239312
+RMD160 e98dc84fa7a4304b8d71c1d373fdce0bca1e6290 par2cmdline-0.4.tar.gz 239312
+SHA256 9e32b7dbcf7bca8249f98824757d4868714156fe2276516504cd26f736e9f677 par2cmdline-0.4.tar.gz 239312
diff --git a/app-arch/par2cmdline/files/digest-par2cmdline-0.4-r2 b/app-arch/par2cmdline/files/digest-par2cmdline-0.4-r2
new file mode 100644
index 000000000000..904aac66aafb
--- /dev/null
+++ b/app-arch/par2cmdline/files/digest-par2cmdline-0.4-r2
@@ -0,0 +1,3 @@
+MD5 1551b63e57e3c232254dc62073b723a9 par2cmdline-0.4.tar.gz 239312
+RMD160 e98dc84fa7a4304b8d71c1d373fdce0bca1e6290 par2cmdline-0.4.tar.gz 239312
+SHA256 9e32b7dbcf7bca8249f98824757d4868714156fe2276516504cd26f736e9f677 par2cmdline-0.4.tar.gz 239312
diff --git a/app-arch/par2cmdline/files/par2cmdline-0.4-letype.patch b/app-arch/par2cmdline/files/par2cmdline-0.4-letype.patch
new file mode 100644
index 000000000000..e0c8d6c57b74
--- /dev/null
+++ b/app-arch/par2cmdline/files/par2cmdline-0.4-letype.patch
@@ -0,0 +1,219 @@
+diff -ur par2cmdline-0.4-orig/letype.h par2cmdline-0.4/letype.h
+--- par2cmdline-0.4-orig/letype.h 2003-05-26 20:01:17.000000000 +0200
++++ par2cmdline-0.4/letype.h 2006-05-09 10:47:29.000000000 +0200
+@@ -28,44 +28,15 @@
+
+ #else
+
+-class leu16
++struct leu16
+ {
+-public:
+- leu16(void);
+-
+- leu16(const leu16 &other);
+- leu16& operator=(const leu16 &other);
+-
+- leu16(const u16 &other);
+ leu16& operator=(const u16 &other);
+
+ operator u16(void) const;
+
+-protected:
+ u16 value;
+ };
+
+-inline leu16::leu16(void)
+-{
+-}
+-
+-inline leu16::leu16(const leu16 &other)
+-: value(other.value)
+-{
+-}
+-
+-inline leu16& leu16::operator =(const leu16 &other)
+-{
+- value = other.value;
+- return *this;
+-}
+-
+-inline leu16::leu16(const u16 &other)
+-{
+- ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff);
+- ((unsigned char*)&value)[1] = (unsigned char)((other >> 8) & 0xff);
+-}
+-
+ inline leu16& leu16::operator=(const u16 &other)
+ {
+ ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff);
+@@ -81,46 +52,15 @@
+ }
+
+
+-class leu32
++struct leu32
+ {
+-public:
+- leu32(void);
+-
+- leu32(const leu32 &other);
+- leu32& operator=(const leu32 &other);
+-
+- leu32(const u32 &other);
+ leu32& operator=(const u32 &other);
+
+ operator u32(void) const;
+
+-protected:
+ u32 value;
+ };
+
+-inline leu32::leu32(void)
+-{
+-}
+-
+-inline leu32::leu32(const leu32 &other)
+-: value(other.value)
+-{
+-}
+-
+-inline leu32& leu32::operator =(const leu32 &other)
+-{
+- value = other.value;
+- return *this;
+-}
+-
+-inline leu32::leu32(const u32 &other)
+-{
+- ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff);
+- ((unsigned char*)&value)[1] = (unsigned char)((other >> 8) & 0xff);
+- ((unsigned char*)&value)[2] = (unsigned char)((other >> 16) & 0xff);
+- ((unsigned char*)&value)[3] = (unsigned char)((other >> 24) & 0xff);
+-}
+-
+ inline leu32& leu32::operator=(const u32 &other)
+ {
+ ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff);
+@@ -140,50 +80,15 @@
+ }
+
+
+-class leu64
++struct leu64
+ {
+-public:
+- leu64(void);
+-
+- leu64(const leu64 &other);
+- leu64& operator=(const leu64 &other);
+-
+- leu64(const u64 &other);
+ leu64& operator=(const u64 &other);
+
+ operator u64(void) const;
+
+-protected:
+ u64 value;
+ };
+
+-inline leu64::leu64(void)
+-{
+-}
+-
+-inline leu64::leu64(const leu64 &other)
+-: value(other.value)
+-{
+-}
+-
+-inline leu64& leu64::operator =(const leu64 &other)
+-{
+- value = other.value;
+- return *this;
+-}
+-
+-inline leu64::leu64(const u64 &other)
+-{
+- ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff);
+- ((unsigned char*)&value)[1] = (unsigned char)((other >> 8) & 0xff);
+- ((unsigned char*)&value)[2] = (unsigned char)((other >> 16) & 0xff);
+- ((unsigned char*)&value)[3] = (unsigned char)((other >> 24) & 0xff);
+- ((unsigned char*)&value)[4] = (unsigned char)((other >> 32) & 0xff);
+- ((unsigned char*)&value)[5] = (unsigned char)((other >> 40) & 0xff);
+- ((unsigned char*)&value)[6] = (unsigned char)((other >> 48) & 0xff);
+- ((unsigned char*)&value)[7] = (unsigned char)((other >> 56) & 0xff);
+-}
+-
+ inline leu64& leu64::operator=(const u64 &other)
+ {
+ ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff);
+diff -ur par2cmdline-0.4-orig/md5.h par2cmdline-0.4/md5.h
+--- par2cmdline-0.4-orig/md5.h 2003-08-02 01:41:04.000000000 +0200
++++ par2cmdline-0.4/md5.h 2006-05-09 10:47:29.000000000 +0200
+@@ -20,6 +20,13 @@
+ #ifndef __MD5_H__
+ #define __MD5_H__
+
++#ifdef WIN32
++#pragma pack(push, 1)
++#define PACKED
++#else
++#define PACKED __attribute__ ((packed))
++#endif
++
+ // This file defines the MD5Hash and MD5Context objects which are used
+ // to compute and manipulate the MD5 Hash values for a block of data.
+
+@@ -35,12 +42,11 @@
+
+ // MD5 Hash value
+
+-class MD5Hash
+-{
+-public:
+- // Constructor does not initialise the value
+- MD5Hash(void) {};
++struct MD5Hash;
++ostream& operator<<(ostream &s, const MD5Hash &hash);
+
++struct MD5Hash
++{
+ // Comparison operators
+ bool operator==(const MD5Hash &other) const;
+ bool operator!=(const MD5Hash &other) const;
+@@ -54,13 +60,8 @@
+ friend ostream& operator<<(ostream &s, const MD5Hash &hash);
+ string print(void) const;
+
+- // Copy and assignment
+- MD5Hash(const MD5Hash &other);
+- MD5Hash& operator=(const MD5Hash &other);
+-
+-public:
+ u8 hash[16]; // 16 byte MD5 Hash value
+-};
++} PACKED;
+
+ // Intermediate computation state
+
+@@ -144,16 +145,9 @@
+ return !other.operator<(*this);
+ }
+
+-inline MD5Hash::MD5Hash(const MD5Hash &other)
+-{
+- memcpy(&hash, &other.hash, sizeof(hash));
+-}
+-
+-inline MD5Hash& MD5Hash::operator=(const MD5Hash &other)
+-{
+- memcpy(&hash, &other.hash, sizeof(hash));
+-
+- return *this;
+-}
++#ifdef WIN32
++#pragma pack(pop)
++#endif
++#undef PACKED
+
+ #endif // __MD5_H__
diff --git a/app-arch/par2cmdline/files/par2cmdline-0.4-offset.patch b/app-arch/par2cmdline/files/par2cmdline-0.4-offset.patch
new file mode 100644
index 000000000000..653928066807
--- /dev/null
+++ b/app-arch/par2cmdline/files/par2cmdline-0.4-offset.patch
@@ -0,0 +1,16 @@
+--- par2cmdline-0.4.orig/par2creatorsourcefile.cpp 2004-04-15 14:45:23.000000000 +0100
++++ par2cmdline-0.4/par2creatorsourcefile.cpp 2005-09-29 02:27:43.000000000 +0100
+@@ -213,11 +213,12 @@
+ }
+ }
+
++ offset += want;
++
+ if (noiselevel > CommandLine::nlQuiet)
+ {
+ // Display progress
+ u32 oldfraction = (u32)(1000 * offset / filesize);
+- offset += want;
+ u32 newfraction = (u32)(1000 * offset / filesize);
+ if (oldfraction != newfraction)
+ {
diff --git a/app-arch/par2cmdline/files/par2cmdline-0.4-wildcard-fix.patch b/app-arch/par2cmdline/files/par2cmdline-0.4-wildcard-fix.patch
index a3dd738e28ad..d5f43c7963ad 100644
--- a/app-arch/par2cmdline/files/par2cmdline-0.4-wildcard-fix.patch
+++ b/app-arch/par2cmdline/files/par2cmdline-0.4-wildcard-fix.patch
@@ -1,75 +1,23 @@
-Fix wildcard expansion of non-regular files.
-
-Patch by Bardur Arantsson.
-
-http://bugs.gentoo.org/51817
-http://sourceforge.net/tracker/index.php?func=detail&aid=958902&group_id=30568&atid=399698
-
---- par2cmdline-0.4/diskfile.cpp
-+++ par2cmdline-0.4/diskfile.cpp
-@@ -618,6 +618,12 @@
- return result;
- }
-
-+bool is_regular_file(const string &p)
-+{
-+ struct stat st;
-+ return (stat(p.c_str(), &st) == 0 && S_ISREG(st.st_mode));
-+}
-+
- list<string>* DiskFile::FindFiles(string path, string wildcard)
- {
- list<string> *matches = new list<string>;
-@@ -648,7 +654,15 @@
- name.substr(0, where) == front &&
- name.substr(name.size()-back.size()) == back)
- {
-- matches->push_back(path + name);
-+ if (is_regular_file(path + name))
-+ {
-+ matches->push_back(path + name);
-+ }
-+ else
-+ {
-+ cerr << "Warning: '" << (path + name)
-+ << "' ignored; not a regular file" << endl;
-+ }
- }
+--- commandline.cpp.orig 2006-04-06 21:41:27.000000000 -0700
++++ commandline.cpp 2006-04-07 00:12:29.000000000 -0700
+@@ -550,6 +550,20 @@
}
else
-@@ -667,7 +681,15 @@
-
- if (pw == wildcard.end())
- {
-- matches->push_back(path + name);
-+ if (is_regular_file(path + name))
-+ {
-+ matches->push_back(path + name);
-+ }
-+ else
-+ {
-+ cerr << "Warning: '" << (path + name)
-+ << "' ignored; not a regular file" << endl;
-+ }
- }
- }
+ {
++ //start of shell expanded * patch. -- Michael Evans
++ //The shell might expaned * so, if we have our name and we're creating, then filter for files...
++ if ((parfilename.length() != 0) && (operation == opCreate))
++ {
++ struct stat st;
++ if (!(stat(argv[0], &st) == 0 && S_ISREG(st.st_mode)))
++ {
++ cerr << "Skipping non-regular file: " << argv[0] << endl;
++ argc--;
++ argv++;
++ options = false;
++ continue;
++ }
++ }//end of shell expanded * patch. -- Michael Evans
+ filenames = new list<string>;
+ filenames->push_back(argv[0]);
}
-@@ -678,12 +700,15 @@
- }
- else
- {
-- struct stat st;
-- string fn = path + wildcard;
-- if (stat(fn.c_str(), &st) == 0)
-+ if (is_regular_file(path + wildcard))
- {
- matches->push_back(path + wildcard);
- }
-+ else
-+ {
-+ cerr << "Warning: '" << (path + wildcard)
-+ << "' ignored; not a regular file" << endl;
-+ }
- }
-
- return matches;
diff --git a/app-arch/par2cmdline/par2cmdline-0.4-r2.ebuild b/app-arch/par2cmdline/par2cmdline-0.4-r2.ebuild
new file mode 100644
index 000000000000..803b3c109807
--- /dev/null
+++ b/app-arch/par2cmdline/par2cmdline-0.4-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/par2cmdline/par2cmdline-0.4-r2.ebuild,v 1.1 2006/09/24 19:30:39 swegener Exp $
+
+inherit eutils
+
+DESCRIPTION="A PAR-2.0 file verification and repair tool"
+HOMEPAGE="http://parchive.sourceforge.net/"
+SRC_URI="mirror://sourceforge/parchive/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc-macos ~x86"
+IUSE=""
+
+DEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-wildcard-fix.patch
+ epatch "${FILESDIR}"/${P}-offset.patch
+ epatch "${FILESDIR}"/${P}-letype.patch
+ epatch "${FILESDIR}"/${P}-gcc4.patch
+}
+
+src_install() {
+ make install DESTDIR="${D}" || die "make install failed"
+ # Replace the hardlinks with symlinks
+ dosym par2 /usr/bin/par2create
+ dosym par2 /usr/bin/par2repair
+ dosym par2 /usr/bin/par2verify
+ dodoc AUTHORS ChangeLog README
+}