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} \
rbx.diff.gz
Description: application/gunzip