From fcf337f86241f607808bdfe93955ae0086e8f9ca Mon Sep 17 00:00:00 2001 From: Charlie Sharpsteen Date: Tue, 13 Nov 2012 19:10:58 -0800 Subject: 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. --- Library/Formula/r.rb | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'Library/Formula') 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 + #include + +@@ -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 + #include + +@@ -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 + #include + +@@ -24389,7 +24392,7 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +- ++#undef __OBJC2__ + #include + + #ifdef F77_DUMMY_MAIN -- cgit v1.2.3