guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: bedtools: Add patch to fix compilation on 32 bit systems.


From: Andreas Enge
Subject: 01/01: gnu: bedtools: Add patch to fix compilation on 32 bit systems.
Date: Sat, 25 Jul 2015 17:18:33 +0000

andreas pushed a commit to branch master
in repository guix.

commit b81cb1f2f3c9eaa7faea60d42d9a24ada8b5a290
Author: Ben Woodcroft <address@hidden>
Date:   Sat Jul 25 23:32:55 2015 +1000

    gnu: bedtools: Add patch to fix compilation on 32 bit systems.
    
    * gnu/packages/patches/bedtools-32bit-compilation.patch: New file.
    * gnu/packages/bioinformatics.scm (bedtools)[source]: Add patch.
    * gnu-system.am (dist_patch_DATA): Register patch.
    
    Signed-off-by: Andreas Enge <address@hidden>
---
 gnu-system.am                                      |    1 +
 gnu/packages/bioinformatics.scm                    |    3 +-
 .../patches/bedtools-32bit-compilation.patch       |  171 ++++++++++++++++++++
 3 files changed, 174 insertions(+), 1 deletions(-)

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..06037c1 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -204,7 +204,8 @@ computational cluster.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0lnxrjvs3nnmb4bmskag1wg3h2hd80przz5q3xd0bvs7vyxrvpbl"))))
+                "0lnxrjvs3nnmb4bmskag1wg3h2hd80przz5q3xd0bvs7vyxrvpbl"))
+              (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..bc567f3
--- /dev/null
+++ b/gnu/packages/patches/bedtools-32bit-compilation.patch
@@ -0,0 +1,171 @@
+Fixed in upstream, see
+https://github.com/arq5x/bedtools2/issues/271
+
+From b47dbefcb57f8e6c4fe397f64346338620740b71 Mon Sep 17 00:00:00 2001
+From: arq5x <address@hidden>
+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<uint32_t>(depth));
+               _finalOutput.append("\t");
+-              _finalOutput.append(basesAtDepth);
++              _finalOutput.append(static_cast<uint32_t>(basesAtDepth));
+               _finalOutput.append("\t");
+-              _finalOutput.append(_totalQueryLen);
++              _finalOutput.append(static_cast<uint32_t>(_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<uint32_t>(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<uint32_t>(i+1);
+               _finalOutput.append("\t");
+-              _finalOutput.append(_depthArray[i]);
++              _finalOutput.append(static_cast<uint32_t>(_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<uint32_t>(depth);
+               _finalOutput.append("\t");
+-              _finalOutput.append(numBasesAtDepth);
++              _finalOutput.append(static_cast<uint32_t>(numBasesAtDepth));
+               _finalOutput.append("\t");
+-              _finalOutput.append(_queryLen);
++              _finalOutput.append(static_cast<uint32_t>(_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<uint32_t>(hits.size());
+       _finalOutput.append("\t");
+-      _finalOutput.append(nonZeroBases);
++      _finalOutput.append(static_cast<uint32_t>(nonZeroBases));
+       _finalOutput.append("\t");
+-      _finalOutput.append(_queryLen);
++      _finalOutput.append(static_cast<uint32_t>(_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);
+ 
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]