This updates rubinius to the latest release.  Changes located
at: https://github.com/rubinius/rubinius/blob/master/Changelog

Portwise, this now depends on libexecinfo for backtrace display
when crashing.  libyaml is not actually used, so remove it from
WANTLIB.

Turns out the build system for the virtual machine was not
respecting CPPFLAGS.  This wasn't a problem before, but is a
problem now that the virtual machine uses libexecinfo (as it
needs to find the headers for it).  Work around the issue by using
CXXFLAGS.

The Fileutils.mkdir_p patch to quiet systrace is broken in this
version, resulting in silently failing and not creating the
directories.  Rather than debug it, I'm just removing the patch.

For some reason, rubinius really wants to know the location of
libc, so add an ugly hack to get the information, similar to
how rubinius gets the information for other platforms.

Don't BUILD_DEPENDS on llvm since it isn't currently used.  This
updated version still doesn't build with llvm in ports.

Tested on i386 and amd64, including a bulk of the rbx FLAVOR
ports.  Will be committing this weekend unless I hear objections.

I've gzipped the diff as the PLIST changes make it quite large
(334k).  I'm including the Makefile changes below as they are
the only interesting changes.

Thanks,
Jeremy

Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/rubinius/Makefile,v
retrieving revision 1.29
diff -u -p -r1.29 Makefile
--- Makefile    20 Apr 2014 20:00:35 -0000      1.29
+++ Makefile    15 May 2014 22:44:06 -0000
@@ -10,10 +10,9 @@ BROKEN-powerpc = no atomics for this arc
 
 COMMENT =      Ruby virtual machine and core library
 
-V=             2.2.3
+V=             2.2.6
 EXTRACT_SUFX=  .tar.bz2
 DISTNAME =     rubinius-${V}
-REVISION =     0
 
 MASTER_SITES = http://releases.rubini.us/
 
@@ -26,12 +25,13 @@ MAINTAINER =        Jeremy Evans <jeremy@openbs
 # BSD
 PERMIT_PACKAGE_CDROM = Yes
 
-WANTLIB += c crypto m ncurses ncursesw pthread readline ssl stdc++
-WANTLIB += termcap util yaml z
+WANTLIB += c crypto execinfo m ncurses ncursesw pthread readline ssl stdc++
+WANTLIB += termcap util z
+
+LIB_DEPENDS = devel/libexecinfo
 
 BUILD_DEPENDS =        devel/bison \
                devel/libffi \
-               devel/llvm \
                devel/ruby-bundler,ruby20
 
 MODULES =      lang/ruby
@@ -41,6 +41,7 @@ USE_GMAKE =   Yes
 
 MAKE_ENV +=    LDFLAGS="-L${LOCALBASE}/lib" \
                CPPFLAGS="-DOPENSSL_NO_STATIC_ENGINE -I${LOCALBASE}/include" \
+               CXXFLAGS="-DOPENSSL_NO_STATIC_ENGINE -I${LOCALBASE}/include" \
                CC="${CC}" \
                make=gmake \
                GEM_HOME=${GEM_HOME} \
@@ -48,16 +49,18 @@ MAKE_ENV += LDFLAGS="-L${LOCALBASE}/lib"
 
 RBX_ARCH =     ${MACHINE_ARCH}-openbsd
 GEM_HOME =     ${WRKSRC}/vendor/build-gems
-FILEUTILS_DIR =        
staging/runtime/gems/rubysl-fileutils-*/lib/rubysl/fileutils
+GEM_EXTENSIONS_DIR = lib/rubinius/gems/extensions/${RBX_ARCH:S/i386/x86/}/2.1
 
-SUBST_VARS=    RBX_ARCH
+SUBST_VARS=    RBX_ARCH GEM_EXTENSIONS_DIR
 
 # Used when this rubinius version supports ports LLVM
 #LLVM_OPTION = --llvm-config=${LOCALBASE}/bin/llvm-config
+#BUILD_DEPENDS += devel/llvm
 # Otherwise
 LLVM_OPTION =  --disable-llvm
 
-OPENSSL_GEM_FILE = vendor/cache/rubysl-openssl-2.0.5.gem
+OPENSSL_GEM_FILE = vendor/cache/rubysl-openssl-2.1.0.gem
+LIBC = $$(${RUBY} -e 'puts `ldd /usr/bin/at`[/\/usr\/lib\/libc\.so\.[0-9]+/]')
 
 do-configure:
        # Patch openssl library
@@ -79,12 +82,11 @@ do-configure:
                --local --path ${GEM_HOME}
        cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${RUBY} configure \
                --prefix=${PREFIX}/lib/rubinius --rake=${RAKE} \
-               --gem=gem20 --make=gmake ${LLVM_OPTION}
+               --gem=gem20 --make=gmake ${LLVM_OPTION} \
+               --libc=${LIBC} --with-execinfo
 
 do-build:
        cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} HOME=${WRKSRC} ${RAKE} build
-       patch --posix ${WRKSRC}/${FILEUTILS_DIR}/fileutils.rb \
-               ${PATCHDIR}/fileutils.diff
 
 do-install:
        cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} HOME=${WRKSRC} \

Attachment: rbx.diff.gz
Description: application/gunzip

Reply via email to