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 -0000 1.11 +++ Makefile.inc 15 Nov 2015 19:06:06 -0000 @@ -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 <bsd.port.mk> Thanks, Jeremy