#!/bin/sh

set -e
set -u

libexec="$(cd "$(dirname "$0")"; pwd)"
top="${libexec}/.."
src="${2:-"${top}/src"}"
version="${1:-$("${libexec}/metadata" node_version)}"

extract() {
    dir="${1}"
    file="${2}"

    platform=$(uname)
    case "${platform}" in
        SunOS)
            TAR="${TAR:-gtar}"
            ;;
        *)
            TAR="${TAR:-tar}"
            ;;
    esac

    "${TAR}" -C "${dir}" -xz -f "${file}"
}

extract "${src}" "${src}/node-v${version}.tar.gz"

cd "${src}/node-v${version}"

patch -p1 < "${top}"/patch/v8-add-missing-typename.patch
patch -p1 < "${top}"/patch/v8-std-is-trivially-destructible.patch
patch -p1 < "${top}"/patch/v8-disable-madv-dontfork.patch
patch -p1 < "${top}"/patch/v8-disable-pkey.patch
