Skip to content
Browse files

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
  • Loading branch information...
1 parent 666826f commit 19c65578fa687ec09cba6869e1dac50cbcf076d6 @Sharpie committed
Showing with 53 additions and 0 deletions.
  1. +53 −0 Library/Formula/r.rb
View
53 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,50 @@ def caveats; <<-EOS.undent
EOS
end
end
+
+__END__
+
+Patch configure so that Objective-C++ tests pass on OS X 10.8.x. This is done
+by forcing the compiler to act like it is using the Objective-C 1.0 standard.
+
+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

0 comments on commit 19c6557

Please sign in to comment.
Something went wrong with that request. Please try again.