diff options
author | wg <wg@FreeBSD.org> | 2013-06-05 19:15:06 +0800 |
---|---|---|
committer | wg <wg@FreeBSD.org> | 2013-06-05 19:15:06 +0800 |
commit | 32593878d470671235f4116d1c8aa079e9e6201d (patch) | |
tree | 77a0e7ef9ed295c6e3576fb2808b90c0305a42d7 | |
parent | f3ce2003f1ac1a2dcf0c66422189f79e70c6f716 (diff) | |
download | freebsd-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/Makefile | 17 | ||||
-rw-r--r-- | archivers/libpar2/distinfo | 4 | ||||
-rw-r--r-- | archivers/libpar2/files/patch-ChangeLog | 13 | ||||
-rw-r--r-- | archivers/libpar2/files/patch-par2repairer.cpp | 60 | ||||
-rw-r--r-- | archivers/libpar2/files/patch-parheaders.h | 11 | ||||
-rw-r--r-- | archivers/libpar2/files/xpatch-addcancel-par2repairer.cpp | 236 |
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__ |