aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/jscoverage.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Formula/jscoverage.rb')
-rw-r--r--Library/Formula/jscoverage.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/Library/Formula/jscoverage.rb b/Library/Formula/jscoverage.rb
index c1933737e..d810fe679 100644
--- a/Library/Formula/jscoverage.rb
+++ b/Library/Formula/jscoverage.rb
@@ -5,7 +5,22 @@ class Jscoverage < Formula
homepage 'http://siliconforks.com/jscoverage/'
md5 'a70d79a6759367fbcc0bcc18d6866ff3'
+ def patches
+ # Fixes compile errors with clang, int main should return a value
+ # Reported upstream: http://siliconforks.com/jscoverage/bugs/42
+ DATA
+ end
+
def install
+ # Fix a hardcoded gcc and g++ configure error when clang.
+ # Reported upstream: http://siliconforks.com/jscoverage/bugs/42
+ inreplace 'js/configure.gnu' do |f|
+ f.gsub! 'export CC=gcc', "export CC=#{ENV.cc}"
+ f.gsub! 'export CXX=g++', "export CXX=#{ENV.cxx}"
+ f.gsub! 'gcc -E', "#{ENV.cc} -E"
+ f.gsub! 'g++ -E', "#{ENV.cxx} -E"
+ end
+
system "./configure", "--disable-debug", "--disable-dependency-tracking",
"--prefix=#{prefix}"
system "make"
@@ -13,3 +28,31 @@ class Jscoverage < Formula
bin.install('jscoverage-server');
end
end
+
+__END__
+--- a/js/configure 2010-09-23 05:00:00.000000000 -0700
++++ b/js/configure 2012-04-12 16:54:46.000000000 -0700
+@@ -7820,7 +7820,6 @@
+ int main() {
+
+ int a[sizeof (void*) == $size ? 1 : -1];
+- return;
+
+ ; return 0; }
+ EOF
+@@ -7878,7 +7877,6 @@
+ int main() {
+
+ int a[offsetof(struct aligner, a) == $align ? 1 : -1];
+- return;
+
+ ; return 0; }
+ EOF
+@@ -7919,7 +7917,6 @@
+ int main() {
+
+ int a[sizeof (double) == $size ? 1 : -1];
+- return;
+
+ ; return 0; }
+ EOF