aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwg <wg@FreeBSD.org>2013-06-05 19:15:06 +0800
committerwg <wg@FreeBSD.org>2013-06-05 19:15:06 +0800
commit32593878d470671235f4116d1c8aa079e9e6201d (patch)
tree77a0e7ef9ed295c6e3576fb2808b90c0305a42d7
parentf3ce2003f1ac1a2dcf0c66422189f79e70c6f716 (diff)
downloadfreebsd-ports-gnome-32593878d470671235f4116d1c8aa079e9e6201d.tar.gz
freebsd-ports-gnome-32593878d470671235f4116d1c8aa079e9e6201d.tar.zst
freebsd-ports-gnome-32593878d470671235f4116d1c8aa079e9e6201d.zip
- Update to 0.3 [1]
- Remove USE_GCC (builds with clang) [1] - Add LICENSE (GPLv2) This is a new upstream, the original is dead. PR: ports/179029 Submitted by: Herbert J. Skuhra <h.skuhra@gmail.com> Approved by: culot (mentor), maintainer
-rw-r--r--archivers/libpar2/Makefile17
-rw-r--r--archivers/libpar2/distinfo4
-rw-r--r--archivers/libpar2/files/patch-ChangeLog13
-rw-r--r--archivers/libpar2/files/patch-par2repairer.cpp60
-rw-r--r--archivers/libpar2/files/patch-parheaders.h11
-rw-r--r--archivers/libpar2/files/xpatch-addcancel-par2repairer.cpp236
6 files changed, 7 insertions, 334 deletions
diff --git a/archivers/libpar2/Makefile b/archivers/libpar2/Makefile
index 86f51a4429d4..a642827c6fb8 100644
--- a/archivers/libpar2/Makefile
+++ b/archivers/libpar2/Makefile
@@ -2,10 +2,11 @@
# $FreeBSD$
PORTNAME= libpar2
-PORTVERSION= 0.2
-PORTREVISION= 4
+PORTVERSION= 0.3
CATEGORIES= archivers
-MASTER_SITES= SF/parchive/${PORTNAME}/${PORTVERSION}
+MASTER_SITES= http://launchpad.net/${PORTNAME}/trunk/${PORTVERSION}/+download/
+
+LICENSE= GPLv2
MAINTAINER= toxic@doobie.com
COMMENT= Library for manipulating PAR2 files, extracted from par2cmdline
@@ -14,23 +15,15 @@ LIB_DEPENDS= sigc-2.0:${PORTSDIR}/devel/libsigc++20
GNU_CONFIGURE= yes
+FETCH_ARGS= -pRr
LDFLAGS+= -L${LOCALBASE}/lib
CPPFLAGS+= -I${LOCALBASE}/include
-USE_GCC= any
USE_LDCONFIG= yes
USES= pkgconfig
-OPTIONS_DEFINE= ENABLECANCEL
-OPTIONS_DEFAULT= ENABLECANCEL
-ENABLECANCEL_DESC= Enable graceful cancellation of repairs
-
.include <bsd.port.options.mk>
-.if ${PORT_OPTIONS:MENABLECANCEL}
-EXTRA_PATCHES= ${FILESDIR}/xpatch-addcancel-par2repairer.cpp
-.endif
-
post-install:
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${DOCSDIR}
diff --git a/archivers/libpar2/distinfo b/archivers/libpar2/distinfo
index f28bf9827428..95d000e45eb5 100644
--- a/archivers/libpar2/distinfo
+++ b/archivers/libpar2/distinfo
@@ -1,2 +1,2 @@
-SHA256 (libpar2-0.2.tar.gz) = 074fbf840f73b1e13e0405fce261078c81c8c0a4859e30a7bba10510f9199908
-SIZE (libpar2-0.2.tar.gz) = 401700
+SHA256 (libpar2-0.3.tar.gz) = 0bcc680db9e8d9fa178b2fec38681ff865d38d283085be1898eac1e615b51b36
+SIZE (libpar2-0.3.tar.gz) = 516329
diff --git a/archivers/libpar2/files/patch-ChangeLog b/archivers/libpar2/files/patch-ChangeLog
deleted file mode 100644
index d1385287a4d4..000000000000
--- a/archivers/libpar2/files/patch-ChangeLog
+++ /dev/null
@@ -1,13 +0,0 @@
---- ChangeLog.orig 2010-04-28 12:17:05.000000000 -0700
-+++ ChangeLog 2010-04-28 12:16:35.000000000 -0700
-@@ -1,3 +1,10 @@
-+28 Apr 2010 FreeBSD Port
-+ * Fix memory leak/segfault under certain circumstances.
-+ http://sf.net/tracker/?func=detail&aid=2209433&group_id=30568&atid=399700
-+
-+16 Aug 2008 FreeBSD Port
-+ * Fix 2G overflow for data_size (backported from vendor CVS)
-+
- 03 Feb 2006 Francois LESUEUR
- * Version 0.2 released
- * Added support for detailed output
diff --git a/archivers/libpar2/files/patch-par2repairer.cpp b/archivers/libpar2/files/patch-par2repairer.cpp
deleted file mode 100644
index 0ce3a43bd38c..000000000000
--- a/archivers/libpar2/files/patch-par2repairer.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-diff -aud -U 5 ../libpar2-0.2-original/par2repairer.cpp ../libpar2-0.2/par2repairer.cpp
---- ../libpar2-0.2-original/par2repairer.cpp 2006-01-20 18:25:20.000000000 +0100
-+++ ../libpar2-0.2/par2repairer.cpp 2012-11-30 14:23:31.000000000 +0100
-@@ -76,10 +76,11 @@
- ++sf;
- }
-
- delete mainpacket;
- delete creatorpacket;
-+ delete headers;
- }
-
-
- Result Par2Repairer::PreProcess(const CommandLine &commandline)
- {
-@@ -1259,11 +1260,11 @@
- string path;
- string name;
- DiskFile::SplitFilename(filename, path, name);
-
- cout << "Target: \"" << name << "\" - missing." << endl;
-- sig_done.emit(name, 0, sourcefile->GetVerificationPacket()->BlockCount());
-+ sig_done.emit(name, 0, sourcefile->GetVerificationPacket() ? sourcefile->GetVerificationPacket()->BlockCount() : 0);
- }
- }
-
- ++sf;
- }
-@@ -1802,11 +1803,11 @@
- << "\" - no data found."
- << endl;
- }
- }
- }
-- sig_done.emit(name,count,sourcefile->GetVerificationPacket()->BlockCount());
-+ sig_done.emit(name,count, count>0 && sourcefile->GetVerificationPacket() ? sourcefile->GetVerificationPacket()->BlockCount() : 0);
- sig_progress.emit(1000.0);
- return true;
- }
-
- // Find out how much data we have found
-diff -aud -U 5 ../libpar2-0.2-original/par2repairer.h ../libpar2-0.2/par2repairer.h
---- ../libpar2-0.2-original/par2repairer.h 2006-01-20 00:38:27.000000000 +0100
-+++ ../libpar2-0.2/par2repairer.h 2012-11-30 14:24:46.000000000 +0100
-@@ -34,10 +34,15 @@
- sigc::signal<void, std::string> sig_filename;
- sigc::signal<void, double> sig_progress;
- sigc::signal<void, ParHeaders*> sig_headers;
- sigc::signal<void, std::string, int, int> sig_done;
-
-+ // This method allows to determine whether libpar2 includes the patches
-+ // ("libpar2-0.2-bugfixes.patch") submitted to libpar2 project.
-+ // Use the method in configure scripts for detection.
-+ void BugfixesPatchVersion2() { }
-+
- protected:
- // Steps in verifying and repairing files:
-
- // Load packets from the specified file
- bool LoadPacketsFromFile(string filename);
diff --git a/archivers/libpar2/files/patch-parheaders.h b/archivers/libpar2/files/patch-parheaders.h
deleted file mode 100644
index 7278377b4539..000000000000
--- a/archivers/libpar2/files/patch-parheaders.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- parheaders.h 2005/11/27 03:48:37 1.1
-+++ parheaders.h 2006/04/18 08:49:39 1.2
-@@ -9,7 +9,7 @@
- int other_files;
- int block_size;
- int data_blocks;
-- int data_size;
-+ long int data_size;
- int chunk_size;
-
- ParHeaders(void);
diff --git a/archivers/libpar2/files/xpatch-addcancel-par2repairer.cpp b/archivers/libpar2/files/xpatch-addcancel-par2repairer.cpp
deleted file mode 100644
index 4a6d01c35a50..000000000000
--- a/archivers/libpar2/files/xpatch-addcancel-par2repairer.cpp
+++ /dev/null
@@ -1,236 +0,0 @@
-diff -aud -U 5 ../libpar2-0.2-original/par2repairer.cpp ../libpar2-0.2/par2repairer.cpp
---- ../libpar2-0.2-original/par2repairer.cpp 2012-12-03 10:47:04.000000000 +0100
-+++ ../libpar2-0.2/par2repairer.cpp 2012-12-03 10:48:13.000000000 +0100
-@@ -50,10 +50,12 @@
- outputbuffer = 0;
-
- noiselevel = CommandLine::nlNormal;
- headers = new ParHeaders;
- alreadyloaded = false;
-+
-+ cancelled = false;
- }
-
- Par2Repairer::~Par2Repairer(void)
- {
- delete [] (u8*)inputbuffer;
-@@ -404,10 +406,14 @@
- {
- cout << "Loading: " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush;
- progress = offset;
- sig_progress.emit(newfraction);
-
-+ if (cancelled)
-+ {
-+ break;
-+ }
- }
- }
-
- // Attempt to read the next packet header
- PACKET_HEADER header;
-@@ -582,10 +588,15 @@
- if (noiselevel > CommandLine::nlQuiet)
- cout << "No new packets found" << endl;
- delete diskfile;
- }
-
-+ if (cancelled)
-+ {
-+ return false;
-+ }
-+
- return true;
- }
-
- // Finish loading a recovery packet
- bool Par2Repairer::LoadRecoveryPacket(DiskFile *diskfile, u64 offset, PACKET_HEADER &header)
-@@ -831,26 +842,42 @@
-
- // Load packets from each file that was found
- for (list<string>::const_iterator s=files->begin(); s!=files->end(); ++s)
- {
- LoadPacketsFromFile(*s);
-+ if (cancelled)
-+ {
-+ break;
-+ }
- }
-
- delete files;
-+ if (cancelled)
-+ {
-+ return false;
-+ }
- }
-
- {
- string wildcard = name.empty() ? "*.PAR2" : name + ".*.PAR2";
- list<string> *files = DiskFile::FindFiles(path, wildcard);
-
- // Load packets from each file that was found
- for (list<string>::const_iterator s=files->begin(); s!=files->end(); ++s)
- {
- LoadPacketsFromFile(*s);
-+ if (cancelled)
-+ {
-+ break;
-+ }
- }
-
- delete files;
-+ if (cancelled)
-+ {
-+ return false;
-+ }
- }
-
- return true;
- }
-
-@@ -864,13 +891,22 @@
- // If the filename contains ".par2" anywhere
- if (string::npos != filename.find(".par2") ||
- string::npos != filename.find(".PAR2"))
- {
- LoadPacketsFromFile(filename);
-+ if (cancelled)
-+ {
-+ break;
-+ }
- }
- }
-
-+ if (cancelled)
-+ {
-+ return false;
-+ }
-+
- return true;
- }
-
- // Check that the packets are consistent and discard any that are not
- bool Par2Repairer::CheckPacketConsistency(void)
-@@ -1208,10 +1244,15 @@
-
- // Start verifying the files
- sf = sortedfiles.begin();
- while (sf != sortedfiles.end())
- {
-+ if (cancelled)
-+ {
-+ return false;
-+ }
-+
- // Do we have a source file
- Par2RepairerSourceFile *sourcefile = *sf;
-
- // What filename does the file use
- string filename = sourcefile->TargetFileName();
-@@ -1560,10 +1601,14 @@
- if (oldfraction != newfraction)
- {
- cout << "Scanning: \"" << shortname << "\": " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush;
- sig_progress.emit(newfraction);
-
-+ if (cancelled)
-+ {
-+ break;
-+ }
- }
- }
-
- // If we fail to find a match, it might be because it was a duplicate of a block
- // that we have already found.
-@@ -1649,10 +1694,15 @@
- return false;
- }
- }
- }
-
-+ if (cancelled)
-+ {
-+ return false;
-+ }
-+
- // Get the Full and 16k hash values of the file
- filechecksummer.GetFileHashes(hashfull, hash16k);
-
- // Did we make any matches at all
- if (count > 0)
-@@ -2289,14 +2339,23 @@
- if (oldfraction != newfraction)
- {
- cout << "Repairing: " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush;
- sig_progress.emit(newfraction);
-
-+ if (cancelled)
-+ {
-+ break;
-+ }
- }
- }
- }
-
-+ if (cancelled)
-+ {
-+ break;
-+ }
-+
- ++inputblock;
- ++inputindex;
- }
- }
- else
-@@ -2346,13 +2405,22 @@
- if (oldfraction != newfraction)
- {
- cout << "Processing: " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush;
- sig_progress.emit(newfraction);
-
-+ if (cancelled)
-+ {
-+ break;
-+ }
- }
- }
-
-+ if (cancelled)
-+ {
-+ break;
-+ }
-+
- ++copyblock;
- ++inputblock;
- }
- }
-
-@@ -2360,10 +2428,15 @@
- if (lastopenfile != NULL)
- {
- lastopenfile->Close();
- }
-
-+ if (cancelled)
-+ {
-+ return false;
-+ }
-+
- if (noiselevel > CommandLine::nlQuiet)
- cout << "Writing recovered data\r";
-
- // For each output block that has been recomputed
- vector<DataBlock*>::iterator outputblock = outputblocks.begin();
-diff -aud -U 5 ../libpar2-0.2-with-bugfixes-patch/par2repairer.h ../libpar2-0.2/par2repairer.h
---- ../libpar2-0.2-original/par2repairer.h 2012-12-03 10:47:04.000000000 +0100
-+++ ../libpar2-0.2/par2repairer.h 2012-12-03 10:48:13.000000000 +0100
-@@ -186,8 +186,9 @@
-
- u64 progress; // How much data has been processed.
- u64 totaldata; // Total amount of data to be processed.
- u64 totalsize; // Total data size
-
-+ bool cancelled; // repair cancelled
- };
-
- #endif // __PAR2REPAIRER_H__