# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2


require github [ user="elixir-lang" tag=v${PV} ]

SUMMARY="Elixir programming language"
HOMEPAGE="http://elixir-lang.org"

LICENCES="Apache-2.0 EPL-1.1"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""

DEPENDENCIES="
    build+run:
        dev-lang/erlang[>=18]
"

DEFAULT_SRC_PREPARE_PATCHES=(
    "${FILES}"/0001-Allow-to-set-BINDIR-for-binaries-and-SHARE_PREFIX-fo.patch
)

DEFAULT_SRC_COMPILE_PARAMS=(
    Q=""
)

DEFAULT_SRC_INSTALL_PARAMS=(
    PREFIX="/usr/$(exhost --target)"
    SHARE_PREFIX="/usr/share"
)

_set_utf8() {
    if [[ $(locale charmap) != UTF-8 ]]; then
        local lang locales="en_US.UTF-8 $(locale -a)"

        for lang in ${locales}; do
            if [[ $(LC_ALL=${lang} locale charmap 2>/dev/null) == UTF-8 ]]; then
                edo export LC_ALL=${lang}
                return 0
            fi
        done

        die_unless_nonfatal "Could not find UTF-8 locale!"
    fi
}

src_prepare() {
    _set_utf8
    default
}

src_compile() {
    # sydbox is broken
    # TODO: figure out why 'rebar' fails here with latest sydbox
    esandbox disable_path
    default
    esandbox enable_path
}