Mon Jul 6 01:15:22 2015 UTC ()
Add RUBY_API_VERSION to PLIST_SUBST.


(rodent)
diff -r1.143 -r1.144 pkgsrc/lang/ruby/rubyversion.mk

cvs diff -r1.143 -r1.144 pkgsrc/lang/ruby/rubyversion.mk (switch to unified diff)

--- pkgsrc/lang/ruby/rubyversion.mk 2015/06/23 14:07:36 1.143
+++ pkgsrc/lang/ruby/rubyversion.mk 2015/07/06 01:15:22 1.144
@@ -1,683 +1,684 @@ @@ -1,683 +1,684 @@
1# $NetBSD: rubyversion.mk,v 1.143 2015/06/23 14:07:36 taca Exp $ 1# $NetBSD: rubyversion.mk,v 1.144 2015/07/06 01:15:22 rodent Exp $
2# 2#
3 3
4# This file determines which Ruby version is used as a dependency for 4# This file determines which Ruby version is used as a dependency for
5# a package. 5# a package.
6# 6#
7# 7#
8# === User-settable variables === 8# === User-settable variables ===
9# 9#
10# RUBY_VERSION_DEFAULT 10# RUBY_VERSION_DEFAULT
11# The preferered Ruby version to use. 11# The preferered Ruby version to use.
12# 12#
13# Possible values: 18 193 200 21 13# Possible values: 18 193 200 21
14# Default: 200 14# Default: 200
15# 15#
16# RUBY_BUILD_RDOC 16# RUBY_BUILD_RDOC
17# Build rdoc of this package and so that install formated 17# Build rdoc of this package and so that install formated
18# documentation. It is also used in each package. 18# documentation. It is also used in each package.
19# 19#
20# Possible values: Yes No 20# Possible values: Yes No
21# Default: Yes 21# Default: Yes
22# 22#
23# RUBY_BUILD_RI 23# RUBY_BUILD_RI
24# Build ri format of this package so that ri command would be 24# Build ri format of this package so that ri command would be
25# display class/module definitions. It is also used in each package. 25# display class/module definitions. It is also used in each package.
26# 26#
27# Possible values: Yes No 27# Possible values: Yes No
28# Default: Yes 28# Default: Yes
29# 29#
30# === Infrastructure variables === 30# === Infrastructure variables ===
31# 31#
32# RUBY_VERSION_REQD 32# RUBY_VERSION_REQD
33# Ruby version to use. This variable should not be set in 33# Ruby version to use. This variable should not be set in
34# packages. Normally it is used by bulk build tools. 34# packages. Normally it is used by bulk build tools.
35# 35#
36# Possible values: ${RUBY_VERSION_SUPPORTED} 36# Possible values: ${RUBY_VERSION_SUPPORTED}
37# Default: ${RUBY_VERSION_DEFAULT} 37# Default: ${RUBY_VERSION_DEFAULT}
38# 38#
39# === Package-settable variables === 39# === Package-settable variables ===
40# 40#
41# RUBY_VERSION_SUPPORTED 41# RUBY_VERSION_SUPPORTED
42# The Ruby versions that are acceptable for the package. 42# The Ruby versions that are acceptable for the package.
43# 43#
44# Possible values: 18 193 200 21 22 44# Possible values: 18 193 200 21 22
45# Default: 200 193 21 45# Default: 200 193 21
46# 46#
47# RUBY_NOVERSION 47# RUBY_NOVERSION
48# If "Yes", the package dosen't depend on any version of Ruby, such 48# If "Yes", the package dosen't depend on any version of Ruby, such
49# as editing mode for emacs. In this case, package's name would begin 49# as editing mode for emacs. In this case, package's name would begin
50# with "ruby-". Otherwise, the package's name is begin with 50# with "ruby-". Otherwise, the package's name is begin with
51# ${RUBY_PKGPREFIX}. 51# ${RUBY_PKGPREFIX}.
52# 52#
53# Possible values: Yes No 53# Possible values: Yes No
54# Default: No 54# Default: No
55# 55#
56# RUBY_DYNAMIC_DIRS 56# RUBY_DYNAMIC_DIRS
57# Build dynamic PLIST from directories. 57# Build dynamic PLIST from directories.
58# 58#
59# Default: (empty) 59# Default: (empty)
60# 60#
61# RUBY_ENCODING_ARG 61# RUBY_ENCODING_ARG
62# 62#
63# Optional encoding argument for shbang line. 63# Optional encoding argument for shbang line.
64# 64#
65# Default: (empty) 65# Default: (empty)
66# 66#
67# === Defined variables === 67# === Defined variables ===
68# 68#
69# RUBY_VER 69# RUBY_VER
70# Really selected version of ruby. 70# Really selected version of ruby.
71# 71#
72# Possible values: 18 193 200 21 72# Possible values: 18 193 200 21
73# 73#
74# Use this variable in pkgsrc's Makefile 74# Use this variable in pkgsrc's Makefile
75# 75#
76# RUBY_PKGPREFIX 76# RUBY_PKGPREFIX
77# Prefix part for ruby based packages. It is recommended that to 77# Prefix part for ruby based packages. It is recommended that to
78# use RUBY_PKGPREFIX with ruby related packages since you can supply 78# use RUBY_PKGPREFIX with ruby related packages since you can supply
79# different binary packages as each version of Ruby. 79# different binary packages as each version of Ruby.
80# The value of RUBY_PKGPREFIX is "ruby-" and concatination of Ruby's 80# The value of RUBY_PKGPREFIX is "ruby-" and concatination of Ruby's
81# major, minor and teeny version unless RUBY_VER is "18". 81# major, minor and teeny version unless RUBY_VER is "18".
82# 82#
83# Example values: ruby18 ruby193 ruby200 ruby212 83# Example values: ruby18 ruby193 ruby200 ruby212
84# 84#
85# RUBY_ABI_VERSION 85# RUBY_ABI_VERSION
86# Ruby's ABI version. 86# Ruby's ABI version.
87# 87#
88# RUBY_DLEXT 88# RUBY_DLEXT
89# Suffix of extention library. 89# Suffix of extention library.
90# 90#
91# RUBY_SLEXT 91# RUBY_SLEXT
92# Suffix of shared library. 92# Suffix of shared library.
93# 93#
94# RUBY 94# RUBY
95# Full path of ruby command. 95# Full path of ruby command.
96# 96#
97# RDOC 97# RDOC
98# Full path of rdoc command. 98# Full path of rdoc command.
99# 99#
100# RUBY_NAME 100# RUBY_NAME
101# Name of ruby command. 101# Name of ruby command.
102# 102#
103# RUBYGEM_NAME 103# RUBYGEM_NAME
104# Name of gem command. 104# Name of gem command.
105# 105#
106# RAKE_NAME 106# RAKE_NAME
107# Name of rake command. 107# Name of rake command.
108# 108#
109# RUBY_SUFFIX 109# RUBY_SUFFIX
110# Extra string for each ruby commands; ruby, irb and so on. 110# Extra string for each ruby commands; ruby, irb and so on.
111# The value of RUBY_SUFFIX is concatination of Ruby's major, minor 111# The value of RUBY_SUFFIX is concatination of Ruby's major, minor
112# and teeny version unless RUBY_VER is "18". 112# and teeny version unless RUBY_VER is "18".
113# 113#
114# Possible values: 18 193 200 212 114# Possible values: 18 193 200 212
115# 115#
116# RUBY_VERSION 116# RUBY_VERSION
117# Version of real Ruby's version excluding patchlevel. 117# Version of real Ruby's version excluding patchlevel.
118# 118#
119# RUBY_VERSION_FULL 119# RUBY_VERSION_FULL
120# Version of Ruby including patchlevel. 120# Version of Ruby including patchlevel.
121# 121#
122# RUBY_GEMS_PKGSRC_VERS 122# RUBY_GEMS_PKGSRC_VERS
123# Version of rubygems provided by misc/rubygems. 123# Version of rubygems provided by misc/rubygems.
124# 124#
125# RUBY_RDOC_PKGSRC_VERS 125# RUBY_RDOC_PKGSRC_VERS
126# Version of rdoc provided by devel/rdoc. 126# Version of rdoc provided by devel/rdoc.
127# 127#
128# RUBY_BASE 128# RUBY_BASE
129# Name of ruby base package's name. 129# Name of ruby base package's name.
130# 130#
131# RUBY_SRCDIR 131# RUBY_SRCDIR
132# Relative path to directory of base ruby package. 132# Relative path to directory of base ruby package.
133# 133#
134# RUBY_SHLIBVER 134# RUBY_SHLIBVER
135# Suffix of libruby shared library's version. 135# Suffix of libruby shared library's version.
136# 136#
137# RUBY_SHLIB 137# RUBY_SHLIB
138# String after libruby shared library. 138# String after libruby shared library.
139# 139#
140# RUBY_SHLIBALIAS 140# RUBY_SHLIBALIAS
141# Symblic link with libruby shared library with major version only. 141# Symblic link with libruby shared library with major version only.
142# 142#
143# RUBY_STATICLIB 143# RUBY_STATICLIB
144# Name of libruby static library. 144# Name of libruby static library.
145# 145#
146# RUBY_VER_DIR 146# RUBY_VER_DIR
147# Name of version directory under each library (and more) directories. 147# Name of version directory under each library (and more) directories.
148# 148#
149# RUBY_ARCH 149# RUBY_ARCH
150# Name of architecture-dependent directory name. 150# Name of architecture-dependent directory name.
151# 151#
152# RUBY_INC 152# RUBY_INC
153# machine independent include directory of ruby. 153# machine independent include directory of ruby.
154# 154#
155# RUBY_ARCHINC 155# RUBY_ARCHINC
156# machine dependent include directory of ruby. 156# machine dependent include directory of ruby.
157# 157#
158# RUBY_LIB_BASE 158# RUBY_LIB_BASE
159# common relative path of ruby's library. 159# common relative path of ruby's library.
160# 160#
161# RUBY_LIB 161# RUBY_LIB
162# version specific relative path of ruby's library. 162# version specific relative path of ruby's library.
163# 163#
164# RUBY_ARCHLIB 164# RUBY_ARCHLIB
165# version specific and machine dependent relative path of ruby's library. 165# version specific and machine dependent relative path of ruby's library.
166# 166#
167# RUBY_SITELIB_BASE 167# RUBY_SITELIB_BASE
168# common site local directory. 168# common site local directory.
169# 169#
170# RUBY_SITELIB 170# RUBY_SITELIB
171# version specific site local directory. 171# version specific site local directory.
172# 172#
173# RUBY_SITEARCHLIB 173# RUBY_SITEARCHLIB
174# version specific and machine dependent site local directory. 174# version specific and machine dependent site local directory.
175# 175#
176# RUBY_VENDORLIB_BASE 176# RUBY_VENDORLIB_BASE
177# common vendor (pkgsrc) directory. 177# common vendor (pkgsrc) directory.
178# 178#
179# RUBY_VENDORLIB 179# RUBY_VENDORLIB
180# version specific vendor local directory. 180# version specific vendor local directory.
181# 181#
182# RUBY_VENDORARCHLIB 182# RUBY_VENDORARCHLIB
183# version specific and machine dependent vendor local directory. 183# version specific and machine dependent vendor local directory.
184# 184#
185# RUBY_DOC 185# RUBY_DOC
186# version specific document direcotry. 186# version specific document direcotry.
187# 187#
188# RUBY_EG 188# RUBY_EG
189# version specific examples direcotry. 189# version specific examples direcotry.
190# 190#
191# RUBY_GEM_BASE 191# RUBY_GEM_BASE
192# common GEM directory. 192# common GEM directory.
193# 193#
194# GEM_HOME 194# GEM_HOME
195# version specific GEM directory. 195# version specific GEM directory.
196# 196#
197# RUBY_RIDIR 197# RUBY_RIDIR
198# common ri directory. 198# common ri directory.
199# 199#
200# RUBY_BASERIDIR 200# RUBY_BASERIDIR
201# version specific ri directory. 201# version specific ri directory.
202# 202#
203# RUBY_SYSRIDIR 203# RUBY_SYSRIDIR
204# version specific system ri directory. 204# version specific system ri directory.
205# 205#
206# RUBY_SITERIDIR 206# RUBY_SITERIDIR
207# version specific site ri directory. 207# version specific site ri directory.
208# 208#
209# Keywords: ruby 209# Keywords: ruby
210# 210#
211 211
212.if !defined(_RUBYVERSION_MK) 212.if !defined(_RUBYVERSION_MK)
213_RUBYVERSION_MK= # defined 213_RUBYVERSION_MK= # defined
214 214
215.include "../../mk/bsd.prefs.mk" 215.include "../../mk/bsd.prefs.mk"
216 216
217.if defined(PKGNAME_REQD) 217.if defined(PKGNAME_REQD)
218. if !empty(PKGNAME_REQD:Mruby[0-9][0-9][0-9]-*) || !empty(PKGNAME_REQD:Mruby[0-9][0-9]-*) 218. if !empty(PKGNAME_REQD:Mruby[0-9][0-9][0-9]-*) || !empty(PKGNAME_REQD:Mruby[0-9][0-9]-*)
219_RUBY_VERSION_REQD:= ${PKGNAME_REQD:C/ruby([0-9][0-9]+)-.*/\1/} 219_RUBY_VERSION_REQD:= ${PKGNAME_REQD:C/ruby([0-9][0-9]+)-.*/\1/}
220. if ${_RUBY_VERSION_REQD} == "18" || ${_RUBY_VERSION_REQD} == "193" 220. if ${_RUBY_VERSION_REQD} == "18" || ${_RUBY_VERSION_REQD} == "193"
221RUBY_VERSION_REQD?= ${PKGNAME_REQD:C/ruby([0-9][0-9])[0-9]-.*/\1/} 221RUBY_VERSION_REQD?= ${PKGNAME_REQD:C/ruby([0-9][0-9])[0-9]-.*/\1/}
222. else 222. else
223RUBY_VERSION_REQD?= ${PKGNAME_REQD:C/ruby([0-9][0-9]+)-.*/\1/} 223RUBY_VERSION_REQD?= ${PKGNAME_REQD:C/ruby([0-9][0-9]+)-.*/\1/}
224. endif 224. endif
225. endif 225. endif
226.endif 226.endif
227 227
228# current supported Ruby's version 228# current supported Ruby's version
229RUBY18_VERSION= 1.8.7 229RUBY18_VERSION= 1.8.7
230RUBY193_VERSION= 1.9.3 230RUBY193_VERSION= 1.9.3
231RUBY200_VERSION= 2.0.0 231RUBY200_VERSION= 2.0.0
232RUBY21_VERSION= 2.1.6 232RUBY21_VERSION= 2.1.6
233RUBY22_VERSION= 2.2.2 233RUBY22_VERSION= 2.2.2
234 234
235# patch 235# patch
236RUBY18_PATCHLEVEL= pl374 236RUBY18_PATCHLEVEL= pl374
237RUBY193_PATCHLEVEL= p551 237RUBY193_PATCHLEVEL= p551
238RUBY200_PATCHLEVEL= p645 238RUBY200_PATCHLEVEL= p645
239#RUBY21_PATCHLEVEL= p336 239#RUBY21_PATCHLEVEL= p336
240#RUBY22_PATCHLEVEL= p95 240#RUBY22_PATCHLEVEL= p95
241 241
242# current API compatible version; used for version of shared library 242# current API compatible version; used for version of shared library
243RUBY18_API_VERSION= 1.8.7 243RUBY18_API_VERSION= 1.8.7
244RUBY193_API_VERSION= 1.9.1 244RUBY193_API_VERSION= 1.9.1
245RUBY200_API_VERSION= 2.0.0 245RUBY200_API_VERSION= 2.0.0
246RUBY21_API_VERSION= 2.1.0 246RUBY21_API_VERSION= 2.1.0
247RUBY22_API_VERSION= 2.2.0 247RUBY22_API_VERSION= 2.2.0
248 248
249# pkgsrc's rubygems's version 249# pkgsrc's rubygems's version
250RUBY_GEMS_PKGSRC_VERS= 2.4.8 250RUBY_GEMS_PKGSRC_VERS= 2.4.8
251 251
252# pkgsrc's rdoc's version 252# pkgsrc's rdoc's version
253RUBY_RDOC_PKGSRC_VERS= 4.2.0 253RUBY_RDOC_PKGSRC_VERS= 4.2.0
254 254
255# 255#
256RUBY_VERSION_DEFAULT?= 200 256RUBY_VERSION_DEFAULT?= 200
257 257
258RUBY_VERSION_SUPPORTED?= 200 193 21 22 258RUBY_VERSION_SUPPORTED?= 200 193 21 22
259 259
260.if defined(RUBY_VERSION_REQD) 260.if defined(RUBY_VERSION_REQD)
261. for rv in ${RUBY_VERSION_SUPPORTED} 261. for rv in ${RUBY_VERSION_SUPPORTED}
262. if "${rv}" == ${RUBY_VERSION_REQD} 262. if "${rv}" == ${RUBY_VERSION_REQD}
263RUBY_VER= ${rv} 263RUBY_VER= ${rv}
264. endif 264. endif
265. endfor 265. endfor
266.elif !defined(RUBY_VER) 266.elif !defined(RUBY_VER)
267. for rv in ${RUBY_VERSION_SUPPORTED} 267. for rv in ${RUBY_VERSION_SUPPORTED}
268. if "${rv}" == ${RUBY_VERSION_DEFAULT} 268. if "${rv}" == ${RUBY_VERSION_DEFAULT}
269RUBY_VER= ${rv} 269RUBY_VER= ${rv}
270. endif 270. endif
271. endfor 271. endfor
272.endif 272.endif
273 273
274.if !defined(RUBY_VER) 274.if !defined(RUBY_VER)
275. for rv in ${RUBY_VERSION_SUPPORTED} 275. for rv in ${RUBY_VERSION_SUPPORTED}
276. if !defined(RUBY_VER) 276. if !defined(RUBY_VER)
277RUBY_VER= ${rv} 277RUBY_VER= ${rv}
278. endif 278. endif
279. endfor 279. endfor
280.endif 280.endif
281 281
282RUBY_VER:= ${RUBY_VER_MAP.${RUBY_VER}:U${RUBY_VER}} 282RUBY_VER:= ${RUBY_VER_MAP.${RUBY_VER}:U${RUBY_VER}}
283 283
284RUBY_SUFFIX?= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}${_RUBY_VER_TEENY} 284RUBY_SUFFIX?= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}${_RUBY_VER_TEENY}
285 285
286.if ${RUBY_VER} == "18" 286.if ${RUBY_VER} == "18"
287RUBY_VERSION= ${RUBY18_VERSION} 287RUBY_VERSION= ${RUBY18_VERSION}
288RUBY_VERSION_FULL= ${RUBY_VERSION}${RUBY_PATCHLEVEL:S/pl/./} 288RUBY_VERSION_FULL= ${RUBY_VERSION}${RUBY_PATCHLEVEL:S/pl/./}
289RUBY_ABI_VERSION= ${RUBY18_API_VERSION} 289RUBY_ABI_VERSION= ${RUBY18_API_VERSION}
290 290
291RUBY_RDOC_VERSION= 1.0.1 291RUBY_RDOC_VERSION= 1.0.1
292 292
293RUBY_SUFFIX= ${RUBY_VER} 293RUBY_SUFFIX= ${RUBY_VER}
294 294
295.elif ${RUBY_VER} == "193" 295.elif ${RUBY_VER} == "193"
296RUBY_VERSION= ${RUBY193_VERSION} 296RUBY_VERSION= ${RUBY193_VERSION}
297RUBY_VERSION_FULL= ${RUBY_VERSION}${RUBY_PATCHLEVEL} 297RUBY_VERSION_FULL= ${RUBY_VERSION}${RUBY_PATCHLEVEL}
298RUBY_ABI_VERSION= ${RUBY_VERSION} 298RUBY_ABI_VERSION= ${RUBY_VERSION}
299 299
300RUBY_GEMS_VERSION= 1.8.23 300RUBY_GEMS_VERSION= 1.8.23
301RUBY_RDOC_VERSION= 3.9.4 301RUBY_RDOC_VERSION= 3.9.4
302RUBY_RAKE_VERSION= 0.9.2.2 302RUBY_RAKE_VERSION= 0.9.2.2
303RUBY_JSON_VERSION= 1.5.5 303RUBY_JSON_VERSION= 1.5.5
304 304
305.elif ${RUBY_VER} == "200" 305.elif ${RUBY_VER} == "200"
306RUBY_VERSION= ${RUBY200_VERSION} 306RUBY_VERSION= ${RUBY200_VERSION}
307RUBY_VERSION_FULL= ${RUBY_VERSION}${RUBY_PATCHLEVEL} 307RUBY_VERSION_FULL= ${RUBY_VERSION}${RUBY_PATCHLEVEL}
308RUBY_ABI_VERSION= ${RUBY_VERSION} 308RUBY_ABI_VERSION= ${RUBY_VERSION}
309 309
310RUBY_GEMS_VERSION= 2.0.3 310RUBY_GEMS_VERSION= 2.0.3
311RUBY_RDOC_VERSION= 4.1.0 311RUBY_RDOC_VERSION= 4.1.0
312RUBY_RAKE_VERSION= 0.9.6 312RUBY_RAKE_VERSION= 0.9.6
313RUBY_JSON_VERSION= 1.7.7 313RUBY_JSON_VERSION= 1.7.7
314 314
315.elif ${RUBY_VER} == "21" 315.elif ${RUBY_VER} == "21"
316RUBY_VERSION= ${RUBY21_VERSION} 316RUBY_VERSION= ${RUBY21_VERSION}
317RUBY_VERSION_FULL= ${RUBY_VERSION} 317RUBY_VERSION_FULL= ${RUBY_VERSION}
318RUBY_ABI_VERSION= ${RUBY_VERSION} 318RUBY_ABI_VERSION= ${RUBY_VERSION}
319 319
320RUBY_GEMS_VERSION= 2.2.2 320RUBY_GEMS_VERSION= 2.2.2
321RUBY_RDOC_VERSION= 4.1.0 321RUBY_RDOC_VERSION= 4.1.0
322RUBY_RAKE_VERSION= 10.1.0 322RUBY_RAKE_VERSION= 10.1.0
323RUBY_JSON_VERSION= 1.8.1 323RUBY_JSON_VERSION= 1.8.1
324 324
325RUBY_SUFFIX= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR} 325RUBY_SUFFIX= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}
326 326
327.elif ${RUBY_VER} == "22" 327.elif ${RUBY_VER} == "22"
328RUBY_VERSION= ${RUBY22_VERSION} 328RUBY_VERSION= ${RUBY22_VERSION}
329RUBY_VERSION_FULL= ${RUBY_VERSION} 329RUBY_VERSION_FULL= ${RUBY_VERSION}
330RUBY_ABI_VERSION= ${RUBY_VERSION} 330RUBY_ABI_VERSION= ${RUBY_VERSION}
331 331
332RUBY_GEMS_VERSION= 2.4.5 332RUBY_GEMS_VERSION= 2.4.5
333RUBY_RDOC_VERSION= 4.2.0 333RUBY_RDOC_VERSION= 4.2.0
334RUBY_RAKE_VERSION= 10.4.2 334RUBY_RAKE_VERSION= 10.4.2
335RUBY_JSON_VERSION= 1.8.1 335RUBY_JSON_VERSION= 1.8.1
336 336
337RUBY_SUFFIX= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR} 337RUBY_SUFFIX= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}
338 338
339.else 339.else
340PKG_FAIL_REASON+= "Unknown Ruby version specified: ${RUBY_VER}." 340PKG_FAIL_REASON+= "Unknown Ruby version specified: ${RUBY_VER}."
341.endif 341.endif
342 342
343.if !empty(RUBY_VERSION) 343.if !empty(RUBY_VERSION)
344RUBY_PATCHLEVEL= ${RUBY${RUBY_VER}_PATCHLEVEL} 344RUBY_PATCHLEVEL= ${RUBY${RUBY_VER}_PATCHLEVEL}
345RUBY_API_VERSION= ${RUBY${RUBY_VER}_API_VERSION} 345RUBY_API_VERSION= ${RUBY${RUBY_VER}_API_VERSION}
346.endif 346.endif
347 347
348# Variable assignment for multi-ruby packages 348# Variable assignment for multi-ruby packages
349MULTI+= RUBY_VER=${RUBY_VERS:U${RUBY_VERSION_DEFAULT}} 349MULTI+= RUBY_VER=${RUBY_VERS:U${RUBY_VERSION_DEFAULT}}
350 350
351# RUBY_NOVERSION should be set to "Yes" if the package dosen't depend on 351# RUBY_NOVERSION should be set to "Yes" if the package dosen't depend on
352# any specific version of ruby command. In this case, package's 352# any specific version of ruby command. In this case, package's
353# name begin with "ruby-". 353# name begin with "ruby-".
354# If RUBY_NOVERSION is "No" (default), the package's name is begin 354# If RUBY_NOVERSION is "No" (default), the package's name is begin
355# with ${RUBY_NAME}; "ruby18", "ruby193", and so on. 355# with ${RUBY_NAME}; "ruby18", "ruby193", and so on.
356# 356#
357# It also affects to RUBY_DOC, RUBY_EG... 357# It also affects to RUBY_DOC, RUBY_EG...
358# 358#
359RUBY_NOVERSION?= No 359RUBY_NOVERSION?= No
360 360
361# _RUBY_VER_MAJOR, _RUBY_VER_MINOR, _RUBY_VER_TEENY and _RUBY_PATCHLEVEL 361# _RUBY_VER_MAJOR, _RUBY_VER_MINOR, _RUBY_VER_TEENY and _RUBY_PATCHLEVEL
362# is defined from version of Ruby. It should not be used in packages' 362# is defined from version of Ruby. It should not be used in packages'
363# Makefile. 363# Makefile.
364# 364#
365_RUBY_VER_MAJOR= ${RUBY_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1/} 365_RUBY_VER_MAJOR= ${RUBY_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1/}
366_RUBY_VER_MINOR= ${RUBY_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\2/} 366_RUBY_VER_MINOR= ${RUBY_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\2/}
367_RUBY_VER_TEENY= ${RUBY_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\3/} 367_RUBY_VER_TEENY= ${RUBY_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\3/}
368 368
369_RUBY_API_MAJOR= ${RUBY_API_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1\2/} 369_RUBY_API_MAJOR= ${RUBY_API_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1\2/}
370_RUBY_API_MINOR= ${RUBY_API_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\3/} 370_RUBY_API_MINOR= ${RUBY_API_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\3/}
371 371
372RUBY_NAME= ruby${RUBY_SUFFIX} 372RUBY_NAME= ruby${RUBY_SUFFIX}
373RUBYGEM_NAME= gem${RUBY_SUFFIX} 373RUBYGEM_NAME= gem${RUBY_SUFFIX}
374RAKE_NAME= rake${RUBY_SUFFIX} 374RAKE_NAME= rake${RUBY_SUFFIX}
375 375
376RUBY_ENCODING_ARG?= 376RUBY_ENCODING_ARG?=
377 377
378RUBY_BASE= ${RUBY_NAME}-base 378RUBY_BASE= ${RUBY_NAME}-base
379 379
380RUBY_PKGPREFIX?= ${RUBY_NAME} 380RUBY_PKGPREFIX?= ${RUBY_NAME}
381 381
382.if ${RUBY_VER} == "18" 382.if ${RUBY_VER} == "18"
383RUBY_VER_DIR= ${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR} 383RUBY_VER_DIR= ${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}
384.else  384.else
385. if ${RUBY_VER} == "193" || ${RUBY_VER} == "200" 385. if ${RUBY_VER} == "193" || ${RUBY_VER} == "200"
386RUBY_VER_DIR= ${RUBY_VERSION} 386RUBY_VER_DIR= ${RUBY_VERSION}
387. else 387. else
388RUBY_VER_DIR= ${RUBY_API_VERSION} 388RUBY_VER_DIR= ${RUBY_API_VERSION}
389. endif 389. endif
390.endif 390.endif
391 391
392.if empty(RUBY_NOVERSION:M[nN][oO]) 392.if empty(RUBY_NOVERSION:M[nN][oO])
393RUBY_SUFFIX= 393RUBY_SUFFIX=
394RUBY_NAME= ruby 394RUBY_NAME= ruby
395.endif 395.endif
396 396
397RUBY_BUILD_RDOC?= Yes 397RUBY_BUILD_RDOC?= Yes
398RUBY_BUILD_RI?= Yes 398RUBY_BUILD_RI?= Yes
399 399
400RUBY?= ${PREFIX}/bin/${RUBY_NAME} 400RUBY?= ${PREFIX}/bin/${RUBY_NAME}
401RDOC?= ${PREFIX}/bin/rdoc${RUBY_SUFFIX} 401RDOC?= ${PREFIX}/bin/rdoc${RUBY_SUFFIX}
402 402
403RUBY_ARCH?= ${MACHINE_GNU_ARCH}-${LOWER_OPSYS}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}${APPEND_ABI} 403RUBY_ARCH?= ${MACHINE_GNU_ARCH}-${LOWER_OPSYS}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}${APPEND_ABI}
404 404
405RUBY_MAJOR_MINOR= ${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR} 405RUBY_MAJOR_MINOR= ${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}
406 406
407# 407#
408# Ruby shared and static library version handling. 408# Ruby shared and static library version handling.
409# 409#
410RUBY_SHLIBVER?= ${RUBY_API_VERSION} 410RUBY_SHLIBVER?= ${RUBY_API_VERSION}
411RUBY_SHLIB?= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${RUBY_SHLIBVER} 411RUBY_SHLIB?= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${RUBY_SHLIBVER}
412RUBY_SHLIBALIAS?= @comment 412RUBY_SHLIBALIAS?= @comment
413RUBY_STATICLIB?= ${RUBY_SUFFIX}-static.a 413RUBY_STATICLIB?= ${RUBY_SUFFIX}-static.a
414 414
415.if ${OPSYS} == "NetBSD" || ${OPSYS} == "Interix" 415.if ${OPSYS} == "NetBSD" || ${OPSYS} == "Interix"
416RUBY_SHLIBVER= ${_RUBY_API_MAJOR}.${_RUBY_API_MINOR} 416RUBY_SHLIBVER= ${_RUBY_API_MAJOR}.${_RUBY_API_MINOR}
417_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_API_MAJOR} 417_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_API_MAJOR}
418.elif ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly" 418.elif ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
419.if ${RUBY_VER} == "18" 419.if ${RUBY_VER} == "18"
420RUBY_SHLIBVER= ${RUBY_SUFFIX} 420RUBY_SHLIBVER= ${RUBY_SUFFIX}
421.else 421.else
422RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}${_RUBY_API_MINOR} 422RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}${_RUBY_API_MINOR}
423.endif 423.endif
424.elif ${OPSYS} == "OpenBSD" || ${OPSYS} == "MirBSD" 424.elif ${OPSYS} == "OpenBSD" || ${OPSYS} == "MirBSD"
425.if ${_RUBY_VER_MINOR} == 0 425.if ${_RUBY_VER_MINOR} == 0
426RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}.${_RUBY_API_MINOR} 426RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}.${_RUBY_API_MINOR}
427.else 427.else
428RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}${_RUBY_API_MINOR} 428RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}${_RUBY_API_MINOR}
429.endif 429.endif
430.elif ${OPSYS} == "Darwin" 430.elif ${OPSYS} == "Darwin"
431RUBY_SHLIB= ${RUBY_SUFFIX}.${RUBY_SHLIBVER}.${RUBY_SLEXT} 431RUBY_SHLIB= ${RUBY_SUFFIX}.${RUBY_SHLIBVER}.${RUBY_SLEXT}
432.if ${RUBY_VER} == "18" 432.if ${RUBY_VER} == "18"
433_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}.${RUBY_SLEXT} 433_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}.${RUBY_SLEXT}
434.else 434.else
435_RUBY_SHLIBALIAS= .${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}.${RUBY_SLEXT} 435_RUBY_SHLIBALIAS= .${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}.${RUBY_SLEXT}
436RUBY_STATICLIB= ${RUBY_SUFFIX}.${RUBY_API_VERSION}-static.a 436RUBY_STATICLIB= ${RUBY_SUFFIX}.${RUBY_API_VERSION}-static.a
437.endif 437.endif
438.elif ${OPSYS} == "Linux" 438.elif ${OPSYS} == "Linux"
439_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR} 439_RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}
440.elif ${OPSYS} == "SunOS" 440.elif ${OPSYS} == "SunOS"
441RUBY_SHLIBVER= ${_RUBY_VER_MAJOR} 441RUBY_SHLIBVER= ${_RUBY_VER_MAJOR}
442 _RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}.${_RUBY_API_MINOR} 442 _RUBY_SHLIBALIAS= ${RUBY_SUFFIX}.${RUBY_SLEXT}.${_RUBY_VER_MAJOR}.${_RUBY_VER_MINOR}.${_RUBY_API_MINOR}
443.elif ${OPSYS} == "Cygwin" 443.elif ${OPSYS} == "Cygwin"
444RUBY_SHLIB= ${RUBY_SUFFIX}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}.dll.a 444RUBY_SHLIB= ${RUBY_SUFFIX}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}.dll.a
445RUBY_SHLIBALIAS= bin/cygruby${RUBY_SUFFIX}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}.dll 445RUBY_SHLIBALIAS= bin/cygruby${RUBY_SUFFIX}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}.dll
446RUBY_STATICLIB= ${RUBY_SUFFIX}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}-static.a 446RUBY_STATICLIB= ${RUBY_SUFFIX}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}-static.a
447.endif 447.endif
448 448
449.if !empty(_RUBY_SHLIBALIAS) 449.if !empty(_RUBY_SHLIBALIAS)
450RUBY_SHLIBALIAS= lib/libruby${_RUBY_SHLIBALIAS} 450RUBY_SHLIBALIAS= lib/libruby${_RUBY_SHLIBALIAS}
451.endif 451.endif
452 452
453.if ${_OPSYS_SHLIB_TYPE} == "dylib" 453.if ${_OPSYS_SHLIB_TYPE} == "dylib"
454RUBY_DLEXT= bundle 454RUBY_DLEXT= bundle
455RUBY_SLEXT= dylib 455RUBY_SLEXT= dylib
456.else 456.else
457RUBY_DLEXT= so 457RUBY_DLEXT= so
458RUBY_SLEXT= so 458RUBY_SLEXT= so
459.endif 459.endif
460 460
461# 461#
462# Ruby distribution file, few package need it. 462# Ruby distribution file, few package need it.
463# 463#
464_RUBY_PATCHLEVEL= ${RUBY_PATCHLEVEL:S/pl/p/:S/pre/preview/} 464_RUBY_PATCHLEVEL= ${RUBY_PATCHLEVEL:S/pl/p/:S/pre/preview/}
465 465
466.if !empty(_RUBY_PATCHLEVEL) 466.if !empty(_RUBY_PATCHLEVEL)
467RUBY_DISTNAME?= ruby-${RUBY_VERSION}-${_RUBY_PATCHLEVEL} 467RUBY_DISTNAME?= ruby-${RUBY_VERSION}-${_RUBY_PATCHLEVEL}
468.else 468.else
469RUBY_DISTNAME?= ruby-${RUBY_VERSION} 469RUBY_DISTNAME?= ruby-${RUBY_VERSION}
470.endif 470.endif
471 471
472# 472#
473# Use pthread library with Ruby 473# Use pthread library with Ruby
474# 474#
475.if !empty(MACHINE_PLATFORM:MDarwin-9.*-powerpc) 475.if !empty(MACHINE_PLATFORM:MDarwin-9.*-powerpc)
476# Workaround for Ruby Bug #193 476# Workaround for Ruby Bug #193
477# http://redmine.ruby-lang.org/issues/show/193 477# http://redmine.ruby-lang.org/issues/show/193
478RUBY_USE_PTHREAD?= no 478RUBY_USE_PTHREAD?= no
479.else 479.else
480RUBY_USE_PTHREAD?= yes 480RUBY_USE_PTHREAD?= yes
481.endif 481.endif
482 482
483RUBY_DYNAMIC_DIRS?= # empty 483RUBY_DYNAMIC_DIRS?= # empty
484 484
485RUBY_SRCDIR?= ../../lang/ruby${RUBY_VER}-base 485RUBY_SRCDIR?= ../../lang/ruby${RUBY_VER}-base
486 486
487# 487#
488# common paths 488# common paths
489# 489#
490RUBY_INC= include/ruby-${RUBY_VER_DIR} 490RUBY_INC= include/ruby-${RUBY_VER_DIR}
491RUBY_ARCHINC= ${RUBY_INC}/${RUBY_ARCH} 491RUBY_ARCHINC= ${RUBY_INC}/${RUBY_ARCH}
492RUBY_LIB_BASE= lib/ruby 492RUBY_LIB_BASE= lib/ruby
493RUBY_LIB?= ${RUBY_LIB_BASE}/${RUBY_VER_DIR} 493RUBY_LIB?= ${RUBY_LIB_BASE}/${RUBY_VER_DIR}
494RUBY_ARCHLIB?= ${RUBY_LIB}/${RUBY_ARCH} 494RUBY_ARCHLIB?= ${RUBY_LIB}/${RUBY_ARCH}
495RUBY_SITELIB_BASE?= ${RUBY_LIB_BASE}/site_ruby 495RUBY_SITELIB_BASE?= ${RUBY_LIB_BASE}/site_ruby
496RUBY_SITELIB?= ${RUBY_SITELIB_BASE}/${RUBY_VER_DIR} 496RUBY_SITELIB?= ${RUBY_SITELIB_BASE}/${RUBY_VER_DIR}
497RUBY_SITEARCHLIB?= ${RUBY_SITELIB}/${RUBY_ARCH} 497RUBY_SITEARCHLIB?= ${RUBY_SITELIB}/${RUBY_ARCH}
498RUBY_VENDORLIB_BASE?= ${RUBY_LIB_BASE}/vendor_ruby 498RUBY_VENDORLIB_BASE?= ${RUBY_LIB_BASE}/vendor_ruby
499RUBY_VENDORLIB?= ${RUBY_VENDORLIB_BASE}/${RUBY_VER_DIR} 499RUBY_VENDORLIB?= ${RUBY_VENDORLIB_BASE}/${RUBY_VER_DIR}
500RUBY_VENDORARCHLIB?= ${RUBY_VENDORLIB}/${RUBY_ARCH} 500RUBY_VENDORARCHLIB?= ${RUBY_VENDORLIB}/${RUBY_ARCH}
501 501
502RUBY_DOC?= share/doc/${RUBY_NAME} 502RUBY_DOC?= share/doc/${RUBY_NAME}
503RUBY_EG?= share/examples/${RUBY_NAME} 503RUBY_EG?= share/examples/${RUBY_NAME}
504 504
505 505
506RUBY_GEM_BASE?= ${RUBY_LIB_BASE}/gems 506RUBY_GEM_BASE?= ${RUBY_LIB_BASE}/gems
507GEM_HOME?= ${RUBY_GEM_BASE}/${RUBY_VER_DIR} 507GEM_HOME?= ${RUBY_GEM_BASE}/${RUBY_VER_DIR}
508 508
509# 509#
510# ri database relative path 510# ri database relative path
511# 511#
512RUBY_RIDIR?= share/ri 512RUBY_RIDIR?= share/ri
513RUBY_BASERIDIR?= ${RUBY_RIDIR}/${RUBY_VER_DIR} 513RUBY_BASERIDIR?= ${RUBY_RIDIR}/${RUBY_VER_DIR}
514RUBY_SYSRIDIR?= ${RUBY_BASERIDIR}/system 514RUBY_SYSRIDIR?= ${RUBY_BASERIDIR}/system
515RUBY_SITERIDIR?= ${RUBY_BASERIDIR}/site 515RUBY_SITERIDIR?= ${RUBY_BASERIDIR}/site
516 516
517# 517#
518# MAKE_ENV 518# MAKE_ENV
519# 519#
520MAKE_ENV+= RUBY=${RUBY:Q} RUBY_VER=${RUBY_VER:Q} \ 520MAKE_ENV+= RUBY=${RUBY:Q} RUBY_VER=${RUBY_VER:Q} \
521 RUBY_VERSION_DEFAULT=${RUBY_VERSION_DEFAULT:Q} 521 RUBY_VERSION_DEFAULT=${RUBY_VERSION_DEFAULT:Q}
522 522
523MAKEFLAGS+= RUBY_VER=${RUBY_VER:Q} \ 523MAKEFLAGS+= RUBY_VER=${RUBY_VER:Q} \
524 RUBY_VERSION_DEFAULT=${RUBY_VERSION_DEFAULT:Q} 524 RUBY_VERSION_DEFAULT=${RUBY_VERSION_DEFAULT:Q}
525 525
526# 526#
527# PLIST_VARS for x11/ruby-tk package. 527# PLIST_VARS for x11/ruby-tk package.
528# 528#
529PLIST_VARS+= ruby19 ruby200 529PLIST_VARS+= ruby19 ruby200
530.if ${RUBY_VER} != "18" 530.if ${RUBY_VER} != "18"
531PLIST.ruby19= yes 531PLIST.ruby19= yes
532. if ${RUBY_VER} != "193" 532. if ${RUBY_VER} != "193"
533PLIST.ruby200= yes 533PLIST.ruby200= yes
534. endif 534. endif
535.endif 535.endif
536 536
537PLIST_RUBY_DIRS= RUBY_INC=${RUBY_INC:Q} RUBY_ARCHINC=${RUBY_ARCHINC:Q} \ 537PLIST_RUBY_DIRS= RUBY_INC=${RUBY_INC:Q} RUBY_ARCHINC=${RUBY_ARCHINC:Q} \
538 RUBY_LIB_BASE=${RUBY_LIB_BASE:Q} \ 538 RUBY_LIB_BASE=${RUBY_LIB_BASE:Q} \
539 RUBY_LIB=${RUBY_LIB:Q} \ 539 RUBY_LIB=${RUBY_LIB:Q} \
540 RUBY_ARCHLIB=${RUBY_ARCHLIB:Q} \ 540 RUBY_ARCHLIB=${RUBY_ARCHLIB:Q} \
541 RUBY_SITELIB_BASE=${RUBY_SITELIB_BASE:Q} \ 541 RUBY_SITELIB_BASE=${RUBY_SITELIB_BASE:Q} \
542 RUBY_SITELIB=${RUBY_SITELIB:Q} \ 542 RUBY_SITELIB=${RUBY_SITELIB:Q} \
543 RUBY_SITEARCHLIB=${RUBY_SITEARCHLIB:Q} \ 543 RUBY_SITEARCHLIB=${RUBY_SITEARCHLIB:Q} \
544 RUBY_VENDORLIB_BASE=${RUBY_VENDORLIB_BASE:Q} \ 544 RUBY_VENDORLIB_BASE=${RUBY_VENDORLIB_BASE:Q} \
545 RUBY_VENDORLIB=${RUBY_VENDORLIB:Q} \ 545 RUBY_VENDORLIB=${RUBY_VENDORLIB:Q} \
546 RUBY_VENDORARCHLIB=${RUBY_VENDORARCHLIB:Q} \ 546 RUBY_VENDORARCHLIB=${RUBY_VENDORARCHLIB:Q} \
547 RUBY_DOC=${RUBY_DOC:Q} \ 547 RUBY_DOC=${RUBY_DOC:Q} \
548 RUBY_EG=${RUBY_EG:Q} \ 548 RUBY_EG=${RUBY_EG:Q} \
549 RUBY_GEM_BASE=${RUBY_GEM_BASE:Q} \ 549 RUBY_GEM_BASE=${RUBY_GEM_BASE:Q} \
550 GEM_HOME=${GEM_HOME:Q} \ 550 GEM_HOME=${GEM_HOME:Q} \
551 RUBY_RIDIR=${RUBY_RIDIR:Q} \ 551 RUBY_RIDIR=${RUBY_RIDIR:Q} \
552 RUBY_BASERIDIR=${RUBY_BASERIDIR:Q} \ 552 RUBY_BASERIDIR=${RUBY_BASERIDIR:Q} \
553 RUBY_SYSRIDIR=${RUBY_SYSRIDIR:Q} \ 553 RUBY_SYSRIDIR=${RUBY_SYSRIDIR:Q} \
554 RUBY_SITERIDIR=${RUBY_SITERIDIR:Q} 554 RUBY_SITERIDIR=${RUBY_SITERIDIR:Q}
555 555
556# 556#
557# substitutions 557# substitutions
558# 558#
559FILES_SUBST+= RUBY=${RUBY:Q} RUBY_NAME=${RUBY_NAME:Q} \ 559FILES_SUBST+= RUBY=${RUBY:Q} RUBY_NAME=${RUBY_NAME:Q} \
560 RUBY_PKGPREFIX=${RUBY_PKGPREFIX:Q} \ 560 RUBY_PKGPREFIX=${RUBY_PKGPREFIX:Q} \
561 RUBY_SUFFIX=${RUBY_SUFFIX} \ 561 RUBY_SUFFIX=${RUBY_SUFFIX} \
562 RUBY_VER=${RUBY_VER:Q} \ 562 RUBY_VER=${RUBY_VER:Q} \
563 ${PLIST_RUBY_DIRS} 563 ${PLIST_RUBY_DIRS}
564 564
565MESSAGE_SUBST+= RUBY="${RUBY}" RUBY_VER="${RUBY_VER}" \ 565MESSAGE_SUBST+= RUBY="${RUBY}" RUBY_VER="${RUBY_VER}" \
566 RUBY_VERSION="${RUBY_VERSION}" \ 566 RUBY_VERSION="${RUBY_VERSION}" \
567 RUBY_PKGPREFIX="${RUBY_PKGPREFIX}" \ 567 RUBY_PKGPREFIX="${RUBY_PKGPREFIX}" \
568 RUBY_SUFFIX=${RUBY_SUFFIX} \ 568 RUBY_SUFFIX=${RUBY_SUFFIX} \
569 ${PLIST_RUBY_DIRS:S,DIR="${PREFIX}/,DIR=",} 569 ${PLIST_RUBY_DIRS:S,DIR="${PREFIX}/,DIR=",}
570 570
571PLIST_SUBST+= RUBY=${RUBY:Q} RUBY_VER=${RUBY_VER:Q} \ 571PLIST_SUBST+= RUBY=${RUBY:Q} RUBY_VER=${RUBY_VER:Q} \
572 RUBY_PKGPREFIX=${RUBY_PKGPREFIX} \ 572 RUBY_PKGPREFIX=${RUBY_PKGPREFIX} \
573 RUBY_SUFFIX=${RUBY_SUFFIX} \ 573 RUBY_SUFFIX=${RUBY_SUFFIX} \
574 RUBY_VERSION=${RUBY_VERSION:Q} \ 574 RUBY_VERSION=${RUBY_VERSION:Q} \
575 RUBY_VER_DIR=${RUBY_VER_DIR:Q} \ 575 RUBY_VER_DIR=${RUBY_VER_DIR:Q} \
576 RUBY_DLEXT=${RUBY_DLEXT:Q} RUBY_SLEXT=${RUBY_SLEXT:Q} \ 576 RUBY_DLEXT=${RUBY_DLEXT:Q} RUBY_SLEXT=${RUBY_SLEXT:Q} \
577 RUBY_SHLIB=${RUBY_SHLIB:Q} \ 577 RUBY_SHLIB=${RUBY_SHLIB:Q} \
578 RUBY_SHLIBALIAS=${RUBY_SHLIBALIAS:Q} \ 578 RUBY_SHLIBALIAS=${RUBY_SHLIBALIAS:Q} \
579 RUBY_STATICLIB=${RUBY_STATICLIB:Q} \ 579 RUBY_STATICLIB=${RUBY_STATICLIB:Q} \
 580 RUBY_API_VERSION=${RUBY_API_VERSION:Q} \
