ebefc27212
jscoverage-0.5.1 has a file with hardcoded gcc and g++, named configure.gnu. inreplace those with ENV.cc and ENV.cxx. It also has three places in js/configure where the conftest uses int main { but also has two return commands. The first return command, return; does not return a value. The second one does `return 0;`. This causes an error building with clang during configure because `int main` should return a value. inline patch those by removing the extra return command so that it does a `return 0;` All four of these issues have been bug reported to their tracker, and the formula comments include a link to the bug report. The issues exist in HEAD. This now builds with all the compilers in Lion and Snow Leopard, though no runtime tests were done as this is unfamiliar software. Fixes Homebrew/homebrew#11600. Closes Homebrew/homebrew#11611. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
58 lines
1.6 KiB
Ruby
58 lines
1.6 KiB
Ruby
require 'formula'
|
|
|
|
class Jscoverage < Formula
|
|
url 'http://siliconforks.com/jscoverage/download/jscoverage-0.5.1.tar.bz2'
|
|
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"
|
|
bin.install('jscoverage');
|
|
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
|