svn commit: r420411 - in head/devel/rbenv: . files

Pawel Pekala pawel at FreeBSD.org
Thu Aug 18 16:47:10 UTC 2016


Author: pawel
Date: Thu Aug 18 16:47:09 2016
New Revision: 420411
URL: https://svnweb.freebsd.org/changeset/ports/420411

Log:
  - Compile the realpath C extension to speed up rbenv across the board
  - The version of shobj-conf currently included in rbenv is a little old,
    and doesn't support FreeBSD 1x, include newer version. Upstreamed:
  
    https://github.com/rbenv/rbenv/pull/922
  
  PR:		211657
  Submitted by:	Jose Luis Duran
  Approved by:	Koichiro IWAO (maintainer)

Added:
  head/devel/rbenv/files/
  head/devel/rbenv/files/patch-src_configure   (contents, props changed)
  head/devel/rbenv/files/patch-src_shobj-conf   (contents, props changed)
Modified:
  head/devel/rbenv/Makefile
  head/devel/rbenv/pkg-plist

Modified: head/devel/rbenv/Makefile
==============================================================================
--- head/devel/rbenv/Makefile	Thu Aug 18 16:19:56 2016	(r420410)
+++ head/devel/rbenv/Makefile	Thu Aug 18 16:47:09 2016	(r420411)
@@ -3,7 +3,7 @@
 PORTNAME=	rbenv
 PORTVERSION=	1.0.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	devel ruby
 
 MAINTAINER=	meta+ports at vmeta.jp
@@ -25,6 +25,8 @@ post-patch:
 		${WRKSRC}/libexec/rbenv-init
 
 do-install:
