#!/usr/bin/env bash requirements_openbsd_lib_installed() { pkg_info | __rvm_grep "^$1" >/dev/null 2>&1 || return $? } requirements_openbsd_lib_available() { pkg_info -Q "${1%%-[[:digit:]]}" | __rvm_grep "^$1" >/dev/null 2>&1 || return $? } requirements_openbsd_libs_install() { __rvm_try_sudo pkg_add -z "$@" || return $? } requirements_openbsd_install_node() { # plain make is required for sudo __rvm_try_sudo make -C /usr/ports/www/node install clean || return $? } requirements_openbsd_update_system() { [[ -d /usr/ports ]] || { \typeset __url __target __result=0 __url="http://ftp.openbsd.org/pub/OpenBSD/${_system_version}/ports.tar.gz" __target="$( TMPDIR="${rvm_tmp_path}" mktemp ${TMPDIR:-/tmp}/tmp.XXXXXXXXXXXXXXXXXX )" __rvm_curl "${__url}" -o "${__target}" && __rvm_try_sudo tar -C /usr -zxf "${__target}" || __result=$? rm -f "${__target}" return ${__result} } true } requirements_openbsd_define() { case "$1" in (rvm) requirements_check bash curl ;; (jruby*) requirements_check make jdk if is_head_or_disable_binary "$1" then requirements_check git case $( jruby_installation_method "$1" ) in ant) requirements_check apache-ant ;; mvn) requirements_check maven ;; esac fi ;; (ir*) requirements_check mono ;; (opal) requirements_check_custom node ;; (ruby-1.9.3*|ruby-2.0.0*) rvm_error "Beware there is a compilation bug in $1 on OpenBSD, it's fixed in ruby-2.1.0 for more details see https://bugs.ruby-lang.org/issues/7959" return 103 ;; (*-head) # OpenSSL is installed by default http://www.openbsd.org/crypto.html requirements_check gcc-4 automake-1 libtool bison readline-6 libyaml-0 git requirements_check_fallback autoconf-2.69p0 autoconf-2.68 autoconf-2.67 __rvm_update_configure_opt_dir "$1" "/usr/local" ;; (*) # OpenSSL is installed by default http://www.openbsd.org/crypto.html requirements_check gcc-4 autoconf-2 automake-1 libtool bison readline-6 libyaml-0 __rvm_update_configure_opt_dir "$1" "/usr/local" ;; esac } requirements_openbsd_before() { [[ -n "${PKG_PATH:-}" ]] || { export PKG_PATH=http://ftp.openbsd.org/pub/OpenBSD/${_system_version}/packages/$(arch -s)/ rvm_warn "WARNING: \$PKG_PATH was not set, using fallback '$PKG_PATH', see http://www.openbsd.org/ftp.html for list of available mirrors." } }