Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Oct 2014 15:45:28 +0000 (UTC)
From:      Steve Wills <swills@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r369732 - in head: Mk lang/ruby20 lang/ruby20/files lang/ruby21 lang/ruby21/files
Message-ID:  <201410011545.s91FjSfA056138@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: swills
Date: Wed Oct  1 15:45:27 2014
New Revision: 369732
URL: https://svnweb.freebsd.org/changeset/ports/369732
QAT: https://qat.redports.org/buildarchive/r369732/

Log:
  lang/ruby2*: fix dtrace support
  
  DTrace support in ruby needs the -xnolibs flag added to the dtrace command
  called during build to ensure that dtrace support is enabled even if the dtrace
  kernel modules are not loaded at build time.
  
  However, with this dtrace will be enabled on some OS versions where it will not
  work, so add logic to disable it where appropriate.

Added:
  head/lang/ruby20/files/patch-Makefile.in   (contents, props changed)
  head/lang/ruby21/files/patch-Makefile.in   (contents, props changed)
Modified:
  head/Mk/bsd.ruby.mk
  head/lang/ruby20/Makefile
  head/lang/ruby20/files/patch-configure.in
  head/lang/ruby21/Makefile
  head/lang/ruby21/files/patch-configure.in

Modified: head/Mk/bsd.ruby.mk
==============================================================================
--- head/Mk/bsd.ruby.mk	Wed Oct  1 15:15:00 2014	(r369731)
+++ head/Mk/bsd.ruby.mk	Wed Oct  1 15:45:27 2014	(r369732)
@@ -193,7 +193,7 @@ RUBY21=			"@comment "
 # Ruby 2.0
 #
 RUBY_RELVERSION=	2.0.0
-RUBY_PORTREVISION=	0
+RUBY_PORTREVISION=	1
 RUBY_PORTEPOCH=		1
 RUBY_PATCHLEVEL=	576
 
@@ -209,7 +209,7 @@ RUBY21=			"@comment "
 # Ruby 2.1
 #
 RUBY_RELVERSION=	2.1.3
-RUBY_PORTREVISION=	0
+RUBY_PORTREVISION=	1
 RUBY_PORTEPOCH=		1
 RUBY_PATCHLEVEL=	0
 

Modified: head/lang/ruby20/Makefile
==============================================================================
--- head/lang/ruby20/Makefile	Wed Oct  1 15:15:00 2014	(r369731)
+++ head/lang/ruby20/Makefile	Wed Oct  1 15:45:27 2014	(r369732)
@@ -85,9 +85,13 @@ CPPFLAGS+=	-I${LOCALBASE}/include
 # Keep this, else ruby will fail to load libraries dependent op libpthread.
 LIBS+=		-L${LOCALBASE}/lib ${PTHREAD_LIBS}
 
-.if ${ARCH} == "powerpc"
+.if ${OPSYS} == "FreeBSD"
+.if (${ARCH} == "i386" && ${OSVERSION} > 1010000) || (${ARCH} == "amd64" && ${OSVERSION} > 903000)
+CONFIGURE_ARGS+=	--enable-dtrace
+.else
 CONFIGURE_ARGS+=	--disable-dtrace
 .endif
+.endif
 
 CONFIGURE_ENV=	debugflags=
 

Added: head/lang/ruby20/files/patch-Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/ruby20/files/patch-Makefile.in	Wed Oct  1 15:45:27 2014	(r369732)
@@ -0,0 +1,20 @@
+--- Makefile.in.orig	2014-09-26 18:04:17.720164117 +0000
++++ Makefile.in	2014-09-26 18:04:53.535161754 +0000
+@@ -342,7 +342,7 @@
+ 
+ .d.h:
+ 	@$(ECHO) translating probes $<
+-	$(Q) $(DTRACE) -o $@.tmp -h -C $(INCFLAGS) -s $<
++	$(Q) $(DTRACE) -xnolibs -o $@.tmp -h -C $(INCFLAGS) -s $<
+ 	$(Q) sed -e 's/RUBY_/RUBY_DTRACE_/g' -e 's/PROBES_H_TMP/PROBES_H/g' -e 's/(char \*/(const char */g' -e 's/, char \*/, const char */g' $@.tmp > $@
+ 	$(Q) $(RM) $@.tmp
+ 
+@@ -362,7 +362,7 @@
+ 	fi; \
+ 	touch "$$stamp"
+ 	$(RM) $@
+-	$(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_DEPENDENT_OBJS)
++	$(Q) $(DTRACE) -xnolibs -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_DEPENDENT_OBJS)
+ 
+ # DTrace static library hacks described here:
+ # http://mail.opensolaris.org/pipermail/dtrace-discuss/2005-August/000207.html

Modified: head/lang/ruby20/files/patch-configure.in
==============================================================================
--- head/lang/ruby20/files/patch-configure.in	Wed Oct  1 15:15:00 2014	(r369731)
+++ head/lang/ruby20/files/patch-configure.in	Wed Oct  1 15:45:27 2014	(r369732)
@@ -1,6 +1,31 @@
---- configure.in.orig	2014-01-30 15:58:25.000000000 +0000
-+++ configure.in	2014-07-26 19:30:21.165009183 +0000
-@@ -1401,11 +1401,11 @@
+--- configure.in.orig	2014-09-26 17:17:06.072358809 +0000
++++ configure.in	2014-09-26 17:17:32.251357664 +0000
+@@ -515,7 +515,7 @@
+ [AC_CACHE_CHECK(whether dtrace USDT is available, rb_cv_dtrace_available,
+ [
+     echo "provider conftest{ probe fire(); };" > conftest_provider.d
+-    if $DTRACE -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null; then
++    if $DTRACE -xnolibs -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null; then
+       # DTrace is available on the system
+       rb_cv_dtrace_available=yes
+     else
+@@ -532,13 +532,13 @@
+ [
+   if {
+     echo "provider conftest{ probe fire(); };" > conftest_provider.d &&
+-    dtrace -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null &&
++    dtrace -xnolibs -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null &&
+     cat >conftest.c <<_CONF &&
+     @%:@include "conftest_provider.h"
+     int main(void){ CONFTEST_FIRE(); return 0; }
+ _CONF
+     $CC $CFLAGS -c -o conftest.o conftest.c &&
+-    $DTRACE -G -s conftest_provider.d conftest.o 2>/dev/null
++    $DTRACE -xnolibs -G -s conftest_provider.d conftest.o 2>/dev/null
+   }; then
+     rb_cv_prog_dtrace_g=yes
+   else
+@@ -1428,11 +1428,11 @@
  AC_CHECK_DECLS([sys_nerr], [], [], [$ac_includes_default
  @%:@include <errno.h>])
  
@@ -17,7 +42,7 @@
  
  AS_CASE(["$target_cpu"],
  [alpha*|sh4|sh4el|sh4eb], [AS_CASE(["$target_os"::"$GCC"],
-@@ -2096,7 +2096,7 @@
+@@ -2123,7 +2123,7 @@
  fi
  
  if test x"$enable_pthread" = xyes; then
@@ -26,7 +51,7 @@
  	AC_CHECK_LIB($pthread_lib, pthread_kill,
  		     rb_with_pthread=yes, rb_with_pthread=no)
  	if test "$rb_with_pthread" = "yes"; then break; fi
-@@ -2110,6 +2110,7 @@
+@@ -2137,6 +2137,7 @@
  	[c],    [],
  	[root], [],
  	[c_r],  [MAINLIBS="-pthread $MAINLIBS"],
@@ -34,7 +59,7 @@
  	        [AS_CASE(["$target_os"],
  		    [openbsd*], [LIBS="-pthread $LIBS"],
  		    [LIBS="-l$pthread_lib $LIBS"])])
-@@ -2341,7 +2342,6 @@
+@@ -2368,7 +2369,6 @@
  			: ${LDSHARED='$(CC) -shared'}
  			if test "$rb_cv_binary_elf" = yes; then
  			    LDFLAGS="$LDFLAGS -rdynamic"
@@ -42,7 +67,7 @@
  			else
  			  test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable'
  			fi
-@@ -2728,6 +2728,7 @@
+@@ -2755,6 +2755,7 @@
      [freebsd*|dragonfly*], [
  	SOLIBS='$(LIBS)'
  	LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)'

Modified: head/lang/ruby21/Makefile
==============================================================================
--- head/lang/ruby21/Makefile	Wed Oct  1 15:15:00 2014	(r369731)
+++ head/lang/ruby21/Makefile	Wed Oct  1 15:45:27 2014	(r369732)
@@ -84,9 +84,13 @@ CPPFLAGS+=	-I${LOCALBASE}/include
 # Keep this, else ruby will fail to load libraries dependent op libpthread.
 LIBS+=		-L${LOCALBASE}/lib ${PTHREAD_LIBS}
 
-.if ${ARCH} == "powerpc"
+.if ${OPSYS} == "FreeBSD"
+.if (${ARCH} == "i386" && ${OSVERSION} > 1010000) || (${ARCH} == "amd64" && ${OSVERSION} > 903000)
+CONFIGURE_ARGS+=	--enable-dtrace
+.else
 CONFIGURE_ARGS+=	--disable-dtrace
 .endif
+.endif
 
 CONFIGURE_ENV=	debugflags=
 

Added: head/lang/ruby21/files/patch-Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/ruby21/files/patch-Makefile.in	Wed Oct  1 15:45:27 2014	(r369732)
@@ -0,0 +1,20 @@
+--- Makefile.in.orig	2014-10-01 13:48:32.240448887 +0000
++++ Makefile.in	2014-10-01 13:49:42.263443819 +0000
+@@ -347,7 +347,7 @@
+ 
+ .d.h:
+ 	@$(ECHO) translating probes $<
+-	$(Q) $(DTRACE) -o $@.tmp -h -C $(INCFLAGS) -s $<
++	$(Q) $(DTRACE) -xnolibs -o $@.tmp -h -C $(INCFLAGS) -s $<
+ 	$(Q) sed -e 's/RUBY_/RUBY_DTRACE_/g' -e 's/PROBES_H_TMP/PROBES_H/g' -e 's/(char \*/(const char */g' -e 's/, char \*/, const char */g' $@.tmp > $@
+ 	$(Q) $(RM) $@.tmp
+ 
+@@ -367,7 +367,7 @@
+ 	fi; \
+ 	touch "$$stamp"
+ 	$(RM) $@
+-	$(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_DEPENDENT_OBJS)
++	$(Q) $(DTRACE) -xnolibs -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_DEPENDENT_OBJS)
+ 
+ # DTrace static library hacks described here:
+ # http://mail.opensolaris.org/pipermail/dtrace-discuss/2005-August/000207.html

Modified: head/lang/ruby21/files/patch-configure.in
==============================================================================
--- head/lang/ruby21/files/patch-configure.in	Wed Oct  1 15:15:00 2014	(r369731)
+++ head/lang/ruby21/files/patch-configure.in	Wed Oct  1 15:45:27 2014	(r369732)
@@ -1,6 +1,31 @@
---- configure.in.orig	2014-03-20 05:40:57.873422152 +0000
-+++ configure.in	2014-03-20 05:40:57.873422152 +0000
-@@ -1084,10 +1084,10 @@
+--- configure.in.orig	2014-10-01 13:46:05.488459511 +0000
++++ configure.in	2014-10-01 13:45:56.345459984 +0000
+@@ -570,7 +570,7 @@
+ [AC_CACHE_CHECK(whether dtrace USDT is available, rb_cv_dtrace_available,
+ [
+     echo "provider conftest{ probe fire(); };" > conftest_provider.d
+-    if $DTRACE -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null; then
++    if $DTRACE -xnolibs -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null; then
+       # DTrace is available on the system
+       rb_cv_dtrace_available=yes
+     else
+@@ -591,13 +591,13 @@
+       probe fire();
+     };
+ _PROBES
+-    $DTRACE -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null &&
++    $DTRACE -xnolibs -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null &&
+     cat >conftest.c <<_CONF &&
+     @%:@include "conftest_provider.h"
+     int main(void){ CONFTEST_FIRE(); return 0; }
+ _CONF
+     $CC $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c &&
+-    $DTRACE -G -s conftest_provider.d conftest.o 2>/dev/null
++    $DTRACE -xnolibs -G -s conftest_provider.d conftest.o 2>/dev/null
+   }; then
+     rb_cv_prog_dtrace_g=yes
+   else
+@@ -1087,10 +1087,10 @@
    ],
  [	LIBS="-lm $LIBS"])
  
@@ -15,7 +40,7 @@
  
  dnl Checks for header files.
  AC_HEADER_DIRENT
-@@ -1982,7 +1982,7 @@
+@@ -1998,7 +1998,7 @@
  if test x"$ac_cv_func_clock_gettime" != xyes; then
      # glibc 2.17 moves clock_* functions from librt to the main C library.
      # http://sourceware.org/ml/libc-announce/2012/msg00001.html
@@ -24,7 +49,7 @@
      if test x"$ac_cv_lib_rt_clock_gettime" = xyes; then
  	AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
      fi
-@@ -2423,7 +2423,7 @@
+@@ -2460,7 +2460,7 @@
  fi
  
  if test x"$enable_pthread" = xyes; then
@@ -33,7 +58,7 @@
  	AC_CHECK_LIB($pthread_lib, pthread_kill,
  		     rb_with_pthread=yes, rb_with_pthread=no)
  	if test "$rb_with_pthread" = "yes"; then break; fi
-@@ -2437,6 +2437,7 @@
+@@ -2474,6 +2474,7 @@
  	[c],    [],
  	[root], [],
  	[c_r],  [MAINLIBS="-pthread $MAINLIBS"],
@@ -41,7 +66,7 @@
  	        [AS_CASE(["$target_os"],
  		    [openbsd*|mirbsd*], [LIBS="-pthread $LIBS"],
  		    [LIBS="-l$pthread_lib $LIBS"])])
-@@ -2668,7 +2669,6 @@
+@@ -2735,7 +2736,6 @@
  			: ${LDSHARED='$(CC) -shared'}
  			if test "$rb_cv_binary_elf" = yes; then
  			    LDFLAGS="$LDFLAGS -rdynamic"
@@ -49,7 +74,7 @@
  			else
  			  test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable'
  			fi
-@@ -3136,6 +3136,7 @@
+@@ -3203,6 +3203,7 @@
      [freebsd*|dragonfly*], [
  	SOLIBS='$(LIBS)'
  	LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)'



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410011545.s91FjSfA056138>