12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #!/usr/bin/env bash
- opal_install()
- {
- rvm_log "Running Opal prereqs checking script."
- __rvm_which node > /dev/null &&
- __rvm_which npm > /dev/null ||
- {
- result=$?
- rvm_error "Prerequisite checks have failed - can not find 'node' and/or 'npm' commands.
- Halting the installation."
- return $result
- }
- __rvm_log_command "prepare_directories" \
- "Preparing directories for opal" \
- opal_install_prepare_directories
- __rvm_cd "${rvm_ruby_home}"
- system="${_system_type}"
- arch="$(file "$( __rvm_which node)" )"
- arch="$(echo "${arch##* }" )"
- if
- node_binary="$(
- __rvm_which opal-node 2>/dev/null ||
- npm explore opal -- which bin/opal-node 2>/dev/null
- )"
- then
- rvm_log "Found opal-node at $node_binary"
- else
- __rvm_log_command "npm.install.opal" \
- "Installing opal-node globally" \
- npm install -g opal ||
- return $result
- node_binary="$(
- npm explore opal -- which bin/opal-node 2>/dev/null
- )"
- fi
- __rvm_log_command "install" \
- "Installing opal to $rvm_ruby_home" \
- opal_install_files
- }
- opal_install_prepare_directories()
- {
- __rvm_rm_rf "$rvm_ruby_home" &&
- \command \mkdir -vp "${rvm_ruby_home}/bin/" &&
- \command \mkdir -vp "$rvm_ruby_gem_home/bin" &&
- \command \mkdir -vp "$rvm_ruby_global_gems_path/bin" ||
- return $?
- }
- opal_install_files()
- {
- __rvm_cd "$rvm_ruby_home/bin/"
- ln -fs "$node_binary" "ruby"
- cat <<-FAKE_GEM > gem
- #!/usr/bin/env bash
- echo "OPAL FAKE GEM COMMAND: $@"
- exit 127
- FAKE_GEM
- chmod +x ruby gem
- cat <<-FAKE_CONFIG > "$rvm_ruby_home/config"
- target_cpu=$arch
- FAKE_CONFIG
- }
|