Skip to content

Commit

Permalink
Update where mac cross compiler fetches precompiled NSS [ci full][ff-…
Browse files Browse the repository at this point in the history
…android: main][fenix: main] (mozilla#5254)

*update NSS to 3.86 & update where mac cross compiler fetches precompiled NSS
  • Loading branch information
skhamis authored Dec 13, 2022
1 parent a4dfd1f commit 16043ab
Show file tree
Hide file tree
Showing 9 changed files with 20 additions and 15 deletions.
3 changes: 2 additions & 1 deletion components/support/rc_crypto/nss/nss_build_common/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,12 +114,13 @@ fn get_nss_libs(kind: LinkingKind) -> Vec<&'static str> {
// Hardware specific libs.
let target_arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap();
let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap();
// https://searchfox.org/nss/rev/08c4d05078d00089f8d7540651b0717a9d66f87e/lib/freebl/freebl.gyp#278-296
// https://searchfox.org/nss/rev/0d5696b3edce5124353f03159d2aa15549db8306/lib/freebl/freebl.gyp#508-542
if target_arch == "arm" || target_arch == "aarch64" {
static_libs.push("armv8_c_lib");
}
if target_arch == "x86_64" || target_arch == "x86" {
static_libs.push("gcm-aes-x86_c_lib");
static_libs.push("sha-x86_c_lib");
}
if target_arch == "arm" {
static_libs.push("gcm-aes-arm32-neon_c_lib")
Expand Down
1 change: 1 addition & 0 deletions libs/build-all-ios.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ universal_lib "nss" "libssl.a" "${TARGET_ARCHS[@]}"
universal_lib "nss" "libhw-acc-crypto-avx.a" "x86_64"
universal_lib "nss" "libhw-acc-crypto-avx2.a" "x86_64"
universal_lib "nss" "libgcm-aes-x86_c_lib.a" "x86_64"
universal_lib "nss" "libsha-x86_c_lib.a" "x86_64"
universal_lib "nss" "libgcm-aes-aarch64_c_lib.a" "arm64"
universal_lib "nss" "libarmv8_c_lib.a" "arm64"

Expand Down
8 changes: 4 additions & 4 deletions libs/build-all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ set -euvx
SQLCIPHER_VERSION="4.5.2"
SQLCIPHER_SHA256="6925f012deb5582e39761a7d4816883cc15b41851a8e70b447c223b8ef406e2a"

NSS="nss-3.66"
NSS_ARCHIVE="nss-3.66-with-nspr-4.30.tar.gz"
NSS_URL="https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_66_RTM/src/${NSS_ARCHIVE}"
NSS_SHA256="4eb72ca78b497a2a425139fdcfb9068cbd318dd51542baaa5365fcfbcb165009"
NSS="nss-3.86"
NSS_ARCHIVE="nss-3.86-with-nspr-4.35.tar.gz"
NSS_URL="https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_86_RTM/src/${NSS_ARCHIVE}"
NSS_SHA256="8b5a2e9e3d632a78ad4d9c8d2ea502d2790d7a8e7b1986d173107232eca27432"

# End of configuration.

Expand Down
3 changes: 2 additions & 1 deletion libs/build-nss-android.sh
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,10 @@ cp -p -L "${BUILD_DIR}/lib/libsmime.a" "${DIST_DIR}/lib"
cp -p -L "${BUILD_DIR}/lib/libsoftokn_static.a" "${DIST_DIR}/lib"
cp -p -L "${BUILD_DIR}/lib/libssl.a" "${DIST_DIR}/lib"
# HW specific.
# https://searchfox.org/nss/rev/08c4d05078d00089f8d7540651b0717a9d66f87e/lib/freebl/freebl.gyp#278-296
# https://searchfox.org/nss/rev/0d5696b3edce5124353f03159d2aa15549db8306/lib/freebl/freebl.gyp#508-542
if [[ "${TOOLCHAIN}" == "i686-linux-android" ]] || [[ "${TOOLCHAIN}" == "x86_64-linux-android" ]]; then
cp -p -L "${BUILD_DIR}/lib/libgcm-aes-x86_c_lib.a" "${DIST_DIR}/lib"
cp -p -L "${BUILD_DIR}/lib/libsha-x86_c_lib.a" "${DIST_DIR}/lib"
fi
if [[ "${TOOLCHAIN}" == "aarch64-linux-android" ]] || [[ "${TOOLCHAIN}" == "arm-linux-androideabi" ]]; then
cp -p -L "${BUILD_DIR}/lib/libarmv8_c_lib.a" "${DIST_DIR}/lib"
Expand Down
13 changes: 7 additions & 6 deletions libs/build-nss-desktop.sh
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,14 @@ if [[ -d "${DIST_DIR}" ]]; then
exit 0
fi

# TODO We do not know how to cross compile these, so we cheat by downloading them and the how is pretty disgusting.
# We do not know how to cross compile these, so we pull pre-built versions from NSS CI
# https://github.com/mozilla/application-services/issues/962
if [[ "${CROSS_COMPILE_TARGET}" =~ "darwin" ]]; then
# Generated from nss-try@111b54aaa644978464bec98848ecba6f69d3f42e.
curl -sfSL --retry 5 --retry-delay 10 -O "https://fxa-dev-bucket.s3-us-west-2.amazonaws.com/a-s/nss_nspr_static_3.66_darwin.tar.bz2"
SHA256="2ad7c85b7b009120c7e883ccd367bbd3653857a4ed3adb4c5471b197d1844141"
echo "${SHA256} nss_nspr_static_3.66_darwin.tar.bz2" | shasum -a 256 -c - || exit 2
tar xvjf nss_nspr_static_3.66_darwin.tar.bz2 && rm -rf nss_nspr_static_3.66_darwin.tar.bz2
#https://treeherder.mozilla.org/jobs?repo=nss&revision=3ab9260101b1a0d5c3d709ba45975f7e4a9d0077
curl -sfSL --retry 5 --retry-delay 10 -O "https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/op7XqxH-T1WN3Ob8N9cDHA/runs/0/artifacts/public/dist.tar.bz2"
SHA256="f90c29611de1d8f84c6eac382938da5849d3ea5e1487cf2a230947693f09aa89"
echo "${SHA256} dist.tar.bz2" | shasum -a 256 -c - || exit 2
tar xvjf dist.tar.bz2 && rm -rf dist.tar.bz2
NSS_DIST_DIR=$(abspath "dist")
elif [[ "$(uname -s)" == "Darwin" ]] || [[ "$(uname -s)" == "Linux" ]]; then
"${NSS_SRC_DIR}"/nss/build.sh \
Expand Down Expand Up @@ -110,6 +110,7 @@ else
cp -p -L "${NSS_DIST_OBJ_DIR}/lib/libhw-acc-crypto-avx.a" "${DIST_DIR}/lib"
cp -p -L "${NSS_DIST_OBJ_DIR}/lib/libhw-acc-crypto-avx2.a" "${DIST_DIR}/lib"
cp -p -L "${NSS_DIST_OBJ_DIR}/lib/libgcm-aes-x86_c_lib.a" "${DIST_DIR}/lib"
cp -p -L "${NSS_DIST_OBJ_DIR}/lib/libsha-x86_c_lib.a" "${DIST_DIR}/lib"
fi
# https://searchfox.org/mozilla-central/rev/1eb05019f47069172ba81a6c108a584a409a24ea/security/nss/lib/freebl/freebl.gyp#224-233
if [[ "${TARGET_OS}" == "windows" ]] || [[ "${TARGET_OS}" == "linux" ]]; then
Expand Down
1 change: 1 addition & 0 deletions libs/build-nss-ios.sh
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ if [[ "${ARCH}" == "x86_64" ]]; then
cp -p -L "${BUILD_DIR}/lib/libgcm-aes-x86_c_lib.a" "${DIST_DIR}/lib"
cp -p -L "${BUILD_DIR}/lib/libhw-acc-crypto-avx.a" "${DIST_DIR}/lib"
cp -p -L "${BUILD_DIR}/lib/libhw-acc-crypto-avx2.a" "${DIST_DIR}/lib"
cp -p -L "${BUILD_DIR}/lib/libsha-x86_c_lib.a" "${DIST_DIR}/lib"
elif [[ "${ARCH}" == "arm64" ]]; then
cp -p -L "${BUILD_DIR}/lib/libgcm-aes-aarch64_c_lib.a" "${DIST_DIR}/lib"
cp -p -L "${BUILD_DIR}/lib/libarmv8_c_lib.a" "${DIST_DIR}/lib"
Expand Down
2 changes: 1 addition & 1 deletion libs/build-sqlcipher-android.sh
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ LIBS="\
"

if [[ "${TOOLCHAIN}" == "x86_64-linux-android" ]] || [[ "${TOOLCHAIN}" == "i686-linux-android" ]]; then
LIBS="${LIBS} -lgcm-aes-x86_c_lib"
LIBS="${LIBS} -lgcm-aes-x86_c_lib -lsha-x86_c_lib"
fi
if [[ "${TOOLCHAIN}" == "arm-linux-androideabi" ]] || [[ "${TOOLCHAIN}" == "aarch64-linux-android" ]]; then
LIBS="${LIBS} -larmv8_c_lib"
Expand Down
2 changes: 1 addition & 1 deletion libs/build-sqlcipher-desktop.sh
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ elif [[ "${TARGET_OS}" == "linux" ]]; then
elif [[ "${TARGET_ARCH}" == "aarch64" ]]; then
LIBS="${LIBS} -lgcm-aes-aarch64_c_lib -larmv8_c_lib"
else
LIBS="${LIBS} -lhw-acc-crypto-avx -lhw-acc-crypto-avx2 -lgcm-aes-x86_c_lib"
LIBS="${LIBS} -lhw-acc-crypto-avx -lhw-acc-crypto-avx2 -lgcm-aes-x86_c_lib -lsha-x86_c_lib"
fi

BUILD_DIR=$(mktemp -d)
Expand Down
2 changes: 1 addition & 1 deletion libs/build-sqlcipher-ios.sh
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ LIBS="\
"

if [[ "${ARCH}" == "x86_64" ]]; then
LIBS="${LIBS} -lgcm-aes-x86_c_lib -lhw-acc-crypto-avx -lhw-acc-crypto-avx2"
LIBS="${LIBS} -lgcm-aes-x86_c_lib -lhw-acc-crypto-avx -lhw-acc-crypto-avx2 -lsha-x86_c_lib"
else
LIBS="${LIBS} -lgcm-aes-aarch64_c_lib -larmv8_c_lib"
fi
Expand Down

0 comments on commit 16043ab

Please sign in to comment.