svn commit: r479692 - in head/lang: ruby23/files ruby24/files ruby25/files
Ed Schouten
ed at FreeBSD.org
Thu Sep 13 19:26:19 UTC 2018
Author: ed (src committer)
Date: Thu Sep 13 19:26:17 2018
New Revision: 479692
URL: https://svnweb.freebsd.org/changeset/ports/479692
Log:
lang/ruby2[345]: Improve qsort_r() detection
This change merges the following upstream pull request into the Ruby
interpreter ports:
https://github.com/ruby/ruby/pull/1954
Adding this patch to these ports will ensure that once we patch up
qsort_r() to be compatible with glibc, Ruby will automatically pick them
up. Ruby should also build fine without this patch, but this will cause
it to use its own implementation, which blows up the binary size
slightly.
Poudriere runs seem to pass for 11.x amd64. Logs indicate that this
doesn't negatively affect the existing qsort_r() detection:
checking whether qsort_r is GNU version... no
checking whether qsort_r is BSD version... yes
PR: 231256
Approved by: sunpoet
Differential Revision: https://reviews.freebsd.org/D17157
Modified:
head/lang/ruby23/files/patch-configure.in
head/lang/ruby24/files/patch-configure.in
head/lang/ruby25/files/patch-configure.ac
Modified: head/lang/ruby23/files/patch-configure.in
==============================================================================
--- head/lang/ruby23/files/patch-configure.in Thu Sep 13 19:20:05 2018 (r479691)
+++ head/lang/ruby23/files/patch-configure.in Thu Sep 13 19:26:17 2018 (r479692)
@@ -1,6 +1,6 @@
--- configure.in.orig 2017-03-27 17:59:49 UTC
+++ configure.in
-@@ -621,7 +621,7 @@ AC_DEFUN([RUBY_DTRACE_AVAILABLE],
+@@ -633,7 +633,7 @@
[AC_CACHE_CHECK(whether dtrace USDT is available, rb_cv_dtrace_available,
[
echo "provider conftest{ probe fire(); };" > conftest_provider.d
@@ -9,7 +9,7 @@
AC_TRY_COMPILE([@%:@include "conftest_provider.h"], [CONFTEST_FIRE();], [
# DTrace is available on the system
rb_cv_dtrace_available=yes
-@@ -645,13 +645,13 @@ AC_DEFUN([RUBY_DTRACE_POSTPROCESS],
+@@ -657,13 +657,13 @@
probe fire();
};
_PROBES
@@ -25,7 +25,7 @@
:
}; then
if cmp -s conftest.o conftest.${ac_objext}.save; then
-@@ -1260,10 +1260,10 @@ main()
+@@ -1290,10 +1290,10 @@
],
[ LIBS="-lm $LIBS"])
@@ -40,7 +40,25 @@
dnl Checks for header files.
AC_HEADER_DIRENT
-@@ -2513,7 +2513,7 @@ main(int argc, char **argv)
+@@ -2450,7 +2450,7 @@
+ AC_CACHE_CHECK(whether qsort_r is GNU version, rb_cv_gnu_qsort_r,
+ [AC_TRY_COMPILE([
+ @%:@include <stdlib.h>
+-void qsort_r(void *base, size_t nmemb, size_t size,
++void (qsort_r)(void *base, size_t nmemb, size_t size,
+ int (*compar)(const void *, const void *, void *),
+ void *arg);
+ ],[ ],
+@@ -2460,7 +2460,7 @@
+ AC_CACHE_CHECK(whether qsort_r is BSD version, rb_cv_bsd_qsort_r,
+ [AC_TRY_COMPILE([
+ @%:@include <stdlib.h>
+-void qsort_r(void *base, size_t nmemb, size_t size,
++void (qsort_r)(void *base, size_t nmemb, size_t size,
+ void *arg, int (*compar)(void *, const void *, const void *));
+ ],[ ],
+ [rb_cv_bsd_qsort_r=yes],
+@@ -2549,7 +2549,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
@@ -49,7 +67,7 @@
if test x"$ac_cv_lib_rt_clock_gettime" = xyes; then
AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
fi
-@@ -2920,7 +2920,7 @@ else
+@@ -2956,7 +2956,7 @@
fi
if test x"$enable_pthread" = xyes; then
@@ -58,7 +76,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
-@@ -2934,6 +2934,7 @@ if test x"$enable_pthread" = xyes; then
+@@ -2970,6 +2970,7 @@
[c], [],
[root], [],
[c_r], [MAINLIBS="-pthread $MAINLIBS"],
@@ -66,7 +84,7 @@
[AS_CASE(["$target_os"],
[openbsd*|mirbsd*], [LIBS="-pthread $LIBS"],
[LIBS="-l$pthread_lib $LIBS"])])
-@@ -3246,7 +3247,6 @@ if test "$with_dln_a_out" != yes; then
+@@ -3278,7 +3279,6 @@
: ${LDSHARED='$(CC) -shared'}
if test "$rb_cv_binary_elf" = yes; then
LDFLAGS="$LDFLAGS -rdynamic"
@@ -74,7 +92,7 @@
else
test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable'
fi
-@@ -3730,6 +3730,7 @@ AS_CASE("$enable_shared", [yes], [
+@@ -3751,6 +3751,7 @@
[freebsd*|dragonfly*], [
SOLIBS='$(LIBS)'
LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)'
Modified: head/lang/ruby24/files/patch-configure.in
==============================================================================
--- head/lang/ruby24/files/patch-configure.in Thu Sep 13 19:20:05 2018 (r479691)
+++ head/lang/ruby24/files/patch-configure.in Thu Sep 13 19:26:17 2018 (r479692)
@@ -1,5 +1,23 @@
--- configure.in.orig 2018-03-02 20:59:11.000000000 +0800
+++ configure.in 2018-07-19 14:22:04.753721000 +0800
+@@ -2573,7 +2573,7 @@
+ AC_CACHE_CHECK(whether qsort_r is GNU version, rb_cv_gnu_qsort_r,
+ [AC_TRY_COMPILE([
+ @%:@include <stdlib.h>
+-void qsort_r(void *base, size_t nmemb, size_t size,
++void (qsort_r)(void *base, size_t nmemb, size_t size,
+ int (*compar)(const void *, const void *, void *),
+ void *arg);
+ ],[ ],
+@@ -2583,7 +2583,7 @@
+ AC_CACHE_CHECK(whether qsort_r is BSD version, rb_cv_bsd_qsort_r,
+ [AC_TRY_COMPILE([
+ @%:@include <stdlib.h>
+-void qsort_r(void *base, size_t nmemb, size_t size,
++void (qsort_r)(void *base, size_t nmemb, size_t size,
+ void *arg, int (*compar)(void *, const void *, const void *));
+ ],[ ],
+ [rb_cv_bsd_qsort_r=yes],
@@ -3423,7 +3423,6 @@
: ${LDSHARED='$(CC) -shared'}
if test "$rb_cv_binary_elf" = yes; then
Modified: head/lang/ruby25/files/patch-configure.ac
==============================================================================
--- head/lang/ruby25/files/patch-configure.ac Thu Sep 13 19:20:05 2018 (r479691)
+++ head/lang/ruby25/files/patch-configure.ac Thu Sep 13 19:26:17 2018 (r479692)
@@ -1,5 +1,23 @@
--- configure.ac.orig 2018-01-04 02:12:16.000000000 +0800
+++ configure.ac 2018-07-19 14:45:11.636321000 +0800
+@@ -2482,7 +2482,7 @@
+ AC_CACHE_CHECK(whether qsort_r is GNU version, rb_cv_gnu_qsort_r,
+ [AC_TRY_COMPILE([
+ @%:@include <stdlib.h>
+-void qsort_r(void *base, size_t nmemb, size_t size,
++void (qsort_r)(void *base, size_t nmemb, size_t size,
+ int (*compar)(const void *, const void *, void *),
+ void *arg);
+ ],[ ],
+@@ -2492,7 +2492,7 @@
+ AC_CACHE_CHECK(whether qsort_r is BSD version, rb_cv_bsd_qsort_r,
+ [AC_TRY_COMPILE([
+ @%:@include <stdlib.h>
+-void qsort_r(void *base, size_t nmemb, size_t size,
++void (qsort_r)(void *base, size_t nmemb, size_t size,
+ void *arg, int (*compar)(void *, const void *, const void *));
+ ],[ ],
+ [rb_cv_bsd_qsort_r=yes],
@@ -3245,7 +3245,6 @@
: ${LDSHARED='$(CC) -shared'}
AS_IF([test "$rb_cv_binary_elf" = yes], [
More information about the svn-ports-head
mailing list