aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
authorCharlie Sharpsteen2012-11-13 19:10:58 -0800
committerCharlie Sharpsteen2012-11-13 20:54:34 -0800
commitfcf337f86241f607808bdfe93955ae0086e8f9ca (patch)
tree9aad1324e317d85059af392b0b9d737c6d85b2ad /Library/Formula
parent0794c8e8fd3ad2b55b0567b6358c0720980616ee (diff)
downloadhomebrew-fcf337f86241f607808bdfe93955ae0086e8f9ca.tar.bz2
r: Fix Objective-C++ detection on 10.8.x
The tests used by R's configure scripts are broken starting with 10.8. Add a patch to hotfix this until it gets sorted upstream. Upstream bug: https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15107 Fixes #15739.
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/r.rb55
1 files changed, 55 insertions, 0 deletions
diff --git a/Library/Formula/r.rb b/Library/Formula/r.rb
index 35a864521..b25a4d4f9 100644
--- a/Library/Formula/r.rb
+++ b/Library/Formula/r.rb
@@ -23,6 +23,12 @@ class R < Formula
depends_on 'valgrind' if build.include? 'with-valgrind'
+ def patches
+ # Fix detection of Objective-C++ in configure. Reported upstream:
+ # https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15107
+ DATA
+ end if MacOS.version >= :mountain_lion
+
def install
ENV.Og if build.include? 'with-valgrind'
ENV.fortran
@@ -71,3 +77,52 @@ class R < Formula
EOS
end
end
+
+__END__
+
+Patch configure so that Objective-C++ tests pass on OS X 10.8.x. The problem is
+that every test uses the header file `objc/Object.h` to define Objective-C
+objects and this header is a no-op include on 10.8 unless the `__OBJC2__`
+preprocessor variable is undefined.
+
+Upstream bug:
+
+ https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15107
+
+diff --git a/configure b/configure
+index 5bae281..baf4f47 100755
+--- a/configure
++++ b/configure
+@@ -8328,6 +8328,7 @@ $as_echo_n "checking whether ${OBJCXX} can compile ObjC++... " >&6; }
+ ## we don't use AC_LANG_xx because ObjC++ is not defined as a language (yet)
+ ## (the test program is from the gcc test suite)
+ cat << \EOF > conftest.mm
++#undef __OBJC2__
+ #include <objc/Object.h>
+ #include <iostream>
+
+@@ -8368,6 +8369,7 @@ $as_echo_n "checking whether ${CXX} can compile ObjC++... " >&6; }
+ ## we don't use AC_LANG_xx because ObjC++ is not defined as a language (yet)
+ ## (the test program is from the gcc test suite)
+ cat << \EOF > conftest.mm
++#undef __OBJC2__
+ #include <objc/Object.h>
+ #include <iostream>
+
+@@ -8403,6 +8405,7 @@ $as_echo_n "checking whether ${OBJC} can compile ObjC++... " >&6; }
+ ## we don't use AC_LANG_xx because ObjC++ is not defined as a language (yet)
+ ## (the test program is from the gcc test suite)
+ cat << \EOF > conftest.mm
++#undef __OBJC2__
+ #include <objc/Object.h>
+ #include <iostream>
+
+@@ -24389,7 +24392,7 @@ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+-
++#undef __OBJC2__
+ #include <objc/Object.h>
+
+ #ifdef F77_DUMMY_MAIN