Re: Early Look: ruby 2.3.0-preview1
On 11/12/15 07:53, Jeremy Evans wrote: Attached is a port for ruby 2.3.0-preview1. This is useful if you want to test your ruby software to make sure it will run on ruby 2.3, but it won't be committed till the ruby 2.3.0 final release in late December. Release announcement is at: https://www.ruby-lang.org/en/news/2015/11/11/ruby-2-3-0-preview1-released/ Thanks, good work preparing for the release like this! I tested it out and receive errors like this when installing some gems (json, sqlite3) using bundler 1.3.5 from ports: Installing json (1.8.3) Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator /usr/local/bin/ruby23 -r ./siteconf20151115-14676-coy40a.rb extconf.rb creating Makefile current directory: /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator make "DESTDIR=" clean current directory: /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator make "DESTDIR=" compiling generator.c linking shared-object json/ext/generator.so current directory: /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator make "DESTDIR=" install /usr/ports/pobj/ruby-2.3.0-preview1/bin/install -c -m 0755 generator.so ./.gem.20151115-14676-1oavqqb/json/ext /usr/ports/pobj/ruby-2.3.0-preview1/bin/install: not found *** Error 1 in /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator (Makefile:186 'install-so') make install failed, exit code 1 Gem files will remain installed in /home/frank/.gem/ruby/2.3/gems/json-1.8.3 for inspection. Results logged to /home/frank/.gem/ruby/2.3/extensions/x86_64-openbsd/2.3/json-1.8.3/gem_make.out An error occurred while installing json (1.8.3), and Bundler cannot continue. Make sure that `gem install json -v '1.8.3'` succeeds before bundling. Do you think this is a bug in the port? You can reproduce this by running: git clone https://github.com/ivaldi/brimir bundle install --path ~/.gem Let me know if I can help or re-test. Frank
Re: Early Look: ruby 2.3.0-preview1
On Sun, Nov 15, 2015 at 8:03 AM, Frank Groeneveld < frank+openbsd-po...@frankgroeneveld.nl> wrote: > On 11/12/15 07:53, Jeremy Evans wrote: > >> Attached is a port for ruby 2.3.0-preview1. This is useful if you want >> to test your ruby software to make sure it will run on ruby 2.3, but it >> won't be committed till the ruby 2.3.0 final release in late December. >> >> Release announcement is at: >> https://www.ruby-lang.org/en/news/2015/11/11/ruby-2-3-0-preview1-released/ >> > > Thanks, good work preparing for the release like this! I tested it out and > receive errors like this when installing some gems (json, sqlite3) using > bundler 1.3.5 from ports: > > Installing json (1.8.3) > Gem::Ext::BuildError: ERROR: Failed to build gem native extension. > > current directory: > /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator > /usr/local/bin/ruby23 -r ./siteconf20151115-14676-coy40a.rb extconf.rb > creating Makefile > > current directory: > /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator > make "DESTDIR=" clean > > current directory: > /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator > make "DESTDIR=" > compiling generator.c > linking shared-object json/ext/generator.so > > current directory: > /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator > make "DESTDIR=" install > /usr/ports/pobj/ruby-2.3.0-preview1/bin/install -c -m 0755 generator.so > ./.gem.20151115-14676-1oavqqb/json/ext > /usr/ports/pobj/ruby-2.3.0-preview1/bin/install: not found > *** Error 1 in > /home/frank/.gem/ruby/2.3/gems/json-1.8.3/ext/json/ext/generator > (Makefile:186 'install-so') > > make install failed, exit code 1 > > Gem files will remain installed in > /home/frank/.gem/ruby/2.3/gems/json-1.8.3 for inspection. > Results logged to > /home/frank/.gem/ruby/2.3/extensions/x86_64-openbsd/2.3/json-1.8.3/gem_make.out > > An error occurred while installing json (1.8.3), and Bundler cannot > continue. > Make sure that `gem install json -v '1.8.3'` succeeds before bundling. > > Do you think this is a bug in the port? You can reproduce this by running: > git clone https://github.com/ivaldi/brimir > bundle install --path ~/.gem > > Let me know if I can help or re-test. There's various ports that don't build without modifications (textproc/ruby-nokogiri) or that have issues at runtime with ruby 2.3.0-preview1 (www/ruby-capybara). Hopefully these issues will be fixed before the ruby 2.3.0 final release, but they aren't a bug in the port as far as I know. If you believe this is a bug in the port itself, please provide a diff or at least a reason why you think that. Note that the json gem ships with ruby since 1.9. Instead of bundle install, try: gem23 install -G ~/.gem --conservative Thanks, Jeremy
Re: Early Look: ruby 2.3.0-preview1
On 11/15/15 18:04, Jeremy Evans wrote: There's various ports that don't build without modifications (textproc/ruby-nokogiri) or that have issues at runtime with ruby 2.3.0-preview1 (www/ruby-capybara). Hopefully these issues will be fixed before the ruby 2.3.0 final release, but they aren't a bug in the port as far as I know. If you believe this is a bug in the port itself, please provide a diff or at least a reason why you think that. I believe this is a bug in the port, because of the error: > /usr/ports/pobj/ruby-2.3.0-preview1/bin/install: not found It seems Ruby is somehow passing the install command to the gem with the build path of ruby-2.3.0-preview1 prepended. Note that the json gem ships with ruby since 1.9. Instead of bundle install, try: gem23 install -G ~/.gem --conservative Thanks, but the bug occurs in various other gems as well, including sqlite3. Thanks. Frank
Re: Early Look: ruby 2.3.0-preview1
On Sun, Nov 15, 2015 at 9:57 AM, Frank Groeneveld < frank+openbsd-po...@frankgroeneveld.nl> wrote: > On 11/15/15 18:04, Jeremy Evans wrote: > >> There's various ports that don't build without modifications >> (textproc/ruby-nokogiri) or that have issues at runtime with ruby >> 2.3.0-preview1 (www/ruby-capybara). Hopefully these issues will be fixed >> before the ruby 2.3.0 final release, but they aren't a bug in the port as >> far as I know. If you believe this is a bug in the port itself, please >> provide a diff or at least a reason why you think that. >> > > I believe this is a bug in the port, because of the error: > > > /usr/ports/pobj/ruby-2.3.0-preview1/bin/install: not found > > It seems Ruby is somehow passing the install command to the gem with the > build path of ruby-2.3.0-preview1 prepended. I apologize, I obviously didn't read your bug report closely enough. Yes that is a bug in the port, and it's because the port adds a post-install target to fix a bug, which overrides the post-install target in Makefile.inc. Here's a diff for Makefile.inc: Index: Makefile.inc === RCS file: /cvs/ports/lang/ruby/Makefile.inc,v retrieving revision 1.11 diff -u -p -r1.11 Makefile.inc --- Makefile.inc 15 Oct 2014 02:06:35 - 1.11 +++ Makefile.inc 15 Nov 2015 19:06:06 - @@ -28,7 +28,8 @@ SUB ?= ${MACHINE_ARCH:S/amd64/x86_64/} SUBST_VARS += SUB REV FILESDIR ?= ${.CURDIR}/../files +FIX_RBCONFIG = sed 's/INSTALL_ARGS/-c -o ${BINOWN} -g ${BINGRP}/' < \ + ${FILESDIR}/rbconfig_fix.rb >> \ + ${PREFIX}/lib/ruby/${RUBYLIBREV}/${SUB}/rbconfig.rb post-install: - sed 's/INSTALL_ARGS/-c -o ${BINOWN} -g ${BINGRP}/' < \ - ${FILESDIR}/rbconfig_fix.rb >> \ - ${PREFIX}/lib/ruby/${RUBYLIBREV}/${SUB}/rbconfig.rb + ${FIX_RBCONFIG} Here's a new 2.3/Makefile: # $OpenBSD: Makefile,v 1.6 2015/08/22 15:14:14 jeremy Exp $ BROKEN-mips64 = miniruby spins on rbconfig.rb COMMENT-main = object oriented script language with threads COMMENT-gdbm = gdbm interface for ruby COMMENT-tk = tk interface for ruby COMMENT-ri_docs = ri documentation files for ruby VERSION = 2.3.0-preview1 RUBYLIBREV = 2.3 DISTNAME = ruby-${VERSION} SHARED_LIBS = ruby23 0.0 PKGNAME-main = ruby-${VERSION} PKGNAME-gdbm = ruby23-gdbm-${VERSION} PKGNAME-tk = ruby23-tk-${VERSION} PKGNAME-ri_docs = ruby23-ri_docs-${VERSION} PKG_ARCH-ri_docs = * WANTLIB-ri_docs = # empty NEXTVER = 2.4 PKGSPEC-main = ruby->=${RUBYLIBREV},<${NEXTVER} CONFIGURE_ARGS = --program-suffix=23 \ --with-soname=ruby23 \ --with-ruby-version=minor \ --with-mantype=doc \ --enable-pthread \ --enable-ipv6 \ --without-bundled-libffi \ --disable-option-checking CONFIGURE_ENV = LIBruby23_VERSION=${LIBruby23_VERSION} \ ac_cv_prog_DOXYGEN="" \ ac_cv_prog_DOT="" \ DLDFLAGS="-L${LOCALBASE}/lib" MAKE_ENV = DLDFLAGS="-I${LOCALBASE}/lib" ALL_TARGET = V=1 main INSTALL_TARGET = V=1 install-nodoc WANTLIB-main = c crypto ffi gmp m ncurses pthread readline ssl \ util yaml z LIB_DEPENDS-main = devel/gmp \ devel/libyaml \ devel/libffi PSEUDO_FLAVORS= no_x11 no_ri_docs # Do not build the RI docs on slow arches .if ${MACHINE_ARCH:Malpha} || ${MACHINE_ARCH:Marm} || ${MACHINE_ARCH:Mhppa} || ${MACHINE_ARCH:Msparc} || ${MACHINE_ARCH:Mvax} FLAVOR?= no_ri_docs .else FLAVOR?= .endif MULTI_PACKAGES = -main -gdbm WANTLIB-gdbm = c m gdbm gmp pthread ruby23 LIB_DEPENDS-gdbm = databases/gdbm \ devel/gmp \ lang/ruby/${REV},-main>=${VERSION},<${NEXTVER} RUN_DEPENDS-gdbm = .if !${FLAVOR:Mno_x11} MULTI_PACKAGES+= -tk CONFIGURE_ARGS+= --with-tcl-include=${LOCALBASE}/include/tcl8.5 \ --with-tk-include=${LOCALBASE}/include/tk8.5 \ --with-tcllib=tcl85 \ --with-tklib=tk85 \ --with-X11-dir=${X11BASE} WANTLIB-tk = X11 c gmp m pthread ruby23 tcl85 tk85 LIB_DEPENDS-tk = tk->=8.5,<8.6:x11/tk/8.5 \ devel/gmp \ lang/ruby/${REV},-main>=${VERSION},<${NEXTVER} RUN_DEPENDS-tk = .endif .if !${FLAVOR:Mno_ri_docs} MULTI_PACKAGES += -ri_docs ALL_TARGET += rdoc INSTALL_TARGET += install-doc .endif SUBST_VARS += RUBYLIBREV TEST_DEPENDS = ${FULLPKGNAME-main}:${BUILD_PKGPATH} post-extract: rm -rf ${WRKSRC}/ext/fiddle/libffi-* ${WRKSRC}/tool/downloader.rb pre-install: find ${WRKSRC} -name '*.orig' -print0 | xargs -0r rm ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/ruby post-install: ${FIX_RBCONFIG} chmod 444 ${PREFIX}/lib/ruby/gems/*/{cache,specifications}/*.gem* do-test: -cd ${WRKSRC} && make test-sample -cd ${WRKSRC} && make btest-ruby cd ${WRKSRC} && make test-all TESTOPTS="-v -q" .include Thanks, Jeremy
Re: Early Look: ruby 2.3.0-preview1
On 11/15/15 20:08, Jeremy Evans wrote: I apologize, I obviously didn't read your bug report closely enough. Yes that is a bug in the port, and it's because the port adds a post-install target to fix a bug, which overrides the post-install target in Makefile.inc. No problem. I tested your fix and it works great. Thanks for solving it and lets hope 2.3 is release soon! Frank