rvm 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bash/rvm +50 -29
- metadata +1 -1
data/bash/rvm
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
rvm_author="Wayne E. Seguin"
|
4
|
-
rvm_version="0.0.
|
4
|
+
rvm_version="0.0.4"
|
5
5
|
rvm_updated="2009.08.23"
|
6
6
|
|
7
7
|
#
|
@@ -26,7 +26,8 @@ function usage {
|
|
26
26
|
info - Show information for current ruby
|
27
27
|
gemdir - Switch to gem directory for installation (new login shell)
|
28
28
|
srcdir - Switch to src directory for the current ruby installation
|
29
|
-
gemdup - Clone source implementation version gems to currently used version
|
29
|
+
gemdup - Clone source implementation version gems to currently used version
|
30
|
+
(expiramental)
|
30
31
|
install - Install a ruby version, default is from source
|
31
32
|
debug - Emit environment and configuration information for debugging
|
32
33
|
|
@@ -63,8 +64,9 @@ function usage {
|
|
63
64
|
$ gem install rvm # Install the rvm gem
|
64
65
|
$ rvm-install # Install rvm, adds source hooks to ~/.bash_profile
|
65
66
|
$ rvm install jruby # Install jRuby, default 1.3.1
|
66
|
-
$ rvm use ruby -v 1.9.1 # Use Ruby 1.9, install first if not installed
|
67
|
-
$ rvm use
|
67
|
+
$ rvm use ruby -v 1.9.1 # Use Ruby 1.9.1, install first if not installed
|
68
|
+
$ rvm use 1.9 # Equivalent to above, due to dof efaults
|
69
|
+
$ rvm use 1.8 # Use Ruby 1.8.6, install first if not installed
|
68
70
|
$ rvm use default # Use the system default (as if no rvm)
|
69
71
|
|
70
72
|
TODO: (in order)
|
@@ -116,13 +118,14 @@ Info
|
|
116
118
|
function ruby-install-source {
|
117
119
|
|
118
120
|
case "${version-$1}" in
|
119
|
-
1.9|1.9.1) major="1.9" ; minor="1" ;
|
120
|
-
1.
|
121
|
-
|
121
|
+
1.9|1.9.1) major="1.9" ; minor="1" ; level="${2-243}" ;;
|
122
|
+
1.9.2) major="1.9" ; minor="2" ; level="review1" ;;
|
123
|
+
1.8|1.8.6) major="1.8" ; minor="6" ; level="${2-369}" ;;
|
124
|
+
1.8.7) major="1.8" ; minor="7" ; level="${2-174}" ;;
|
122
125
|
*) fail "Ruby version '$version' is unknown."
|
123
126
|
esac
|
124
127
|
|
125
|
-
package_name="ruby-$major.$minor-p$
|
128
|
+
package_name="ruby-$major.$minor-p$level"
|
126
129
|
url="ftp://ftp.ruby-lang.org/pub/ruby/$major/$package_name.tar.gz"
|
127
130
|
|
128
131
|
pushd $source_path
|
@@ -134,6 +137,19 @@ function ruby-install-source {
|
|
134
137
|
fi
|
135
138
|
./configure --prefix=$install_path/$package_name ${configure-'--enable-shared'} && make && make install
|
136
139
|
chmod +x $install_path/$package_name/bin/*
|
140
|
+
|
141
|
+
# Now install rubygems for this ruby version.
|
142
|
+
gem_package_name="rubygems-1.3.5"
|
143
|
+
gem_url="http://rubyforge.org/frs/download.php/60718/$gem_package_name.tgz"
|
144
|
+
if [ -d $gem_package_name ] ; then
|
145
|
+
cd $gem_package_name
|
146
|
+
else
|
147
|
+
if [ ! -f $gem_package_name.tgz ] ; then $curl $gem_url ; fi
|
148
|
+
tar zxf $gem_package_name.tgz && cd $gem_package_name
|
149
|
+
fi
|
150
|
+
# Well this is fun... fix nil error on require_paths:
|
151
|
+
sed -i '' "s/require_paths\.join/require_paths.to_a.join/" $source_path/$package_name/$gem_package_name/lib/rubygems/gem_path_searcher.rb
|
152
|
+
$install_path/$package_name/bin/ruby ./setup.rb
|
137
153
|
popd
|
138
154
|
|
139
155
|
}
|
@@ -232,17 +248,21 @@ function ruby-use {
|
|
232
248
|
|
233
249
|
ruby)
|
234
250
|
if [ "$version" = "1.8.6" ] ; then
|
235
|
-
|
236
|
-
MY_RUBY_HOME="$install_path/ruby-1.8.6-p$
|
251
|
+
level="${patchlevel-369}"
|
252
|
+
MY_RUBY_HOME="$install_path/ruby-1.8.6-p$level"
|
237
253
|
GEM_HOME="$HOME/.gem/ruby/1.8"
|
238
254
|
elif [ "$version" = "1.8.7" ] ; then
|
239
|
-
|
240
|
-
MY_RUBY_HOME="$install_path/ruby-1.8.7-p$
|
255
|
+
level="${patchlevel-174}"
|
256
|
+
MY_RUBY_HOME="$install_path/ruby-1.8.7-p$level"
|
241
257
|
GEM_HOME="$HOME/.gem/ruby/1.8"
|
242
258
|
elif [ "$version" = "1.9.1" -o "$version" = "1.9" ] ; then
|
243
|
-
|
244
|
-
MY_RUBY_HOME="$install_path/ruby-1.9.1-p$
|
245
|
-
GEM_HOME="$HOME/.gem/ruby/1.9
|
259
|
+
level="${patchlevel-243}"
|
260
|
+
MY_RUBY_HOME="$install_path/ruby-1.9.1-p$level"
|
261
|
+
GEM_HOME="$HOME/.gem/ruby/1.9"
|
262
|
+
elif [ "$version" = "1.9.2" ] ; then
|
263
|
+
level="${patchlevel-review1}"
|
264
|
+
MY_RUBY_HOME="$install_path/ruby-1.9.2-p$level"
|
265
|
+
GEM_HOME="$HOME/.gem/ruby/1.9"
|
246
266
|
else
|
247
267
|
fail "Unknown ruby version: $version"
|
248
268
|
fi
|
@@ -259,7 +279,7 @@ function ruby-use {
|
|
259
279
|
|
260
280
|
if [ ! -d $MY_RUBY_HOME ] ; then
|
261
281
|
warn "$implementation $version is not installed, installing."
|
262
|
-
ruby-install $implementation $version $
|
282
|
+
ruby-install $implementation $version $level
|
263
283
|
fi
|
264
284
|
|
265
285
|
# Setup ~/.rvm/current
|
@@ -284,12 +304,10 @@ function ruby-gem-dir {
|
|
284
304
|
jruby) GEM_HOME="$HOME/.gem/jruby/1.8" ;;
|
285
305
|
ree) GEM_HOME="$HOME/.gem/ruby-enterprise/1.8" ;;
|
286
306
|
ruby)
|
287
|
-
if [ "$version" = "1.8
|
307
|
+
if [ "${version%\.*}" = "1.8" ] ; then
|
288
308
|
GEM_HOME="$HOME/.gem/ruby/1.8"
|
289
|
-
elif [ "$version" = "1.
|
290
|
-
GEM_HOME="$HOME/.gem/ruby/1.
|
291
|
-
elif [ "$version" = "1.9.1" -o "$version" = "1.9" ] ; then
|
292
|
-
GEM_HOME="$HOME/.gem/ruby/1.9.1"
|
309
|
+
elif [ "${version%\.*}" = "1.9" ] ; then
|
310
|
+
GEM_HOME="$HOME/.gem/ruby/1.9"
|
293
311
|
else
|
294
312
|
fail "Unknown ruby version: $version"
|
295
313
|
fi
|
@@ -330,14 +348,17 @@ function ruby-src-dir {
|
|
330
348
|
|
331
349
|
ruby)
|
332
350
|
if [ "$version" = "1.8.6" -o "$version" = "1.8" ] ; then
|
333
|
-
|
334
|
-
src_dir="$source_path/ruby-1.8.6-p$
|
351
|
+
level="${patchlevel-369}"
|
352
|
+
src_dir="$source_path/ruby-1.8.6-p$level"
|
335
353
|
elif [ "$version" = "1.8.7" ] ; then
|
336
|
-
|
337
|
-
src_dir="$source_path/ruby-1.8.7-p$
|
354
|
+
level="${patchlevel-174}"
|
355
|
+
src_dir="$source_path/ruby-1.8.7-p$level"
|
338
356
|
elif [ "$version" = "1.9.1" -o "$version" = "1.9" ] ; then
|
339
|
-
|
340
|
-
src_dir="$source_path/ruby-1.9.1-p$
|
357
|
+
level="${patchlevel-243}"
|
358
|
+
src_dir="$source_path/ruby-1.9.1-p$level"
|
359
|
+
elif [ "$version" = "1.9.2" ] ; then
|
360
|
+
level="${patchlevel-review1}"
|
361
|
+
src_dir="$source_path/ruby-1.9.2-p$level"
|
341
362
|
else
|
342
363
|
fail "Unknown ruby version: $version"
|
343
364
|
fi
|
@@ -391,7 +412,7 @@ function rvm {
|
|
391
412
|
action=$token ;;
|
392
413
|
ruby|jruby|ree|default|all)
|
393
414
|
implementation="$token" ;;
|
394
|
-
1.8|1.9|1.8.6|1.8.7|1.9.1|1.2.0|1.3.1)
|
415
|
+
1.8|1.9|1.8.6|1.8.7|1.9.1|1.9.2|1.2.0|1.3.1)
|
395
416
|
version="$token" ;;
|
396
417
|
-v|--version) version="$1" ; shift ;;
|
397
418
|
-l|--level) patchlevel="$1" ; shift ;;
|
@@ -430,7 +451,7 @@ function rvm {
|
|
430
451
|
if [ "$implementation" = "all" ] ; then
|
431
452
|
for implementation in ruby jruby ree ; do
|
432
453
|
if [ "$implementation" = "ruby" ] ; then
|
433
|
-
for version in 1.8.6 1.8.7 1.9.1 ; do
|
454
|
+
for version in 1.8.6 1.8.7 1.9.1 1.9.2 ; do
|
434
455
|
ruby-install $implementation $version $patchlevel
|
435
456
|
done
|
436
457
|
else
|