From 50a14ed09c7a3c59c8b02d85765cb3359920b6b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Soko=C5=82owski?= Date: Wed, 5 Jan 2022 14:32:02 +0100 Subject: [PATCH] ci: upgrade Nix from 2.3.12 to 2.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Resolves: https://github.com/status-im/status-react/issues/12832 Issue: https://github.com/NixOS/nix/issues/5291 Signed-off-by: Jakub SokoĊ‚owski --- ci/Jenkinsfile.android | 4 +- ci/Jenkinsfile.combined | 2 +- ci/Jenkinsfile.ios | 4 +- ci/Jenkinsfile.nix-cache | 2 +- ci/tools/Jenkinsfile.fastlane-clean | 2 +- ci/tools/Jenkinsfile.playstore-meta | 2 +- nix/KNOWN_ISSUES.md | 37 ++++--------- nix/scripts/build.sh | 6 +-- nix/scripts/clean.sh | 18 +++---- nix/scripts/lib.sh | 29 ++++++++++ nix/scripts/node_modules.sh | 10 ++-- nix/scripts/purge.sh | 82 ++++++++++++++++++++++++----- nix/scripts/setup.sh | 78 +++++++++++++++++---------- nix/scripts/source.sh | 52 ++++++++++-------- package.json | 26 ++++----- yarn.lock | 22 ++++---- 16 files changed, 238 insertions(+), 138 deletions(-) create mode 100755 nix/scripts/lib.sh diff --git a/ci/Jenkinsfile.android b/ci/Jenkinsfile.android index 313f0d533974..db0a023ae773 100644 --- a/ci/Jenkinsfile.android +++ b/ci/Jenkinsfile.android @@ -1,7 +1,7 @@ -library 'status-jenkins-lib@v1.3.3' +library 'status-jenkins-lib@fix/nix-profile' pipeline { - agent { label 'linux && x86_64 && nix-2.3' } + agent { label 'linux && x86_64 && nix-2.5' } options { timestamps() diff --git a/ci/Jenkinsfile.combined b/ci/Jenkinsfile.combined index 76324e679e80..d691bddbf7b0 100644 --- a/ci/Jenkinsfile.combined +++ b/ci/Jenkinsfile.combined @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.3.3' +library 'status-jenkins-lib@fix/nix-profile' pipeline { agent { label 'linux' } diff --git a/ci/Jenkinsfile.ios b/ci/Jenkinsfile.ios index fbc669c31125..55df8e1bf84c 100644 --- a/ci/Jenkinsfile.ios +++ b/ci/Jenkinsfile.ios @@ -1,7 +1,7 @@ -library 'status-jenkins-lib@v1.3.3' +library 'status-jenkins-lib@fix/nix-profile' pipeline { - agent { label 'macos && x86_64 && nix-2.3 && xcode-12.5' } + agent { label 'macos && x86_64 && nix-2.5 && xcode-12.5' } parameters { string( diff --git a/ci/Jenkinsfile.nix-cache b/ci/Jenkinsfile.nix-cache index 8f90de3241d9..c9ac2f114d27 100644 --- a/ci/Jenkinsfile.nix-cache +++ b/ci/Jenkinsfile.nix-cache @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.3.3' +library 'status-jenkins-lib@fix/nix-profile' pipeline { agent { label params.AGENT_LABEL } diff --git a/ci/tools/Jenkinsfile.fastlane-clean b/ci/tools/Jenkinsfile.fastlane-clean index 968a4c593328..f4714a174085 100644 --- a/ci/tools/Jenkinsfile.fastlane-clean +++ b/ci/tools/Jenkinsfile.fastlane-clean @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.3.3' +library 'status-jenkins-lib@fix/nix-profile' pipeline { agent { label 'macos' } diff --git a/ci/tools/Jenkinsfile.playstore-meta b/ci/tools/Jenkinsfile.playstore-meta index 13e8f11cc9cb..5b5519e160f4 100644 --- a/ci/tools/Jenkinsfile.playstore-meta +++ b/ci/tools/Jenkinsfile.playstore-meta @@ -1,4 +1,4 @@ -library 'status-jenkins-lib@v1.3.3' +library 'status-jenkins-lib@fix/nix-profile' pipeline { agent { label 'linux' } diff --git a/nix/KNOWN_ISSUES.md b/nix/KNOWN_ISSUES.md index 87867265692d..bc3a8d919d13 100644 --- a/nix/KNOWN_ISSUES.md +++ b/nix/KNOWN_ISSUES.md @@ -1,35 +1,20 @@ # Known Issues -## MacOS 10.15 "Catalina" +## Too many open files -There is an unsolved issue with the root(`/`) file system in `10.15` being read-only: -https://github.com/NixOS/nix/issues/2925 - -Our current recommended workaround is putting `/nix` under `/opt/nix` and symlinking it via `/etc/synthetic.conf`: - -```bash -sudo mkdir /opt/nix -sudo chown ${USER} /opt/nix -sudo sh -c "echo 'nix\t/opt/nix' >> /etc/synthetic.conf" -reboot +Nix can open a lot of files when fetching things for `/nix/store` which can cause ``` - -After the system reboots you should see the `/nix` symlink in place: - -```bash - % ls -l /nix -lrwxr-xr-x 1 root wheel 8 Oct 11 13:53 /nix -> /opt/nix +Too many open files" ``` - -In order to be able to use Nix with a symlinked `/nix` you need to include this in your shell: - -```bash -export NIX_IGNORE_SYMLINK_STORE=1 +The temporary way to fix this is set a new limit for current session using `ulimit`: +```sh +ulimit -n 65536 ``` - -Add it to your `.bashrc` or any other shell config file. - -__NOTE__: Your old `/nix` directory will end up in `/Users/Shared/Relocated Items/Security/nix` after OS upgrade. +To increase limit permanently system-wide edit `/etc/sysctl.conf`: +``` +fs.file-max = 65536 +``` +And use `sudo sysctl --system` to load these new settings. ## Cache Downloads Timing Out diff --git a/nix/scripts/build.sh b/nix/scripts/build.sh index a3fe8d7bab0d..628a8a55abcb 100755 --- a/nix/scripts/build.sh +++ b/nix/scripts/build.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash - +# This script is a wrapper around nix-build with some niceties. set -e GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel) @@ -8,7 +8,7 @@ source "${GIT_ROOT}/scripts/colors.sh" source "${GIT_ROOT}/nix/scripts/source.sh" # cleanup for artifacts created during builds -function cleanup() { +cleanup() { # clear trapped signals trap - EXIT ERR INT QUIT # do the actual cleanup, ignore failure @@ -29,7 +29,7 @@ if [[ -n "${_NIX_CLEAN}" ]]; then fi # build output will end up under /nix, we have to extract it -function extractResults() { +extractResults() { local nixResultPath="$1" mkdir -p "${resultPath}" cp -vfr ${nixResultPath}/* "${resultPath}" | sed 's#'${PWD}'#.#' diff --git a/nix/scripts/clean.sh b/nix/scripts/clean.sh index 9a087fcc0d99..da953e47bc13 100755 --- a/nix/scripts/clean.sh +++ b/nix/scripts/clean.sh @@ -5,16 +5,16 @@ set -e GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel) source "${GIT_ROOT}/nix/scripts/source.sh" -function log() { echo "$@" 1>&2; } +log() { echo "$@" 1>&2; } # helpers for getting related paths in Nix store -function getSources() { nix-store --query --binding src "${1}"; } -function getOutputs() { nix-store --query --outputs "${1}"; } -function getDrvFiles() { nix-store --query --deriver "${1}"; } -function getReferrers() { nix-store --query --referrers "${1}"; } -function getRoots() { nix-store --query --roots "${1}"; } +getSources() { nix-store --query --binding src "${1}"; } +getOutputs() { nix-store --query --outputs "${1}"; } +getDrvFiles() { nix-store --query --deriver "${1}"; } +getReferrers() { nix-store --query --referrers "${1}"; } +getRoots() { nix-store --query --roots "${1}"; } -function findRelated() { +findRelated() { path="${1}" found+=("${path}") if [[ "${path}" =~ .*.chroot ]]; then @@ -51,7 +51,7 @@ function findRelated() { } # used to find things to delete based on a regex -function findByRegex() { +findByRegex() { regex="${1}" log "Searching by regex: '${regex}'" @@ -70,7 +70,7 @@ function findByRegex() { } # used to find things to delete based on a given path -function findByResult() { +findByResult() { mainPath="${1}" log "Searching by result: '${mainPath}'" diff --git a/nix/scripts/lib.sh b/nix/scripts/lib.sh new file mode 100755 index 000000000000..c41ee1347e34 --- /dev/null +++ b/nix/scripts/lib.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# Checking group ownership to identify installation type. +file_group() { + UNAME=$(uname -s) + if [[ "${UNAME}" == "Linux" ]]; then + stat -Lc "%G" "${1}" 2>/dev/null + elif [[ "${UNAME}" == "Darwin" ]]; then + stat -Lf "%Sg" "${1}" 2>/dev/null + fi +} + +nix_install_type() { + source /etc/os-release 2>/dev/null + NIX_STORE_DIR_GROUP=$(file_group /nix/store) + if [[ "${NAME}" =~ NixOS ]]; then + echo "nixos" + elif [[ "${NIX_STORE_DIR_GROUP}" == "nixbld" ]]; then + echo "multi" + elif [[ "${NIX_STORE_DIR_GROUP}" == "${USER}" ]]; then + echo "single" + elif [[ "${NIX_STORE_DIR_GROUP}" == "" ]]; then + echo "No Nix installtion detected!" >&2 + echo "none" + else + echo "Unknown Nix installtion type!" >&2 + exit 1 + fi +} diff --git a/nix/scripts/node_modules.sh b/nix/scripts/node_modules.sh index 61ea8d15ef87..7111bde273ac 100755 --- a/nix/scripts/node_modules.sh +++ b/nix/scripts/node_modules.sh @@ -23,13 +23,13 @@ source "${GIT_ROOT}/scripts/colors.sh" # More concise output from 'time' export TIMEFORMAT="Done in: %Es" -function removeDir() { +removeDir() { [[ ! -d "${tmp}" ]] && return chmod -R u+w "${tmp}" rm -rf "${tmp}" } -function copyNodeModules() { +copyNodeModules() { local src="${1}" local dst="${2}" # WARNING: The ../ is there to avoid a Nix builtins.path bug: @@ -51,7 +51,7 @@ function copyNodeModules() { # Find files that were modified and should cause a re-copying of node modules. # Some files are generated/modified by build processes and should be ignored. -function findFilesNewerThan() { +findFilesNewerThan() { local sentinel="${1}" local dir="${2}" find ${dir} -type f -writable \ @@ -63,7 +63,7 @@ function findFilesNewerThan() { -print } -function nodeModulesUnchanged() { +nodeModulesUnchanged() { local src="$1" local dst="$2" local sentinelFile="${dst}/.copied~" @@ -98,7 +98,7 @@ function nodeModulesUnchanged() { return 0 } -function replaceNodeModules() { +replaceNodeModules() { local src="$1" local dst="$2" local sentinelFile="${dst}/.copied~" diff --git a/nix/scripts/purge.sh b/nix/scripts/purge.sh index a4f62494d3d3..20ea3d9b74a5 100755 --- a/nix/scripts/purge.sh +++ b/nix/scripts/purge.sh @@ -1,24 +1,80 @@ #!/usr/bin/env bash - -set -e +# This script removes all Nix files. GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel) +source "${GIT_ROOT}/nix/scripts/lib.sh" source "${GIT_ROOT}/scripts/colors.sh" -# Purging /nix on NixOS would be disasterous -if [[ -f "/etc/os-release" ]]; then - OS_NAME=$(awk -F= '/^NAME/{print $2}' /etc/os-release) - if [[ "$OS_NAME" == "NixOS" ]]; then - echo -e "${RED}You should not purge Nix files on NixOS!${RST}" >&2 - exit +nix_purge_multi_user() { + sudo systemctl stop nix-daemon.socket + sudo systemctl stop nix-daemon.service + sudo systemctl disable nix-daemon.socket + sudo systemctl disable nix-daemon.service + sudo systemctl daemon-reload + sudo rm -fr /etc/nix + sudo rm -f /etc/profile.d/nix.sh* + # Remove nix build users and groups + for NIX_USER in $(awk -F: '/nixbld/{print $1}' /etc/passwd); do + sudo userdel "${NIX_USER}" + done + sudo groupdel nixbld + # Restore old shell profiles + NIX_PROFILE_FILES=( + /etc/bash.bashrc /etc/bashrc /etc/bash/bashrc + /etc/zsh.zshhrc /etc/zshrc /etc/zsh/zshrc + ) + for NIX_FILE in "${NIX_PROFILE_FILES[@]}"; do + if [[ -f "${NIX_FILE}.backup-before-nix" ]]; then + sudo mv -f "${NIX_FILE}.backup-before-nix" "${NIX_FILE}" + fi + done +} + +nix_purge_user_profile() { + sudo rm -rf \ + ~/.nix-* \ + ~/.cache/nix \ + ~/.config/nixpkgs \ + ${GIT_ROOT}/.nix-gcroots \ +} + +nix_purge_root() { + NIX_ROOT="/nix" + if [[ $(uname -s) == "Darwin" ]]; then + # Special case due to read-only root on MacOS Catalina + NIX_ROOT="/opt/nix" fi + if [[ -z "${NIX_ROOT}" ]]; then + echo -e "${RED}Unable to identify Nix root!${RST}" >&2 + exit 1 + fi + sudo rm -fr "${NIX_ROOT}" +} + +NIX_INSTALL_TYPE=$(nix_install_type) + +if [[ "${1}" == "--force" ]] && [[ "${NIX_INSTALL_TYPE}" != "nixops" ]]; then + echo -e "${YLW}Purge forced, no checks performed!${RST}" >&2 + nix_purge_multi_user + nix_purge_user_profile + nix_purge_root + exit fi -NIX_ROOT="/nix" -if [[ $(uname -s) == "Darwin" ]]; then - # Special case due to read-only root on MacOS Catalina - NIX_ROOT="/opt/nix" +# Purging /nix on NixOS would be disasterous +if [[ "${NIX_INSTALL_TYPE}" == "nixops" ]]; then + echo -e "${RED}You should not purge Nix files on NixOS!${RST}" >&2 + exit +elif [[ "${NIX_INSTALL_TYPE}" == "none" ]]; then + echo -e "${YLW}Nothing to remove, Nix not installed.${RST}" >&2 + exit +elif [[ "${NIX_INSTALL_TYPE}" == "multi" ]]; then + echo -e "${YLW}Detected multi-user Nix installation.${RST}" >&2 + nix_purge_multi_user +elif [[ "${NIX_INSTALL_TYPE}" == "single" ]]; then + echo -e "${YLW}Detected single-user Nix installation.${RST}" >&2 + nix_purge_user_profile fi +nix_purge_root -sudo rm -rf ${NIX_ROOT}/* ~/.nix-profile ~/.nix-defexpr ~/.nix-channels ~/.cache/nix ~/.status .nix-gcroots echo -e "${GRN}Purged all Nix files from your system.${RST}" >&2 diff --git a/nix/scripts/setup.sh b/nix/scripts/setup.sh index cc747b36f196..8611fad80a60 100755 --- a/nix/scripts/setup.sh +++ b/nix/scripts/setup.sh @@ -1,51 +1,73 @@ #!/usr/bin/env bash +# This script installs a specific version of Nix. +set -eo pipefail GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel) source "${GIT_ROOT}/scripts/colors.sh" -NIX_VERSION="2.3.12" +NIX_VERSION="2.5.1" NIX_INSTALL_URL="https://nixos.org/releases/nix/nix-${NIX_VERSION}/install" -NIX_INSTALL_SHA256="468a49a1cef293d59508bb3b62625dfcd99ec00334a14309f125cf8de513d5f1" +NIX_INSTALL_SHA256="e265dfd8e80223633a9726009b42c534ac3d5f2b6da5ad6432ca1f6ea88206d0" NIX_INSTALL_PATH="/tmp/nix-install-${NIX_VERSION}" -function install_nix() { - # Don't break people's profiles - export NIX_INSTALLER_NO_MODIFY_PROFILE=1 - # Fix for installing on MacOS Catalina - export NIX_IGNORE_SYMLINK_STORE=1 - # Download installer and verify SHA256 - curl -s "${NIX_INSTALL_URL}" -o "${NIX_INSTALL_PATH}" - echo "${NIX_INSTALL_SHA256} ${NIX_INSTALL_PATH}" | sha256sum -c - chmod +x "${NIX_INSTALL_PATH}" - # Run the installer - "${NIX_INSTALL_PATH}" --no-daemon - if [ $? -eq 0 ]; then - echo -e "${GRN}The Nix package manager was successfully installed.${RST}" - else - echo -e "${RED}Failed to install Nix package manager!${RST}" >&2 - echo "Please see: https://nixos.org/nix/manual/#chap-installation" >&2 - exit 1 - fi +install_nix() { + # Download installer and verify SHA256> + curl -s "${NIX_INSTALL_URL}" -o "${NIX_INSTALL_PATH}" + echo "${NIX_INSTALL_SHA256} ${NIX_INSTALL_PATH}" | sha256sum -c + chmod +x "${NIX_INSTALL_PATH}" + + # Identify installation type. + if [[ -z "${NIX_INSTALL_OPTS}" ]]; then + if [[ "$(uname -r)" =~ microsoft ]]; then + # Systemd is not started by default on WSL. + NIX_INSTALL_OPTS="--no-daemon" + elif [[ "$(uname -s)" == "Darwin" ]]; then + NIX_INSTALL_OPTS="--daemon" + elif [[ "$(uname -s)" == "Linux" ]]; then + # Multi-user can only work with Systemd. + if [[ -x "$(command -v systemctl)" ]]; then + NIX_INSTALL_OPTS="--daemon" + else + NIX_INSTALL_OPTS="--no-daemon" + fi + fi + fi + + # Run the installer + "${NIX_INSTALL_PATH}" "${NIX_INSTALL_OPTS}" + if [[ $? -eq 0 ]]; then + echo -e "${GRN}The Nix package manager was successfully installed.${RST}" + else + echo -e "${RED}Failed to install Nix package manager!${RST}" >&2 + echo "Please see: https://nixos.org/nix/manual/#chap-installation" >&2 + exit 1 + fi } +if [[ ! -x "$(command -v sha256sum)" ]]; then + echo -e "${RED}The 'sha256sum' utility is required for Nix installation.${RST}" >&2 + echo -e "${YLW}Install 'coreutils' package on your system.${RST}" >&2 + exit 1 +fi + if [[ ! -x "$(command -v curl)" ]]; then - echo -e "${RED}The 'curl' utility is required for Nix installation.${RST}" >&2 - exit 1 + echo -e "${RED}The 'curl' utility is required for Nix installation.${RST}" >&2 + exit 1 fi if [[ "$(source /etc/os-release 2>/dev/null && echo "${NAME}")" == *NixOS* ]]; then - echo -e "${GRN}Already running NixOS.${RST}" - exit + echo -e "${GRN}Already running NixOS.${RST}" + exit fi if [[ -x "$(command -v nix)" ]]; then - echo -e "${GRN}Nix package manager already installed.${RST}" - exit + echo -e "${GRN}Nix package manager already installed.${RST}" + exit fi if [[ "${IN_NIX_SHELL}" == 'pure' ]]; then - echo -e "${GRN}Already in a pure Nix shell.${RST}" - exit + echo -e "${GRN}Already in a pure Nix shell.${RST}" + exit fi # If none of the checks before succeeded we need to install Nix diff --git a/nix/scripts/source.sh b/nix/scripts/source.sh index dc53b4afa723..a70f9a2c2876 100755 --- a/nix/scripts/source.sh +++ b/nix/scripts/source.sh @@ -1,33 +1,41 @@ #!/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 +} -# Location of profile script for Nix that adjusts PATH -export NIX_PROFILE_SH="${HOME}/.nix-profile/etc/profile.d/nix.sh" +main() { + # Just stop if Nix is already available + if [[ -x $(command -v nix) ]]; then + return + fi -function source_nix() { - # Just stop if Nix is already available - if [[ -x $(command -v nix) ]]; then - return - elif [[ -f "${NIX_PROFILE_SH}" ]]; then - # Load Nix profile if it exists - source "${NIX_PROFILE_SH}" - return - else # Setup Nix if not available - ${GIT_ROOT}/nix/scripts/setup.sh - fi + if [[ ! -d /nix ]]; then + ${GIT_ROOT}/nix/scripts/setup.sh + fi - # Load Nix profile - source "${NIX_PROFILE_SH}" + # Load Nix profile + source_nix_profile - # Verify Nix is available - if [[ ! -x $(command -v nix) ]]; then - echo "Nix not available, sourcing profile failed!" > /dev/stderr - exit 1 - fi + # Verify Nix is available + if [[ ! -x $(command -v nix) ]]; then + echo -e "${RED}Nix not available, sourcing profile failed!${RST}" >&2 + exit 1 + fi } -source_nix +main diff --git a/package.json b/package.json index 29926d60d9dc..d1fbb0c53e5e 100644 --- a/package.json +++ b/package.json @@ -5,22 +5,22 @@ "scripts": { "start": "react-native start", "ios": "react-native run-ios", + "app:android": "react-native run-android", "app:compile:android": "shadow-cljs compile android", - "app:watch": "shadow-cljs watch android", "app:packager": "react-native start --host 0.0.0.0 --port 8081", - "app:android": "react-native run-android" + "app:watch": "shadow-cljs watch android" }, "dependencies": { "@react-native-community/async-storage": "^1.11.0", - "@react-native-community/audio-toolkit": "git+https://github.com/tbenr/react-native-audio-toolkit.git#v2.0.3-status-v6", - "@react-native-community/cameraroll": "git+https://github.com/status-im/react-native-cameraroll.git#v4.0.4-status.0", + "@react-native-community/audio-toolkit": "git+https://github.com/tbenr/react-native-audio-toolkit.git#refs/tags/v2.0.3-status-v6", + "@react-native-community/cameraroll": "git+https://github.com/status-im/react-native-cameraroll.git#refs/tags/v4.0.4-status.0", "@react-native-community/clipboard": "^1.2.2", "@react-native-community/hooks": "^2.5.1", "@react-native-community/masked-view": "^0.1.6", "@react-native-community/netinfo": "^4.4.0", "@react-native-community/push-notification-ios": "^1.4.1", "@react-native-community/slider": "^3.0.0", - "bignumber.js": "git+https://github.com/status-im/bignumber.js.git#v4.0.2-status", + "bignumber.js": "git+https://github.com/status-im/bignumber.js.git#refs/tags/v4.0.2-status", "buffer": "^5.4.2", "chance": "^1.1.0", "create-react-class": "^15.6.2", @@ -35,7 +35,7 @@ "react-native": "0.63.4", "react-native-background-timer": "^2.1.1", "react-native-camera-kit": "^8.0.4", - "react-native-config": "git+https://github.com/status-im/react-native-config.git#v1.4.2-status", + "react-native-config": "git+https://github.com/status-im/react-native-config.git#refs/tags/v1.4.2-status", "react-native-dark-mode": "^0.2.2", "react-native-device-info": "^7.4.0", "react-native-dialogs": "^1.0.4", @@ -45,10 +45,10 @@ "react-native-fs": "^2.14.1", "react-native-gesture-handler": "^1.8.0", "react-native-haptic-feedback": "^1.9.0", - "react-native-image-crop-picker": "git+https://github.com/status-im/react-native-image-crop-picker.git#v0.36.2-status.0", + "react-native-image-crop-picker": "git+https://github.com/status-im/react-native-image-crop-picker.git#refs/tags/v0.36.2-status.0", "react-native-image-resizer": "^1.2.3", - "react-native-image-viewing": "git+https://github.com/Ferossgp/react-native-image-viewing.git#v0.2.1", - "react-native-keychain": "git+https://github.com/status-im/react-native-keychain.git#v.3.0.0-5-status", + "react-native-image-viewing": "git+https://github.com/Ferossgp/react-native-image-viewing.git#refs/tags/v0.2.1", + "react-native-keychain": "git+https://github.com/status-im/react-native-keychain.git#refs/tags/v.3.0.0-5-status", "react-native-languages": "^3.0.2", "react-native-linear-gradient": "^2.5.6", "react-native-mail": "^6.1.1", @@ -60,11 +60,11 @@ "react-native-shake": "^3.3.1", "react-native-share": "^7.0.1", "react-native-splash-screen": "^3.2.0", - "react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#v2.5.37", + "react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.5.37", "react-native-svg": "^9.8.4", "react-native-touch-id": "^4.4.1", - "react-native-webview": "git+https://github.com/status-im/react-native-webview.git#v11.16.0-status", - "rn-emoji-keyboard": "git+https://github.com/status-im/rn-emoji-keyboard.git#v0.4.2", + "react-native-webview": "git+https://github.com/status-im/react-native-webview.git#refs/tags/v11.16.0-status", + "rn-emoji-keyboard": "git+https://github.com/status-im/rn-emoji-keyboard.git#refs/tags/v0.4.2", "tdigest": "^0.1.1", "web3-utils": "^1.2.1" }, @@ -79,7 +79,7 @@ "jest": "^25.1.0", "nyc": "^14.1.1", "process": "0.11.10", - "rn-snoopy": "git+https://github.com/status-im/rn-snoopy.git#v2.0.2-status", + "rn-snoopy": "git+https://github.com/status-im/rn-snoopy.git#refs/tags/v2.0.2-status", "shadow-cljs": "^2.10.14" } } diff --git a/yarn.lock b/yarn.lock index 6c4ddfbf08b2..adcbae3eeecb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1238,7 +1238,7 @@ dependencies: deep-assign "^3.0.0" -"@react-native-community/audio-toolkit@git+https://github.com/tbenr/react-native-audio-toolkit.git#v2.0.3-status-v6": +"@react-native-community/audio-toolkit@git+https://github.com/tbenr/react-native-audio-toolkit.git#refs/tags/v2.0.3-status-v6": version "2.0.3" resolved "git+https://github.com/tbenr/react-native-audio-toolkit.git#7ae9055cf6169b30f5089bda7bfcfc1c40a715e5" dependencies: @@ -1246,7 +1246,7 @@ eventemitter3 "^1.2.0" lodash "^4.17.15" -"@react-native-community/cameraroll@git+https://github.com/status-im/react-native-cameraroll.git#v4.0.4-status.0": +"@react-native-community/cameraroll@git+https://github.com/status-im/react-native-cameraroll.git#refs/tags/v4.0.4-status.0": version "4.0.4" resolved "git+https://github.com/status-im/react-native-cameraroll.git#337c5a515e9b0f0728882f73568075553415f523" @@ -2022,7 +2022,7 @@ big-integer@^1.6.44: resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== -"bignumber.js@git+https://github.com/status-im/bignumber.js.git#v4.0.2-status": +"bignumber.js@git+https://github.com/status-im/bignumber.js.git#refs/tags/v4.0.2-status": version "4.0.2" resolved "git+https://github.com/status-im/bignumber.js.git#cc066a0a3d6bfe0c436c9957f4ea8344bf963c89" @@ -6593,7 +6593,7 @@ react-native-camera-kit@^8.0.4: dependencies: lodash "^4.14.2" -"react-native-config@git+https://github.com/status-im/react-native-config.git#v1.4.2-status": +"react-native-config@git+https://github.com/status-im/react-native-config.git#refs/tags/v1.4.2-status": version "1.4.2" resolved "git+https://github.com/status-im/react-native-config.git#c3e58d76fed923aaf88eadc5073099fab5ecb346" @@ -6656,7 +6656,7 @@ react-native-haptic-feedback@^1.9.0: resolved "https://registry.yarnpkg.com/react-native-haptic-feedback/-/react-native-haptic-feedback-1.9.0.tgz#7d62c54536f04dd5d8f1c2bb8ee444009f2294b9" integrity sha512-tIRbq8k7HK9AoyvXrOHUEFmJd65ZAh1HP9mDyD/gDisG1ApY4Im9UKn0q0of9z7s8AJY3sZA9GMuSKdSBGdKKQ== -"react-native-image-crop-picker@git+https://github.com/status-im/react-native-image-crop-picker.git#v0.36.2-status.0": +"react-native-image-crop-picker@git+https://github.com/status-im/react-native-image-crop-picker.git#refs/tags/v0.36.2-status.0": version "0.36.2" resolved "git+https://github.com/status-im/react-native-image-crop-picker.git#d14a68dcb643328b91e783d3a83561e7d6e0bd25" @@ -6665,11 +6665,11 @@ react-native-image-resizer@^1.2.3: resolved "https://registry.yarnpkg.com/react-native-image-resizer/-/react-native-image-resizer-1.2.3.tgz#21cb2b158ff950e55a0fc01c2cb61375bd5a03ba" integrity sha512-RDPNJglRmWDZ/7hvu+CbpsKYl6AQmseL8cWX4UkLAHxQWNc5ZdYhP/9avC5xCfyiwkRw+Zmkmv78HO0kt0ewhQ== -"react-native-image-viewing@git+https://github.com/Ferossgp/react-native-image-viewing.git#v0.2.1": +"react-native-image-viewing@git+https://github.com/Ferossgp/react-native-image-viewing.git#refs/tags/v0.2.1": version "0.2.1" resolved "git+https://github.com/Ferossgp/react-native-image-viewing.git#8ef67cdce7b7c66065a939847e45db71347c678e" -"react-native-keychain@git+https://github.com/status-im/react-native-keychain.git#v.3.0.0-5-status": +"react-native-keychain@git+https://github.com/status-im/react-native-keychain.git#refs/tags/v.3.0.0-5-status": version "3.0.0-rc.3" resolved "git+https://github.com/status-im/react-native-keychain.git#9b0d9b283116947cf125e12b6d1d17203604f0d9" @@ -6745,7 +6745,7 @@ react-native-splash-screen@^3.2.0: resolved "https://registry.yarnpkg.com/react-native-splash-screen/-/react-native-splash-screen-3.2.0.tgz#d47ec8557b1ba988ee3ea98d01463081b60fff45" integrity sha512-Ls9qiNZzW/OLFoI25wfjjAcrf2DZ975hn2vr6U9gyuxi2nooVbzQeFoQS5vQcbCt9QX5NY8ASEEAtlLdIa6KVg== -"react-native-status-keycard@git+https://github.com/status-im/react-native-status-keycard.git#v2.5.37": +"react-native-status-keycard@git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.5.37": version "2.5.37" resolved "git+https://github.com/status-im/react-native-status-keycard.git#af61b0213adbf4b5a6bae97c85496d95007d5acb" @@ -6762,7 +6762,7 @@ react-native-touch-id@^4.4.1: resolved "https://registry.yarnpkg.com/react-native-touch-id/-/react-native-touch-id-4.4.1.tgz#8b1bb2d04c30bac36bb9696d2d723e719c4a8b08" integrity sha512-1jTl8fC+0fxvqegy/XXTyo6vMvPhjzkoDdaqoYZx0OH8AT250NuXnNPyKktvigIcys3+2acciqOeaCall7lrvg== -"react-native-webview@git+https://github.com/status-im/react-native-webview.git#v11.16.0-status": +"react-native-webview@git+https://github.com/status-im/react-native-webview.git#refs/tags/v11.16.0-status": version "11.16.0" resolved "git+https://github.com/status-im/react-native-webview.git#9d554dd25b33d799c37eb356c0dfa42ca8bd4ff7" dependencies: @@ -7104,11 +7104,11 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -"rn-emoji-keyboard@git+https://github.com/status-im/rn-emoji-keyboard.git#v0.4.2": +"rn-emoji-keyboard@git+https://github.com/status-im/rn-emoji-keyboard.git#refs/tags/v0.4.2": version "0.4.2" resolved "git+https://github.com/status-im/rn-emoji-keyboard.git#969814269cc51fae2c1fd0375e8509fa066cdc7f" -"rn-snoopy@git+https://github.com/status-im/rn-snoopy.git#v2.0.2-status": +"rn-snoopy@git+https://github.com/status-im/rn-snoopy.git#refs/tags/v2.0.2-status": version "2.0.2" resolved "git+https://github.com/status-im/rn-snoopy.git#f23dc13469c6c2a694649f658cdc1d1eaf8def64" dependencies: