summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-irc/epic5/files/epic5-1.1.10-ruby-automagic-as-needed.patch')
-rw-r--r--net-irc/epic5/files/epic5-1.1.10-ruby-automagic-as-needed.patch134
1 files changed, 134 insertions, 0 deletions
diff --git a/net-irc/epic5/files/epic5-1.1.10-ruby-automagic-as-needed.patch b/net-irc/epic5/files/epic5-1.1.10-ruby-automagic-as-needed.patch
new file mode 100644
index 000000000000..ba277ca8f60b
--- /dev/null
+++ b/net-irc/epic5/files/epic5-1.1.10-ruby-automagic-as-needed.patch
@@ -0,0 +1,134 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Subject: Fix up linking against libruby when using
+ LDFLAGS=-Wl,--as-needed. Also allow ruby to be a non-automagic
+ dependency.
+
+--- a/configure.in Tue Mar 25 07:39:34 2014 +0000
++++ b/configure.in Tue Mar 25 07:55:14 2014 +0000
+@@ -1168,34 +1168,28 @@
+ dnl
+ dnl Ruby support?
+ dnl
+-AC_ARG_WITH(ruby,
+-[ --with-ruby[=PATH_TO_RUBY_EXE] Compile with ruby support.],
+-[
+- rubyexe=$withval
+-],
+- rubyexe=yes
+-)
+-
+-if test "x$rubyexe" = "xyes"; then
+- for i in ruby ruby20 ruby19 ruby18 ruby2.0 ruby1.9.1 ruby1.9 ruby1.8; do
+- $i -h 2>&1 >/dev/null && rubyexe=$i && break
+- done
+- if test "x$rubyexe" = "xyes"; then
+- rubyexe=no
+- fi
+-fi
++AC_ARG_WITH([ruby],
++ [AS_HELP_STRING([--with-ruby[=PATH_TO_RUBY_EXE]], [Compile with ruby support.])],
++ [], [with_ruby=maybe])
+
+-if test "x$rubyexe" = "xno"; then
++with_ruby_errormsg="--with-ruby was specified but I could not locate ruby. Please try specifying --with-ruby=/path/to/ruby or --without-ruby."
++AC_MSG_CHECKING([whether to support Ruby])
++if test "x$with_ruby" = "xno" ; then
+ AC_MSG_CHECKING(whether to support Ruby)
+ AC_MSG_RESULT(no)
+ else
+- AC_CHECK_PROG(RUBYPROG, $rubyexe, "yes", "no")
+- AC_MSG_CHECKING(whether to support Ruby)
+- if test $RUBYPROG != "yes" ; then
+- AC_MSG_RESULT(no)
++ AC_MSG_RESULT(yes)
++ AS_IF([test "x$with_ruby" = "xyes" -o "x$with_ruby" = "xmaybe"],
++ [rubyexe=ruby],
++ [rubyexe="$with_ruby"])
++ dnl Support --with-ruby being passed a full path instead of just an executable name.
++ AS_IF([test -x "$rubyexe"],
++ [RUBYPROG=yes],
++ [AC_CHECK_PROG([RUBYPROG], [$rubyexe], [yes], [no])])
++ if test "x$RUBYPROG" = xno ; then
++ AS_IF([test "x$with_ruby" != "xmaybe"],
++ [AC_MSG_ERROR([$with_ruby_errormsg])])
+ else
+- AC_MSG_RESULT(yes)
+-
+ dnl ----
+ dnl Look first for Ruby 1.9
+ incdir=`$rubyexe -rrbconfig -e 'puts RbConfig::CONFIG[["rubyhdrdir"]]'`
+@@ -1208,15 +1205,15 @@
+
+ rubylibs=`$rubyexe -rrbconfig -e 'puts RbConfig::CONFIG[["LIBRUBYARG"]]'`
+ extralibs=`$rubyexe -rrbconfig -e 'puts RbConfig::CONFIG[["LIBS"]]'`
+- RUBYLDFLAGS="$rubylibs $extralibs"
++ RUBYLIBS="$rubylibs $extralibs"
+ RUBYDOTOH="ruby.o"
+
+ AC_MSG_CHECKING(whether embedded ruby works the way I expect)
+ have_embedded_ruby="no"
+ old_CFLAGS="$CFLAGS"
+- old_LDFLAGS="$LDFLAGS"
++ old_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $RUBYCFLAGS"
+- LDFLAGS="$LDFLAGS $RUBYLDFLAGS"
++ LIBS="$LIBS $RUBYLIBS"
+ AC_TRY_LINK([
+ #include <ruby.h>
+ VALUE epic_echo (VALUE module, VALUE string)
+@@ -1241,9 +1238,9 @@
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(whether ruby requires -pthread to link)
+ RUBYCFLAGS="$RUBYCFLAGS -pthread"
+- RUBYLDFLAGS="$RUBYLDFLAGS -pthread"
+- CFLAGS="$CFLAGS $RUBYCFLAGS"
+- LDFLAGS="$LDFLAGS $RUBYLDFLAGS"
++ RUBYLIBS="$RUBYLIBS -pthread"
++ CFLAGS="$old_CFLAGS $RUBYCFLAGS"
++ LIBS="$old_LIBS $RUBYLIBS"
+
+ AC_TRY_LINK([
+ #include <ruby.h>
+@@ -1268,17 +1265,19 @@
+ fi
+
+ CFLAGS="$old_CFLAGS"
+- LDFLAGS="$old_LDFLAGS"
++ LIBS="$old_LIBS"
+ if test $have_embedded_ruby = "yes" ; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_RUBY)
+ AC_DEFINE(RUBYCFLAGS)
+- AC_DEFINE(RUBYLDFLAGS)
++ AC_DEFINE(RUBYLIBS)
+ else
++ AS_IF([test "x$with_ruby" != "xmaybe"],
++ [AC_MSG_ERROR([$with_ruby_errormsg])])
+ RUBYDOTOH=""
+ HAVE_RUBY=""
+ RUBYCFLAGS=""
+- RUBYLDFLAGS=""
++ RUBYLIBS=""
+ AC_MSG_RESULT(no, sorry)
+ fi
+ fi
+@@ -1376,7 +1375,7 @@
+ AC_SUBST(LDFLAGS)
+ AC_SUBST(RUBYDOTOH)
+ AC_SUBST(RUBYCFLAGS)
+-AC_SUBST(RUBYLDFLAGS)
++AC_SUBST(RUBYLIBS)
+ AC_SUBST(TCLDOTOH)
+ AC_SUBST(TCLCFLAGS)
+ AC_SUBST(TCLLDFLAGS)
+--- a/source/Makefile.in Tue Mar 25 07:39:34 2014 +0000
++++ b/source/Makefile.in Tue Mar 25 07:55:14 2014 +0000
+@@ -38,7 +38,7 @@
+ epic5: $(OBJECTS)
+ sh info.c.sh
+ $(CC) $(CFLAGS) $(INCLUDES) -c info.c
+- $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLDFLAGS@ @TCLLDFLAGS@ @RUBYLDFLAGS@ $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLDFLAGS@ @TCLLDFLAGS@ @RUBYLIBS@ $(LIBS)
+ $(RM) info.c info.o
+ clean::
+ $(RM) epic5 $(OBJECTS)