From a227652d7d6e9721f5c113d00ae3c53013b92fd5 Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Mon, 25 Jul 2022 13:46:44 +0100 Subject: [PATCH] Update cxx to 1.0.72. Signed-off-by: Daira Hopwood --- Cargo.lock | 30 ++++--- Cargo.toml | 2 +- contrib/debian/copyright | 54 +++++++++++ depends/packages/native_cxxbridge.mk | 15 ++-- .../patches/native_cxxbridge/lockfile.diff | 90 +++++++++---------- qa/supply-chain/audits.toml | 30 +++++++ qa/zcash/postponed-updates.txt | 7 -- 7 files changed, 155 insertions(+), 73 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bf6931a9d..d4d3ad161 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -439,9 +439,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e599641dff337570f6aa9c304ecca92341d30bf72e1c50287869ed6a36615a6" +checksum = "b7c14d679239b1ccaad7acaf972a19b41b6c1d7a8cb942158294b4f11ec71bd8" dependencies = [ "cc", "cxxbridge-flags", @@ -451,15 +451,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3894ad0c6d517cb5a4ce8ec20b37cd0ea31b480fe582a104c5db67ae21270853" +checksum = "2fdfa84261f05a9b69c0afe03270f9f26d6899ca7df6f442563908b646e8a376" [[package]] name = "cxxbridge-macro" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34fa7e395dc1c001083c7eed28c8f0f0b5a225610f3b6284675f444af6fab86b" +checksum = "0269826813dfbda75223169c774fede73401793e9af3970e4edbe93879782c1d" dependencies = [ "proc-macro2", "quote", @@ -1472,11 +1472,11 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.37" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" +checksum = "cdcc2916cde080c1876ff40292a396541241fe0072ef928cd76582e9ea5d60d2" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] @@ -1861,13 +1861,13 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.91" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" +checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] [[package]] @@ -2076,6 +2076,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "unicode-ident" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" + [[package]] name = "unicode-normalization" version = "0.1.19" diff --git a/Cargo.toml b/Cargo.toml index e4e22ab9a..13d830915 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,7 +63,7 @@ zeroize = "1.4.2" # Rust/C++ interop # The version needs to match depends/packages/native_cxxbridge.mk -cxx = { version = "=1.0.68", features = ["c++17"] } +cxx = { version = "=1.0.72", features = ["c++17"] } # Rust threading rayon = "1.5" diff --git a/contrib/debian/copyright b/contrib/debian/copyright index 808b41e10..b86334da3 100644 --- a/contrib/debian/copyright +++ b/contrib/debian/copyright @@ -227,6 +227,12 @@ Files: depends/*/vendored-sources/terminfo/* Copyright: 2016-2020 meh License: WTFPL +Files: depends/*/vendored-sources/unicode-ident/src/tables.rs +Copyright: 1991-2022 Unicode, Inc +License: Unicode +Comment: This entry is for code in the unicode-ident crate generated from Unicode data tables. + The license of the unicode-ident crate itself is MIT/Expat or Apache-2.0. + Files: src/crypto/ctaes/* Copyright: 2016 Pieter Wuille License: Expat @@ -1893,3 +1899,51 @@ License: BOSL-1 above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License. + +License: Unicode + UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + . + See Terms of Use + for definitions of Unicode Inc.’s Data Files and Software. + . + NOTICE TO USER: Carefully read the following legal agreement. + BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S + DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), + YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE + TERMS AND CONDITIONS OF THIS AGREEMENT. + IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE + THE DATA FILES OR SOFTWARE. + . + COPYRIGHT AND PERMISSION NOTICE + . + Copyright © 1991-2022 Unicode, Inc. All rights reserved. + Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + . + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Unicode data files and any associated documentation + (the "Data Files") or Unicode software and any associated documentation + (the "Software") to deal in the Data Files or Software + without restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, and/or sell copies of + the Data Files or Software, and to permit persons to whom the Data Files + or Software are furnished to do so, provided that either + (a) this copyright and permission notice appear with all copies + of the Data Files or Software, or + (b) this copyright and permission notice appear in associated + Documentation. + . + THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF + ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT OF THIRD PARTY RIGHTS. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS + NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL + DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THE DATA FILES OR SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder + shall not be used in advertising or otherwise to promote the sale, + use or other dealings in these Data Files or Software without prior + written authorization of the copyright holder. diff --git a/depends/packages/native_cxxbridge.mk b/depends/packages/native_cxxbridge.mk index 996fa59e9..865cadaf0 100644 --- a/depends/packages/native_cxxbridge.mk +++ b/depends/packages/native_cxxbridge.mk @@ -1,24 +1,25 @@ package=native_cxxbridge # The version needs to match cxx in Cargo.toml -$(package)_version=1.0.68 +$(package)_version=1.0.72 $(package)_download_path=https://github.com/dtolnay/cxx/archive/refs/tags $(package)_file_name=native_cxxbridge-$($(package)_version).tar.gz $(package)_download_file=$($(package)_version).tar.gz -$(package)_sha256_hash=6fed9ef1c64a37c343727368b38c27fa4e15b27ca9924c6672a6a5496080c832 +$(package)_sha256_hash=22b2ec9b6cbec281f4b4d8dc8e403e7ab276b9d2140d4e7074a1388a252c4c0b $(package)_build_subdir=gen/cmd $(package)_dependencies=native_rust # This file is somewhat annoying to update, but can be done like so from the repo base: +# $ export VERSION=1.0.72 # $ rm .cargo/config .cargo/.configured-for-offline # $ mkdir tmp # $ cd tmp -# $ tar xf ../depends/sources/native_cxxbridge-1.0.68.tar.gz -# $ cd cxx-1.0.68 +# $ tar xf ../depends/sources/native_cxxbridge-$VERSION.tar.gz +# $ cd cxx-$VERSION # $ cargo build --release --package=cxxbridge-cmd --bin=cxxbridge # $ cargo clean # $ cd .. -# $ mv cxx-1.0.68 cxx-1.0.68-locked -# $ tar xf ../depends/sources/native_cxxbridge-1.0.68.tar.gz -# $ diff -urN cxx-1.0.68 cxx-1.0.68-locked >../depends/patches/native_cxxbridge/lockfile.diff +# $ mv cxx-$VERSION cxx-$VERSION-locked +# $ tar xf ../depends/sources/native_cxxbridge-$VERSION.tar.gz +# $ diff -urN cxx-$VERSION cxx-$VERSION-locked >../depends/patches/native_cxxbridge/lockfile.diff $(package)_patches=lockfile.diff $(package)_extra_sources=$(package)-$($(package)_version)-vendored.tar.gz diff --git a/depends/patches/native_cxxbridge/lockfile.diff b/depends/patches/native_cxxbridge/lockfile.diff index 67a23584a..91d3bf7a3 100644 --- a/depends/patches/native_cxxbridge/lockfile.diff +++ b/depends/patches/native_cxxbridge/lockfile.diff @@ -1,7 +1,7 @@ -diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock ---- cxx-1.0.68/Cargo.lock 1970-01-01 00:00:00.000000000 +0000 -+++ cxx-1.0.68-locked/Cargo.lock 2022-05-27 23:14:22.902459945 +0000 -@@ -0,0 +1,447 @@ +diff -urN cxx-1.0.72/Cargo.lock cxx-1.0.72-locked/Cargo.lock +--- cxx-1.0.72/Cargo.lock 1970-01-01 01:00:00.000000000 +0100 ++++ cxx-1.0.72-locked/Cargo.lock 2022-07-25 13:19:29.023791072 +0100 +@@ -0,0 +1,445 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 @@ -50,9 +50,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "clap" -+version = "3.1.18" ++version = "3.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d2dbdf4bdacb33466e854ce889eee8dfd5729abf7ccd7664d0a2d60cd384440b" ++checksum = "54635806b078b7925d6e36810b1755f2a4b5b4d57560432c1ecf60bcbe10602b" +dependencies = [ + "bitflags", + "clap_lex", @@ -63,9 +63,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "clap_lex" -+version = "0.2.0" ++version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a37c35f1112dad5e6e0b1adaff798507497a18fceeb30cceb3bae7d1427b9213" ++checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] @@ -91,7 +91,7 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxx" -+version = "1.0.68" ++version = "1.0.72" +dependencies = [ + "cc", + "cxx-build", @@ -106,7 +106,7 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxx-build" -+version = "1.0.68" ++version = "1.0.72" +dependencies = [ + "cc", + "codespan-reporting", @@ -121,7 +121,7 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxx-gen" -+version = "0.7.68" ++version = "0.7.72" +dependencies = [ + "codespan-reporting", + "proc-macro2", @@ -140,7 +140,7 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxxbridge-cmd" -+version = "1.0.68" ++version = "1.0.72" +dependencies = [ + "clap", + "codespan-reporting", @@ -151,11 +151,11 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "cxxbridge-flags" -+version = "1.0.68" ++version = "1.0.72" + +[[package]] +name = "cxxbridge-macro" -+version = "1.0.68" ++version = "1.0.72" +dependencies = [ + "clang-ast", + "cxx", @@ -184,13 +184,11 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "flate2" -+version = "1.0.23" ++version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b39522e96686d38f4bc984b9198e3a0613264abaebaff2c5c918bfa6b6da09af" ++checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +dependencies = [ -+ "cfg-if", + "crc32fast", -+ "libc", + "miniz_oxide", +] + @@ -202,15 +200,15 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "hashbrown" -+version = "0.11.2" ++version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" ++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "indexmap" -+version = "1.8.1" ++version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee" ++checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +dependencies = [ + "autocfg", + "hashbrown", @@ -258,24 +256,24 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "miniz_oxide" -+version = "0.5.1" ++version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082" ++checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +dependencies = [ + "adler", +] + +[[package]] +name = "once_cell" -+version = "1.12.0" ++version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" ++checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" + +[[package]] +name = "os_str_bytes" -+version = "6.1.0" ++version = "6.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa" ++checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4" + +[[package]] +name = "pkg-config" @@ -285,27 +283,27 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "proc-macro2" -+version = "1.0.39" ++version = "1.0.41" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" ++checksum = "cdcc2916cde080c1876ff40292a396541241fe0072ef928cd76582e9ea5d60d2" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" -+version = "1.0.18" ++version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" ++checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustversion" -+version = "1.0.6" ++version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" ++checksum = "24c8ad4f0c00e1eb5bc7614d236a7f1300e3dbd76b68cac8e06fb00b015ad8d8" + +[[package]] +name = "ryu" @@ -321,18 +319,18 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "serde" -+version = "1.0.137" ++version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" ++checksum = "fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" -+version = "1.0.137" ++version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" ++checksum = "6f2122636b9fe3b81f1cb25099fcf2d3f542cdb1d45940d56c713158884a05da" +dependencies = [ + "proc-macro2", + "quote", @@ -341,9 +339,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "serde_json" -+version = "1.0.81" ++version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" ++checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7" +dependencies = [ + "itoa", + "ryu", @@ -358,9 +356,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "syn" -+version = "1.0.95" ++version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942" ++checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" +dependencies = [ + "proc-macro2", + "quote", @@ -393,9 +391,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "trybuild" -+version = "1.0.61" ++version = "1.0.63" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7fc92f558afb6d1d7c6f175eb8d615b8ef49c227543e68e19c123d4ee43d8a7d" ++checksum = "764b9e244b482a9b81bde596aa37aa6f1347bf8007adab25e59f901b32b4e0a0" +dependencies = [ + "dissimilar", + "glob", @@ -409,9 +407,9 @@ diff -urN cxx-1.0.68/Cargo.lock cxx-1.0.68-locked/Cargo.lock + +[[package]] +name = "unicode-ident" -+version = "1.0.0" ++version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" ++checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" + +[[package]] +name = "unicode-width" diff --git a/qa/supply-chain/audits.toml b/qa/supply-chain/audits.toml index 93083eb57..23037998c 100644 --- a/qa/supply-chain/audits.toml +++ b/qa/supply-chain/audits.toml @@ -13,6 +13,21 @@ criteria = ["crypto-reviewed", "safe-to-deploy"] delta = "0.13.0 -> 0.13.1" notes = "Adds multi-threaded batch validation, which I checked against the existing single-threaded batch validation." +[[audits.cxx]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.68 -> 1.0.72" + +[[audits.cxxbridge-flags]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.68 -> 1.0.72" + +[[audits.cxxbridge-macro]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.68 -> 1.0.72" + [[audits.equihash]] who = "Jack Grigg " criteria = "safe-to-deploy" @@ -67,6 +82,21 @@ criteria = ["crypto-reviewed", "safe-to-deploy"] delta = "0.1.0 -> 0.2.0" notes = "The ECC core team maintains this crate, and we have reviewed every line." +[[audits.proc-macro2]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.37 -> 1.0.41" + +[[audits.syn]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +delta = "1.0.91 -> 1.0.98" + +[[audits.unicode-ident]] +who = "Daira Hopwood " +criteria = "safe-to-deploy" +version = "1.0.2" + [[audits.zcash_address]] who = "Jack Grigg " criteria = "safe-to-deploy" diff --git a/qa/zcash/postponed-updates.txt b/qa/zcash/postponed-updates.txt index b9667095d..859edaa92 100644 --- a/qa/zcash/postponed-updates.txt +++ b/qa/zcash/postponed-updates.txt @@ -4,13 +4,6 @@ # bdb 18.1.40 2020-09-01 # -native_cxxbridge 1.0.69 2022-09-01 -native_cxxbridge 1.0.70 2022-09-01 -native_cxxbridge 1.0.71 2022-09-01 -rustcxx 1.0.69 2022-09-01 -rustcxx 1.0.70 2022-09-01 -rustcxx 1.0.71 2022-09-01 - # Ccache 4.0 requires adding CMake to the depends system. native_ccache 4.0 2022-09-01 native_ccache 4.1 2022-09-01