580 RUBY_ARCH=${RUBY_ARCH:Q} \ 581 RUBY_ARCH=${RUBY_ARCH:Q} \
581 ${PLIST_RUBY_DIRS:S,DIR="${PREFIX}/,DIR=",} \ 582 ${PLIST_RUBY_DIRS:S,DIR="${PREFIX}/,DIR=",} \
582 RUBY_MAJOR_MINOR=${RUBY_MAJOR_MINOR} 583 RUBY_MAJOR_MINOR=${RUBY_MAJOR_MINOR}
583 584
584# 585#
585# make dynamic PLIST 586# make dynamic PLIST
586# 587#
587.if !empty(RUBY_DYNAMIC_DIRS) 588.if !empty(RUBY_DYNAMIC_DIRS)
588 589
589RUBY_PLIST_DYNAMIC= ${WRKDIR}/PLIST.work 590RUBY_PLIST_DYNAMIC= ${WRKDIR}/PLIST.work
590 591
591.if !defined(PLIST_SRC) 592.if !defined(PLIST_SRC)
592. if exists(${PKGDIR}/PLIST.common) 593. if exists(${PKGDIR}/PLIST.common)
593PLIST_SRC+= ${PKGDIR}/PLIST.common 594PLIST_SRC+= ${PKGDIR}/PLIST.common
594. elif exists(${PKGDIR}/PLIST) 595. elif exists(${PKGDIR}/PLIST)
595PLIST_SRC+= ${PKGDIR}/PLIST 596PLIST_SRC+= ${PKGDIR}/PLIST
596. endif 597. endif
597 598
598PLIST_SRC+= ${RUBY_PLIST_DYNAMIC} 599PLIST_SRC+= ${RUBY_PLIST_DYNAMIC}
599 600
600. if exists(${PKGDIR}/PLIST.common_end) 601. if exists(${PKGDIR}/PLIST.common_end)
601PLIST_SRC+= ${PKGDIR}/PLIST.common_end 602PLIST_SRC+= ${PKGDIR}/PLIST.common_end
602. endif 603. endif
603 604
604.endif 605.endif
605 606
606RUBY_PLIST_COMMENT_CMD= \ 607RUBY_PLIST_COMMENT_CMD= \
607 ${ECHO} "@comment The following lines are automatically generated" 608 ${ECHO} "@comment The following lines are automatically generated"
608RUBY_PLIST_FILES_CMD= ( cd ${DESTDIR}${PREFIX}; \ 609RUBY_PLIST_FILES_CMD= ( cd ${DESTDIR}${PREFIX}; \
609 ${FIND} ${RUBY_DYNAMIC_DIRS} \( -type f -o -type l \) -print ) | \ 610 ${FIND} ${RUBY_DYNAMIC_DIRS} \( -type f -o -type l \) -print ) | \
610 ${SORT} -u 611 ${SORT} -u
611RUBY_GENERATE_PLIST = ( \ 612RUBY_GENERATE_PLIST = ( \
612 ${RUBY_PLIST_COMMENT_CMD}; \ 613 ${RUBY_PLIST_COMMENT_CMD}; \
613 ${RUBY_PLIST_FILES_CMD} ) > ${RUBY_PLIST_DYNAMIC} 614 ${RUBY_PLIST_FILES_CMD} ) > ${RUBY_PLIST_DYNAMIC}
614.endif 615.endif
615 616
616PRINT_PLIST_AWK+= /lib\/libruby${RUBY_STATICLIB}$$/ \ 617PRINT_PLIST_AWK+= /lib\/libruby${RUBY_STATICLIB}$$/ \
617 { sub(/${RUBY_STATICLIB}/, "$${RUBY_STATICLIB}"); } 618 { sub(/${RUBY_STATICLIB}/, "$${RUBY_STATICLIB}"); }
618PRINT_PLIST_AWK+= /lib\/libruby${RUBY_VER}\.${RUBY_SLEXT}/ \ 619PRINT_PLIST_AWK+= /lib\/libruby${RUBY_VER}\.${RUBY_SLEXT}/ \
619 { sub(/${RUBY_VER}\.${RUBY_SLEXT}$$/, \ 620 { sub(/${RUBY_VER}\.${RUBY_SLEXT}$$/, \
620 "$${RUBY_VER}.$${RUBY_SLEXT}"); } 621 "$${RUBY_VER}.$${RUBY_SLEXT}"); }
621PRINT_PLIST_AWK+= /${RUBY_SHLIB}$$/ \ 622PRINT_PLIST_AWK+= /${RUBY_SHLIB}$$/ \
622 { sub(/${RUBY_SHLIB}$$/, "$${RUBY_SHLIB}"); } 623 { sub(/${RUBY_SHLIB}$$/, "$${RUBY_SHLIB}"); }
623PRINT_PLIST_AWK+= /${RUBY_SLEXT}\.${RUBY_SHLIBVER}$$/ \ 624PRINT_PLIST_AWK+= /${RUBY_SLEXT}\.${RUBY_SHLIBVER}$$/ \
624 { sub(/${RUBY_SLEXT}\.${RUBY_SHLIBVER}$$/, \ 625 { sub(/${RUBY_SLEXT}\.${RUBY_SHLIBVER}$$/, \
625 "$${RUBY_SLEXT}.$${RUBY_SHLIBVER}"); } 626 "$${RUBY_SLEXT}.$${RUBY_SHLIBVER}"); }
626.if ${RUBY_SHLIBALIAS} != "@comment" 627.if ${RUBY_SHLIBALIAS} != "@comment"
627PRINT_PLIST_AWK+= /${RUBY_SHLIBALIAS:S/\//\\\//}$$/ \ 628PRINT_PLIST_AWK+= /${RUBY_SHLIBALIAS:S/\//\\\//}$$/ \
628 { sub(/${RUBY_SHLIBALIAS:S/\//\\\//}$$/, \ 629 { sub(/${RUBY_SHLIBALIAS:S/\//\\\//}$$/, \
629 "$${RUBY_SHLIBALIAS}"); } 630 "$${RUBY_SHLIBALIAS}"); }
630.endif 631.endif
631PRINT_PLIST_AWK+= /^${RUBY_ARCHINC:S|/|\\/|g}/ \ 632PRINT_PLIST_AWK+= /^${RUBY_ARCHINC:S|/|\\/|g}/ \
632 { gsub(/${RUBY_ARCHINC:S|/|\\/|g}/, "$${RUBY_ARCHINC}"); \ 633 { gsub(/${RUBY_ARCHINC:S|/|\\/|g}/, "$${RUBY_ARCHINC}"); \
633 print; next; } 634 print; next; }
634PRINT_PLIST_AWK+= /^${RUBY_INC:S|/|\\/|g}/ \ 635PRINT_PLIST_AWK+= /^${RUBY_INC:S|/|\\/|g}/ \
635 { gsub(/${RUBY_INC:S|/|\\/|g}/, "$${RUBY_INC}"); \ 636 { gsub(/${RUBY_INC:S|/|\\/|g}/, "$${RUBY_INC}"); \
636 print; next; } 637 print; next; }
637PRINT_PLIST_AWK+= /\.${RUBY_DLEXT}$$/ \ 638PRINT_PLIST_AWK+= /\.${RUBY_DLEXT}$$/ \
638 { gsub(/${RUBY_DLEXT}$$/, "$${RUBY_DLEXT}") } 639 { gsub(/${RUBY_DLEXT}$$/, "$${RUBY_DLEXT}") }
639PRINT_PLIST_AWK+= /^${RUBY_ARCHLIB:S|/|\\/|g}/ \ 640PRINT_PLIST_AWK+= /^${RUBY_ARCHLIB:S|/|\\/|g}/ \
640 { gsub(/${RUBY_ARCHLIB:S|/|\\/|g}/, "$${RUBY_ARCHLIB}"); \ 641 { gsub(/${RUBY_ARCHLIB:S|/|\\/|g}/, "$${RUBY_ARCHLIB}"); \
641 print; next; } 642 print; next; }
642PRINT_PLIST_AWK+= /^${RUBY_VENDORARCHLIB:S|/|\\/|g}/ \ 643PRINT_PLIST_AWK+= /^${RUBY_VENDORARCHLIB:S|/|\\/|g}/ \
643 { gsub(/${RUBY_VENDORARCHLIB:S|/|\\/|g}/, "$${RUBY_VENDORARCHLIB}"); \ 644 { gsub(/${RUBY_VENDORARCHLIB:S|/|\\/|g}/, "$${RUBY_VENDORARCHLIB}"); \
644 print; next; } 645 print; next; }
645PRINT_PLIST_AWK+= /^${RUBY_VENDORLIB:S|/|\\/|g}/ \ 646PRINT_PLIST_AWK+= /^${RUBY_VENDORLIB:S|/|\\/|g}/ \
646 { gsub(/${RUBY_VENDORLIB:S|/|\\/|g}/, "$${RUBY_VENDORLIB}"); \ 647 { gsub(/${RUBY_VENDORLIB:S|/|\\/|g}/, "$${RUBY_VENDORLIB}"); \
647 print; next; } 648 print; next; }
648PRINT_PLIST_AWK+= /^${RUBY_SITEARCHLIB:S|/|\\/|g}/ \ 649PRINT_PLIST_AWK+= /^${RUBY_SITEARCHLIB:S|/|\\/|g}/ \
649 { gsub(/${RUBY_SITEARCHLIB:S|/|\\/|g}/, "$${RUBY_SITEARCHLIB}"); \ 650 { gsub(/${RUBY_SITEARCHLIB:S|/|\\/|g}/, "$${RUBY_SITEARCHLIB}"); \
650 print; next; } 651 print; next; }
651PRINT_PLIST_AWK+= /^${RUBY_SITELIB:S|/|\\/|g}/ \ 652PRINT_PLIST_AWK+= /^${RUBY_SITELIB:S|/|\\/|g}/ \
652 { gsub(/${RUBY_SITELIB:S|/|\\/|g}/, "$${RUBY_SITELIB}"); \ 653 { gsub(/${RUBY_SITELIB:S|/|\\/|g}/, "$${RUBY_SITELIB}"); \
653 print; next; } 654 print; next; }
654PRINT_PLIST_AWK+= /^${RUBY_SITELIB_BASE:S|/|\\/|g}/ \ 655PRINT_PLIST_AWK+= /^${RUBY_SITELIB_BASE:S|/|\\/|g}/ \
655 { gsub(/${RUBY_SITELIB_BASE:S|/|\\/|g}/, "$${RUBY_SITELIB_BASE}"); \ 656 { gsub(/${RUBY_SITELIB_BASE:S|/|\\/|g}/, "$${RUBY_SITELIB_BASE}"); \
656 print; next; } 657 print; next; }
657PRINT_PLIST_AWK+= /^${RUBY_VENDORLIB_BASE:S|/|\\/|g}/ \ 658PRINT_PLIST_AWK+= /^${RUBY_VENDORLIB_BASE:S|/|\\/|g}/ \
658 { gsub(/${RUBY_VENDORLIB_BASE:S|/|\\/|g}/, "$${RUBY_VENDORLIB_BASE}"); \ 659 { gsub(/${RUBY_VENDORLIB_BASE:S|/|\\/|g}/, "$${RUBY_VENDORLIB_BASE}"); \
659 print; next; } 660 print; next; }
660PRINT_PLIST_AWK+= /^${RUBY_LIB:S|/|\\/|g}/ \ 661PRINT_PLIST_AWK+= /^${RUBY_LIB:S|/|\\/|g}/ \
661 { gsub(/${RUBY_LIB:S|/|\\/|g}/, "$${RUBY_LIB}"); \ 662 { gsub(/${RUBY_LIB:S|/|\\/|g}/, "$${RUBY_LIB}"); \
662 print; next; } 663 print; next; }
663PRINT_PLIST_AWK+= /^${RUBY_DOC:S|/|\\/|g}/ \ 664PRINT_PLIST_AWK+= /^${RUBY_DOC:S|/|\\/|g}/ \
664 { gsub(/${RUBY_DOC:S|/|\\/|g}/, "$${RUBY_DOC}"); \ 665 { gsub(/${RUBY_DOC:S|/|\\/|g}/, "$${RUBY_DOC}"); \
665 print; next; } 666 print; next; }
666PRINT_PLIST_AWK+= /^${RUBY_EG:S|/|\\/|g}/ \ 667PRINT_PLIST_AWK+= /^${RUBY_EG:S|/|\\/|g}/ \
667 { gsub(/${RUBY_EG:S|/|\\/|g}/, "$${RUBY_EG}"); \ 668 { gsub(/${RUBY_EG:S|/|\\/|g}/, "$${RUBY_EG}"); \
668 print; next; } 669 print; next; }
669PRINT_PLIST_AWK+= /^${RUBY_SITERIDIR:S|/|\\/|g}/ \ 670PRINT_PLIST_AWK+= /^${RUBY_SITERIDIR:S|/|\\/|g}/ \
670 { gsub(/${RUBY_SITERIDIR:S|/|\\/|g}/, "$${RUBY_SITERIDIR}"); \ 671 { gsub(/${RUBY_SITERIDIR:S|/|\\/|g}/, "$${RUBY_SITERIDIR}"); \
671 print; next; } 672 print; next; }
672PRINT_PLIST_AWK+= /^${RUBY_SYSRIDIR:S|/|\\/|g}\// \ 673PRINT_PLIST_AWK+= /^${RUBY_SYSRIDIR:S|/|\\/|g}\// \
673 { next; } 674 { next; }
674 675
675# Insert part of PRINT_PLIST_AWK from gem.mk 676# Insert part of PRINT_PLIST_AWK from gem.mk
676PRINT_PLIST_AWK+= ${_RUBY_PRINT_PLIST_GEM} 677PRINT_PLIST_AWK+= ${_RUBY_PRINT_PLIST_GEM}
677 678
678PRINT_PLIST_AWK+= /\/${RUBY_NAME}/ \ 679PRINT_PLIST_AWK+= /\/${RUBY_NAME}/ \
679 { sub(/${RUBY_NAME}/, "$${RUBY_NAME}"); } 680 { sub(/${RUBY_NAME}/, "$${RUBY_NAME}"); }
680PRINT_PLIST_AWK+= /^${GEM_HOME:S|/|\\/|g:S|.|\\.|g}/ \ 681PRINT_PLIST_AWK+= /^${GEM_HOME:S|/|\\/|g:S|.|\\.|g}/ \
681 { gsub(/${GEM_HOME:S|/|\\/|g}/, "$${GEM_HOME}"); } 682 { gsub(/${GEM_HOME:S|/|\\/|g}/, "$${GEM_HOME}"); }
682 683
683.endif # _RUBY_MK 684.endif # _RUBY_MK