mirror of
https://github.com/status-im/status-mobile.git
synced 2025-01-10 16:56:31 +00:00
Jakub Sokołowski
0311983751
Due to changes in how Nix handles Git refs we need to specify `refs/tags/` prefix in `package.json` to avoid the following error: ``` fatal: couldn't find remote ref refs/heads/v2.0.3-status-v6 error: program 'git' failed with exit code 128 ``` I also had to rewrite some logic in `nix/scripts/source.sh` in order to take account of single-user and multi-user installations. We default to multi-user for Darwin, but not for any other OS due to discovered issues with `nix-daemon` socket on Arch and open file limits. I also rewrote `nix/scripts/setup.sh` and `/nix/scripts/purge.sh` to support different types of installations. Both single-user and multi-user, as some operating systems have issues with multi-user installations. Resolves: https://github.com/status-im/status-react/issues/12832 Depends on: https://github.com/status-im/status-jenkins-lib/pull/37 Related changes: * https://github.com/status-im/infra-ci/commit/84947b9f * https://github.com/status-im/infra-ci/commit/bb98f5f3 * https://github.com/status-im/infra-ci/commit/f75d524d * https://github.com/status-im/infra-ci/commit/d1fc92cd * https://github.com/status-im/infra-ci/commit/87c4091e * https://github.com/status-im/infra-ci/commit/8d6b6b3f * https://github.com/status-im/infra-ci/commit/c4f13285 * https://github.com/status-im/infra-ci/commit/38ac698d Signed-off-by: Jakub Sokołowski <jakub@status.im>
42 lines
1.1 KiB
Bash
Executable File
42 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# This script makes sure we have Nix tools available
|
|
set -e
|
|
|
|
GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel)
|
|
source "${GIT_ROOT}/nix/scripts/lib.sh"
|
|
source "${GIT_ROOT}/scripts/colors.sh"
|
|
|
|
source_nix_profile() {
|
|
NIX_INSTALL_TYPE=$(nix_install_type)
|
|
if [[ "${NIX_INSTALL_TYPE}" == "multi" ]]; then
|
|
source "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh"
|
|
elif [[ "${NIX_INSTALL_TYPE}" == "single" ]]; then
|
|
source "${HOME}/.nix-profile/etc/profile.d/nix.sh"
|
|
elif [[ "${NIX_INSTALL_TYPE}" == "nixops" ]]; then
|
|
echo "Sourcing profile not necessary on NixOS!" >&2
|
|
fi
|
|
}
|
|
|
|
main() {
|
|
# Just stop if Nix is already available
|
|
if [[ -x $(command -v nix) ]]; then
|
|
return
|
|
fi
|
|
|
|
# Setup Nix if not available
|
|
if [[ ! -d /nix ]]; then
|
|
${GIT_ROOT}/nix/scripts/setup.sh
|
|
fi
|
|
|
|
# Load Nix profile
|
|
source_nix_profile
|
|
|
|
# Verify Nix is available
|
|
if [[ ! -x $(command -v nix) ]]; then
|
|
echo -e "${RED}Nix not available, sourcing profile failed!${RST}" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
main
|