rvm 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|