From 332f413eb397aa78954b91cbfaad94d3f5c53f9f Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 9 Feb 2016 11:19:14 -0800 Subject: [PATCH] [New] expand `xz` support to more versions. Per https://github.com/nodejs/node/pull/4894#issuecomment-175989848 --- nvm.sh | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/nvm.sh b/nvm.sh index 383b0b7..b208b84 100644 --- a/nvm.sh +++ b/nvm.sh @@ -3089,7 +3089,39 @@ nvm_supports_source_options() { } nvm_supports_xz() { - command which xz >/dev/null 2>&1 && nvm_version_greater_than_or_equal_to "$1" "2.3.2" + if [ -z "${1-}" ] || ! command which xz >/dev/null 2>&1; then + return 1 + fi + + # all node versions v4.0.0 and later have xz + if nvm_is_merged_node_version "${1}"; then + return 0 + fi + + # 0.12x: node v0.12.10 and later have xz + if nvm_version_greater_than_or_equal_to "${1}" "0.12.10" \ + && nvm_version_greater "0.13.0" "${1}"; then + return 0 + fi + + # 0.10x: node v0.10.42 and later have xz + if nvm_version_greater_than_or_equal_to "$1" "0.10.42" \ + && nvm_version_greater "0.11.0" "$1"; then + return 0 + fi + + local NVM_OS + NVM_OS="$(nvm_get_os)" + case "${NVM_OS}" in + darwin) + # darwin only has xz for io.js v2.3.2 and later + nvm_version_greater_than_or_equal_to "${1}" "2.3.2" + ;; + *) + nvm_version_greater_than_or_equal_to "${1}" "1.0.0" + ;; + esac + return $? } nvm_auto() {