summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortaca <taca>2017-06-18 13:44:38 +0000
committertaca <taca>2017-06-18 13:44:38 +0000
commit2ee18e9b50a56dc3c15af1a6259bd779dd4deeb4 (patch)
tree054b4a30cf3de8cc9a1fa3c2e975fb8a269329e5 /lang
parentd98628ab8b8bb5c0db7e0d7c5d3595458401e24e (diff)
downloadpkgsrc-2ee18e9b50a56dc3c15af1a6259bd779dd4deeb4.tar.gz
Add support for Ruby 2.4 with several clean up.
Diffstat (limited to 'lang')
-rw-r--r--lang/ruby/rubyversion.mk110
1 files changed, 73 insertions, 37 deletions
diff --git a/lang/ruby/rubyversion.mk b/lang/ruby/rubyversion.mk
index 91056c11fc3..20b2838eee9 100644
--- a/lang/ruby/rubyversion.mk
+++ b/lang/ruby/rubyversion.mk
@@ -1,4 +1,4 @@
-# $NetBSD: rubyversion.mk,v 1.178 2017/06/01 13:30:25 jlam Exp $
+# $NetBSD: rubyversion.mk,v 1.179 2017/06/18 13:44:38 taca Exp $
#
# This file determines which Ruby version is used as a dependency for
@@ -10,7 +10,7 @@
# RUBY_VERSION_DEFAULT
# The preferered Ruby version to use.
#
-# Possible values: 21 22 23
+# Possible values: 21 22 23 24
# Default: 23
#
# RUBY_BUILD_RDOC
@@ -41,8 +41,8 @@
# RUBY_VERSIONS_ACCEPTED
# The Ruby versions that are acceptable for the package.
#
-# Possible values: 21 22 23
-# Default: 23 22 21
+# Possible values: 21 22 23 24
+# Default: 23 22 21 24
#
# RUBY_NOVERSION
# If "Yes", the package dosen't depend on any version of Ruby, such
@@ -78,7 +78,7 @@
# use RUBY_PKGPREFIX with ruby related packages since you can supply
# different binary packages as each version of Ruby.
#
-# Example values: ruby21 ruby22 ruby23
+# Example values: ruby21 ruby22 ruby23 ruby24
#
# RUBY_ABI_VERSION
# Ruby's ABI version.
@@ -92,9 +92,6 @@
# RUBY
# Full path of ruby command.
#
-# RAKE
-# Full path of rake command.
-#
# RDOC
# Full path of rdoc command.
#
@@ -110,7 +107,7 @@
# RUBY_SUFFIX
# Extra string for each ruby commands; ruby, irb and so on.
#
-# Possible values: 21 22 23
+# Possible values: 21 22 23 24
#
# RUBY_VERSION
# Version of Ruby's version.
@@ -220,19 +217,21 @@ RUBY_VERSION_REQD?= ${PKGNAME_REQD:C/ruby([0-9][0-9])-.*/\1/}
RUBY21_VERSION= 2.1.10
RUBY22_VERSION= 2.2.7
RUBY23_VERSION= 2.3.4
+RUBY24_VERSION= 2.4.1
# current API compatible version; used for version of shared library
RUBY21_API_VERSION= 2.1.0
RUBY22_API_VERSION= 2.2.0
RUBY23_API_VERSION= 2.3.0
+RUBY24_API_VERSION= 2.4.0
#
RUBY_VERSION_DEFAULT?= 23
# supported Ruby's version
-RUBY_VERSIONS_SUPPORTED= 23 22 21
+RUBY_VERSIONS_SUPPORTED= 23 22 21 24
-RUBY_VERSIONS_ACCEPTED?= 23 22 21
+RUBY_VERSIONS_ACCEPTED?= 23 22 21 24
RUBY_VERSIONS_INCOMPATIBLE?=
.if empty(RUBY_VERSIONS_SUPPORTED:M${RUBY_VERSION_DEFAULT})
@@ -326,6 +325,28 @@ RUBY_TEST_UNIT_VERSION= 3.1.5
RUBY_SUFFIX= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}
+.elif ${RUBY_VER} == "24"
+RUBY_VERSION= ${RUBY24_VERSION}
+RUBY_ABI_VERSION= ${RUBY_VERSION}
+
+RUBY_GEMS_VERSION= 2.6.11
+RUBY_RDOC_VERSION= 5.0.0
+RUBY_RAKE_VERSION= 12.0.0
+RUBY_JSON_VERSION= 2.0.2
+
+RUBY_BIGDECIMAL_VERSION= 1.3.0
+RUBY_IO_CONSOLE_VERSION= 0.4.6
+RUBY_OPENSSL_VERSION= 2.0.3
+RUBY_PSYCH_VERSION= 2.2.2
+RUBY_DID_YOU_MEAN_VERSION= 1.1.0
+RUBY_MINITEST_VERSION= 5.10.1
+RUBY_NET_TELNET_VERSION= 0.1.1
+RUBY_POWER_ASSERT_VERSION= 0.4.1
+RUBY_TEST_UNIT_VERSION= 3.2.3
+RUBY_XML_RPC_VERSION= 0.2.1
+
+RUBY_SUFFIX= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}
+
.else
PKG_FAIL_REASON+= "Unknown Ruby version specified: ${RUBY_VER}."
.endif
@@ -355,9 +376,6 @@ RUBY_NOVERSION?= No
_RUBY_VER_MAJOR= ${RUBY_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1/}
_RUBY_VER_MINOR= ${RUBY_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\2/}
-_RUBY_API_MAJOR= ${RUBY_API_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1\2/}
-_RUBY_API_MINOR= ${RUBY_API_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\3/}
-
RUBY_NAME= ruby${RUBY_SUFFIX}
RUBYGEM_NAME= gem${RUBY_SUFFIX}
RAKE_NAME= rake${RUBY_SUFFIX}
@@ -387,35 +405,43 @@ RUBY_MAJOR_MINOR= ${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}
#
# Ruby shared and static library version handling.
#
+.if ${RUBY_VER} != "24"
RUBY_SHLIBVER?= ${RUBY_API_VERSION}
+.else
+RUBY_SHLIBVER?= ${RUBY_VERSION}
+.endif
+
+_RUBY_SHLIB_MAJOR:= ${RUBY_SHLIBVER:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1\2/}
+_RUBY_SHLIB_MINOR:= ${RUBY_SHLIBVER:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\3/}
+
RUBY_SHLIB?= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${RUBY_SHLIBVER}
RUBY_SHLIBALIAS?= @comment
RUBY_STATICLIB?= ${RUBY_SUFFIX}-static.a
.if ${OPSYS} == "NetBSD" || ${OPSYS} == "Interix"
-RUBY_SHLIBVER= ${_RUBY_API_MAJOR}.${_RUBY_API_MINOR}
-_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_API_MAJOR}
+RUBY_SHLIBVER= ${_RUBY_SHLIB_MAJOR}.${_RUBY_SHLIB_MINOR}
+_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_SHLIB_MAJOR}
.elif ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
-RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}${_RUBY_API_MINOR}
+RUBY_SHLIBVER= ${_RUBY_SHLIB_MAJOR}${_RUBY_SHLIB_MINOR}
.elif ${OPSYS} == "OpenBSD" || ${OPSYS} == "MirBSD"
.if ${_RUBY_VER_MINOR} == 0
-RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}.${_RUBY_API_MINOR}
+RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}.${_RUBY_SHLIB_MINOR}
.else
-RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}${_RUBY_API_MINOR}
+RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}${_RUBY_SHLIB_MINOR}
.endif
.elif ${OPSYS} == "Darwin"
RUBY_SHLIB= ${RUBY_SUFFIX}.${RUBY_SHLIBVER}.${RUBY_SLEXT}
_RUBY_SHLIBALIAS= .${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}.${RUBY_SLEXT}
-RUBY_STATICLIB= ${RUBY_SUFFIX}.${RUBY_API_VERSION}-static.a
+RUBY_STATICLIB= ${RUBY_SUFFIX}.${RUBY_SHLIB_VERSION}-static.a
.elif ${OPSYS} == "Linux"
_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}
.elif ${OPSYS} == "SunOS"
RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}
-_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}.${_RUBY_API_MINOR}
+_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}.${_RUBY_SHLIB_MINOR}
.elif ${OPSYS} == "Cygwin"
-RUBY_SHLIB= ${RUBY_SUFFIX}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}.dll.a
-RUBY_SHLIBALIAS= bin/cygruby${RUBY_SUFFIX}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}.dll
-RUBY_STATICLIB= ${RUBY_SUFFIX}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}-static.a
+RUBY_SHLIB= ${RUBY_SUFFIX}${_RUBY_SHLIB_MAJOR}${_RUBY_SHLIB_MINOR}.dll.a
+RUBY_SHLIBALIAS= bin/cygruby${RUBY_SUFFIX}${_RUBY_SHLIB_MAJOR}${_RUBY_SHLIB_MINOR}.dll
+RUBY_STATICLIB= ${RUBY_SUFFIX}${_RUBY_SHLIB_MAJOR}${_RUBY_SHLIB_MINOR}-static.a
.endif
.if !empty(_RUBY_SHLIBALIAS)
@@ -521,19 +547,29 @@ MESSAGE_SUBST+= RUBY="${RUBY}" RUBY_VER="${RUBY_VER}" \
RUBY_SUFFIX=${RUBY_SUFFIX} \
${PLIST_RUBY_DIRS:S,DIR="${PREFIX}/,DIR=",}
-PLIST_SUBST+= RUBY=${RUBY:Q} RUBY_VER=${RUBY_VER:Q} \
- RUBY_PKGPREFIX=${RUBY_PKGPREFIX} \
- RUBY_SUFFIX=${RUBY_SUFFIX} \
- RUBY_VERSION=${RUBY_VERSION:Q} \
- RUBY_VER_DIR=${RUBY_VER_DIR:Q} \
- RUBY_DLEXT=${RUBY_DLEXT:Q} RUBY_SLEXT=${RUBY_SLEXT:Q} \
- RUBY_SHLIB=${RUBY_SHLIB:Q} \
- RUBY_SHLIBALIAS=${RUBY_SHLIBALIAS:Q} \
- RUBY_STATICLIB=${RUBY_STATICLIB:Q} \
- RUBY_API_VERSION=${RUBY_API_VERSION:Q} \
- RUBY_ARCH=${RUBY_ARCH:Q} \
- ${PLIST_RUBY_DIRS:S,DIR="${PREFIX}/,DIR=",} \
- RUBY_MAJOR_MINOR=${RUBY_MAJOR_MINOR}
+PLIST_SUBST+= \
+ RUBY=${RUBY:Q} RUBY_VER=${RUBY_VER:Q} \
+ RUBY_PKGPREFIX=${RUBY_PKGPREFIX} RUBY_SUFFIX=${RUBY_SUFFIX} \
+ RUBY_VERSION=${RUBY_VERSION:Q} RUBY_VER_DIR=${RUBY_VER_DIR:Q} \
+ RUBY_DLEXT=${RUBY_DLEXT} RUBY_SLEXT=${RUBY_SLEXT} \
+ RUBY_SHLIB=${RUBY_SHLIB:Q} RUBY_SHLIBALIAS=${RUBY_SHLIBALIAS:Q} \
+ RUBY_STATICLIB=${RUBY_STATICLIB:Q} \
+ RUBY_SHLIBI_VERSION=${RUBY_SHLIB_VERSION:Q} RUBY_ARCH=${RUBY_ARCH:Q} \
+ ${PLIST_RUBY_DIRS:S,DIR="${PREFIX}/,DIR=",} \
+ RUBY_MAJOR_MINOR=${RUBY_MAJOR_MINOR} \
+ RUBY_RAKE_VERSION=${RUBY_RAKE_VERSION} \
+ RUBY_RDOC_VERSION=${RUBY_RDOC_VERSION} \
+ RUBY_JSON_VERSION=${RUBY_JSON_VERSION} \
+ RUBY_BIGDECIMAL_VERSION=${RUBY_BIGDECIMAL_VERSION} \
+ RUBY_IO_CONSOLE_VERSION=${RUBY_IO_CONSOLE_VERSION} \
+ RUBY_OPENSSL_VERSION=${RUBY_OPENSSL_VERSION} \
+ RUBY_PSYCH_VERSION=${RUBY_PSYCH_VERSION} \
+ RUBY_DID_YOU_MEAN_VERSION=${RUBY_DID_YOU_MEAN_VERSION} \
+ RUBY_MINITEST_VERSION=${RUBY_MINITEST_VERSION} \
+ RUBY_NET_TELNET_VERSION=${RUBY_NET_TELNET_VERSION} \
+ RUBY_POWER_ASSERT_VERSION=${RUBY_POWER_ASSERT_VERSION} \
+ RUBY_TEST_UNIT_VERSION=${RUBY_TEST_UNIT_VERSION} \
+ RUBY_XML_RPC_VERSION=${RUBY_XML_RPC_VERSION}
#
# make dynamic PLIST