>From 2a09480f4ac5c02c706d39be1cdaf6e6e51f9670 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 25 Jul 2015 23:32:55 +1000 Subject: [PATCH] gnu: bedtools: settle on uint32_t signature for QuickString. * gnu/packages/patches/bedtools-32bit-compilation.patch: New file. * gnu/packages/bioinformatics.scm (bedtools)[source]: Add patch. --- gnu-system.am | 1 + gnu/packages/bioinformatics.scm | 5 +- .../patches/bedtools-32bit-compilation.patch | 168 +++++++++++++++++++++ 3 files changed, 173 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/bedtools-32bit-compilation.patch diff --git a/gnu-system.am b/gnu-system.am index f4e121a..d6635fe 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -392,6 +392,7 @@ dist_patch_DATA = \ gnu/packages/patches/avahi-localstatedir.patch \ gnu/packages/patches/avrdude-fix-libusb.patch \ gnu/packages/patches/bash-completion-directories.patch \ + gnu/packages/patches/bedtools-32bit-compilation.patch \ gnu/packages/patches/bowtie-fix-makefile.patch \ gnu/packages/patches/bigloo-gc-shebangs.patch \ gnu/packages/patches/binutils-ld-new-dtags.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 92b9394..e01e428 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -204,7 +204,10 @@ computational cluster.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lnxrjvs3nnmb4bmskag1wg3h2hd80przz5q3xd0bvs7vyxrvpbl")))) + "0lnxrjvs3nnmb4bmskag1wg3h2hd80przz5q3xd0bvs7vyxrvpbl")) + ;; Fixed in upstream, see + ;; https://github.com/arq5x/bedtools2/issues/271 + (patches (list (search-patch "bedtools-32bit-compilation.patch"))))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) (inputs `(("samtools" ,samtools) diff --git a/gnu/packages/patches/bedtools-32bit-compilation.patch b/gnu/packages/patches/bedtools-32bit-compilation.patch new file mode 100644 index 0000000..0a4e710 --- /dev/null +++ b/gnu/packages/patches/bedtools-32bit-compilation.patch @@ -0,0 +1,168 @@ +From b47dbefcb57f8e6c4fe397f64346338620740b71 Mon Sep 17 00:00:00 2001 +From: arq5x +Date: Wed, 15 Jul 2015 15:15:23 -0600 +Subject: [PATCH] settle on uint32_t signature for QuickString. Resolves #267 + and #271? + +--- + src/coverageFile/coverageFile.cpp | 24 ++++++++++++------------ + src/utils/general/QuickString.cpp | 27 ++++++++++++++------------- + src/utils/general/QuickString.h | 6 +++--- + 3 files changed, 29 insertions(+), 28 deletions(-) + +diff --git a/src/coverageFile/coverageFile.cpp b/src/coverageFile/coverageFile.cpp +index 859cfdc..0fb544b 100644 +--- a/src/coverageFile/coverageFile.cpp ++++ b/src/coverageFile/coverageFile.cpp +@@ -83,11 +83,11 @@ void CoverageFile::giveFinalReport(RecordOutputMgr *outputMgr) { + float depthPct = (float)basesAtDepth / (float)_totalQueryLen; + + _finalOutput = "all\t"; +- _finalOutput.append(depth); ++ _finalOutput.append(static_cast(depth)); + _finalOutput.append("\t"); +- _finalOutput.append(basesAtDepth); ++ _finalOutput.append(static_cast(basesAtDepth)); + _finalOutput.append("\t"); +- _finalOutput.append(_totalQueryLen); ++ _finalOutput.append(static_cast(_totalQueryLen)); + _finalOutput.append("\t"); + format(depthPct); + +@@ -138,7 +138,7 @@ size_t CoverageFile::countBasesAtDepth(size_t depth) { + + void CoverageFile::doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits) + { +- _finalOutput = hits.size(); ++ _finalOutput = static_cast(hits.size()); + outputMgr->printRecord(hits.getKey(), _finalOutput); + } + +@@ -147,9 +147,9 @@ void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits) + //loop through all bases in query, printing full record and metrics for each + const Record * queryRec = hits.getKey(); + for (size_t i= 0; i < _queryLen; i++) { +- _finalOutput = i +1; ++ _finalOutput = static_cast(i+1); + _finalOutput.append("\t"); +- _finalOutput.append(_depthArray[i]); ++ _finalOutput.append(static_cast(_depthArray[i])); + + outputMgr->printRecord(queryRec, _finalOutput); + } +@@ -181,11 +181,11 @@ void CoverageFile::doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits) + size_t numBasesAtDepth = iter->second; + float coveredBases = (float)numBasesAtDepth / (float)_queryLen; + +- _finalOutput = depth; ++ _finalOutput = static_cast(depth); + _finalOutput.append("\t"); +- _finalOutput.append(numBasesAtDepth); ++ _finalOutput.append(static_cast(numBasesAtDepth)); + _finalOutput.append("\t"); +- _finalOutput.append(_queryLen); ++ _finalOutput.append(static_cast(_queryLen)); + _finalOutput.append("\t"); + format(coveredBases); + +@@ -199,11 +199,11 @@ void CoverageFile::doDefault(RecordOutputMgr *outputMgr, RecordKeyVector &hits) + size_t nonZeroBases = _queryLen - countBasesAtDepth(0); + float coveredBases = (float)nonZeroBases / (float)_queryLen; + +- _finalOutput = hits.size(); ++ _finalOutput = static_cast(hits.size()); + _finalOutput.append("\t"); +- _finalOutput.append(nonZeroBases); ++ _finalOutput.append(static_cast(nonZeroBases)); + _finalOutput.append("\t"); +- _finalOutput.append(_queryLen); ++ _finalOutput.append(static_cast(_queryLen)); + _finalOutput.append("\t"); + format(coveredBases); + +diff --git a/src/utils/general/QuickString.cpp b/src/utils/general/QuickString.cpp +index 0757009..a83263e 100644 +--- a/src/utils/general/QuickString.cpp ++++ b/src/utils/general/QuickString.cpp +@@ -105,11 +105,11 @@ QuickString &QuickString::operator = (uint32_t val) { + return *this; + } + +-QuickString &QuickString::operator = (size_t val) { +- clear(); +- append(val); +- return *this; +-} ++// QuickString &QuickString::operator = (size_t val) { ++// clear(); ++// append(val); ++// return *this; ++// } + + QuickString &QuickString::operator = (float val) { + clear(); +@@ -158,10 +158,11 @@ QuickString &QuickString::operator += (uint32_t num) { + return *this; + } + +-QuickString &QuickString::operator += (size_t num) { +- append(num); +- return *this; +-} ++// QuickString &QuickString::operator += (size_t num) { ++// append(num); ++// return *this; ++// } ++ + QuickString &QuickString::operator += (float num) { + append(num); + return *this; +@@ -273,12 +274,12 @@ void QuickString::append(int num) { + } + + void QuickString::append(uint32_t num) { +- int2str((int)num, *this, true); ++ int2str((int)num, *this, true); + } + +-void QuickString::append(size_t num) { +- int2str((int)num, *this, true); +-} ++// void QuickString::append(size_t num) { ++// int2str((int)num, *this, true); ++// } + + void QuickString::append(float num) { + append(ToString(num)); +diff --git a/src/utils/general/QuickString.h b/src/utils/general/QuickString.h +index b43fdfc..6e6fa94 100644 +--- a/src/utils/general/QuickString.h ++++ b/src/utils/general/QuickString.h +@@ -38,7 +38,7 @@ class QuickString { + QuickString &operator = (char); + QuickString &operator = (int); + QuickString &operator = (uint32_t); +- QuickString &operator = (size_t); ++ //QuickString &operator = (size_t); + QuickString &operator = (float); + QuickString &operator = (double); + QuickString &operator += (const QuickString &); +@@ -47,7 +47,7 @@ class QuickString { + QuickString &operator += (char); + QuickString &operator += (int); + QuickString &operator += (uint32_t); +- QuickString &operator += (size_t); ++ //QuickString &operator += (size_t); + QuickString &operator += (float); + QuickString &operator += (double); + +@@ -74,7 +74,7 @@ class QuickString { + //for better performance. + void append(int num); + void append(uint32_t num); +- void append(size_t num); ++ //void append(size_t num); + void append(float num); + void append(double num); + + -- 2.4.3