rvm 0.1.27 → 0.1.29

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/scripts/gemsets CHANGED
@@ -5,7 +5,8 @@ source $rvm_scripts_path/selector
5
5
 
6
6
  if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
7
7
  rvm_ruby_gem_home="${rvm_ruby_gem_home:-$GEM_HOME}"
8
- if [[ ! -d "$rvm_ruby_gem_home" ]] && which gem &> /dev/null ; then rvm_ruby_gem_home="$(gem env home)" ; fi
8
+
9
+ if [[ ! -d "$rvm_ruby_gem_home" ]] && command -v gem > /dev/null 2>&1; then rvm_ruby_gem_home="$(gem env home)" ; fi
9
10
 
10
11
  trap "if [[ -d $rvm_tmp_path/ ]] && [[ -s $rvm_tmp_path/$$ ]] ; then rm -f $rvm_tmp_path/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
11
12
 
@@ -69,12 +70,12 @@ __rvm_gemset_delete() {
69
70
  }
70
71
 
71
72
  __rvm_gemset_empty() {
72
- if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
73
+ if [[ -z "$rvm_ruby_gem_home" ]] ; then __rvm_select ; fi
73
74
  gemdir="$rvm_ruby_gem_home"
74
75
  if [[ -d "$gemdir" ]] && [[ "$gemdir" != '/' ]] && [[ ! -z "$rvm_force_flag" ]] ; then
75
76
  cd $gemdir && rm -rf ./bin/* ./doc/* ./gems/* ./specifications/*
76
77
  elif [[ -d "$gemdir" ]] ; then
77
- $rvm_scripts_path/log "warn" "Are you SURE you wish to remove the installed gemset for gemset '${rvm_gemset_separator}$rvm_gemset_name' ($gemdir)?"
78
+ $rvm_scripts_path/log "warn" "Are you SURE you wish to remove the installed gemset for gemset '$(basename $gemdir)' ($gemdir)?"
78
79
  echo -n "(anything other than 'yes' will cancel) > "
79
80
  read response
80
81
  if [[ "yes" = "$response" ]] ; then
@@ -97,14 +98,14 @@ __rvm_gemset_copy() {
97
98
  if [[ -z "$destination_ruby" ]] ; then
98
99
  $rvm_scripts_path/log "error" "Source and destination must be specified: 'rvm gemset copy X Y'"
99
100
  fi
100
- source_path="$($rvm_bin_path/rvm $source_ruby gem env gemdir | tail -n 1)"
101
- destination_path="$($rvm_bin_path/rvm $destination_ruby gem env gemdir | tail -n 1)"
102
-
101
+ source_path="$(rvm $source_ruby gem env gemdir | tail -n 1)"
102
+ destination_path="$(rvm $destination_ruby gem env gemdir | tail -n 1)"
103
103
  if [[ -d "$source_path" ]] ; then
104
104
  if [[ ! -d "$destination_path" ]] ; then mkdir -p $destination_path ; fi
105
105
  $rvm_scripts_path/log "info" "Copying gemset from $source_ruby to $destination_ruby" ;
106
106
  for dir in bin doc gems specifications ; do
107
- cp -Rf $source_path/$dir $destination_path/
107
+ mkdir -p "$destination_path/$dir"
108
+ cp -Rf "$source_path/$dir" "$destination_path/"
108
109
  done
109
110
  else
110
111
  $rvm_scripts_path/log "error" "Gems directory does not exist for $source_path ($source_path)"
@@ -226,6 +227,7 @@ __rvm_parse_gems_args() {
226
227
  # Install a gem
227
228
  __rvm_gem_install() {
228
229
  # First we parse the gem args to pick apart the pieces.
230
+
229
231
  __rvm_parse_gems_args
230
232
 
231
233
  # Now we determine if a .gem cache file is already installed
@@ -274,16 +276,18 @@ __rvm_gem_install() {
274
276
  if [[ "rvm_make_flags_flag" -eq 1 ]] ; then __rvm_make_flags ; fi
275
277
 
276
278
  if [[ ! -z "$rvm_ruby_gem_home" ]] && [[ "$rvm_ruby_gem_home" != "$rvm_gems_path" ]] ; then
277
- command="GEM_HOME='$rvm_ruby_gem_home' GEM_PATH='$rvm_ruby_gem_home/bin:$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}global/bin' BUNDLE_PATH='${rvm_ruby_gem_home}' ${gem_prefix} gem install --ignore-dependencies $gems_args $rvm_gem_options $gem_postfix $vars"
279
+ #command="GEM_HOME='$rvm_ruby_gem_home' GEM_PATH='$rvm_ruby_gem_home/bin:$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}global/bin' BUNDLE_PATH='${rvm_ruby_gem_home}' ${gem_prefix} gem install --ignore-dependencies $gems_args $rvm_gem_options $gem_postfix $vars"
280
+ command="GEM_HOME='$rvm_ruby_gem_home' GEM_PATH='$rvm_ruby_gem_home/bin:$rvm_gems_path/${rvm_ruby_string}${rvm_gemset_separator}global/bin' BUNDLE_PATH='${rvm_ruby_gem_home}' ${gem_prefix} gem install $gems_args $rvm_gem_options $gem_postfix $vars"
278
281
  else
282
+ #--ignore-dependencies
279
283
  command="$gem_prefix gem install --ignore-dependencies $gems_args $rvm_gem_options -q $gem $gem_postfix $vars"
280
284
  fi
281
- __rvm_run "gem.install" "$command" "$gem_name $gem_version is not installed, installing..."
285
+ __rvm_run "gem.install" "$command" "installing ${gem_name} ${gem_version}..."
282
286
  result=$?
283
287
  if [[ $result -eq 0 ]] ; then
284
- $rvm_scripts_path/log "info" "$gem_name $gem_version installed."
288
+ $rvm_scripts_path/log "info" "$gem_name $gem_version installed, output logged to:\n$rvm_path/log/$rvm_ruby_string/gem.install.log"
285
289
  else
286
- $rvm_scripts_path/log "error" "$gem_name $gem_version failed to install, output has been logged to:\n$rvm_path/log/$rvm_ruby_string/gem.install.error.log"
290
+ $rvm_scripts_path/log "error" "$gem_name $gem_version failed to install, output logged to:\n$rvm_path/log/$rvm_ruby_string/gem.install.error.log"
287
291
  fi
288
292
  fi ; unset gem gem_prefix gem_name gem_version gem_file_name gem_postfix cache_file gem_file_name gem_string gem_action
289
293
 
@@ -307,7 +311,7 @@ __rvm_gemset_gemdir() {
307
311
 
308
312
  unset GEM_PATH
309
313
 
310
- if [[ -z "$(which gem 2>/dev/null)" ]] ; then
314
+ if ! command -v gem > /dev/null ; then
311
315
  $rvm_scripts_path/log "error" "'gem' was not found, cannot perform gem actions (Do you have an RVM ruby selected?)"
312
316
  exit 1
313
317
  fi
data/scripts/initialize CHANGED
@@ -14,6 +14,7 @@ rvm_project_rvmrc_default="${rvm_project_rvmrc_default:-0}"
14
14
  rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
15
15
  rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
16
16
  rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
17
+ rvm_docs_path="${rvm_docs_path:-"$rvm_path/docs"}"
17
18
  rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
18
19
  rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
19
20
  rvm_gems_cache_path="${rvm_gems_cache_path:-"$rvm_gems_path/cache"}"
@@ -25,5 +26,5 @@ rvm_usr_path="${rvm_usr_path:-"$rvm_path/usr"}"
25
26
  rvm_symlink_path="${rvm_symlink_path:-$rvm_prefix/bin}"
26
27
  rvm_gemset_separator="${rvm_gemset_separator:-"@"}"
27
28
 
28
- export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator
29
+ export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator rvm_symlink_path
29
30
 
data/scripts/install CHANGED
@@ -29,7 +29,7 @@ spinner() {
29
29
  index=$((($spinner_counter % 8)))
30
30
  echo -e -n "\r${array[$index]}"
31
31
  let "spinner_counter=spinner_counter+1"
32
- which perl > /dev/null 2>&1 && perl -e 'sleep 0.5'
32
+ command -v perl > /dev/null 2>&1 && perl -e 'sleep 0.5'
33
33
  }
34
34
 
35
35
  if echo "$*" | grep -q 'trace' ; then echo "$*" ; env | grep '^rvm_' ; set -x ; fi
@@ -56,6 +56,7 @@ fi
56
56
  if [[ -z "$rvm_path" ]] ; then rvm_path="${rvm_prefix}rvm" ; fi
57
57
 
58
58
  source scripts/initialize
59
+
59
60
  if grep -q 'scripts/rvm' $HOME/.bash* || grep -q 'scripts/rvm' $HOME/.zsh*; then
60
61
  if [[ -d "$rvm_path" ]] && [[ -s "${rvm_path}/scripts/rvm" ]] ; then
61
62
  export upgrade_flag=1
@@ -102,7 +103,7 @@ fi
102
103
 
103
104
  spinner
104
105
 
105
- mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gems_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path $rvm_symlink_path $HOME/.gem/cache
106
+ mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gems_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path
106
107
 
107
108
  for file in README LICENCE ; do
108
109
  spinner
@@ -112,7 +113,7 @@ done
112
113
  #
113
114
  # Scripts
114
115
  #
115
- for dir_name in config scripts examples lib hooks ; do
116
+ for dir_name in config scripts examples lib hooks help ; do
116
117
  spinner
117
118
  mkdir -p "$rvm_path/$dir_name"
118
119
  if [[ -d "$source_path/$dir_name" ]] ; then
@@ -265,17 +266,28 @@ if [[ "$upgrade_flag" -eq 1 ]] ; then
265
266
  else
266
267
  if [[ "root" != "$(whoami)" ]] ; then
267
268
  echo -e "\n$(tput setaf 1)You must now finish the install manually:$(tput sgr0)"
268
- echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bashrc and then .bash_profile for bash and .zshrc for zsh), after all path/variable settings:"
269
+ echo -e "\n1) Place the folowing line at the end of your shell's loading files(.bashrc or .bash_profile for bash and .zshrc for zsh), after all path/variable settings:"
269
270
  echo -e "\n if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi"
270
271
  echo -e "\n2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly)."
271
- echo -e "\n This means that if you see '[ -z "$PS1" ] && return' then you must remove it and split your .bashrc"
272
- echo -e "\n Put everything *except the return code line(s)* into your .bash_profile, and everything above that code in your .bashrc."
273
- echo -e "\n Be *sure* to REMOVE the '&& return' statement line."
272
+ echo -e "\n This means that if you see '[ -z "$PS1" ] && return' then you must change this line to:"
273
+ echo -e "\n if [[ ! -z "$PS1" ]] ; then"
274
+ echo -e "\n ... original content that was below the && return line ..."
275
+ echo -e "\n fi # <= be sure to close the if."
276
+ echo -e "\n #EOF .bashrc"
277
+ echo -e "\n Be absolutely *sure* to REMOVE the '&& return'."
274
278
  echo -e "\n If you wish to DRY up your config you can 'source ~/.bashrc' at the top of your .bash_profile."
275
- echo -e "\n4) Then $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
279
+ echo -e "\n placing all non-interactive items in the .bashrc"
280
+ echo -e "\n3) Then $(tput setaf 1)CLOSE THIS SHELL$(tput sgr0) and open a new one in order to use rvm.\n"
276
281
  fi
277
282
  if [[ -s $HOME/.bashrc ]] && grep '&& return' $HOME/.bashrc ; then
278
- echo -e "\n\nWARNING: you have a 'return' statement in your .bashrc, likely this will cause untold havoc. Please remove it and refactor your profiles to be correct. If you have questions about this please visit #rvm on irc.freenode.net.\n"
283
+ echo -e "\n\nWARNING: you have a 'return' statement in your .bashrc, likely this will cause untold havoc.
284
+ This means that if you see '[ -z "$PS1" ] && return' then you must change this line to:
285
+ if [[ ! -z "$PS1" ]] ; then
286
+ ... original content that was below the && return line ...
287
+ fi # <= be sure to close the if.
288
+ #EOF .bashrc
289
+
290
+ If you have any questions about this please visit #rvm on irc.freenode.net.\n"
279
291
  fi
280
292
  echo -e "Installation of RVM to $rvm_path/ is complete.\n\n"
281
293
  fi
data/scripts/irbrc.rb CHANGED
@@ -24,10 +24,11 @@ IRB.conf[:PROMPT][:RVM] = @prompt
24
24
  IRB.conf[:PROMPT_MODE] = :RVM
25
25
 
26
26
  # Load the user's irbrc file, if possible.
27
+ # Report any errors that occur.
27
28
  begin
28
29
  load File.join(ENV["HOME"], ".irbrc") if File.exists?("#{ENV["HOME"]}/.irbrc")
30
+ rescue LoadError => load_error
31
+ puts load_error
29
32
  rescue => exception
30
33
  puts "Error : 'load #{ENV["HOME"]}/.irbrc' : #{exception.message}"
31
34
  end
32
-
33
- # EOF
data/scripts/log CHANGED
@@ -6,7 +6,7 @@ if [[ ! -z "$2" ]] ; then level=$1 ; shift ; else level="info" ; fi
6
6
 
7
7
  message=$1
8
8
 
9
- if [[ -z "$rvm_interactive" ]] || [[ -z "$TERM" ]] ; then
9
+ if [[ -z "$rvm_interactive" ]] || [[ -z "$TERM" ]] || [[ "unknown" = "$TERM" ]] ; then
10
10
  case "$level" in
11
11
  debug) shift ; echo -e "<d>$message </d>" ;;
12
12
  info) shift ; echo -e "<i>$message </i>" ;;
data/scripts/manage CHANGED
@@ -32,7 +32,7 @@ __rvm_install_source() {
32
32
  if [[ -d "${rvm_path}/usr" ]] ; then export PATH="${rvm_path}/usr/bin:${PATH}" ; fi
33
33
 
34
34
  if [[ -z "$rvm_ruby_configure" ]] && [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
35
- if which autoconf &> /dev/null ; then
35
+ if command -v autoconf > /dev/null ; then
36
36
  __rvm_run "autoconf" "autoconf" "Running autoconf"
37
37
  else
38
38
  result=$? ; $rvm_scripts_path/log "fail" "rvm requires autoconf to install the selected ruby interpreter however autoconf was not found in the PATH." ; return $result
@@ -141,16 +141,16 @@ __rvm_install_ruby() {
141
141
  __rvm_run "macruby/extract" "sudo /usr/sbin/installer -pkg '$rvm_archives_path/macruby_nightly.pkg' -target '/'"
142
142
  mkdir -p "$rvm_ruby_home/bin"
143
143
  else
144
- macruby_path="/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/bin"
144
+ macruby_path="/Library/Frameworks/MacRuby.framework/Versions/${rvm_ruby_version}/usr/bin"
145
145
  # TODO: Separated nightly from head.
146
- $rvm_scripts_path/log "info" "Retrieving MacRuby 0.5 ..."
146
+ $rvm_scripts_path/log "info" "Retrieving MacRuby ${rvm_ruby_version} ..."
147
147
  $rvm_scripts_path/fetch "$rvm_url"
148
148
  result=$? ; if [[ "$result" -gt 0 ]] ; then
149
149
  $rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
150
150
  fi
151
151
  mkdir -p $rvm_ruby_src_path
152
- unzip -o -j "$rvm_archives_path/$rvm_ruby_package_file" "MacRuby 0.5/MacRuby 0.5.pkg" -d "$rvm_ruby_src_path"
153
- mv "$rvm_ruby_src_path/MacRuby 0.5.pkg" "$rvm_ruby_src_path/$rvm_ruby_string.pkg"
152
+ unzip -o -j "$rvm_archives_path/$rvm_ruby_package_file" "MacRuby ${rvm_ruby_version}/MacRuby ${rvm_ruby_version}.pkg" -d "$rvm_ruby_src_path"
153
+ mv "$rvm_ruby_src_path/MacRuby ${rvm_ruby_version}.pkg" "$rvm_ruby_src_path/$rvm_ruby_string.pkg"
154
154
  __rvm_run "macruby/extract" "sudo /usr/sbin/installer -pkg '$rvm_ruby_src_path/$rvm_ruby_string.pkg' -target '/'"
155
155
  mkdir -p "$rvm_ruby_home/bin"
156
156
  fi
@@ -220,7 +220,8 @@ RubyWrapper
220
220
  rvm_ree_options="${rvm_ree_options} --no-tcmalloc"
221
221
  fi
222
222
 
223
- __rvm_run "install" "./installer -a $rvm_rubies_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level $rvm_ree_options --dont-install-useful-gems $rvm_ruby_configure_flags" "Installing $rvm_ruby_string, this may take a while, depending on your cpu(s)..."
223
+
224
+ __rvm_run "install" "./installer -a $rvm_rubies_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level $rvm_ree_options --dont-install-useful-gems $rvm_ruby_configure_flags --no-dev-docs" "Installing $rvm_ruby_string, this may take a while, depending on your cpu(s)..."
224
225
  result=$? ; if [[ "$result" -gt 0 ]] ; then
225
226
  $rvm_scripts_path/log "error" "There has been an error while trying to run the ree installer. Aborting the installation." ; __rvm_pushpop ; return $result
226
227
  fi
@@ -332,18 +333,7 @@ RubyWrapper
332
333
  for binary_name in "gem" ; do
333
334
  if [[ $binary_name != "gem" ]] ; then prefix="-S " ; else unset prefix; fi
334
335
 
335
- ruby_wrapper=$(cat <<RubyWrapper
336
- #!/usr/bin/env bash
337
-
338
- export GEM_HOME="$rvm_ruby_gem_home"
339
- export GEM_PATH="$rvm_ruby_gem_path"
340
- export BUNDLE_PATH="$rvm_ruby_gem_home"
341
- export MY_RUBY_HOME="$rvm_ruby_home"
342
- export PATH="$rvm_ruby_home/bin:$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:\$PATH"
343
-
344
- exec $rvm_ruby_home/bin/rbx $prefix$binary_name "\$@"
345
- RubyWrapper
346
- )
336
+ ruby_wrapper=$(echo -e "#!/usr/bin/env bash\nexec $rvm_ruby_home/bin/rbx $prefix$binary_name \"\$@\"")
347
337
  for file_name in "$rvm_ruby_home/bin/$binary_name" "$rvm_bin_path/$binary_name-$rvm_ruby_string" ; do
348
338
  rm -f $file_name
349
339
  echo "$ruby_wrapper" > $file_name
@@ -360,7 +350,7 @@ RubyWrapper
360
350
  ;;
361
351
 
362
352
  jruby)
363
- if ! which java &> /dev/null ; then
353
+ if ! command -v java > /dev/null; then
364
354
  echo -e "java must be installed and in your path in order to install JRuby." ; return 1
365
355
  fi
366
356
 
@@ -383,6 +373,7 @@ RubyWrapper
383
373
  __rvm_pushpop
384
374
 
385
375
  if [[ -z "$rvm_ruby_home" ]] || [[ "$rvm_ruby_home" = "/" ]] ; then echo "WTH?!?! rvm_ruby_home == / ??? not removing." ; return 1000000 ; fi
376
+
386
377
  rm -rf $rvm_ruby_home
387
378
  __rvm_run "install" "/bin/cp -Rf $rvm_ruby_src_path $rvm_ruby_home" "Installing JRuby to $rvm_ruby_home"
388
379
 
@@ -392,6 +383,10 @@ RubyWrapper
392
383
  done ; unset binary
393
384
  __rvm_pushpop
394
385
 
386
+ sed -e 's#^JAVA_VM=-client#JAVA_VM=-server#' $rvm_ruby_home/bin/jruby > $rvm_ruby_home/bin/jruby.new &&
387
+ mv $rvm_ruby_home/bin/jruby.new $rvm_ruby_home/bin/jruby
388
+ chmod +x $rvm_ruby_home/bin/jruby
389
+
395
390
  for binary in jrubyc jirb_swing jirb jgem rdoc ri spec autospec testrb ast generate_yaml_index.rb ; do
396
391
  __rvm_inject_gem_env $rvm_ruby_home/bin/$binary
397
392
  done ; unset binary
@@ -497,7 +492,7 @@ RubyWrapper
497
492
  ;;
498
493
 
499
494
  ironruby|ir)
500
- if ! which mono &> /dev/null ; then
495
+ if ! command -v mono > /dev/null ; then
501
496
  echo -e "mono must be installed and in your path in order to install IronRuby." ; return 1
502
497
  fi
503
498
 
@@ -518,46 +513,60 @@ RubyWrapper
518
513
 
519
514
  __rvm_fetch_ruby
520
515
  if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
516
+ builtin cd $rvm_ruby_src_path
517
+
518
+ $rvm_bin_path/rvm 1.8.7 -S gem install pathname2 --no-rdoc --no-ri
519
+
520
+ # MONO_LIB=/Library/Frameworks/Mono.framework/Versions/current/lib/
521
+ rvm_ruby_make="$rvm_bin_path/rvm 1.8.7 -S rake MERLIN_ROOT=\"$rvm_ruby_src_path/Merlin/Main\" compile mono=1 configuration=release --trace"
522
+ __rvm_run "rake" "$rvm_ruby_make" "Building IronRuby..."
523
+ if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
524
+
525
+ rm -rf $rvm_ruby_home/*
526
+ mkdir -p $rvm_ruby_home/bin $rvm_ruby_home/lib $rvm_ruby_home/lib/ruby $rvm_ruby_home/lib/IronRuby
527
+
528
+ cp -r $rvm_ruby_src_path/Merlin/Main/Bin/mono_release/* $rvm_ruby_home/bin/
529
+ cp -r $rvm_ruby_src_path/Merlin/Main/Languages/Ruby/Scripts/bin/* $rvm_ruby_home/bin/
530
+ cp -r $rvm_ruby_src_path/Merlin/External.LCA_RESTRICTED/Languages/Ruby/redist-libs/ruby/* $rvm_ruby_home/lib/ruby
531
+ cp -r $rvm_ruby_src_path/Merlin/Main/Languages/Ruby/Libs/* $rvm_ruby_home/lib/IronRuby
521
532
  else
522
533
  $rvm_scripts_path/log "info" "Retrieving IronRuby"
534
+
523
535
  $rvm_scripts_path/fetch "$rvm_url" "$rvm_ruby_package_file"
524
536
  result=$? ; if [[ "$result" -gt 0 ]] ; then
525
537
  $rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
526
538
  fi
527
539
 
528
- __rvm_run "extract" "tar zxf $rvm_archives_path/$rvm_ruby_package_file -C $rvm_src_path" "Extracting $rvm_ruby_package_file ..."
529
- result=$? ; if [[ "$result" -gt 0 ]] ; then
530
- $rvm_scripts_path/log "error" "There has been an error while trying to extract the source. Aborting the installation." ; __rvm_pushpop ; return $result
540
+ mkdir -p $rvm_ruby_src_path $rvm_ruby_home
541
+ unzip -o -d ${rvm_ruby_src_path} ${rvm_archives_path}/${rvm_ruby_package_file} >> "$rvm_ruby_log_path/extract.log" 2>> "$rvm_ruby_log_path/extract.error.log"
542
+ result=$? ; if [[ "$result" -gt 1 ]] ; then
543
+ $rvm_scripts_path/log "error" "There has been an error while trying to extract $rvm_ruby_package_file. Aborting the installation." ; __rvm_pushpop ; return $result
531
544
  fi
532
545
 
533
- rm -rf $rvm_ruby_src_path
534
- mv $rvm_src_path/$rvm_ruby_package_name $rvm_ruby_src_path
535
-
536
- #mv $rvm_ruby_home/ironruby/* $rvm_ruby_home
537
- #rm -rf $rvm_ruby_home/ironruby
538
- #mv $rvm_ruby_src_path/$rvm_ruby_package_file/* $rvm_ruby_home
539
- #mv $rvm_ruby_home/lib/ironruby $rvm_ruby_home/lib/IronRuby
546
+ for dir in bin lib silverlight ; do
547
+ cp -Rf $rvm_src_path/$rvm_ruby_string/$dir "$rvm_ruby_home/$dir"
548
+ done
540
549
  fi
541
550
 
542
- builtin cd $rvm_ruby_src_path
543
-
544
- $rvm_bin_path/rvm 1.8.7 -S gem install pathname2 --no-rdoc --no-ri
545
-
546
- # MONO_LIB=/Library/Frameworks/Mono.framework/Versions/current/lib/
547
- rvm_ruby_make="$rvm_bin_path/rvm 1.8.7 -S rake MERLIN_ROOT=\"$rvm_ruby_src_path/Merlin/Main\" compile mono=1 configuration=release --trace"
548
- __rvm_run "rake" "$rvm_ruby_make" "Building IronRuby..."
549
- if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
551
+ binaries=(gem irb rdoc rake ri ruby)
552
+ for binary_name in ${binaries[@]} ; do
553
+ if [[ -s $rvm_ruby_home/bin/$binary_name ]] ; then
554
+ cat "$rvm_ruby_home/bin/$binary_name" | tr -d '\r' > "$rvm_ruby_home/bin/$binary_name.new"
555
+ #sed -e '1,1s=.*=#!'"/usr/bin/env ir=" "$rvm_ruby_home/bin/$binary_name" > "$rvm_ruby_home/bin/$binary_name.new"
556
+ mv -f "$rvm_ruby_home/bin/$binary_name.new" "$rvm_ruby_home/bin/$binary_name"
557
+ chmod +x $rvm_ruby_home/bin/$binary_name
558
+ fi
559
+ done
550
560
 
551
- rm -rf $rvm_ruby_home/*
552
- mkdir -p $rvm_ruby_home/bin $rvm_ruby_home/lib $rvm_ruby_home/lib/ruby $rvm_ruby_home/lib/IronRuby
561
+ sed -e '1,1s=.*=#!'"/usr/bin/env bash=" "$rvm_ruby_home/bin/ir" | tr -d '\r' > "$rvm_ruby_home/bin/ir.new"
562
+ mv -f "$rvm_ruby_home/bin/ir.new" "$rvm_ruby_home/bin/ir"
563
+ chmod +x $rvm_ruby_home/bin/ir
564
+ ln -fs $rvm_ruby_home/bin/ir $rvm_ruby_home/bin/ruby
553
565
 
554
- cp -r $rvm_ruby_src_path/Merlin/Main/Bin/mono_release/* $rvm_ruby_home/bin/
555
- cp -r $rvm_ruby_src_path/Merlin/Main/Languages/Ruby/Scripts/bin/* $rvm_ruby_home/bin/
556
- cp -r $rvm_ruby_src_path/Merlin/External.LCA_RESTRICTED/Languages/Ruby/redist-libs/ruby/* $rvm_ruby_home/lib/ruby
557
- cp -r $rvm_ruby_src_path/Merlin/Main/Languages/Ruby/Libs/* $rvm_ruby_home/lib/IronRuby
566
+ __rvm_run "gems.install" "PATH=$rvm_ruby_home/bin:$PATH GEM_HOME=$rvm_ruby_gem_home GEM_PATH=$rvm_ruby_gem_home $rvm_ruby_home/bin/gem install --no-rdoc --no-ri rake $rvm_gem_options" "Installing $rvm_gem_name to $dir"
558
567
 
559
- binaries="gem irb rdoc rake ri ruby"
560
- for binary_name in $(echo $binaries); do
568
+ binaries=() # Don't wrap any longer.
569
+ for binary_name in ${binaries[@]} ; do
561
570
  binary_path=""
562
571
  if [[ "ruby" != "$binary_name" ]] ; then
563
572
  binary_path="$rvm_ruby_home/bin/i$binary_name"
@@ -607,7 +616,7 @@ RubyWrapper
607
616
  fi
608
617
 
609
618
  if [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
610
- if which autoconf &> /dev/null ; then
619
+ if command -v autoconf &> /dev/null ; then
611
620
  __rvm_run "autoconf" "autoconf" "Running autoconf"
612
621
  else
613
622
  $rvm_scripts_path/log "fail" "rvm expects autoconf to install this ruby interpreter, autoconf was not found in PATH. Aborting installation." ; result=$? ; return $result
@@ -669,6 +678,8 @@ RubyWrapper
669
678
 
670
679
  esac
671
680
 
681
+ $rvm_scripts_path/hook "after_install"
682
+
672
683
  if [[ ! -z "$ruby_options" ]] ; then RUBYOPT=$ruby_options ; export RUBYOPT ; fi
673
684
  }
674
685
 
@@ -816,10 +827,12 @@ __rvm_remove_ruby() {
816
827
  else
817
828
  $rvm_scripts_path/log "info" "it seems that $dir/$rvm_ruby_string is already non existent."
818
829
  fi
830
+
819
831
  if [[ -e $rvm_bin_path/$rvm_ruby_string ]] ; then
820
832
  rm -f $rvm_bin_path/$rvm_ruby_string
821
833
  fi
822
- if grep -q "$rvm_ruby_string" "$rvm_config_path/default" ; then
834
+
835
+ if grep -q "$rvm_ruby_string" "$rvm_config_path/default" 2>/dev/null ; then
823
836
  rm -f "$rvm_config_path/default"
824
837
  fi
825
838
  done ; unset dir
@@ -859,7 +872,7 @@ __rvm_post_install() {
859
872
  for dir in $rvm_ruby_global_gems_path $rvm_ruby_gem_home ; do
860
873
  GEM_HOME="$dir" ; GEM_PATH="$dir" ; BUNDLE_PATH="$dir"
861
874
  export GEM_HOME GEM_PATH BUNDLE_PATH
862
- __rvm_run "gems.install" "$rvm_ruby_home/bin/gem install --no-rdoc --no-ri $rvm_gem_name $rvm_gem_options" "Installing $rvm_gem_name"
875
+ __rvm_run "gems.install" "$rvm_ruby_home/bin/gem install --no-rdoc --no-ri $rvm_gem_name $rvm_gem_options" "Installing $rvm_gem_name to $dir"
863
876
 
864
877
  if [[ -x $rvm_ruby_gem_home/bin/$rvm_gem_name ]] ; then
865
878
  if [[ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ]] && [[ ! -x $rvm_ruby_home/bin/$rvm_gem_name ]] ; then
data/scripts/monitor CHANGED
@@ -62,12 +62,11 @@ while : ; do
62
62
  if [[ "spec" = "$framework" ]] ; then
63
63
  rvm_action="spec"
64
64
  rvm_ruby_args="spec/spec_helper.rb ${changed_spec_files[*]}"
65
- __rvm_do
66
-
65
+ $rvm_scripts_path/set $rvm_action $rvm_ruby_args
67
66
  elif [[ "test" = "$framework" ]] ; then
68
67
  rvm_action="ruby"
69
68
  rvm_ruby_args=" -r$(echo "${changed_test_files[*]}" | sed 's/ / -r/g') test/test_helper.rb"
70
- __rvm_do
69
+ $rvm_scripts_path/set $rvm_action $rvm_ruby_args
71
70
  fi
72
71
  update=1
73
72
  fi
@@ -78,11 +77,11 @@ while : ; do
78
77
  if [[ "spec" = "$framework" ]] ; then
79
78
  rvm_action="spec"
80
79
  rvm_ruby_args="spec/"
81
- __rvm_do
80
+ $rvm_scripts_path/set $rvm_action $rvm_ruby_args
82
81
  elif [[ "test" = "$framework" ]] ; then
83
82
  rvm_action="rake"
84
83
  rvm_ruby_args="test"
85
- __rvm_do
84
+ $rvm_scripts_path/set $rvm_action $rvm_ruby_args
86
85
  fi
87
86
  update=1
88
87
  fi
data/scripts/notes CHANGED
@@ -9,37 +9,43 @@ if [[ "Linux" = "$system" ]] ; then
9
9
  done
10
10
  echo -e "\n$(tput setaf 2)Notes for ${system} $release$(tput sgr0)\n"
11
11
 
12
- rvm_apt_get_binary="$(which aptitude 2> /dev/null)"
13
- rvm_emerge_binary="$(which emerge 2> /dev/null)"
14
- rvm_pacman_binary="$(which pacman 2> /dev/null)"
15
- rvm_yum_binary="$(which yum 2> /dev/null)"
12
+ rvm_apt_get_binary="$(command -v aptitude)"
13
+ rvm_emerge_binary="$(command -v emerge)"
14
+ rvm_pacman_binary="$(command -v pacman)"
15
+ rvm_yum_binary="$(command -v yum)"
16
16
 
17
17
  echo -e "\n $item curl is required.\n"
18
18
  echo -e "\n $item patch is required (for ree, some ruby head's).\n"
19
19
  if [[ ! -z "$rvm_apt_get_binary" ]] ; then
20
20
  echo -e " $item For JRuby (if you wish to use it) you will need:"
21
21
  echo -e "\n $ aptitude install curl sun-java6-bin sun-java6-jre sun-java6-jdk"
22
+
22
23
  echo -e "\n $item For MRI & ree (if you wish to use it) you will need:"
23
- echo -e "\n $ aptitude install curl bison build-essential zlib1g-dev libssl-dev libreadline5-dev libxml2-dev git-core"
24
+ echo -e "\n $ aptitude install curl bison build-essential zlib1g zlib1g-dev libssl-dev libreadline5-dev libreadline6-dev libxml2-dev git-core subversion"
25
+
24
26
  echo -e "\n $item For IronRuby (if you wish to use it) you will need:"
25
27
  echo -e "\n $ aptitude install curl mono-2.0-devel"
26
28
 
27
29
  elif [[ ! -z "$rvm_emerge_binary" ]] ; then
28
30
  echo -e " $item For JRuby (if you wish to use it) you will need:"
29
31
  echo -e "\n $ emerge dev-java/sun-jdk dev-java/sun-jre-bin"
32
+
30
33
  echo -e "\n $item For IronRuby (if you wish to use it) you will need:"
31
34
  echo -e "\n $ emerge dev-lang/mono"
32
35
 
33
36
  elif [[ ! -z "$rvm_pacman_binary" ]] ; then
34
37
  echo -e " $item For JRuby (if you wish to use it) you will need:"
35
38
  echo -e "\n $ pacman -Sy jdk jre curl"
39
+
36
40
  echo -e "\n $item For IronRuby (if you wish to use it) you will need:"
37
41
  echo -e "\n $ pacman -Sy mono"
38
42
 
39
43
  elif [[ ! -z "$rvm_yum_binary" ]] ; then
40
44
  echo -e " $item For MRI/ree (if you wish to use it) you will need:"
41
- echo -e "\n $ yum install -y gcc-c++ patch readline readline-devel iconv-devel"
42
- echo -e " $item For JRuby (if you wish to use it) you will need:"
45
+ echo -e "\n $ yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel"
46
+ echo -e "\n $ yum install -y iconv-devel # NOTE: For centos 5.4 final iconv-devel might not be available :("
47
+
48
+ echo -e "\n $item For JRuby (if you wish to use it) you will need:"
43
49
  echo -e "\n $ yum install -y java"
44
50
 
45
51
  else