1 # $NetBSD: rubyversion.mk,v 1.96 2013/04/04 13:30:07 obache Exp $
4 # This file determines which Ruby version is used as a dependency for
8 # === User-settable variables ===
10 # RUBY_VERSION_DEFAULT
11 # The preferered Ruby version to use.
13 # Possible values: 18 193
17 # Build rdoc of this package and so that install formated
18 # documentation. It is also used in each package.
20 # Possible values: Yes No
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.
27 # Possible values: Yes No
30 # === Infrastructure variables ===
33 # Ruby version to use. This variable should not be set in
34 # packages. Normally it is used by bulk build tools.
36 # Possible values: ${RUBY_VERSION_SUPPORTED}
37 # Default: ${RUBY_VERSION_DEFAULT}
39 # === Package-settable variables ===
41 # RUBY_VERSION_SUPPORTED
42 # The Ruby versions that are acceptable for the package.
44 # Possible values: 18 193
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
50 # with "ruby-". Otherwise, the package's name is begin with
51 # ${RUBY_PKGPREFIX}; "ruby18" or "ruby193".
53 # Possible values: Yes No
57 # Build dynamic PLIST from directories.
63 # Optional encoding argument for shbang line.
67 # === Defined variables ===
70 # Really selected version of ruby.
72 # Possible values: 18 193
74 # Use this variable in pkgsrc's Makefile
77 # Prefix part for ruby based packages. It is recommended that to
78 # use RUBY_PKGPREFIX with ruby related packages since you can supply
79 # different binary packages as each version of Ruby.
85 # Suffix of extention library.
88 # Suffix of shared library.
91 # Full path of ruby command.
94 # Full path of rdoc command.
97 # Name of ruby command.
100 # Name of gem command.
103 # Name of rake command.
106 # Extra string for each ruby commands; ruby, irb and so on.
109 # Version of real Ruby's version excluding patchlevel.
112 # Version of Ruby including patchlevel.
115 # Name of ruby base package's name.
118 # Directory of base ruby package.
121 # Suffix of libruby shared library's version.
124 # String after libruby shared library.
127 # Symblic link with libruby shared library with major version only.
130 # Name of libruby static library.
133 # Name of version directory under each library (and more) directories.
136 # Name of architecture-dependent directory name.
139 # machine independent include directory of ruby.
142 # machine dependent include directory of ruby.
145 # common relative path of ruby's library.
148 # version specific relative path of ruby's library.
151 # version specific and machine dependent relative path of ruby's library.
154 # common site local directory.
157 # version specific site local directory.
160 # version specific and machine dependent site local directory.
162 # RUBY_VENDORLIB_BASE
163 # common vendor (pkgsrc) directory.
166 # version specific vendor local directory.
169 # version specific and machine dependent vendor local directory.
172 # version specific document direcotry.
175 # version specific examples direcotry.
178 # common GEM directory.
181 # version specific GEM directory.
184 # common ri directory.
187 # version specific ri directory.
190 # version specific system ri directory.
193 # version specific site ri directory.
198 .if
!defined
(_RUBYVERSION_MK
)
199 _RUBYVERSION_MK
= # defined
201 .
include "../../mk/bsd.prefs.mk"
203 # current supported Ruby's version
204 RUBY18_VERSION
= 1.8.7
205 RUBY193_VERSION
= 1.9.3
208 RUBY18_PATCHLEVEL
= pl371
209 RUBY193_PATCHLEVEL
= p392
211 # current API compatible version; used for version of shared library
212 RUBY18_API_VERSION
= 1.8.7
213 RUBY193_API_VERSION
= 1.9.1
216 RUBY_VERSION_DEFAULT?
= 193
218 RUBY_VERSION_SUPPORTED?
= 193 18
219 RUBY_VER?
= ${RUBY_VERSION_DEFAULT}
221 # If package support only one version, use it.
222 .if
${RUBY_VERSION_SUPPORTED
:[\
#]} == 1
223 RUBY_VER
= ${RUBY_VERSION_SUPPORTED}
224 RUBY_VERSION_DEFAULT
= ${RUBY_VERSION_SUPPORTED}
227 .if defined
(RUBY_VERSION_REQD
)
228 . for rv in
${RUBY_VERSION_SUPPORTED}
229 . if
${rv} == ${RUBY_VERSION_REQD}
235 RUBY_VER
:= ${RUBY_VER_MAP.
${RUBY_VER}:U
${RUBY_VER}}
237 .if
${RUBY_VER} == "18"
238 RUBY_VERSION
= ${RUBY18_VERSION}
239 RUBY_VERSION_FULL
= ${RUBY_VERSION}${RUBY_PATCHLEVEL
:S
/pl
/.
/}
240 RUBY_ABI_VERSION
= ${RUBY18_API_VERSION}
241 .elif
${RUBY_VER} == "193"
242 RUBY_VERSION
= ${RUBY193_VERSION}
243 RUBY_VERSION_FULL
= ${RUBY_VERSION}${RUBY_PATCHLEVEL}
244 RUBY_ABI_VERSION
= ${RUBY_VERSION}
246 PKG_FAIL_REASON
+= "Unknown Ruby version specified: ${RUBY_VER}."
249 RUBY_PATCHLEVEL
= ${RUBY
${RUBY_VER}_PATCHLEVEL
}
250 RUBY_API_VERSION
= ${RUBY
${RUBY_VER}_API_VERSION
}
252 # Variable assignment for multi-ruby packages
253 MULTI
+= RUBY_VER
=${RUBY_VERS
:U
${RUBY_VERSION_DEFAULT}}
255 # RUBY_NOVERSION should be set to "Yes" if the package dosen't depend on
256 # any specific version of ruby command. In this case, package's
257 # name begin with "ruby-".
258 # If RUBY_NOVERSION is "No" (default), the package's name is begin
259 # with ${RUBY_NAME}; "ruby18", "ruby193", and so on.
261 # It also affects to RUBY_DOC, RUBY_EG...
265 # _RUBY_VER_MAJOR, _RUBY_VER_MINOR, _RUBY_VER_TEENY and _RUBY_PATCHLEVEL
266 # is defined from version of Ruby. It should not be used in packages'
269 _RUBY_VER_MAJOR
= ${RUBY_VERSION
:C
/([0-9]+)\.
([0-9]+)\.
([0-9]+)/\
1/}
270 _RUBY_VER_MINOR
= ${RUBY_VERSION
:C
/([0-9]+)\.
([0-9]+)\.
([0-9]+)/\
2/}
271 _RUBY_VER_TEENY
= ${RUBY_VERSION
:C
/([0-9]+)\.
([0-9]+)\.
([0-9]+)/\
3/}
273 _RUBY_API_MAJOR
= ${RUBY_API_VERSION
:C
/([0-9]+)\.
([0-9]+)\.
([0-9]+)/\
1\
2/}
274 _RUBY_API_MINOR
= ${RUBY_API_VERSION
:C
/([0-9]+)\.
([0-9]+)\.
([0-9]+)/\
3/}
276 RUBY_SUFFIX
= ${RUBY_VER}
278 RUBY_NAME
= ruby
${RUBY_SUFFIX}
279 RUBYGEM_NAME
= gem
${RUBY_SUFFIX}
280 RAKE_NAME
= rake
${RUBY_SUFFIX}
284 RUBY_BASE
= ruby
${RUBY_VER}-base
286 RUBY_PKGPREFIX?
= ${RUBY_NAME}
288 .if
${RUBY_VER} == "18"
289 RUBY_VER_DIR
= ${_RUBY_VER_MAJOR}.
${_RUBY_VER_MINOR}
291 RUBY_VER_DIR
= ${RUBY_VERSION}
294 .if empty
(RUBY_NOVERSION
:M
[nN
][oO
])
299 RUBY_BUILD_RDOC?
= Yes
302 RUBY?
= ${PREFIX}/bin
/${RUBY_NAME}
303 RDOC?
= ${PREFIX}/bin
/rdoc
${RUBY_VER}
305 RUBY_ARCH?
= ${LOWER_ARCH}-${LOWER_OPSYS}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}
308 # Ruby shared and static library version handling.
310 RUBY_SHLIBVER?
= ${RUBY_API_VERSION}
311 RUBY_SHLIB?
= ${RUBY_VER}.
${RUBY_SLEXT}.
${RUBY_SHLIBVER}
312 RUBY_SHLIBALIAS?
= @comment
313 RUBY_STATICLIB?
= ${RUBY_VER}-static.a
315 .if
${OPSYS} == "NetBSD" ||
${OPSYS} == "Interix"
316 RUBY_SHLIBVER
= ${_RUBY_API_MAJOR}.
${_RUBY_API_MINOR}
317 _RUBY_SHLIBALIAS
= ${RUBY_VER}.
${RUBY_SLEXT}.
${_RUBY_API_MAJOR}
318 .elif
${OPSYS} == "FreeBSD" ||
${OPSYS} == "DragonFly"
319 .if
${RUBY_VER} == "18"
320 RUBY_SHLIBVER
= ${RUBY_VER}
322 RUBY_SHLIBVER
= ${_RUBY_VER_MAJOR}${_RUBY_VER_MINOR}${_RUBY_API_MINOR}
324 .elif
${OPSYS} == "OpenBSD" ||
${OPSYS} == "MirBSD"
325 RUBY_SHLIBVER
= ${_RUBY_VER_MAJOR}.
${_RUBY_VER_MINOR}${_RUBY_API_MINOR}
326 .elif
${OPSYS} == "Darwin"
327 RUBY_SHLIB
= ${RUBY_VER}.
${RUBY_SHLIBVER}.
${RUBY_SLEXT}
328 .if
${RUBY_VER} == "18"
329 _RUBY_SHLIBALIAS
= ${RUBY_VER}.
${_RUBY_VER_MAJOR}.
${_RUBY_VER_MINOR}.
${RUBY_SLEXT}
331 _RUBY_SHLIBALIAS
= .
${_RUBY_VER_MAJOR}.
${_RUBY_VER_MINOR}.
${RUBY_SLEXT}
332 RUBY_STATICLIB
= ${RUBY_VER}.
${RUBY_API_VERSION}-static.a
334 .elif
${OPSYS} == "Linux"
335 _RUBY_SHLIBALIAS
= ${RUBY_VER}.
${RUBY_SLEXT}.
${_RUBY_VER_MAJOR}.
${_RUBY_VER_MINOR}
336 .elif
${OPSYS} == "SunOS"
337 RUBY_SHLIBVER
= ${_RUBY_VER_MAJOR}
338 _RUBY_SHLIBALIAS
= ${RUBY_VER}.
${RUBY_SLEXT}.
${_RUBY_VER_MAJOR}.
${_RUBY_VER_MINOR}.
${_RUBY_API_MINOR}
339 .elif
${OPSYS} == "Cygwin"
340 RUBY_SHLIB
= ${RUBY_VER}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}.dll.a
341 RUBY_SHLIBALIAS
= bin
/cygruby
${RUBY_VER}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}.dll
342 RUBY_STATICLIB
= ${RUBY_VER}${_RUBY_API_MAJOR}${_RUBY_API_MINOR}-static.a
345 .if
!empty
(_RUBY_SHLIBALIAS
)
346 RUBY_SHLIBALIAS
= lib
/libruby
${_RUBY_SHLIBALIAS}
349 .if
${_OPSYS_SHLIB_TYPE} == "dylib"
358 # Ruby distribution file, few package need it.
360 _RUBY_PATCHLEVEL
= ${RUBY_PATCHLEVEL
:S
/pl
/p
/:S
/pre
/preview
/}
362 .if
!empty
(_RUBY_PATCHLEVEL
)
363 RUBY_DISTNAME?
= ruby-
${RUBY_VERSION}-${_RUBY_PATCHLEVEL}
365 RUBY_DISTNAME?
= ruby-
${RUBY_VERSION}
369 # Use pthread library with Ruby
371 .if
!empty
(MACHINE_PLATFORM
:MDarwin-9.
*-powerpc
)
372 # Workaround for Ruby Bug #193
373 # http://redmine.ruby-lang.org/issues/show/193
374 RUBY_USE_PTHREAD?
= no
376 RUBY_USE_PTHREAD?
= yes
379 RUBY_DYNAMIC_DIRS?
= # empty
381 RUBY_SRCDIR?
= ${_PKGSRC_TOPDIR}/lang
/${RUBY_BASE}
386 RUBY_INC
= include/ruby-
${RUBY_VER_DIR}
387 RUBY_ARCHINC
= ${RUBY_INC}/${RUBY_ARCH}
388 RUBY_LIB_BASE
= lib
/ruby
389 RUBY_LIB?
= ${RUBY_LIB_BASE}/${RUBY_VER_DIR}
390 RUBY_ARCHLIB?
= ${RUBY_LIB}/${RUBY_ARCH}
391 RUBY_SITELIB_BASE?
= ${RUBY_LIB_BASE}/site_ruby
392 RUBY_SITELIB?
= ${RUBY_SITELIB_BASE}/${RUBY_VER_DIR}
393 RUBY_SITEARCHLIB?
= ${RUBY_SITELIB}/${RUBY_ARCH}
394 RUBY_VENDORLIB_BASE?
= ${RUBY_LIB_BASE}/vendor_ruby
395 RUBY_VENDORLIB?
= ${RUBY_VENDORLIB_BASE}/${RUBY_VER_DIR}
396 RUBY_VENDORARCHLIB?
= ${RUBY_VENDORLIB}/${RUBY_ARCH}
398 RUBY_DOC?
= share
/doc
/${RUBY_NAME}
399 RUBY_EG?
= share
/examples
/${RUBY_NAME}
402 RUBY_GEM_BASE?
= ${RUBY_LIB_BASE}/gems
403 GEM_HOME?
= ${RUBY_GEM_BASE}/${RUBY_VER_DIR}
406 # ri database relative path
408 RUBY_RIDIR?
= share
/ri
409 RUBY_BASERIDIR?
= ${RUBY_RIDIR}/${RUBY_VER_DIR}
410 RUBY_SYSRIDIR?
= ${RUBY_BASERIDIR}/system
411 RUBY_SITERIDIR?
= ${RUBY_BASERIDIR}/site
416 MAKE_ENV
+= RUBY
=${RUBY
:Q
} RUBY_VER
=${RUBY_VER
:Q
} \
417 RUBY_VERSION_DEFAULT
=${RUBY_VERSION_DEFAULT
:Q
}
419 MAKEFLAGS
+= RUBY_VERSION_DEFAULT
=${RUBY_VERSION_DEFAULT
:Q
}
424 PLIST_VARS
+= ruby18 ruby19 ruby193
425 .if
${RUBY_VER} == "18"
427 .elif
${RUBY_VER} == "193"
432 PLIST_RUBY_DIRS
= RUBY_INC
=${RUBY_INC
:Q
} RUBY_ARCHINC
=${RUBY_ARCHINC
:Q
} \
433 RUBY_LIB_BASE
=${RUBY_LIB_BASE
:Q
} \
434 RUBY_LIB
=${RUBY_LIB
:Q
} \
435 RUBY_ARCHLIB
=${RUBY_ARCHLIB
:Q
} \
436 RUBY_SITELIB_BASE
=${RUBY_SITELIB_BASE
:Q
} \
437 RUBY_SITELIB
=${RUBY_SITELIB
:Q
} \
438 RUBY_SITEARCHLIB
=${RUBY_SITEARCHLIB
:Q
} \
439 RUBY_VENDORLIB_BASE
=${RUBY_VENDORLIB_BASE
:Q
} \
440 RUBY_VENDORLIB
=${RUBY_VENDORLIB
:Q
} \
441 RUBY_VENDORARCHLIB
=${RUBY_VENDORARCHLIB
:Q
} \
442 RUBY_DOC
=${RUBY_DOC
:Q
} \
443 RUBY_EG
=${RUBY_EG
:Q
} \
444 RUBY_GEM_BASE
=${RUBY_GEM_BASE
:Q
} \
445 GEM_HOME
=${GEM_HOME
:Q
} \
446 RUBY_RIDIR
=${RUBY_RIDIR
:Q
} \
447 RUBY_BASERIDIR
=${RUBY_BASERIDIR
:Q
} \
448 RUBY_SYSRIDIR
=${RUBY_SYSRIDIR
:Q
} \
449 RUBY_SITERIDIR
=${RUBY_SITERIDIR
:Q
}
454 FILES_SUBST
+= RUBY
=${RUBY
:Q
} RUBY_NAME
=${RUBY_NAME
:Q
} \
455 RUBY_PKGPREFIX
=${RUBY_PKGPREFIX
:Q
} \
456 RUBY_VER
=${RUBY_VER
:Q
} \
459 MESSAGE_SUBST
+= RUBY
="${RUBY}" RUBY_VER
="${RUBY_VER}" \
460 RUBY_VERSION
="${RUBY_VERSION}" \
461 RUBY_PKGPREFIX
="${RUBY_PKGPREFIX}" \
462 ${PLIST_RUBY_DIRS
:S
,DIR
="${PREFIX}/,DIR=",}
464 PLIST_SUBST
+= RUBY
=${RUBY
:Q
} RUBY_VER
=${RUBY_VER
:Q
} \
465 RUBY_PKGPREFIX
=${RUBY_PKGPREFIX} \
466 RUBY_VERSION
=${RUBY_VERSION
:Q
} \
467 RUBY_VER_DIR
=${RUBY_VER_DIR
:Q
} \
468 RUBY_DLEXT
=${RUBY_DLEXT
:Q
} RUBY_SLEXT
=${RUBY_SLEXT
:Q
} \
469 RUBY_SHLIB
=${RUBY_SHLIB
:Q
} \
470 RUBY_SHLIBALIAS
=${RUBY_SHLIBALIAS
:Q
} \
471 RUBY_STATICLIB
=${RUBY_STATICLIB
:Q
} \
472 RUBY_ARCH
=${RUBY_ARCH
:Q
} \
473 ${PLIST_RUBY_DIRS
:S
,DIR
="${PREFIX}/,DIR=",}
478 .if
!empty
(RUBY_DYNAMIC_DIRS
)
480 RUBY_PLIST_DYNAMIC
= ${WRKDIR}/PLIST.work
482 .if
!defined
(PLIST_SRC
)
483 . if exists
(${PKGDIR}/PLIST.common
)
484 PLIST_SRC
+= ${PKGDIR}/PLIST.common
485 . elif exists
(${PKGDIR}/PLIST
)
486 PLIST_SRC
+= ${PKGDIR}/PLIST
489 PLIST_SRC
+= ${RUBY_PLIST_DYNAMIC}
491 . if exists
(${PKGDIR}/PLIST.common_end
)
492 PLIST_SRC
+= ${PKGDIR}/PLIST.common_end
497 RUBY_PLIST_COMMENT_CMD
= \
498 ${ECHO} "@comment The following lines are automatically generated"
499 RUBY_PLIST_FILES_CMD
= ( cd
${DESTDIR}${PREFIX}; \
500 ${FIND} ${RUBY_DYNAMIC_DIRS} \
( -type f
-o
-type l \
) -print ) | \
502 RUBY_GENERATE_PLIST
= ( \
503 ${RUBY_PLIST_COMMENT_CMD}; \
504 ${RUBY_PLIST_FILES_CMD} ) > ${RUBY_PLIST_DYNAMIC}
507 PRINT_PLIST_AWK
+= /lib\
/libruby
${RUBY_STATICLIB}$$/ \
508 { sub
(/${RUBY_STATICLIB}/, "$${RUBY_STATICLIB}"); }
509 PRINT_PLIST_AWK
+= /lib\
/libruby
${RUBY_VER}\.
${RUBY_SLEXT}/ \
510 { sub
(/${RUBY_VER}\.
${RUBY_SLEXT}$$/, \
511 "$${RUBY_VER}.$${RUBY_SLEXT}"); }
512 PRINT_PLIST_AWK
+= /${RUBY_SHLIB}$$/ \
513 { sub
(/${RUBY_SHLIB}$$/, "$${RUBY_SHLIB}"); }
514 PRINT_PLIST_AWK
+= /${RUBY_SLEXT}\.
${RUBY_SHLIBVER}$$/ \
515 { sub
(/${RUBY_SLEXT}\.
${RUBY_SHLIBVER}$$/, \
516 "$${RUBY_SLEXT}.$${RUBY_SHLIBVER}"); }
517 .if
${RUBY_SHLIBALIAS} != "@comment"
518 PRINT_PLIST_AWK
+= /${RUBY_SHLIBALIAS
:S
/\
//\\\
//}$$/ \
519 { sub
(/${RUBY_SHLIBALIAS
:S
/\
//\\\
//}$$/, \
520 "$${RUBY_SHLIBALIAS}"); }
522 PRINT_PLIST_AWK
+= /^
${RUBY_ARCHINC
:S|
/|
\\/|g
}/ \
523 { gsub
(/${RUBY_ARCHINC
:S|
/|
\\/|g
}/, "$${RUBY_ARCHINC}"); \
525 PRINT_PLIST_AWK
+= /^
${RUBY_INC
:S|
/|
\\/|g
}/ \
526 { gsub
(/${RUBY_INC
:S|
/|
\\/|g
}/, "$${RUBY_INC}"); \
528 PRINT_PLIST_AWK
+= /\.
${RUBY_DLEXT}$$/ \
529 { gsub
(/${RUBY_DLEXT}$$/, "$${RUBY_DLEXT}") }
530 PRINT_PLIST_AWK
+= /^
${RUBY_ARCHLIB
:S|
/|
\\/|g
}/ \
531 { gsub
(/${RUBY_ARCHLIB
:S|
/|
\\/|g
}/, "$${RUBY_ARCHLIB}"); \
533 PRINT_PLIST_AWK
+= /^
${RUBY_VENDORARCHLIB
:S|
/|
\\/|g
}/ \
534 { gsub
(/${RUBY_VENDORARCHLIB
:S|
/|
\\/|g
}/, "$${RUBY_VENDORARCHLIB}"); \
536 PRINT_PLIST_AWK
+= /^
${RUBY_VENDORLIB
:S|
/|
\\/|g
}/ \
537 { gsub
(/${RUBY_VENDORLIB
:S|
/|
\\/|g
}/, "$${RUBY_VENDORLIB}"); \
539 PRINT_PLIST_AWK
+= /^
${RUBY_SITEARCHLIB
:S|
/|
\\/|g
}/ \
540 { gsub
(/${RUBY_SITEARCHLIB
:S|
/|
\\/|g
}/, "$${RUBY_SITEARCHLIB}"); \
542 PRINT_PLIST_AWK
+= /^
${RUBY_SITELIB
:S|
/|
\\/|g
}/ \
543 { gsub
(/${RUBY_SITELIB
:S|
/|
\\/|g
}/, "$${RUBY_SITELIB}"); \
545 PRINT_PLIST_AWK
+= /^
${RUBY_SITELIB_BASE
:S|
/|
\\/|g
}/ \
546 { gsub
(/${RUBY_SITELIB_BASE
:S|
/|
\\/|g
}/, "$${RUBY_SITELIB_BASE}"); \
548 PRINT_PLIST_AWK
+= /^
${RUBY_VENDORLIB_BASE
:S|
/|
\\/|g
}/ \
549 { gsub
(/${RUBY_VENDORLIB_BASE
:S|
/|
\\/|g
}/, "$${RUBY_VENDORLIB_BASE}"); \
551 PRINT_PLIST_AWK
+= /^
${RUBY_LIB
:S|
/|
\\/|g
}/ \
552 { gsub
(/${RUBY_LIB
:S|
/|
\\/|g
}/, "$${RUBY_LIB}"); \
554 PRINT_PLIST_AWK
+= /^
${RUBY_DOC
:S|
/|
\\/|g
}/ \
555 { gsub
(/${RUBY_DOC
:S|
/|
\\/|g
}/, "$${RUBY_DOC}"); \
557 PRINT_PLIST_AWK
+= /^
${RUBY_EG
:S|
/|
\\/|g
}/ \
558 { gsub
(/${RUBY_EG
:S|
/|
\\/|g
}/, "$${RUBY_EG}"); \
560 PRINT_PLIST_AWK
+= /^
${RUBY_SITERIDIR
:S|
/|
\\/|g
}/ \
561 { gsub
(/${RUBY_SITERIDIR
:S|
/|
\\/|g
}/, "$${RUBY_SITERIDIR}"); \
563 PRINT_PLIST_AWK
+= /^
${RUBY_SYSRIDIR
:S|
/|
\\/|g
}\
// \
565 PRINT_PLIST_AWK
+= /\
/${RUBY_NAME}/ \
566 { sub
(/${RUBY_NAME}/, "$${RUBY_NAME}"); }
567 PRINT_PLIST_AWK
+= /^
${GEM_HOME
:S|
/|
\\/|g
:S|.|
\\.|g
}/ \
568 { gsub
(/${GEM_HOME
:S|
/|
\\/|g
}/, "$${GEM_HOME}"); }