aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
authornibbles 2bits2012-10-28 09:37:56 -0700
committerAdam Vandenberg2012-10-28 12:33:52 -0700
commita2cb5cd8a022910608e760c5adf78eea22dd36a3 (patch)
treed200fa2e0a5754850f2a2e635a33a272a1e66ad3 /Library/Formula
parent634ea079cbddba4ab5a4c29ceb20a19486c46342 (diff)
downloadhomebrew-a2cb5cd8a022910608e760c5adf78eea22dd36a3.tar.bz2
tophat 2.0.6
- Upgrade to 2.0.6 - Add a patch: intializes variable length arrays to 1 for clang. - Patch stops a variable length array non-POD element type error. - Patch reported upstream via email and noted in comments. - Add an LDFLAG for `-lboost_system-mt` because autoconf doesn't. - Add a dep on boost because the build requires it and samtools. - Works with superenv on ML with XCode-4.5.1. Closes #15716. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/tophat.rb82
1 files changed, 69 insertions, 13 deletions
diff --git a/Library/Formula/tophat.rb b/Library/Formula/tophat.rb
index 76c4a4fc8..27ad43168 100644
--- a/Library/Formula/tophat.rb
+++ b/Library/Formula/tophat.rb
@@ -1,28 +1,84 @@
require 'formula'
class Tophat < Formula
- url 'http://tophat.cbcb.umd.edu/downloads/tophat-1.4.1.tar.gz'
homepage 'http://tophat.cbcb.umd.edu/'
- sha1 '0513bbcadb7194f12fbddeb3e4033e032f2fb29f'
+ url 'http://tophat.cbcb.umd.edu/downloads/tophat-2.0.6.tar.gz'
+ sha1 'd1c19cdccb5ddf74b8cb604a0ed1e5d33a25aae9'
depends_on 'samtools'
+ depends_on 'boost'
- fails_with :clang do
- build 421
- cause <<-EOS.undent
- Compiling with clang results in the error "default arguments
- cannot be added to a function template that has already been declared".
- Upstream source should move default parameter declaration to fix.
- EOS
- end
+ # Variable length arrays using non-POD element types. Initialize with length=1
+ # Reported upstream via email to tophat-cufflinks@gmail.com on 28OCT2012
+ def patches; DATA; end
def install
- # It seems this project Makefile doesn't like -j4
- # Disable until consult with upstream
+ # This can only build serially, otherwise it errors with no make target.
ENV.deparallelize
- system "./configure", "--disable-debug", "--disable-dependency-tracking",
+ # Must add this to fix missing boost symbols. Autoconf doesn't include it.
+ ENV.append 'LDFLAGS', '-lboost_system-mt'
+
+ system "./configure", "--disable-dependency-tracking",
"--prefix=#{prefix}"
system "make install"
end
end
+
+__END__
+--- a/src/segment_juncs.cpp 2012-10-17 09:29:03.000000000 -0700
++++ b/src/segment_juncs.cpp 2012-10-27 22:24:44.000000000 -0700
+@@ -4854,15 +4854,15 @@
+ exit(0);
+ }
+
+- std::set<Junction, skip_count_lt> vseg_juncs[num_threads];
++ std::set<Junction, skip_count_lt> vseg_juncs[1];
+ std::set<Junction, skip_count_lt> cov_juncs;
+ std::set<Junction, skip_count_lt> butterfly_juncs;
+
+ std::set<Junction> juncs;
+
+- std::set<Deletion> vdeletions[num_threads];
+- std::set<Insertion> vinsertions[num_threads];
+- FusionSimpleSet vfusions[num_threads];
++ std::set<Deletion> vdeletions[1];
++ std::set<Insertion> vinsertions[1];
++ FusionSimpleSet vfusions[1];
+
+ RefSequenceTable rt(sam_header, true);
+
+--- a/src/tophat_reports.cpp 2012-10-18 10:43:09.000000000 -0700
++++ b/src/tophat_reports.cpp 2012-10-27 22:39:31.000000000 -0700
+@@ -2290,11 +2290,11 @@
+ num_threads = 1;
+ }
+
+- JunctionSet vjunctions[num_threads];
+- InsertionSet vinsertions[num_threads];
+- DeletionSet vdeletions[num_threads];
+- FusionSet vfusions[num_threads];
+- Coverage vcoverages[num_threads];
++ JunctionSet vjunctions[1];
++ InsertionSet vinsertions[1];
++ DeletionSet vdeletions[1];
++ FusionSet vfusions[1];
++ Coverage vcoverages[1];
+
+ vector<boost::thread*> threads;
+ for (int i = 0; i < num_threads; ++i)
+@@ -2420,10 +2420,10 @@
+ fprintf(stderr, "Warning: %lu small overhang junctions!\n", (long unsigned int)small_overhangs);
+ */
+
+- JunctionSet vfinal_junctions[num_threads];
+- InsertionSet vfinal_insertions[num_threads];
+- DeletionSet vfinal_deletions[num_threads];
+- FusionSet vfinal_fusions[num_threads];
++ JunctionSet vfinal_junctions[1];
++ InsertionSet vfinal_insertions[1];
++ DeletionSet vfinal_deletions[1];
++ FusionSet vfinal_fusions[1];
+
+ for (int i = 0; i < num_threads; ++i)
+ {