mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
devenv: Just require Nix v2.4 or newer.
This commit is contained in:
parent
840fb729b2
commit
ed442fa8ae
@ -27,27 +27,17 @@ errcho() {
|
||||
>&2 echo "[dev-env] $*"
|
||||
}
|
||||
|
||||
get_nix_version() {
|
||||
local current
|
||||
current="$(nix-env --version)"
|
||||
if [[ "$current" =~ ([0-9])[.]([0-9]+)([.]([0-9]+))?$ ]]; then
|
||||
echo "${BASH_REMATCH[1]}.${BASH_REMATCH[2]}.${BASH_REMATCH[4]:-0}"
|
||||
else
|
||||
errcho "WARNING: Unexpected output of 'nix-env --version' ($current), dev-env might not work properly."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_nix_version() {
|
||||
# Keep in sync with dade-nix-install.
|
||||
NIX_MAJOR="$1"
|
||||
NIX_MINOR="$2"
|
||||
NIX_PATCH="$3"
|
||||
if current="$(get_nix_version)"; then
|
||||
[[ "$current" =~ ([0-9])[.]([0-9]+)[.]([0-9]+)$ ]]
|
||||
local current
|
||||
current=$(nix-env --version)
|
||||
if [[ $current =~ ([0-9])[.]([0-9]+)([.]([0-9]+))? ]]; then
|
||||
local current_major="${BASH_REMATCH[1]}"
|
||||
local current_minor="${BASH_REMATCH[2]}"
|
||||
local current_patch="${BASH_REMATCH[3]}"
|
||||
local current_patch="${BASH_REMATCH[4]:-0}"
|
||||
if [[ $current_major -lt $NIX_MAJOR ]] ||
|
||||
[[ $current_major -eq $NIX_MAJOR && $current_minor -lt $NIX_MINOR ]] ||
|
||||
[[ $current_major -eq $NIX_MAJOR && $current_minor -eq $NIX_MINOR && $current_patch -lt $NIX_PATCH ]];
|
||||
@ -55,6 +45,8 @@ check_nix_version() {
|
||||
errcho "WARNING: Version ${current_major}.${current_minor}.${current_patch} detected, but ${NIX_MAJOR}.${NIX_MINOR}.${NIX_PATCH} or higher required."
|
||||
errcho "Please run 'nix upgrade-nix' or 'curl -sSfL https://nixos.org/nix/install | sh' to update Nix."
|
||||
fi
|
||||
else
|
||||
errcho "WARNING: Unexpected output of 'nix-env --version' ($current), dev-env might not work properly."
|
||||
fi
|
||||
}
|
||||
|
||||
@ -79,7 +71,7 @@ source "$(dirname "${BASH_SOURCE[0]}")/ensure-nix"
|
||||
# shellcheck source=./ensure-nix
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/ensure-nix"
|
||||
|
||||
: "${DADE_DESIRED_NIX_VERSION:=2 1 3}"
|
||||
: "${DADE_DESIRED_NIX_VERSION:=2 4 0}"
|
||||
check_nix_version $DADE_DESIRED_NIX_VERSION
|
||||
|
||||
# If the user has no channels configured, then NIX_PATH might point
|
||||
@ -107,12 +99,7 @@ source "$(dirname "${BASH_SOURCE[0]}")/ensure-nix"
|
||||
echo "source $(dirname "${BASH_SOURCE[0]}")/ensure-nix"
|
||||
|
||||
# Expose our tools in /dev-env/bin and our version of nixpkgs
|
||||
if [[ "$("${DADE_DEVENV_DIR}/bin/semver" compare "$(get_nix_version)" '2.4.0')" -ge 0 ]]; then
|
||||
echo "export NIX_USER_CONF_FILES=\"${DADE_DEVENV_DIR}/etc/nix.conf:\${NIX_USER_CONF_FILES}:\${XDG_CONFIG_HOME:-\${HOME}/.config}/nix/nix.conf\""
|
||||
else
|
||||
# On an old version of Nix, overwrite the system config, as we can't support multiple config files.
|
||||
echo "export NIX_CONF_DIR=\"${DADE_DEVENV_DIR}/etc\""
|
||||
fi
|
||||
echo "export NIX_USER_CONF_FILES=\"${DADE_DEVENV_DIR}/etc/nix.conf:\${NIX_USER_CONF_FILES}:\${XDG_CONFIG_HOME:-\${HOME}/.config}/nix/nix.conf\""
|
||||
echo "export NIX_PATH=nixpkgs=\"${DADE_NIXPKGS}\""
|
||||
echo "export PATH=\"${DADE_DEVENV_DIR}/bin:\$PATH\""
|
||||
echo "export PYTHONPATH=\".\${PYTHONPATH:+:\$PYTHONPATH}\""
|
||||
|
Loading…
Reference in New Issue
Block a user