#!/usr/bin/env bash

source "$rvm_scripts_path/functions/pkg"

requirements_opensuse_lib_installed()
{
  rpm -q --whatprovides "$1" >/dev/null || return $?
}

requirements_opensuse_libs_install()
{
  __rvm_try_sudo zypper install -y "$@" || return $?
}

requirements_opensuse_update_system()
{
  __rvm_try_sudo zypper refresh || return $?
}

requirements_opensuse_install_custom()
{
  requirements_rvm_pkg_libs_install "$@" || return $?
}

requirements_opensuse_define()
{
  case "$1" in
    (rvm)
      requirements_check bash curl patch
      ;;
    (jruby*)
      if
        is_head_or_disable_binary "$1"
      then
        requirements_check java-devel git
        if is_jruby_post17 "$1"
        then requirements_check_custom_after mvn=maven
        else requirements_check ant
        fi
      else
        requirements_check java
      fi
      ;;
    (ir*)
      requirements_check mono
      ;;
    (opal)
      requirements_check nodejs
      ;;
    (*-head)
      requirements_check autoconf git
      requirements_opensuse_define "${1%-head}"
      ;;
    (*)
      requirements_check automake binutils bison bzip2 gcc gcc-c++ libtool m4 make patch \
        gdbm-devel glibc-devel libffi-devel libopenssl-devel readline-devel zlib-devel libdb-4_5
      case ${__type} in
        (suse)
          requirements_rvm_pkg_lib_installed_custom yaml
          ;;
        (*)
          requirements_check libyaml-devel
          ;;
      esac
      ;;
  esac
}

requirements_opensuse_after()
{
  case ${__type} in
    (suse)
      requirements_rvm_pkg_configure yaml
      ;;
  esac
}

requirements_suse_before()
{
  __lib_type=opensuse
}
