rvm 0.0.5 → 0.0.6
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 +113 -47
- metadata +1 -1
data/bash/rvm
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
rvm_author="Wayne E. Seguin"
|
4
4
|
rvm_author_email="wayneeseguin@gmail.com"
|
5
5
|
rvm_website="http://github.com/wayneeseguin/rvm"
|
6
|
-
rvm_version="0.0.
|
6
|
+
rvm_version="0.0.6"
|
7
7
|
rvm_updated="2009.08.23"
|
8
8
|
|
9
9
|
#
|
@@ -100,12 +100,12 @@ Usage
|
|
100
100
|
}
|
101
101
|
|
102
102
|
# Logging functions based on level
|
103
|
-
function log { echo -e "\n $* \e[0m
|
104
|
-
function debug { log "\e[4;34m <d> $*" ; }
|
105
|
-
function info { log "\e[0;32m <i> $*" ; }
|
106
|
-
function warn { log "\e[0;33m <w> $*" ; }
|
107
|
-
function error { log "\e[0;31m <e> $*" ; }
|
108
|
-
function fail { log "\e[0;31m <e> $*" ; return 1 ; }
|
103
|
+
function log { echo -e "\n $* \e[0m" ; }
|
104
|
+
function debug { log "\e[4;34m <d> \e[0m$*" ; }
|
105
|
+
function info { log "\e[0;32m <i> \e[0m$*" ; }
|
106
|
+
function warn { log "\e[0;33m <w> \e[0m$*" ; }
|
107
|
+
function error { log "\e[0;31m <e> \e[0m$*" ; }
|
108
|
+
function fail { log "\e[0;31m <e> \e[0m$*" ; return 1 ; }
|
109
109
|
|
110
110
|
function rvm-gi { gem install -q --no-rdoc --no-ri $* ; }
|
111
111
|
|
@@ -146,17 +146,33 @@ function rvm-install-source {
|
|
146
146
|
package_name="ruby-$major.$minor-p$level"
|
147
147
|
url="ftp://ftp.ruby-lang.org/pub/ruby/$major/$package_name.tar.gz"
|
148
148
|
|
149
|
-
|
149
|
+
info "Installing Ruby from source to: $install_path/$package_name"
|
150
|
+
mkdir -p $install_path/$package_name
|
151
|
+
|
152
|
+
pushd $source_path > /dev/null
|
150
153
|
if [ -d $package_name ] ; then
|
151
154
|
cd $package_name
|
152
155
|
else
|
153
|
-
if [ ! -f "$package_name.tar.gz" ] ; then
|
154
|
-
|
156
|
+
if [ ! -f "$package_name.tar.gz" ] ; then
|
157
|
+
info "\tDownloading $package_name, this may take a while depending on your connection..."
|
158
|
+
curl -O -L -s $url
|
159
|
+
fi
|
160
|
+
info "\tExtracting $package_name..."
|
161
|
+
tar xzf $package_name.tar.gz && cd $package_dir/
|
155
162
|
fi
|
156
|
-
|
163
|
+
|
164
|
+
info "\tConfiguring $package_name using ${configure-'--enable-shared'}, this may take a while depending on your cpu(s)..."
|
165
|
+
./configure --prefix=$install_path/$package_name ${configure-'--enable-shared'} > $install_path/$package_name/configure.log 2> $install_path/$package_name/configure.error.log
|
166
|
+
|
167
|
+
info "\tCompiling $package_name, this may take a while, depending on your cpu(s)..."
|
168
|
+
make > $install_path/$package_name/make.log 2> $install_path/$package_name/make.error.log
|
169
|
+
|
170
|
+
info "\tInstalling $package_name"
|
171
|
+
make install > $install_path/$package_name/install.log 2> $install_path/$package_name/install.error.log
|
157
172
|
chmod +x $install_path/$package_name/bin/*
|
158
173
|
|
159
174
|
# Now install rubygems for this ruby version.
|
175
|
+
info "\tInstalling rubygems dedicated to $package_name..."
|
160
176
|
gem_package_name="rubygems-1.3.5"
|
161
177
|
gem_url="http://rubyforge.org/frs/download.php/60718/$gem_package_name.tgz"
|
162
178
|
if [ -d $gem_package_name ] ; then
|
@@ -167,8 +183,14 @@ function rvm-install-source {
|
|
167
183
|
fi
|
168
184
|
# Well this is fun... fix nil error on require_paths:
|
169
185
|
sed -i '' "s/require_paths\.join/require_paths.to_a.join/" $source_path/$package_name/$gem_package_name/lib/rubygems/gem_path_searcher.rb
|
170
|
-
$install_path/$package_name/bin/ruby ./setup.rb
|
171
|
-
popd
|
186
|
+
$install_path/$package_name/bin/ruby ./setup.rb > $install_path/$package_name/rubygems.install.log 2> $install_path/$package_name/rubygems.install.error.log
|
187
|
+
popd > /dev/null
|
188
|
+
info "Installation of $package_name complete."
|
189
|
+
|
190
|
+
for gem_name in rake ; do
|
191
|
+
info "Installing $gem_name"
|
192
|
+
$install_path/$package_name/bin/gem install $gem_name --no-rdoc --no-ri -q >> $install_path/$package_name/gems.install.log
|
193
|
+
done
|
172
194
|
|
173
195
|
}
|
174
196
|
|
@@ -181,40 +203,79 @@ function rvm-install-ruby {
|
|
181
203
|
patchlevel=${patchlevel-20090610}
|
182
204
|
package_name="ruby-enterprise-$version-$patchlevel"
|
183
205
|
url="http://rubyforge.org/frs/download.php/58677/$package_name.tar.gz"
|
184
|
-
|
206
|
+
info "Installing Ruby Enterprise Edition from source to: $install_path/$package_name"
|
207
|
+
pushd $source_path > /dev/null
|
185
208
|
if [ -d $package_name ] ; then
|
186
209
|
cd $package_name
|
187
210
|
else
|
188
|
-
if [ ! -f "$package_name.tar.gz" ] ; then
|
189
|
-
|
211
|
+
if [ ! -f "$package_name.tar.gz" ] ; then
|
212
|
+
info "\tDownloading $package_name, this may take a while depending on your connection..."
|
213
|
+
curl -O -L -s $url
|
214
|
+
fi
|
215
|
+
info "\tExtracting $package_name..."
|
216
|
+
tar xzf $package_name.tar.gz && cd $package_name
|
190
217
|
fi
|
191
|
-
|
192
|
-
|
218
|
+
|
219
|
+
info "\tInstalling $package_name, this may take a while, depending on your cpu(s)..."
|
220
|
+
mkdir -p $install_path/$package_name
|
221
|
+
./installer -a $install_path/ruby-enterprise-$version-$patchlevel --dont-install-useful-gems > $install_path/$package_name/install.log 2> $install_path/$package_name/install.error.log
|
193
222
|
chmod +x $install_path/$package_name/bin/*
|
223
|
+
|
224
|
+
info "\tInstalling rubygems dedicated to $package_name..."
|
225
|
+
gem_package_name="rubygems-1.3.5"
|
226
|
+
gem_url="http://rubyforge.org/frs/download.php/60718/$gem_package_name.tgz"
|
227
|
+
if [ -d $gem_package_name ] ; then
|
228
|
+
cd $gem_package_name
|
229
|
+
else
|
230
|
+
if [ ! -f $gem_package_name.tgz ] ; then curl -O -L -s $gem_url ; fi
|
231
|
+
tar zxf $gem_package_name.tgz && cd $gem_package_name
|
232
|
+
fi
|
233
|
+
# Well this is fun... fix nil error on require_paths:
|
234
|
+
sed -i '' "s/require_paths\.join/require_paths.to_a.join/" $source_path/$package_name/$gem_package_name/lib/rubygems/gem_path_searcher.rb
|
235
|
+
$install_path/$package_name/bin/ruby ./setup.rb > $install_path/$package_name/rubygems.install.log 2> $install_path/$package_name/rubygems.install.error.log
|
236
|
+
info "Installation of $package_name complete."
|
237
|
+
popd > /dev/null
|
238
|
+
|
239
|
+
for gem_name in rake ; do
|
240
|
+
info "Installing $gem_name"
|
241
|
+
$install_path/$package_name/bin/gem install $gem_name --no-rdoc --no-ri -q >> $install_path/$package_name/gems.install.log
|
242
|
+
done
|
194
243
|
;;
|
195
244
|
|
196
245
|
jruby)
|
197
246
|
version=${version-1.3.1} # 1.2.0, 1.3.1
|
198
247
|
unset patchlevel # No patchlevel for jRuby
|
199
|
-
|
200
|
-
|
201
|
-
url="http://dist.codehaus.org/$implementation/$version/$
|
202
|
-
|
203
|
-
|
204
|
-
|
248
|
+
zipfile="$implementation-bin-$version"
|
249
|
+
package_name="$implementation-$version"
|
250
|
+
url="http://dist.codehaus.org/$implementation/$version/$zipfile.zip"
|
251
|
+
|
252
|
+
info "Installing jRuby to: $install_path/$package_name"
|
253
|
+
mkdir -p $install_path/$package_name
|
254
|
+
pushd $source_path > /dev/null
|
255
|
+
if [ -d $zipfile ] ; then
|
256
|
+
cd $zipfile
|
205
257
|
else
|
206
|
-
if [ ! -f "$
|
207
|
-
|
258
|
+
if [ ! -f "$zipfile.zip" ] ; then
|
259
|
+
info "\tDownloading $zipfile, this may take a while depending on your connection..."
|
260
|
+
curl -O -L -s $url
|
261
|
+
fi
|
262
|
+
info "\tExtracting $zipfile..."
|
263
|
+
jar xf $zipfile.zip
|
208
264
|
fi
|
209
|
-
|
265
|
+
|
266
|
+
info "\tInstalling $package_name..."
|
267
|
+
mkdir -p $install_path/$package_name/bin/
|
268
|
+
rsync -ag $source_path/$package_name/ $install_path/$package_name/
|
269
|
+
cd $source_path/$package_name/tool/nailgun && make > $install_path/$package_name/install.nailgun.log 2> $install_path/$package_name/install.error.nailgun.log
|
270
|
+
popd > /dev/null
|
271
|
+
chmod +x $install_path/$package_name/bin/*
|
210
272
|
for binary in jruby jgem jirb ; do
|
211
|
-
ln -sf $
|
273
|
+
ln -sf $install_path/$package_name/bin/$binary $install_path/$package_name/bin/${binary#j}
|
274
|
+
done
|
275
|
+
for gem_name in rake jruby-openssl ; do
|
276
|
+
info "Installing $gem_name"
|
277
|
+
$install_path/$package_name/bin/jgem install $gem_name --no-rdoc --no-ri -q >> $install_path/$package_name/gems.install.log
|
212
278
|
done
|
213
|
-
rsync -ag $source_path/$package_dir/ $install_path/$package_dir/
|
214
|
-
cd $source_path/$package_dir/tool/nailgun && make
|
215
|
-
popd
|
216
|
-
chmod +x $install_path/$package_dir/bin/*
|
217
|
-
rvm-gi jruby-openssl
|
218
279
|
;;
|
219
280
|
|
220
281
|
ruby)
|
@@ -228,8 +289,6 @@ function rvm-install-ruby {
|
|
228
289
|
|
229
290
|
esac
|
230
291
|
|
231
|
-
rvm-gi rake
|
232
|
-
|
233
292
|
}
|
234
293
|
|
235
294
|
function rvm-use {
|
@@ -298,14 +357,14 @@ function rvm-use {
|
|
298
357
|
esac
|
299
358
|
|
300
359
|
if [ ! "$implementation" = "default" ] ; then
|
301
|
-
RUBY_VERSION="$($MY_RUBY_HOME/bin/ruby -v | sed 's/^\(.*\) (.*$/\1/')"
|
302
|
-
export GEM_HOME MY_RUBY_HOME RUBY_VERSION
|
303
|
-
|
304
360
|
if [ ! -d $MY_RUBY_HOME ] ; then
|
305
|
-
warn "$implementation $version is not installed
|
361
|
+
warn "$implementation $version is not installed."
|
306
362
|
rvm-install-ruby $implementation $version $level
|
307
363
|
fi
|
308
364
|
|
365
|
+
RUBY_VERSION="$($MY_RUBY_HOME/bin/ruby -v | sed 's/^\(.*\) (.*$/\1/')"
|
366
|
+
export GEM_HOME MY_RUBY_HOME RUBY_VERSION
|
367
|
+
|
309
368
|
# Setup ~/.rvm/current
|
310
369
|
echo "PATH=$MY_RUBY_HOME/bin:$GEM_HOME/bin:\$PATH ; export PATH" > ~/.rvm/current
|
311
370
|
for variable in RUBY_VERSION GEM_HOME MY_RUBY_HOME ; do
|
@@ -323,27 +382,27 @@ function rvm-use {
|
|
323
382
|
elif [ ! -z "$ZSH_VERSION" ] ; then
|
324
383
|
exec zsh -l
|
325
384
|
else
|
326
|
-
fail "Your shell
|
385
|
+
fail "Your shell is not supported bash and zsh are currently supported."
|
327
386
|
fi
|
328
387
|
}
|
329
388
|
|
330
389
|
function rvm-gem-dir {
|
331
390
|
|
332
|
-
case "$implementation" in
|
391
|
+
case "${1-implementation}" in
|
333
392
|
jruby) GEM_HOME="$HOME/.gem/jruby/1.8" ;;
|
334
393
|
ree) GEM_HOME="$HOME/.gem/ruby-enterprise/1.8" ;;
|
335
394
|
ruby)
|
336
|
-
if [ "$version" = "1.8" -o "$version" = "1.8.6" ] ; then
|
395
|
+
if [ "${2-version}" = "1.8" -o "${2-version}" = "1.8.6" ] ; then
|
337
396
|
GEM_HOME="$HOME/.gem/ruby/1.8"
|
338
397
|
|
339
|
-
elif [ "$version" = "1.9.2" ] ; then
|
398
|
+
elif [ "${2-version}" = "1.9.2" ] ; then
|
340
399
|
GEM_HOME="$HOME/.gem/ruby/1.9.2"
|
341
400
|
|
342
|
-
elif [ "$version" = "1.9" -o "$version" = "1.9.1" ] ; then
|
401
|
+
elif [ "${2-version}" = "1.9" -o "${2-version}" = "1.9.1" ] ; then
|
343
402
|
GEM_HOME="$HOME/.gem/ruby/1.9.1"
|
344
403
|
|
345
404
|
else
|
346
|
-
fail "Unknown
|
405
|
+
fail "Unknown Version: ${2-version}"
|
347
406
|
fi
|
348
407
|
;;
|
349
408
|
*)
|
@@ -430,7 +489,7 @@ function rvm-gem-dup {
|
|
430
489
|
|
431
490
|
}
|
432
491
|
|
433
|
-
function rvm-version {
|
492
|
+
function rvm-version { echo "rvm $rvm_version ($rvm_updated) [$rvm_website]" ; }
|
434
493
|
|
435
494
|
function rvm {
|
436
495
|
|
@@ -447,7 +506,14 @@ function rvm {
|
|
447
506
|
implementation="$token" ;;
|
448
507
|
1.8|1.8.6|1.8.7|1.9|1.9.1|1.9.2|1.2.0|1.3.1)
|
449
508
|
version="$token" ;;
|
450
|
-
-v|--version)
|
509
|
+
-v|--version)
|
510
|
+
if [ -z "$1" ] ; then
|
511
|
+
action="version"
|
512
|
+
else
|
513
|
+
version="$1"
|
514
|
+
fi
|
515
|
+
shift
|
516
|
+
;;
|
451
517
|
-l|--level) patchlevel="$1" ; shift ;;
|
452
518
|
-p|--prefix) install_path="$1" ; shift ;;
|
453
519
|
-s|--source) source_path="$1" ; shift ;; # Undocumented / untested "feature"
|