+	CC="${CC}" ${WRKSRC}/src/${CONFIGURE_CMD}
+	${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC}/src
 	${INSTALL_SCRIPT} ${WRKSRC}/bin/ruby-local-exec ${STAGEDIR}${PREFIX}/bin
 	( ${INSTALL_SCRIPT} ${WRKSRC}/libexec/* ${STAGEDIR}${PREFIX}/libexec/ )
 	@${LN} -sf ../libexec/rbenv ${STAGEDIR}${PREFIX}/bin/rbenv

Added: head/devel/rbenv/files/patch-src_configure
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/rbenv/files/patch-src_configure	Thu Aug 18 16:47:09 2016	(r420411)
@@ -0,0 +1,12 @@
+--- src/configure.orig	2016-08-08 20:15:45 UTC
++++ src/configure
+@@ -21,6 +21,9 @@ case "$(uname -s)" in
+ Darwin* )
+   host_os="darwin$(uname -r)"
+   ;;
++FreeBSD* )
++  host_os="freebsd$(uname -r)"
++  ;;
+ OpenBSD* )
+   host_os="openbsd$(uname -r)"
+   ;;

Added: head/devel/rbenv/files/patch-src_shobj-conf
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/rbenv/files/patch-src_shobj-conf	Thu Aug 18 16:47:09 2016	(r420411)
@@ -0,0 +1,281 @@
+--- src/shobj-conf.orig	2015-12-24 18:12:47 UTC
++++ src/shobj-conf
+@@ -10,21 +10,23 @@
+ # Chet Ramey
+ # chet at po.cwru.edu
+ 
+-# Copyright (C) 1996-2002 Free Software Foundation, Inc.
++#   Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ #
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2, or (at your option)
+-# any later version.
++#   This file is part of GNU Bash, the Bourne Again SHell.
+ #
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-# GNU General Public License for more details.
++#   This program is free software: you can redistribute it and/or modify
++#   it under the terms of the GNU General Public License as published by
++#   the Free Software Foundation, either version 3 of the License, or
++#   (at your option) any later version.
++#
++#   This program is distributed in the hope that it will be useful,
++#   but WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#   GNU General Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License
++#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ #
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
+ 
+ #
+ # defaults
+@@ -62,7 +64,21 @@ while [ $# -gt 0 ]; do
+ 	esac
+ done
+ 
+-case "${host_os}-${SHOBJ_CC}" in
++case "${host_os}-${SHOBJ_CC}-${host_vendor}" in
++nsk-cc-tandem)
++	SHOBJ_CFLAGS=-Wglobalized
++	case `uname -m` in
++	NSR*)
++		SHOBJ_CFLAGS="${SHOBJ_CFLAGS} -Wcall_shared" # default on TNS/E, needed on TNS/R
++		SHOBJ_LD=/usr/bin/ld # for TNS/R
++		;;
++	NSE*|NEO*)
++		SHOBJ_LD=/usr/bin/eld
++		;;
++	esac
++	SHOBJ_LDFLAGS='-shared -bglobalized -unres_symbols ignore'
++	;;
++
+ sunos4*-*gcc*)
+ 	SHOBJ_CFLAGS=-fpic
+ 	SHOBJ_LD=/usr/bin/ld
+@@ -80,15 +96,17 @@ sunos4*)
+ 	;;
+ 
+ sunos5*-*gcc*|solaris2*-*gcc*)
+-	SHOBJ_CFLAGS=-fpic
+ 	SHOBJ_LD='${CC}'
+ 	ld_used=`gcc -print-prog-name=ld`
+ 	if ${ld_used} -V 2>&1 | grep GNU >/dev/null 2>&1; then
+ 		# This line works for the GNU ld
+ 		SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
++		# http://sourceware.org/ml/binutils/2001-08/msg00361.html
++		SHOBJ_CFLAGS=-fPIC
+ 	else
+ 		# This line works for the Solaris linker in /usr/ccs/bin/ld
+ 		SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
++		SHOBJ_CFLAGS=-fpic
+ 	fi
+ 
+ #	SHLIB_XLDFLAGS='-R $(libdir)'
+@@ -104,8 +122,8 @@ sunos5*|solaris2*)
+ 	SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+ 	;;
+ 
+-# All versions of Linux or the semi-mythical GNU Hurd.
+-linux*-*|gnu*-*|k*bsd*-gnu-*)
++# All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd.
++linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
+ 	SHOBJ_CFLAGS=-fPIC
+ 	SHOBJ_LD='${CC}'
+ 	SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+@@ -114,7 +132,7 @@ linux*-*|gnu*-*|k*bsd*-gnu-*)
+ 	SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
+ 	;;
+ 
+-freebsd2* | netbsd*)
++freebsd2*)
+ 	SHOBJ_CFLAGS=-fpic
+ 	SHOBJ_LD=ld
+ 	SHOBJ_LDFLAGS='-x -Bshareable'
+@@ -124,8 +142,8 @@ freebsd2* | netbsd*)
+ 	;;
+ 
+ # FreeBSD-3.x ELF
+-freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
+-	SHOBJ_CFLAGS=-fpic
++freebsd3*|freebsdaout*)
++	SHOBJ_CFLAGS=-fPIC
+ 	SHOBJ_LD='${CC}'
+ 
+ 	if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
+@@ -141,39 +159,20 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdao
+ 	fi
+ 	;;
+ 
+-# Darwin/MacOS X
+-darwin1*)
+-	SHOBJ_STATUS=supported
+-	SHLIB_STATUS=supported
+-	
+-	SHOBJ_CFLAGS=''
+-	SHLIB_LIBSUFF='dylib'
+-
++# FreeBSD-4.x and later have only ELF
++freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*|dragonfly*)
++	SHOBJ_CFLAGS=-fPIC
+ 	SHOBJ_LD='${CC}'
+-	SHOBJ_LDFLAGS='-dynamiclib'
+-	;;
+ 
+-darwin8*)
+-	SHOBJ_STATUS=supported
+-	SHLIB_STATUS=supported
+-	
+-	SHOBJ_CFLAGS='-fno-common'
+-
+-	SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}'
+-
+-	SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
+-	SHLIB_LIBSUFF='dylib'
+-
+-	SHOBJ_LDFLAGS='-undefined dynamic_lookup'
+-	SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
++	SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
++	SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
+ 
+-	SHLIB_LIBS='-lncurses'	# see if -lcurses works on MacOS X 10.1 
++	SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+ 	;;
+ 
+-darwin*|macosx*)
+-	SHOBJ_STATUS=unsupported
+-	SHLIB_STATUS=supported
+-
++# Darwin/MacOS X
++darwin*)
++	# Common definitions for all darwin/mac os x versions
+ 	SHOBJ_CFLAGS='-fno-common'
+ 
+ 	SHOBJ_LD='${CC}'
+@@ -181,19 +180,39 @@ darwin*|macosx*)
+ 	SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
+ 	SHLIB_LIBSUFF='dylib'
+ 
++	# unused at this time
++	SHLIB_SONAME='$(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF)'
++
+ 	case "${host_os}" in
+-	darwin[78]*)	SHOBJ_LDFLAGS=''
+-			SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
++	# Darwin versions 1, 5, 6, 7 correspond to Mac OS X 10.0, 10.1, 10.2,
++	# and 10.3, respectively.
++	darwin[1-7].*)
++		SHOBJ_STATUS=unsupported
++		SHOBJ_LDFLAGS='-dynamic'
++		SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
++		;;
++	# Darwin 8 == Mac OS X 10.4; Mac OS X 10.N == Darwin N+4
++	*)
++		case "${host_os}" in
++		darwin[89]*|darwin1[012]*)
++			SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`'
+ 			;;
+-	*)		SHOBJ_LDFLAGS='-dynamic'
+-			SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
++		 *) 	# Mac OS X 10.9 (Mavericks) and later
++			SHOBJ_ARCHFLAGS=
++			# for 32 and 64bit universal library
++			#SHOBJ_ARCHFLAGS='-arch i386 -arch x86_64'
++			#SHOBJ_CFLAGS=${SHOBJ_CFLAGS}' -arch i386 -arch x86_64'
+ 			;;
++		 esac
++		 SHOBJ_LDFLAGS="-dynamiclib -dynamic -undefined dynamic_lookup ${SHOBJ_ARCHFLAGS}"
++		 SHLIB_XLDFLAGS="-dynamiclib ${SHOBJ_ARCHFLAGS}"' -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
++		;;
+ 	esac
+ 
+ 	SHLIB_LIBS='-lncurses'	# see if -lcurses works on MacOS X 10.1 
+ 	;;
+ 
+-openbsd*)
++openbsd*|netbsd*|mirbsd*)
+ 	SHOBJ_CFLAGS=-fPIC
+ 	SHOBJ_LD='${CC}'
+ 	SHOBJ_LDFLAGS='-shared'
+@@ -258,7 +277,7 @@ osf*)
+ 	SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+ 	;;
+ 
+-aix4.[2-9]*-*gcc*)		# lightly tested by jik at cisco.com
++aix4.[2-9]*-*gcc*|aix[5-9].*-*gcc*)		# lightly tested by jik at cisco.com
+ 	SHOBJ_CFLAGS=-fpic
+ 	SHOBJ_LD='ld'
+ 	SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
+@@ -269,7 +288,7 @@ aix4.[2-9]*-*gcc*)		# lightly tested by 
+ 	SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+ 	;;
+ 
+-aix4.[2-9]*)
++aix4.[2-9]*|aix[5-9].*)
+ 	SHOBJ_CFLAGS=-K
+ 	SHOBJ_LD='ld'
+ 	SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
+@@ -340,7 +359,7 @@ hpux10*-*gcc*)
+ 	SHOBJ_LD='${CC}'
+ 	# if you have problems linking here, moving the `-Wl,+h,$@' from
+ 	# SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work
+-	SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
++	SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s'
+ 
+ 	SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
+ 	SHLIB_LIBSUFF='sl'
+@@ -500,20 +519,37 @@ msdos*)
+ 
+ cygwin*)
+ 	SHOBJ_LD='$(CC)'
+-        SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
+-        SHLIB_LIBPREF='cyg'
+-        SHLIB_LIBSUFF='dll'
+-        SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
+-        SHLIB_LIBS='$(TERMCAP_LIB)'
++	SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
++	SHLIB_LIBPREF='cyg'
++	SHLIB_LIBSUFF='dll'
++	SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
++	SHLIB_LIBS='$(TERMCAP_LIB)'
+ 
+ 	SHLIB_DOT=
+-        # For official cygwin releases, DLLVERSION will be defined in the
+-        # environment of configure, and will be incremented any time the API
+-        # changes in a non-backwards compatible manner.  Otherwise, it is just
+-        # SHLIB_MAJOR.
+-        if [ -n "$DLLVERSION" ] ; then
++	# For official cygwin releases, DLLVERSION will be defined in the
++	# environment of configure, and will be incremented any time the API
++	# changes in a non-backwards compatible manner.  Otherwise, it is just
++	# SHLIB_MAJOR.
++	if [ -n "$DLLVERSION" ] ; then
+ 		SHLIB_DLLVERSION="$DLLVERSION"
+-        fi
++	fi
++	;;
++
++mingw*)
++	SHOBJ_LD='$(CC)'
++	SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
++	SHLIB_LIBSUFF='dll'
++	SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
++	SHLIB_LIBS='$(TERMCAP_LIB)'
++
++	SHLIB_DOT=
++	# For official cygwin releases, DLLVERSION will be defined in the
++	# environment of configure, and will be incremented any time the API
++	# changes in a non-backwards compatible manner.  Otherwise, it is just
++	# SHLIB_MAJOR.
++	if [ -n "$DLLVERSION" ] ; then
++		SHLIB_DLLVERSION="$DLLVERSION"
++	fi
+ 	;;
+ 
+ #

Modified: head/devel/rbenv/pkg-plist
==============================================================================
--- head/devel/rbenv/pkg-plist	Thu Aug 18 16:19:56 2016	(r420410)
+++ head/devel/rbenv/pkg-plist	Thu Aug 18 16:47:09 2016	(r420411)
@@ -13,6 +13,7 @@ libexec/rbenv-hooks
 libexec/rbenv-init
 libexec/rbenv-local
 libexec/rbenv-prefix
+libexec/rbenv-realpath.dylib
 libexec/rbenv-rehash
 libexec/rbenv-root
 libexec/rbenv-sh-rehash


More information about the svn-ports-head mailing list