diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2022-04-25 14:43:17 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2022-11-06 00:57:21 +0000 |
commit | c9724410bb382f7ad67a08757c573c957fbf863d (patch) | |
tree | 23f7c78087bea8ca982fd4419659b2864f55bffc | |
parent | 8ce88744d07433c86c108e4b38d54ef394a5c066 (diff) | |
download | ports-c9724410bb382f7ad67a08757c573c957fbf863d.tar.gz ports-c9724410bb382f7ad67a08757c573c957fbf863d.zip |
devel/cargo-c: update to 0.9.14
Changes: https://github.com/lu-zero/cargo-c/releases/tag/v0.9.9
Changes: https://github.com/lu-zero/cargo-c/releases/tag/v0.9.10
Changes: https://github.com/lu-zero/cargo-c/releases/tag/v0.9.11
Changes: https://github.com/lu-zero/cargo-c/releases/tag/v0.9.12
Changes: https://github.com/lu-zero/cargo-c/releases/tag/v0.9.13
Changes: https://github.com/lu-zero/cargo-c/releases/tag/v0.9.14
Reported by: GitHub (watch releases)
-rw-r--r-- | devel/cargo-c/Makefile | 14 | ||||
-rw-r--r-- | devel/cargo-c/Makefile.crates | 170 | ||||
-rw-r--r-- | devel/cargo-c/distinfo | 342 | ||||
-rw-r--r-- | devel/cargo-c/files/patch-cargo-dep | 1602 | ||||
-rw-r--r-- | devel/cargo-c/files/patch-libressl-3.5 | 252 |
5 files changed, 291 insertions, 2089 deletions
diff --git a/devel/cargo-c/Makefile b/devel/cargo-c/Makefile index e13be476cbfc..39c94e94a6a1 100644 --- a/devel/cargo-c/Makefile +++ b/devel/cargo-c/Makefile @@ -1,7 +1,6 @@ PORTNAME= cargo-c -DISTVERSION= 0.9.8 -DISTVERSIONSUFFIX= +cargo-0.60 -PORTREVISION= 7 +DISTVERSION= 0.9.14 +DISTVERSIONSUFFIX= +cargo-0.66 CATEGORIES= devel MASTER_SITES= CRATESIO # XXX Teach USES=cargo to have proper default @@ -14,9 +13,7 @@ WWW= https://github.com/lu-zero/cargo-c LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -LIB_DEPENDS= libgit2.so:devel/libgit2 \ - libcurl.so:ftp/curl \ - libssh2.so:security/libssh2 +LIB_DEPENDS= libcurl.so:ftp/curl USES= cargo ssl PLIST_FILES= bin/cargo-capi \ @@ -28,5 +25,10 @@ PLIST_FILES= bin/cargo-capi \ post-patch: @${REINPLACE_CMD} -e 's,libdir.join("pkgconfig,prefix.join("libdata/pkgconfig,' \ ${WRKSRC}/src/install.rs +# XXX Need devel/libgit2 >= 1.4.4; libgit2 depends on libssh2, so bundle both + @${REINPLACE_CMD} 's/if try_to_use_system_libgit2/if false/' \ + ${WRKSRC}/cargo-crates/libgit2-sys-*/build.rs + @${REINPLACE_CMD} '/env::var/s/LIBSSH2.*PKG/disabled_&/' \ + ${WRKSRC}/cargo-crates/libssh2-sys-*/build.rs .include <bsd.port.mk> diff --git a/devel/cargo-c/Makefile.crates b/devel/cargo-c/Makefile.crates index f00ed94ac8bf..52b84398ff67 100644 --- a/devel/cargo-c/Makefile.crates +++ b/devel/cargo-c/Makefile.crates @@ -1,129 +1,133 @@ CARGO_CRATES= adler-1.0.2 \ - aho-corasick-0.7.18 \ - ansi_term-0.12.1 \ - anyhow-1.0.55 \ + aho-corasick-0.7.19 \ + anyhow-1.0.66 \ arrayvec-0.5.2 \ atty-0.2.14 \ autocfg-1.1.0 \ bitflags-1.3.2 \ bitmaps-2.1.0 \ bstr-0.2.17 \ + bytes-1.2.1 \ bytesize-1.1.0 \ - cargo-0.60.0 \ + cargo-0.66.0 \ cargo-platform-0.1.2 \ - cargo-util-0.1.2 \ - cbindgen-0.20.0 \ - cc-1.0.73 \ + cargo-util-0.2.2 \ + cbindgen-0.24.3 \ + cc-1.0.74 \ cfg-if-1.0.0 \ - clap-2.34.0 \ + clap-3.2.23 \ + clap_derive-3.2.18 \ + clap_lex-0.2.4 \ + combine-4.6.6 \ commoncrypto-0.2.0 \ commoncrypto-sys-0.2.0 \ core-foundation-0.9.3 \ core-foundation-sys-0.8.3 \ crates-io-0.34.0 \ crc32fast-1.3.2 \ - crossbeam-utils-0.8.7 \ + crossbeam-utils-0.8.12 \ crypto-hash-0.3.4 \ - curl-0.4.42 \ - curl-sys-0.4.52+curl-7.81.0 \ - either-1.6.1 \ - env_logger-0.9.0 \ - fastrand-1.7.0 \ - filetime-0.2.15 \ - flate2-1.0.22 \ + curl-0.4.44 \ + curl-sys-0.4.59+curl-7.86.0 \ + either-1.8.0 \ + env_logger-0.9.1 \ + fastrand-1.8.0 \ + filetime-0.2.18 \ + flate2-1.0.24 \ fnv-1.0.7 \ foreign-types-0.3.2 \ foreign-types-shared-0.1.1 \ - form_urlencoded-1.0.1 \ + form_urlencoded-1.1.0 \ fwdansi-1.1.0 \ - git2-0.13.25 \ - git2-curl-0.14.1 \ + git2-0.15.0 \ + git2-curl-0.16.0 \ glob-0.3.0 \ - globset-0.4.8 \ - hashbrown-0.11.2 \ - heck-0.3.3 \ + globset-0.4.9 \ + hashbrown-0.12.3 \ + heck-0.4.0 \ hermit-abi-0.1.19 \ hex-0.3.2 \ hex-0.4.3 \ - home-0.5.3 \ + home-0.5.4 \ humantime-2.1.0 \ - idna-0.2.3 \ + idna-0.3.0 \ ignore-0.4.18 \ - im-rc-15.0.0 \ - indexmap-1.8.0 \ + im-rc-15.1.0 \ + indexmap-1.9.1 \ instant-0.1.12 \ - itertools-0.10.3 \ - itoa-1.0.1 \ - jobserver-0.1.24 \ + itertools-0.10.5 \ + itoa-1.0.4 \ + jobserver-0.1.25 \ + kstring-2.0.0 \ lazy_static-1.4.0 \ lazycell-1.3.0 \ - libc-0.2.119 \ - libgit2-sys-0.12.26+1.3.0 \ + libc-0.2.137 \ + libgit2-sys-0.14.0+1.5.0 \ libnghttp2-sys-0.1.7+1.45.0 \ libssh2-sys-0.2.23 \ - libz-sys-1.1.3 \ - log-0.4.14 \ - matches-0.1.9 \ - memchr-2.4.1 \ - miniz_oxide-0.4.4 \ + libz-sys-1.1.8 \ + log-0.4.17 \ + memchr-2.5.0 \ + miniz_oxide-0.5.4 \ miow-0.3.7 \ - num_cpus-1.13.1 \ - once_cell-1.9.0 \ + once_cell-1.16.0 \ opener-0.5.0 \ - openssl-0.10.38 \ + openssl-0.10.42 \ + openssl-macros-0.1.0 \ openssl-probe-0.1.5 \ - openssl-src-111.17.0+1.1.1m \ - openssl-sys-0.9.72 \ - os_info-3.2.0 \ - percent-encoding-2.1.0 \ - pkg-config-0.3.24 \ + openssl-src-111.24.0+1.1.1s \ + openssl-sys-0.9.77 \ + os_info-3.5.1 \ + os_str_bytes-6.3.1 \ + pathdiff-0.2.1 \ + percent-encoding-2.2.0 \ + pkg-config-0.3.26 \ proc-macro-error-1.0.4 \ proc-macro-error-attr-1.0.4 \ - proc-macro2-1.0.36 \ - quote-1.0.15 \ - rand_core-0.5.1 \ - rand_xoshiro-0.4.0 \ - redox_syscall-0.2.10 \ - regex-1.5.4 \ + proc-macro2-1.0.47 \ + quote-1.0.21 \ + rand_core-0.6.4 \ + rand_xoshiro-0.6.0 \ + redox_syscall-0.2.16 \ + regex-1.6.0 \ regex-automata-0.1.10 \ - regex-syntax-0.6.25 \ + regex-syntax-0.6.27 \ remove_dir_all-0.5.3 \ rustc-workspace-hack-1.0.0 \ - rustfix-0.6.0 \ - ryu-1.0.9 \ + rustfix-0.6.1 \ + ryu-1.0.11 \ same-file-1.0.6 \ - schannel-0.1.19 \ - semver-1.0.6 \ - serde-1.0.136 \ - serde_derive-1.0.136 \ - serde_ignored-0.1.2 \ - serde_json-1.0.79 \ + schannel-0.1.20 \ + semver-1.0.14 \ + serde-1.0.147 \ + serde_derive-1.0.147 \ + serde_ignored-0.1.5 \ + serde_json-1.0.87 \ shell-escape-0.1.5 \ sized-chunks-0.6.5 \ - socket2-0.4.4 \ + socket2-0.4.7 \ + static_assertions-1.1.0 \ strip-ansi-escapes-0.1.1 \ - strsim-0.8.0 \ - structopt-0.3.26 \ - structopt-derive-0.4.18 \ - syn-1.0.86 \ + strsim-0.10.0 \ + syn-1.0.103 \ tar-0.4.38 \ tempfile-3.3.0 \ - termcolor-1.1.2 \ - textwrap-0.11.0 \ + termcolor-1.1.3 \ + textwrap-0.16.0 \ thread_local-1.1.4 \ - tinyvec-1.5.1 \ + tinyvec-1.6.0 \ tinyvec_macros-0.1.0 \ - toml-0.5.8 \ + toml-0.5.9 \ + toml_edit-0.14.4 \ typenum-1.15.0 \ - unicode-bidi-0.3.7 \ - unicode-normalization-0.1.19 \ - unicode-segmentation-1.9.0 \ - unicode-width-0.1.9 \ - unicode-xid-0.2.2 \ - url-2.2.2 \ + unicode-bidi-0.3.8 \ + unicode-ident-1.0.5 \ + unicode-normalization-0.1.22 \ + unicode-width-0.1.10 \ + unicode-xid-0.2.4 \ + url-2.3.1 \ utf8parse-0.2.0 \ vcpkg-0.2.15 \ - vec_map-0.8.2 \ version_check-0.9.4 \ vte-0.10.1 \ vte_generate_state_changes-0.1.1 \ @@ -131,4 +135,18 @@ CARGO_CRATES= adler-1.0.2 \ winapi-0.3.9 \ winapi-i686-pc-windows-gnu-0.4.0 \ winapi-util-0.1.5 \ - winapi-x86_64-pc-windows-gnu-0.4.0 + winapi-x86_64-pc-windows-gnu-0.4.0 \ + windows-sys-0.36.1 \ + windows-sys-0.42.0 \ + windows_aarch64_gnullvm-0.42.0 \ + windows_aarch64_msvc-0.36.1 \ + windows_aarch64_msvc-0.42.0 \ + windows_i686_gnu-0.36.1 \ + windows_i686_gnu-0.42.0 \ + windows_i686_msvc-0.36.1 \ + windows_i686_msvc-0.42.0 \ + windows_x86_64_gnu-0.36.1 \ + windows_x86_64_gnu-0.42.0 \ + windows_x86_64_gnullvm-0.42.0 \ + windows_x86_64_msvc-0.36.1 \ + windows_x86_64_msvc-0.42.0 diff --git a/devel/cargo-c/distinfo b/devel/cargo-c/distinfo index cfbd081cd542..00fdd4686dfa 100644 --- a/devel/cargo-c/distinfo +++ b/devel/cargo-c/distinfo @@ -1,14 +1,12 @@ -TIMESTAMP = 1645825027 -SHA256 (rust/crates/cargo-c-0.9.8+cargo-0.60.crate) = cd08abb3a9222878f1898bcc69456061bb5c40f4368af12033376599dbd0bffd -SIZE (rust/crates/cargo-c-0.9.8+cargo-0.60.crate) = 34992 +TIMESTAMP = 1667662439 +SHA256 (rust/crates/cargo-c-0.9.14+cargo-0.66.crate) = 9490736b2de3b311501d6f195c053ac5808bb87f820660047cedbb01217d5b72 +SIZE (rust/crates/cargo-c-0.9.14+cargo-0.66.crate) = 36110 SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe SIZE (rust/crates/adler-1.0.2.crate) = 12778 -SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f -SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923 -SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2 -SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838 -SHA256 (rust/crates/anyhow-1.0.55.crate) = 159bb86af3a200e19a068f4224eae4c8bb2d0fa054c7e5d1cacd5cef95e684cd -SIZE (rust/crates/anyhow-1.0.55.crate) = 44429 +SHA256 (rust/crates/aho-corasick-0.7.19.crate) = b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e +SIZE (rust/crates/aho-corasick-0.7.19.crate) = 113070 +SHA256 (rust/crates/anyhow-1.0.66.crate) = 216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6 +SIZE (rust/crates/anyhow-1.0.66.crate) = 43770 SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838 SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8 @@ -21,22 +19,30 @@ SHA256 (rust/crates/bitmaps-2.1.0.crate) = 031043d04099746d8db04daf1fa424b2bc8bd SIZE (rust/crates/bitmaps-2.1.0.crate) = 16717 SHA256 (rust/crates/bstr-0.2.17.crate) = ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223 SIZE (rust/crates/bstr-0.2.17.crate) = 330350 +SHA256 (rust/crates/bytes-1.2.1.crate) = ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db +SIZE (rust/crates/bytes-1.2.1.crate) = 54857 SHA256 (rust/crates/bytesize-1.1.0.crate) = 6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70 SIZE (rust/crates/bytesize-1.1.0.crate) = 9370 -SHA256 (rust/crates/cargo-0.60.0.crate) = bc194fab2f0394703f2794faeb9fcca34301af33eee96fa943b856028f279a77 -SIZE (rust/crates/cargo-0.60.0.crate) = 1850582 +SHA256 (rust/crates/cargo-0.66.0.crate) = 4cbff5076ff17b84f81946ca2d5536e60bfa2344cd365efb57c19fd808a17640 +SIZE (rust/crates/cargo-0.66.0.crate) = 2038772 SHA256 (rust/crates/cargo-platform-0.1.2.crate) = cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27 SIZE (rust/crates/cargo-platform-0.1.2.crate) = 11645 -SHA256 (rust/crates/cargo-util-0.1.2.crate) = a51c783163bdf4549820b80968d386c94ed45ed23819c93f59cca7ebd97fe0eb -SIZE (rust/crates/cargo-util-0.1.2.crate) = 21287 -SHA256 (rust/crates/cbindgen-0.20.0.crate) = 51e3973b165dc0f435831a9e426de67e894de532754ff7a3f307c03ee5dec7dc -SIZE (rust/crates/cbindgen-0.20.0.crate) = 183277 -SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11 -SIZE (rust/crates/cc-1.0.73.crate) = 57880 +SHA256 (rust/crates/cargo-util-0.2.2.crate) = b75f6bfca7b85d6e8c6a42405e9b4ecadd2e63f75f94aabfb524378b57a557a4 +SIZE (rust/crates/cargo-util-0.2.2.crate) = 23867 +SHA256 (rust/crates/cbindgen-0.24.3.crate) = a6358dedf60f4d9b8db43ad187391afe959746101346fe51bb978126bec61dfb +SIZE (rust/crates/cbindgen-0.24.3.crate) = 195698 +SHA256 (rust/crates/cc-1.0.74.crate) = 581f5dba903aac52ea3feb5ec4810848460ee833876f1f9b0fdeab1f19091574 +SIZE (rust/crates/cc-1.0.74.crate) = 59410 SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 -SHA256 (rust/crates/clap-2.34.0.crate) = a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c -SIZE (rust/crates/clap-2.34.0.crate) = 202210 +SHA256 (rust/crates/clap-3.2.23.crate) = 71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5 +SIZE (rust/crates/clap-3.2.23.crate) = 219435 +SHA256 (rust/crates/clap_derive-3.2.18.crate) = ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65 +SIZE (rust/crates/clap_derive-3.2.18.crate) = 28208 +SHA256 (rust/crates/clap_lex-0.2.4.crate) = 2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5 +SIZE (rust/crates/clap_lex-0.2.4.crate) = 9652 +SHA256 (rust/crates/combine-4.6.6.crate) = 35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4 +SIZE (rust/crates/combine-4.6.6.crate) = 132428 SHA256 (rust/crates/commoncrypto-0.2.0.crate) = d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007 SIZE (rust/crates/commoncrypto-0.2.0.crate) = 3009 SHA256 (rust/crates/commoncrypto-sys-0.2.0.crate) = 1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2 @@ -49,210 +55,212 @@ SHA256 (rust/crates/crates-io-0.34.0.crate) = 6b4a87459133b2e708195eaab34be55039 SIZE (rust/crates/crates-io-0.34.0.crate) = 9543 SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661 -SHA256 (rust/crates/crossbeam-utils-0.8.7.crate) = b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6 -SIZE (rust/crates/crossbeam-utils-0.8.7.crate) = 39751 +SHA256 (rust/crates/crossbeam-utils-0.8.12.crate) = edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac +SIZE (rust/crates/crossbeam-utils-0.8.12.crate) = 41785 SHA256 (rust/crates/crypto-hash-0.3.4.crate) = 8a77162240fd97248d19a564a565eb563a3f592b386e4136fb300909e67dddca SIZE (rust/crates/crypto-hash-0.3.4.crate) = 8102 -SHA256 (rust/crates/curl-0.4.42.crate) = 7de97b894edd5b5bcceef8b78d7da9b75b1d2f2f9a910569d0bde3dd31d84939 -SIZE (rust/crates/curl-0.4.42.crate) = 90376 -SHA256 (rust/crates/curl-sys-0.4.52+curl-7.81.0.crate) = 14b8c2d1023ea5fded5b7b892e4b8e95f70038a421126a056761a84246a28971 -SIZE (rust/crates/curl-sys-0.4.52+curl-7.81.0.crate) = 2984593 -SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457 -SIZE (rust/crates/either-1.6.1.crate) = 13641 -SHA256 (rust/crates/env_logger-0.9.0.crate) = 0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3 -SIZE (rust/crates/env_logger-0.9.0.crate) = 33573 -SHA256 (rust/crates/fastrand-1.7.0.crate) = c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf -SIZE (rust/crates/fastrand-1.7.0.crate) = 11265 -SHA256 (rust/crates/filetime-0.2.15.crate) = 975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98 -SIZE (rust/crates/filetime-0.2.15.crate) = 14511 -SHA256 (rust/crates/flate2-1.0.22.crate) = 1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f -SIZE (rust/crates/flate2-1.0.22.crate) = 76026 +SHA256 (rust/crates/curl-0.4.44.crate) = 509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22 +SIZE (rust/crates/curl-0.4.44.crate) = 91415 +SHA256 (rust/crates/curl-sys-0.4.59+curl-7.86.0.crate) = 6cfce34829f448b08f55b7db6d0009e23e2e86a34e8c2b366269bf5799b4a407 +SIZE (rust/crates/curl-sys-0.4.59+curl-7.86.0.crate) = 2996584 +SHA256 (rust/crates/either-1.8.0.crate) = 90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797 +SIZE (rust/crates/either-1.8.0.crate) = 15992 +SHA256 (rust/crates/env_logger-0.9.1.crate) = c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272 +SIZE (rust/crates/env_logger-0.9.1.crate) = 33425 +SHA256 (rust/crates/fastrand-1.8.0.crate) = a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499 +SIZE (rust/crates/fastrand-1.8.0.crate) = 11369 +SHA256 (rust/crates/filetime-0.2.18.crate) = 4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3 +SIZE (rust/crates/filetime-0.2.18.crate) = 14622 +SHA256 (rust/crates/flate2-1.0.24.crate) = f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6 +SIZE (rust/crates/flate2-1.0.24.crate) = 70191 SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 SIZE (rust/crates/fnv-1.0.7.crate) = 11266 SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1 SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504 SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672 -SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191 -SIZE (rust/crates/form_urlencoded-1.0.1.crate) = 8773 +SHA256 (rust/crates/form_urlencoded-1.1.0.crate) = a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8 +SIZE (rust/crates/form_urlencoded-1.1.0.crate) = 8734 SHA256 (rust/crates/fwdansi-1.1.0.crate) = 08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208 SIZE (rust/crates/fwdansi-1.1.0.crate) = 8280 -SHA256 (rust/crates/git2-0.13.25.crate) = f29229cc1b24c0e6062f6e742aa3e256492a5323365e5ed3413599f8a5eff7d6 -SIZE (rust/crates/git2-0.13.25.crate) = 194192 -SHA256 (rust/crates/git2-curl-0.14.1.crate) = 883539cb0ea94bab3f8371a98cd8e937bbe9ee7c044499184aa4c17deb643a50 -SIZE (rust/crates/git2-curl-0.14.1.crate) = 9336 +SHA256 (rust/crates/git2-0.15.0.crate) = 2994bee4a3a6a51eb90c218523be382fd7ea09b16380b9312e9dbe955ff7c7d1 +SIZE (rust/crates/git2-0.15.0.crate) = 198983 +SHA256 (rust/crates/git2-curl-0.16.0.crate) = ed817a00721e2f8037ba722e60358d4956dae9cca10315fc982f967907d3b0cd +SIZE (rust/crates/git2-curl-0.16.0.crate) = 9289 SHA256 (rust/crates/glob-0.3.0.crate) = 9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574 SIZE (rust/crates/glob-0.3.0.crate) = 18724 -SHA256 (rust/crates/globset-0.4.8.crate) = 10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd -SIZE (rust/crates/globset-0.4.8.crate) = 22886 -SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e -SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713 -SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c -SIZE (rust/crates/heck-0.3.3.crate) = 10260 +SHA256 (rust/crates/globset-0.4.9.crate) = 0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a +SIZE (rust/crates/globset-0.4.9.crate) = 22929 +SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888 +SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968 +SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9 +SIZE (rust/crates/heck-0.4.0.crate) = 11161 SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33 SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979 SHA256 (rust/crates/hex-0.3.2.crate) = 805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77 SIZE (rust/crates/hex-0.3.2.crate) = 9053 SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70 SIZE (rust/crates/hex-0.4.3.crate) = 13299 -SHA256 (rust/crates/home-0.5.3.crate) = 2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654 -SIZE (rust/crates/home-0.5.3.crate) = 7890 +SHA256 (rust/crates/home-0.5.4.crate) = 747309b4b440c06d57b0b25f2aee03ee9b5e5397d288c60e21fc709bb98a7408 +SIZE (rust/crates/home-0.5.4.crate) = 8538 SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4 SIZE (rust/crates/humantime-2.1.0.crate) = 16749 -SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8 -SIZE (rust/crates/idna-0.2.3.crate) = 271023 +SHA256 (rust/crates/idna-0.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6 +SIZE (rust/crates/idna-0.3.0.crate) = 271128 SHA256 (rust/crates/ignore-0.4.18.crate) = 713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d SIZE (rust/crates/ignore-0.4.18.crate) = 53174 -SHA256 (rust/crates/im-rc-15.0.0.crate) = 3ca8957e71f04a205cb162508f9326aea04676c8dfd0711220190d6b83664f3f -SIZE (rust/crates/im-rc-15.0.0.crate) = 182171 -SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223 -SIZE (rust/crates/indexmap-1.8.0.crate) = 52583 +SHA256 (rust/crates/im-rc-15.1.0.crate) = af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe +SIZE (rust/crates/im-rc-15.1.0.crate) = 194077 +SHA256 (rust/crates/indexmap-1.9.1.crate) = 10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e +SIZE (rust/crates/indexmap-1.9.1.crate) = 54114 SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c SIZE (rust/crates/instant-0.1.12.crate) = 6128 -SHA256 (rust/crates/itertools-0.10.3.crate) = a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3 -SIZE (rust/crates/itertools-0.10.3.crate) = 118661 -SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35 -SIZE (rust/crates/itoa-1.0.1.crate) = 11059 -SHA256 (rust/crates/jobserver-0.1.24.crate) = af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa -SIZE (rust/crates/jobserver-0.1.24.crate) = 21303 +SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473 +SIZE (rust/crates/itertools-0.10.5.crate) = 115354 +SHA256 (rust/crates/itoa-1.0.4.crate) = 4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc +SIZE (rust/crates/itoa-1.0.4.crate) = 10601 +SHA256 (rust/crates/jobserver-0.1.25.crate) = 068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b +SIZE (rust/crates/jobserver-0.1.25.crate) = 21888 +SHA256 (rust/crates/kstring-2.0.0.crate) = ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747 +SIZE (rust/crates/kstring-2.0.0.crate) = 22063 SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443 SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55 SIZE (rust/crates/lazycell-1.3.0.crate) = 12502 -SHA256 (rust/crates/libc-0.2.119.crate) = 1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4 -SIZE (rust/crates/libc-0.2.119.crate) = 575749 -SHA256 (rust/crates/libgit2-sys-0.12.26+1.3.0.crate) = 19e1c899248e606fbfe68dcb31d8b0176ebab833b103824af31bddf4b7457494 -SIZE (rust/crates/libgit2-sys-0.12.26+1.3.0.crate) = 1476836 +SHA256 (rust/crates/libc-0.2.137.crate) = fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89 +SIZE (rust/crates/libc-0.2.137.crate) = 606185 +SHA256 (rust/crates/libgit2-sys-0.14.0+1.5.0.crate) = 47a00859c70c8a4f7218e6d1cc32875c4b55f6799445b842b0d8ed5e4c3d959b +SIZE (rust/crates/libgit2-sys-0.14.0+1.5.0.crate) = 1740370 SHA256 (rust/crates/libnghttp2-sys-0.1.7+1.45.0.crate) = 57ed28aba195b38d5ff02b9170cbff627e336a20925e43b4945390401c5dc93f SIZE (rust/crates/libnghttp2-sys-0.1.7+1.45.0.crate) = 4527090 SHA256 (rust/crates/libssh2-sys-0.2.23.crate) = b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca SIZE (rust/crates/libssh2-sys-0.2.23.crate) = 493516 -SHA256 (rust/crates/libz-sys-1.1.3.crate) = de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66 -SIZE (rust/crates/libz-sys-1.1.3.crate) = 1341394 -SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710 -SIZE (rust/crates/log-0.4.14.crate) = 34582 -SHA256 (rust/crates/matches-0.1.9.crate) = a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f -SIZE (rust/crates/matches-0.1.9.crate) = 2246 -SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a -SIZE (rust/crates/memchr-2.4.1.crate) = 64977 -SHA256 (rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b -SIZE (rust/crates/miniz_oxide-0.4.4.crate) = 49938 +SHA256 (rust/crates/libz-sys-1.1.8.crate) = 9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf +SIZE (rust/crates/libz-sys-1.1.8.crate) = 2481844 +SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e +SIZE (rust/crates/log-0.4.17.crate) = 38028 +SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d +SIZE (rust/crates/memchr-2.5.0.crate) = 65812 +SHA256 (rust/crates/miniz_oxide-0.5.4.crate) = 96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34 +SIZE (rust/crates/miniz_oxide-0.5.4.crate) = 53485 SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21 SIZE (rust/crates/miow-0.3.7.crate) = 24563 -SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1 -SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752 -SHA256 (rust/crates/once_cell-1.9.0.crate) = da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5 -SIZE (rust/crates/once_cell-1.9.0.crate) = 30702 +SHA256 (rust/crates/once_cell-1.16.0.crate) = 86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860 +SIZE (rust/crates/once_cell-1.16.0.crate) = 32120 SHA256 (rust/crates/opener-0.5.0.crate) = 4ea3ebcd72a54701f56345f16785a6d3ac2df7e986d273eb4395c0b01db17952 SIZE (rust/crates/opener-0.5.0.crate) = 12350 -SHA256 (rust/crates/openssl-0.10.38.crate) = 0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95 -SIZE (rust/crates/openssl-0.10.38.crate) = 207436 +SHA256 (rust/crates/openssl-0.10.42.crate) = 12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13 +SIZE (rust/crates/openssl-0.10.42.crate) = 225875 +SHA256 (rust/crates/openssl-macros-0.1.0.crate) = b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c +SIZE (rust/crates/openssl-macros-0.1.0.crate) = 5566 SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227 -SHA256 (rust/crates/openssl-src-111.17.0+1.1.1m.crate) = 05d6a336abd10814198f66e2a91ccd7336611f30334119ca8ce300536666fcf4 -SIZE (rust/crates/openssl-src-111.17.0+1.1.1m.crate) = 5097946 -SHA256 (rust/crates/openssl-sys-0.9.72.crate) = 7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb -SIZE (rust/crates/openssl-sys-0.9.72.crate) = 56510 -SHA256 (rust/crates/os_info-3.2.0.crate) = 023df84d545ef479cf67fd2f4459a613585c9db4852c2fad12ab70587859d340 -SIZE (rust/crates/os_info-3.2.0.crate) = 20477 -SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e -SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748 -SHA256 (rust/crates/pkg-config-0.3.24.crate) = 58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe -SIZE (rust/crates/pkg-config-0.3.24.crate) = 16489 +SHA256 (rust/crates/openssl-src-111.24.0+1.1.1s.crate) = 3498f259dab01178c6228c6b00dcef0ed2a2d5e20d648c017861227773ea4abd +SIZE (rust/crates/openssl-src-111.24.0+1.1.1s.crate) = 5106276 +SHA256 (rust/crates/openssl-sys-0.9.77.crate) = b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a +SIZE (rust/crates/openssl-sys-0.9.77.crate) = 60799 +SHA256 (rust/crates/os_info-3.5.1.crate) = c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f +SIZE (rust/crates/os_info-3.5.1.crate) = 22593 +SHA256 (rust/crates/os_str_bytes-6.3.1.crate) = 3baf96e39c5359d2eb0dd6ccb42c62b91d9678aa68160d261b9e0ccbf9e9dea9 +SIZE (rust/crates/os_str_bytes-6.3.1.crate) = 22934 +SHA256 (rust/crates/pathdiff-0.2.1.crate) = 8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd +SIZE (rust/crates/pathdiff-0.2.1.crate) = 7142 +SHA256 (rust/crates/percent-encoding-2.2.0.crate) = 478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e +SIZE (rust/crates/percent-encoding-2.2.0.crate) = 10075 +SHA256 (rust/crates/pkg-config-0.3.26.crate) = 6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160 +SIZE (rust/crates/pkg-config-0.3.26.crate) = 18662 SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293 SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869 SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971 -SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029 -SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411 -SHA256 (rust/crates/quote-1.0.15.crate) = 864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145 -SIZE (rust/crates/quote-1.0.15.crate) = 27281 -SHA256 (rust/crates/rand_core-0.5.1.crate) = 90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19 -SIZE (rust/crates/rand_core-0.5.1.crate) = 21116 -SHA256 (rust/crates/rand_xoshiro-0.4.0.crate) = a9fcdd2e881d02f1d9390ae47ad8e5696a9e4be7b547a1da2afbc61973217004 -SIZE (rust/crates/rand_xoshiro-0.4.0.crate) = 17029 -SHA256 (rust/crates/redox_syscall-0.2.10.crate) = 8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff -SIZE (rust/crates/redox_syscall-0.2.10.crate) = 23582 -SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461 -SIZE (rust/crates/regex-1.5.4.crate) = 236581 +SHA256 (rust/crates/proc-macro2-1.0.47.crate) = 5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725 +SIZE (rust/crates/proc-macro2-1.0.47.crate) = 41955 +SHA256 (rust/crates/quote-1.0.21.crate) = bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179 +SIZE (rust/crates/quote-1.0.21.crate) = 28030 +SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c +SIZE (rust/crates/rand_core-0.6.4.crate) = 22666 +SHA256 (rust/crates/rand_xoshiro-0.6.0.crate) = 6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa +SIZE (rust/crates/rand_xoshiro-0.6.0.crate) = 17125 +SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a +SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012 +SHA256 (rust/crates/regex-1.6.0.crate) = 4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b +SIZE (rust/crates/regex-1.6.0.crate) = 239329 SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132 SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533 -SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b -SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293 +SHA256 (rust/crates/regex-syntax-0.6.27.crate) = a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244 +SIZE (rust/crates/regex-syntax-0.6.27.crate) = 297300 SHA256 (rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7 SIZE (rust/crates/remove_dir_all-0.5.3.crate) = 9184 SHA256 (rust/crates/rustc-workspace-hack-1.0.0.crate) = fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb SIZE (rust/crates/rustc-workspace-hack-1.0.0.crate) = 774 -SHA256 (rust/crates/rustfix-0.6.0.crate) = 6f0be05fc0675ef4f47119dc39cfc46636bb77d4fc4ef1bd851b9c3f7697f32a -SIZE (rust/crates/rustfix-0.6.0.crate) = 18128 -SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f -SIZE (rust/crates/ryu-1.0.9.crate) = 48391 +SHA256 (rust/crates/rustfix-0.6.1.crate) = ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481 +SIZE (rust/crates/rustfix-0.6.1.crate) = 17352 +SHA256 (rust/crates/ryu-1.0.11.crate) = 4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09 +SIZE (rust/crates/ryu-1.0.11.crate) = 47007 SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502 SIZE (rust/crates/same-file-1.0.6.crate) = 10183 -SHA256 (rust/crates/schannel-0.1.19.crate) = 8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75 -SIZE (rust/crates/schannel-0.1.19.crate) = 42755 -SHA256 (rust/crates/semver-1.0.6.crate) = a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d -SIZE (rust/crates/semver-1.0.6.crate) = 29941 -SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789 -SIZE (rust/crates/serde-1.0.136.crate) = 76158 -SHA256 (rust/crates/serde_derive-1.0.136.crate) = 08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9 -SIZE (rust/crates/serde_derive-1.0.136.crate) = 54776 -SHA256 (rust/crates/serde_ignored-0.1.2.crate) = 1c2c7d39d14f2f2ea82239de71594782f186fd03501ac81f0ce08e674819ff2f -SIZE (rust/crates/serde_ignored-0.1.2.crate) = 12179 -SHA256 (rust/crates/serde_json-1.0.79.crate) = 8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95 -SIZE (rust/crates/serde_json-1.0.79.crate) = 144451 +SHA256 (rust/crates/schannel-0.1.20.crate) = 88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2 +SIZE (rust/crates/schannel-0.1.20.crate) = 41579 +SHA256 (rust/crates/semver-1.0.14.crate) = e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4 +SIZE (rust/crates/semver-1.0.14.crate) = 29813 +SHA256 (rust/crates/serde-1.0.147.crate) = d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965 +SIZE (rust/crates/serde-1.0.147.crate) = 76697 +SHA256 (rust/crates/serde_derive-1.0.147.crate) = 4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852 +SIZE (rust/crates/serde_derive-1.0.147.crate) = 54861 +SHA256 (rust/crates/serde_ignored-0.1.5.crate) = 82b3da7eedd967647a866f67829d1c79d184d7c4521126e9cc2c46a9585c6d21 +SIZE (rust/crates/serde_ignored-0.1.5.crate) = 11858 +SHA256 (rust/crates/serde_json-1.0.87.crate) = 6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45 +SIZE (rust/crates/serde_json-1.0.87.crate) = 144383 SHA256 (rust/crates/shell-escape-0.1.5.crate) = 45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f SIZE (rust/crates/shell-escape-0.1.5.crate) = 6847 SHA256 (rust/crates/sized-chunks-0.6.5.crate) = 16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e SIZE (rust/crates/sized-chunks-0.6.5.crate) = 43628 -SHA256 (rust/crates/socket2-0.4.4.crate) = 66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0 -SIZE (rust/crates/socket2-0.4.4.crate) = 44048 +SHA256 (rust/crates/socket2-0.4.7.crate) = 02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd +SIZE (rust/crates/socket2-0.4.7.crate) = 44619 +SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f +SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480 SHA256 (rust/crates/strip-ansi-escapes-0.1.1.crate) = 011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8 SIZE (rust/crates/strip-ansi-escapes-0.1.1.crate) = 8668 -SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a -SIZE (rust/crates/strsim-0.8.0.crate) = 9309 -SHA256 (rust/crates/structopt-0.3.26.crate) = 0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10 -SIZE (rust/crates/structopt-0.3.26.crate) = 53798 -SHA256 (rust/crates/structopt-derive-0.4.18.crate) = dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0 -SIZE (rust/crates/structopt-derive-0.4.18.crate) = 20996 -SHA256 (rust/crates/syn-1.0.86.crate) = 8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b -SIZE (rust/crates/syn-1.0.86.crate) = 235126 +SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623 +SIZE (rust/crates/strsim-0.10.0.crate) = 11355 +SHA256 (rust/crates/syn-1.0.103.crate) = a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d +SIZE (rust/crates/syn-1.0.103.crate) = 236495 SHA256 (rust/crates/tar-0.4.38.crate) = 4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6 SIZE (rust/crates/tar-0.4.38.crate) = 49158 SHA256 (rust/crates/tempfile-3.3.0.crate) = 5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4 SIZE (rust/crates/tempfile-3.3.0.crate) = 27578 -SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4 -SIZE (rust/crates/termcolor-1.1.2.crate) = 17287 -SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060 -SIZE (rust/crates/textwrap-0.11.0.crate) = 17322 +SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755 +SIZE (rust/crates/termcolor-1.1.3.crate) = 17242 +SHA256 (rust/crates/textwrap-0.16.0.crate) = 222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d +SIZE (rust/crates/textwrap-0.16.0.crate) = 53722 SHA256 (rust/crates/thread_local-1.1.4.crate) = 5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180 SIZE (rust/crates/thread_local-1.1.4.crate) = 13106 -SHA256 (rust/crates/tinyvec-1.5.1.crate) = 2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2 -SIZE (rust/crates/tinyvec-1.5.1.crate) = 44942 +SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50 +SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991 SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817 -SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa -SIZE (rust/crates/toml-0.5.8.crate) = 54219 +SHA256 (rust/crates/toml-0.5.9.crate) = 8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7 +SIZE (rust/crates/toml-0.5.9.crate) = 55667 +SHA256 (rust/crates/toml_edit-0.14.4.crate) = 5376256e44f2443f8896ac012507c19a012df0fe8758b55246ae51a2279db51f +SIZE (rust/crates/toml_edit-0.14.4.crate) = 105387 SHA256 (rust/crates/typenum-1.15.0.crate) = dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987 SIZE (rust/crates/typenum-1.15.0.crate) = 40741 -SHA256 (rust/crates/unicode-bidi-0.3.7.crate) = 1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f -SIZE (rust/crates/unicode-bidi-0.3.7.crate) = 33759 -SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9 -SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353 -SHA256 (rust/crates/unicode-segmentation-1.9.0.crate) = 7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99 -SIZE (rust/crates/unicode-segmentation-1.9.0.crate) = 93241 -SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973 -SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745 -SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3 -SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955 -SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c -SIZE (rust/crates/url-2.2.2.crate) = 68555 +SHA256 (rust/crates/unicode-bidi-0.3.8.crate) = 099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992 +SIZE (rust/crates/unicode-bidi-0.3.8.crate) = 36575 +SHA256 (rust/crates/unicode-ident-1.0.5.crate) = 6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3 +SIZE (rust/crates/unicode-ident-1.0.5.crate) = 35455 +SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921 +SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604 +SHA256 (rust/crates/unicode-width-0.1.10.crate) = c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b +SIZE (rust/crates/unicode-width-0.1.10.crate) = 18968 +SHA256 (rust/crates/unicode-xid-0.2.4.crate) = f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c +SIZE (rust/crates/unicode-xid-0.2.4.crate) = 15352 +SHA256 (rust/crates/url-2.3.1.crate) = 0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643 +SIZE (rust/crates/url-2.3.1.crate) = 72777 SHA256 (rust/crates/utf8parse-0.2.0.crate) = 936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372 SIZE (rust/crates/utf8parse-0.2.0.crate) = 13392 SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426 SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735 -SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191 -SIZE (rust/crates/vec_map-0.8.2.crate) = 14466 SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f SIZE (rust/crates/version_check-0.9.4.crate) = 14895 SHA256 (rust/crates/vte-0.10.1.crate) = 6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983 @@ -269,3 +277,31 @@ SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e9 SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164 SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 +SHA256 (rust/crates/windows-sys-0.36.1.crate) = ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2 +SIZE (rust/crates/windows-sys-0.36.1.crate) = 3347053 +SHA256 (rust/crates/windows-sys-0.42.0.crate) = 5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7 +SIZE (rust/crates/windows-sys-0.42.0.crate) = 3006791 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.0.crate) = 41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e +SIZE (rust/crates/windows_aarch64_gnullvm-0.42.0.crate) = 357917 +SHA256 (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47 +SIZE (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 661960 +SHA256 (rust/crates/windows_aarch64_msvc-0.42.0.crate) = dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4 +SIZE (rust/crates/windows_aarch64_msvc-0.42.0.crate) = 659424 +SHA256 (rust/crates/windows_i686_gnu-0.36.1.crate) = 180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6 +SIZE (rust/crates/windows_i686_gnu-0.36.1.crate) = 818115 +SHA256 (rust/crates/windows_i686_gnu-0.42.0.crate) = fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7 +SIZE (rust/crates/windows_i686_gnu-0.42.0.crate) = 728570 +SHA256 (rust/crates/windows_i686_msvc-0.36.1.crate) = e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024 +SIZE (rust/crates/windows_i686_msvc-0.36.1.crate) = 724575 +SHA256 (rust/crates/windows_i686_msvc-0.42.0.crate) = 84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246 +SIZE (rust/crates/windows_i686_msvc-0.42.0.crate) = 717477 +SHA256 (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1 +SIZE (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 790934 +SHA256 (rust/crates/windows_x86_64_gnu-0.42.0.crate) = bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed +SIZE (rust/crates/windows_x86_64_gnu-0.42.0.crate) = 692493 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.0.crate) = 09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028 +SIZE (rust/crates/windows_x86_64_gnullvm-0.42.0.crate) = 357906 +SHA256 (rust/crates/windows_x86_64_msvc-0.36.1.crate) = c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680 +SIZE (rust/crates/windows_x86_64_msvc-0.36.1.crate) = 661999 +SHA256 (rust/crates/windows_x86_64_msvc-0.42.0.crate) = f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5 +SIZE (rust/crates/windows_x86_64_msvc-0.42.0.crate) = 659377 diff --git a/devel/cargo-c/files/patch-cargo-dep b/devel/cargo-c/files/patch-cargo-dep deleted file mode 100644 index c042f3ba0986..000000000000 --- a/devel/cargo-c/files/patch-cargo-dep +++ /dev/null @@ -1,1602 +0,0 @@ -https://github.com/rust-lang/cargo/commit/43a063c80a53 - ---- cargo-crates/cargo-0.60.0/Cargo.toml.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/Cargo.toml -@@ -50,7 +50,7 @@ version = "2.34.0" - version = "2.34.0" - - [dependencies.crates-io] --version = "0.33.1" -+version = "0.34.0" - - [dependencies.crossbeam-utils] - version = "0.8" ---- cargo-crates/cargo-0.60.0/src/bin/cargo/commands/read_manifest.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/bin/cargo/commands/read_manifest.rs -@@ -15,8 +15,6 @@ pub fn exec(config: &mut Config, args: &ArgMatches<'_> - - pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult { - let ws = args.workspace(config)?; -- config -- .shell() -- .print_json(&ws.current()?.serialized(config))?; -+ config.shell().print_json(&ws.current()?.serialized())?; - Ok(()) - } ---- cargo-crates/cargo-0.60.0/src/cargo/core/features.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/cargo/core/features.rs -@@ -642,7 +642,6 @@ unstable_cli_options!( - minimal_versions: bool = ("Resolve minimal dependency versions instead of maximum"), - mtime_on_use: bool = ("Configure Cargo to update the mtime of used files"), - multitarget: bool = ("Allow passing multiple `--target` flags to the cargo subcommand selected"), -- namespaced_features: bool = ("Allow features with `dep:` prefix"), - no_index_update: bool = ("Do not update the registry index even if the cache is outdated"), - panic_abort_tests: bool = ("Enable support to run tests with -Cpanic=abort"), - host_config: bool = ("Enable the [host] section in the .cargo/config.toml file"), -@@ -652,7 +651,6 @@ unstable_cli_options!( - terminal_width: Option<Option<usize>> = ("Provide a terminal width to rustc for error truncation"), - timings: Option<Vec<String>> = ("Display concurrency information"), - unstable_options: bool = ("Allow the usage of unstable options"), -- weak_dep_features: bool = ("Allow `dep_name?/feature` feature syntax"), - // TODO(wcrichto): move scrape example configuration into Cargo.toml before stabilization - // See: https://github.com/rust-lang/cargo/pull/9525#discussion_r728470927 - rustdoc_scrape_examples: Option<String> = ("Allow rustdoc to scrape examples from reverse-dependencies for documentation"), -@@ -707,6 +705,10 @@ const STABILIZED_FUTURE_INCOMPAT_REPORT: &str = - const STABILIZED_FUTURE_INCOMPAT_REPORT: &str = - "The future-incompat-report feature is now always enabled."; - -+const STABILIZED_WEAK_DEP_FEATURES: &str = "Weak dependency features are now always available."; -+ -+const STABILISED_NAMESPACED_FEATURES: &str = "Namespaced features are now always available."; -+ - fn deserialize_build_std<'de, D>(deserializer: D) -> Result<Option<Vec<String>>, D::Error> - where - D: serde::Deserializer<'de>, -@@ -873,8 +875,8 @@ impl CliUnstable { - "multitarget" => self.multitarget = parse_empty(k, v)?, - "rustdoc-map" => self.rustdoc_map = parse_empty(k, v)?, - "terminal-width" => self.terminal_width = Some(parse_usize_opt(v)?), -- "namespaced-features" => self.namespaced_features = parse_empty(k, v)?, -- "weak-dep-features" => self.weak_dep_features = parse_empty(k, v)?, -+ "namespaced-features" => stabilized_warn(k, "1.60", STABILISED_NAMESPACED_FEATURES), -+ "weak-dep-features" => stabilized_warn(k, "1.60", STABILIZED_WEAK_DEP_FEATURES), - "credential-process" => self.credential_process = parse_empty(k, v)?, - "rustdoc-scrape-examples" => { - if let Some(s) = v { ---- cargo-crates/cargo-0.60.0/src/cargo/core/package.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/cargo/core/package.rs -@@ -208,7 +208,7 @@ impl Package { - self.targets().iter().any(|t| t.is_example() || t.is_bin()) - } - -- pub fn serialized(&self, config: &Config) -> SerializedPackage { -+ pub fn serialized(&self) -> SerializedPackage { - let summary = self.manifest().summary(); - let package_id = summary.package_id(); - let manmeta = self.manifest().metadata(); -@@ -222,27 +222,19 @@ impl Package { - .filter(|t| t.src_path().is_path()) - .cloned() - .collect(); -- let features = if config.cli_unstable().namespaced_features { -- // Convert Vec<FeatureValue> to Vec<InternedString> -- summary -- .features() -- .iter() -- .map(|(k, v)| { -- ( -- *k, -- v.iter() -- .map(|fv| InternedString::new(&fv.to_string())) -- .collect(), -- ) -- }) -- .collect() -- } else { -- self.manifest() -- .original() -- .features() -- .cloned() -- .unwrap_or_default() -- }; -+ // Convert Vec<FeatureValue> to Vec<InternedString> -+ let features = summary -+ .features() -+ .iter() -+ .map(|(k, v)| { -+ ( -+ *k, -+ v.iter() -+ .map(|fv| InternedString::new(&fv.to_string())) -+ .collect(), -+ ) -+ }) -+ .collect(); - - SerializedPackage { - name: package_id.name(), ---- cargo-crates/cargo-0.60.0/src/cargo/core/resolver/features.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/cargo/core/resolver/features.rs -@@ -1,19 +1,14 @@ - //! Feature resolver. - //! - //! This is a new feature resolver that runs independently of the main --//! dependency resolver. It is enabled when the user specifies `resolver = --//! "2"` in `Cargo.toml`. -+//! dependency resolver. It has several options which can enable new feature -+//! resolution behavior. - //! - //! One of its key characteristics is that it can avoid unifying features for - //! shared dependencies in some situations. See `FeatureOpts` for the - //! different behaviors that can be enabled. If no extra options are enabled, - //! then it should behave exactly the same as the dependency resolver's --//! feature resolution. This can be verified by setting the --//! `__CARGO_FORCE_NEW_FEATURES=compare` environment variable and running --//! Cargo's test suite (or building other projects), and checking if it --//! panics. Note: the `features2` tests will fail because they intentionally --//! compare the old vs new behavior, so forcing the old behavior will --//! naturally fail the tests. -+//! feature resolution. - //! - //! The preferred way to engage this new resolver is via - //! `resolve_ws_with_opts`. -@@ -59,22 +54,12 @@ pub struct ResolvedFeatures { - /// - /// The value is the `name_in_toml` of the dependencies. - activated_dependencies: ActivateMap, -- /// This is only here for legacy support when the new resolver is not enabled. -- /// -- /// This is the set of features enabled for each package. -- legacy_features: Option<HashMap<PackageId, Vec<InternedString>>>, -- /// This is only here for legacy support when the new resolver is not enabled. -- /// -- /// This is the set of optional dependencies enabled for each package. -- legacy_dependencies: Option<HashMap<PackageId, HashSet<InternedString>>>, - opts: FeatureOpts, - } - - /// Options for how the feature resolver works. - #[derive(Default)] - pub struct FeatureOpts { -- /// Use the new resolver instead of the old one. -- new_resolver: bool, - /// Build deps and proc-macros will not share share features with other dep kinds. - decouple_host_deps: bool, - /// Dev dep features will not be activated unless needed. -@@ -132,7 +117,6 @@ impl FeatureOpts { - let mut opts = FeatureOpts::default(); - let unstable_flags = ws.config().cli_unstable(); - let mut enable = |feat_opts: &Vec<String>| { -- opts.new_resolver = true; - for opt in feat_opts { - match opt.as_ref() { - "build_dep" | "host_dep" => opts.decouple_host_deps = true, -@@ -159,15 +143,6 @@ impl FeatureOpts { - enable(&vec!["all".to_string()]).unwrap(); - } - } -- // This env var is intended for testing only. -- if let Ok(env_opts) = std::env::var("__CARGO_FORCE_NEW_FEATURES") { -- if env_opts == "1" { -- opts.new_resolver = true; -- } else { -- let env_opts = env_opts.split(',').map(|s| s.to_string()).collect(); -- enable(&env_opts)?; -- } -- } - if let HasDevUnits::Yes = has_dev_units { - // Dev deps cannot be decoupled when they are in use. - opts.decouple_dev_deps = false; -@@ -175,10 +150,6 @@ impl FeatureOpts { - if let ForceAllTargets::Yes = force_all_targets { - opts.ignore_inactive_targets = false; - } -- if unstable_flags.weak_dep_features { -- // Force this ON because it only works with the new resolver. -- opts.new_resolver = true; -- } - Ok(opts) - } - -@@ -187,7 +158,6 @@ impl FeatureOpts { - match behavior { - ResolveBehavior::V1 => FeatureOpts::default(), - ResolveBehavior::V2 => FeatureOpts { -- new_resolver: true, - decouple_host_deps: true, - decouple_dev_deps: has_dev_units == HasDevUnits::No, - ignore_inactive_targets: true, -@@ -306,18 +276,11 @@ impl ResolvedFeatures { - features_for: FeaturesFor, - dep_name: InternedString, - ) -> bool { -- if let Some(legacy) = &self.legacy_dependencies { -- legacy -- .get(&pkg_id) -- .map(|deps| deps.contains(&dep_name)) -- .unwrap_or(false) -- } else { -- let is_build = self.opts.decouple_host_deps && features_for == FeaturesFor::HostDep; -- self.activated_dependencies -- .get(&(pkg_id, is_build)) -- .map(|deps| deps.contains(&dep_name)) -- .unwrap_or(false) -- } -+ let is_build = self.opts.decouple_host_deps && features_for == FeaturesFor::HostDep; -+ self.activated_dependencies -+ .get(&(pkg_id, is_build)) -+ .map(|deps| deps.contains(&dep_name)) -+ .unwrap_or(false) - } - - /// Variant of `activated_features` that returns `None` if this is -@@ -336,15 +299,11 @@ impl ResolvedFeatures { - pkg_id: PackageId, - features_for: FeaturesFor, - ) -> CargoResult<Vec<InternedString>> { -- if let Some(legacy) = &self.legacy_features { -- Ok(legacy.get(&pkg_id).map_or_else(Vec::new, |v| v.clone())) -+ let is_build = self.opts.decouple_host_deps && features_for == FeaturesFor::HostDep; -+ if let Some(fs) = self.activated_features.get(&(pkg_id, is_build)) { -+ Ok(fs.iter().cloned().collect()) - } else { -- let is_build = self.opts.decouple_host_deps && features_for == FeaturesFor::HostDep; -- if let Some(fs) = self.activated_features.get(&(pkg_id, is_build)) { -- Ok(fs.iter().cloned().collect()) -- } else { -- bail!("features did not find {:?} {:?}", pkg_id, is_build) -- } -+ bail!("features did not find {:?} {:?}", pkg_id, is_build) - } - } - -@@ -352,14 +311,16 @@ impl ResolvedFeatures { - /// - /// Used by `cargo fix --edition` to display any differences. - pub fn compare_legacy(&self, legacy: &ResolvedFeatures) -> DiffMap { -- let legacy_features = legacy.legacy_features.as_ref().unwrap(); - self.activated_features - .iter() - .filter_map(|((pkg_id, for_host), new_features)| { -- let old_features = match legacy_features.get(pkg_id) { -- Some(feats) => feats.iter().cloned().collect(), -- None => BTreeSet::new(), -- }; -+ let old_features = legacy -+ .activated_features -+ .get(&(*pkg_id, *for_host)) -+ // The new features may have for_host entries where the old one does not. -+ .or_else(|| legacy.activated_features.get(&(*pkg_id, false))) -+ .map(|feats| feats.iter().cloned().collect()) -+ .unwrap_or_else(|| BTreeSet::new()); - // The new resolver should never add features. - assert_eq!(new_features.difference(&old_features).next(), None); - let removed_features: BTreeSet<_> = -@@ -427,17 +388,6 @@ impl<'a, 'cfg> FeatureResolver<'a, 'cfg> { - ) -> CargoResult<ResolvedFeatures> { - use crate::util::profile; - let _p = profile::start("resolve features"); -- -- if !opts.new_resolver { -- // Legacy mode. -- return Ok(ResolvedFeatures { -- activated_features: HashMap::new(), -- activated_dependencies: HashMap::new(), -- legacy_features: Some(resolve.features_clone()), -- legacy_dependencies: Some(compute_legacy_deps(resolve)), -- opts, -- }); -- } - let track_for_host = opts.decouple_host_deps || opts.ignore_inactive_targets; - let mut r = FeatureResolver { - ws, -@@ -460,8 +410,6 @@ impl<'a, 'cfg> FeatureResolver<'a, 'cfg> { - Ok(ResolvedFeatures { - activated_features: r.activated_features, - activated_dependencies: r.activated_dependencies, -- legacy_features: None, -- legacy_dependencies: None, - opts: r.opts, - }) - } -@@ -825,20 +773,4 @@ impl<'a, 'cfg> FeatureResolver<'a, 'cfg> { - .expect("packages downloaded") - .proc_macro() - } --} -- --/// Computes a map of PackageId to the set of optional dependencies that are --/// enabled for that dep (when the new resolver is not enabled). --fn compute_legacy_deps(resolve: &Resolve) -> HashMap<PackageId, HashSet<InternedString>> { -- let mut result: HashMap<PackageId, HashSet<InternedString>> = HashMap::new(); -- for pkg_id in resolve.iter() { -- for (_dep_id, deps) in resolve.deps(pkg_id) { -- for dep in deps { -- if dep.is_optional() { -- result.entry(pkg_id).or_default().insert(dep.name_in_toml()); -- } -- } -- } -- } -- result - } ---- cargo-crates/cargo-0.60.0/src/cargo/core/summary.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/cargo/core/summary.rs -@@ -23,8 +23,6 @@ struct Inner { - package_id: PackageId, - dependencies: Vec<Dependency>, - features: Rc<FeatureMap>, -- has_namespaced_features: bool, -- has_overlapping_features: Option<InternedString>, - checksum: Option<String>, - links: Option<InternedString>, - } -@@ -37,15 +35,11 @@ impl Summary { - features: &BTreeMap<InternedString, Vec<InternedString>>, - links: Option<impl Into<InternedString>>, - ) -> CargoResult<Summary> { -- // ****CAUTION**** If you change anything here than may raise a new -+ // ****CAUTION**** If you change anything here that may raise a new - // error, be sure to coordinate that change with either the index - // schema field or the SummariesCache version. -- let mut has_overlapping_features = None; - for dep in dependencies.iter() { - let dep_name = dep.name_in_toml(); -- if features.contains_key(&dep_name) { -- has_overlapping_features = Some(dep_name); -- } - if dep.is_optional() && !dep.is_transitive() { - bail!( - "dev-dependencies are not allowed to be optional: `{}`", -@@ -53,8 +47,7 @@ impl Summary { - ) - } - } -- let (feature_map, has_namespaced_features) = -- build_feature_map(config, pkg_id, features, &dependencies)?; -+ let feature_map = build_feature_map(config, pkg_id, features, &dependencies)?; - Ok(Summary { - inner: Rc::new(Inner { - package_id: pkg_id, -@@ -62,8 +55,6 @@ impl Summary { - features: Rc::new(feature_map), - checksum: None, - links: links.map(|l| l.into()), -- has_namespaced_features, -- has_overlapping_features, - }), - }) - } -@@ -87,46 +78,6 @@ impl Summary { - &self.inner.features - } - -- /// Returns an error if this Summary is using an unstable feature that is -- /// not enabled. -- pub fn unstable_gate( -- &self, -- namespaced_features: bool, -- weak_dep_features: bool, -- ) -> CargoResult<()> { -- if !namespaced_features { -- if self.inner.has_namespaced_features { -- bail!( -- "namespaced features with the `dep:` prefix are only allowed on \ -- the nightly channel and requires the `-Z namespaced-features` flag on the command-line" -- ); -- } -- if let Some(dep_name) = self.inner.has_overlapping_features { -- bail!( -- "features and dependencies cannot have the same name: `{}`", -- dep_name -- ) -- } -- } -- if !weak_dep_features { -- for (feat_name, features) in self.features() { -- for fv in features { -- if matches!(fv, FeatureValue::DepFeature { weak: true, .. }) { -- bail!( -- "optional dependency features with `?` syntax are only \ -- allowed on the nightly channel and requires the \ -- `-Z weak-dep-features` flag on the command line\n\ -- Feature `{}` had feature value `{}`.", -- feat_name, -- fv -- ); -- } -- } -- } -- } -- Ok(()) -- } -- - pub fn checksum(&self) -> Option<&str> { - self.inner.checksum.as_deref() - } -@@ -181,16 +132,12 @@ impl Hash for Summary { - - /// Checks features for errors, bailing out a CargoResult:Err if invalid, - /// and creates FeatureValues for each feature. --/// --/// The returned `bool` indicates whether or not the `[features]` table --/// included a `dep:` prefixed namespaced feature (used for gating on --/// nightly). - fn build_feature_map( - config: &Config, - pkg_id: PackageId, - features: &BTreeMap<InternedString, Vec<InternedString>>, - dependencies: &[Dependency], --) -> CargoResult<(FeatureMap, bool)> { -+) -> CargoResult<FeatureMap> { - use self::FeatureValue::*; - let mut dep_map = HashMap::new(); - for dep in dependencies.iter() { -@@ -210,7 +157,6 @@ fn build_feature_map( - (*feature, fvs) - }) - .collect(); -- let has_namespaced_features = map.values().flatten().any(|fv| fv.has_dep_prefix()); - - // Add implicit features for optional dependencies if they weren't - // explicitly listed anywhere. -@@ -372,7 +318,7 @@ fn build_feature_map( - ); - } - -- Ok((map, has_namespaced_features)) -+ Ok(map) - } - - /// FeatureValue represents the types of dependencies a feature can have. ---- cargo-crates/cargo-0.60.0/src/cargo/ops/cargo_output_metadata.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/cargo/ops/cargo_output_metadata.rs -@@ -31,9 +31,8 @@ pub fn output_metadata(ws: &Workspace<'_>, opt: &Outpu - VERSION - ); - } -- let config = ws.config(); - let (packages, resolve) = if opt.no_deps { -- let packages = ws.members().map(|pkg| pkg.serialized(config)).collect(); -+ let packages = ws.members().map(|pkg| pkg.serialized()).collect(); - (packages, None) - } else { - let (packages, resolve) = build_resolve_graph(ws, opt)?; -@@ -152,11 +151,10 @@ fn build_resolve_graph( - ); - } - // Get a Vec of Packages. -- let config = ws.config(); - let actual_packages = package_map - .into_iter() - .filter_map(|(pkg_id, pkg)| node_map.get(&pkg_id).map(|_| pkg)) -- .map(|pkg| pkg.serialized(config)) -+ .map(|pkg| pkg.serialized()) - .collect(); - - let mr = MetadataResolve { ---- cargo-crates/cargo-0.60.0/src/cargo/ops/registry.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/cargo/ops/registry.rs -@@ -287,7 +287,6 @@ fn transmit( - license_file: license_file.clone(), - badges: badges.clone(), - links: links.clone(), -- v: None, - }, - tarball, - ) ---- cargo-crates/cargo-0.60.0/src/cargo/sources/registry/index.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/cargo/sources/registry/index.rs -@@ -293,8 +293,6 @@ impl<'cfg> RegistryIndex<'cfg> { - { - let source_id = self.source_id; - let config = self.config; -- let namespaced_features = self.config.cli_unstable().namespaced_features; -- let weak_dep_features = self.config.cli_unstable().weak_dep_features; - - // First up actually parse what summaries we have available. If Cargo - // has run previously this will parse a Cargo-specific cache file rather -@@ -309,11 +307,6 @@ impl<'cfg> RegistryIndex<'cfg> { - // minimize the amount of work being done here and parse as little as - // necessary. - let raw_data = &summaries.raw_data; -- let max_version = if namespaced_features || weak_dep_features { -- INDEX_V_MAX -- } else { -- 1 -- }; - Ok(summaries - .versions - .iter_mut() -@@ -328,7 +321,7 @@ impl<'cfg> RegistryIndex<'cfg> { - }, - ) - .filter(move |is| { -- if is.v > max_version { -+ if is.v > INDEX_V_MAX { - debug!( - "unsupported schema version {} ({} {})", - is.v, -@@ -339,11 +332,6 @@ impl<'cfg> RegistryIndex<'cfg> { - } else { - true - } -- }) -- .filter(move |is| { -- is.summary -- .unstable_gate(namespaced_features, weak_dep_features) -- .is_ok() - })) - } - ---- cargo-crates/cargo-0.60.0/src/cargo/util/toml/mod.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/cargo/util/toml/mod.rs -@@ -1299,8 +1299,6 @@ impl TomlManifest { - me.features.as_ref().unwrap_or(&empty_features), - project.links.as_deref(), - )?; -- let unstable = config.cli_unstable(); -- summary.unstable_gate(unstable.namespaced_features, unstable.weak_dep_features)?; - - let metadata = ManifestMetadata { - description: project.description.clone(), ---- cargo-crates/cargo-0.60.0/src/doc/src/reference/features.md.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/doc/src/reference/features.md -@@ -116,32 +116,47 @@ gif = { version = "0.11.1", optional = true } - gif = { version = "0.11.1", optional = true } - ``` - --Optional dependencies implicitly define a feature of the same name as the --dependency. This means that the same `cfg(feature = "gif")` syntax can be used --in the code, and the dependency can be enabled just like a feature such as --`--features gif` (see [Command-line feature --options](#command-line-feature-options) below). -+By default, this optional dependency implicitly defines a feature that looks -+like this: - --> **Note**: A feature in the `[feature]` table cannot use the same name as a --> dependency. Experimental support for enabling this and other extensions is --> available on the nightly channel via [namespaced --> features](unstable.md#namespaced-features). -+```toml -+[features] -+gif = ["dep:gif"] -+``` - --Explicitly defined features can enable optional dependencies, too. Just --include the name of the optional dependency in the feature list. For example, --let's say in order to support the AVIF image format, our library needs two --other dependencies to be enabled: -+This means that this dependency will only be included if the `gif` -+feature is enabled. -+The same `cfg(feature = "gif")` syntax can be used in the code, and the -+dependency can be enabled just like any feature such as `--features gif` (see -+[Command-line feature options](#command-line-feature-options) below). - -+In some cases, you may not want to expose a feature that has the same name -+as the optional dependency. -+For example, perhaps the optional dependency is an internal detail, or you -+want to group multiple optional dependencies together, or you just want to use -+a better name. -+If you specify the optional dependency with the `dep:` prefix anywhere -+in the `[features]` table, that disables the implicit feature. -+ -+> **Note**: The `dep:` syntax is only available starting with Rust 1.60. -+> Previous versions can only use the implicit feature name. -+ -+For example, let's say in order to support the AVIF image format, our library -+needs two other dependencies to be enabled: -+ - ```toml - [dependencies] - ravif = { version = "0.6.3", optional = true } - rgb = { version = "0.8.25", optional = true } - - [features] --avif = ["ravif", "rgb"] -+avif = ["dep:ravif", "dep:rgb"] - ``` - - In this example, the `avif` feature will enable the two listed dependencies. -+This also avoids creating the implicit `ravif` and `rgb` features, since we -+don't want users to enable those individually as they are internal details to -+our crate. - - > **Note**: Another way to optionally include a dependency is to use - > [platform-specific dependencies]. Instead of using features, these are -@@ -185,10 +200,31 @@ parallel = ["jpeg-decoder/rayon"] - parallel = ["jpeg-decoder/rayon"] - ``` - --> **Note**: The `"package-name/feature-name"` syntax will also enable --> `package-name` if it is an optional dependency. Experimental support for --> disabling that behavior is available on the nightly channel via [weak --> dependency features](unstable.md#weak-dependency-features). -+The `"package-name/feature-name"` syntax will also enable `package-name` -+if it is an optional dependency. Often this is not what you want. -+You can add a `?` as in `"package-name?/feature-name"` which will only enable -+the given feature if something else enables the optional dependency. -+ -+> **Note**: The `?` syntax is only available starting with Rust 1.60. -+ -+For example, let's say we have added some serialization support to our -+library, and it requires enabling a corresponding feature in some optional -+dependencies. -+That can be done like this: -+ -+```toml -+[dependencies] -+serde = { version = "1.0.133", optional = true } -+rgb = { version = "0.8.25", optional = true } -+ -+[features] -+serde = ["dep:serde", "rgb?/serde"] -+``` -+ -+In this example, enabling the `serde` feature will enable the serde -+dependency. -+It will also enable the `serde` feature for the `rgb` dependency, but only if -+something else has enabled the `rgb` dependency. - - ### Command-line feature options - ---- cargo-crates/cargo-0.60.0/src/doc/src/reference/registries.md.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/doc/src/reference/registries.md -@@ -263,7 +263,45 @@ explaining the format of the entry. - "yanked": false, - // The `links` string value from the package's manifest, or null if not - // specified. This field is optional and defaults to null. -- "links": null -+ "links": null, -+ // An unsigned 32-bit integer value indicating the schema version of this -+ // entry. -+ // -+ // If this not specified, it should be interpreted as the default of 1. -+ // -+ // Cargo (starting with version 1.51) will ignore versions it does not -+ // recognize. This provides a method to safely introduce changes to index -+ // entries and allow older versions of cargo to ignore newer entries it -+ // doesn't understand. Versions older than 1.51 ignore this field, and -+ // thus may misinterpret the meaning of the index entry. -+ // -+ // The current values are: -+ // -+ // * 1: The schema as documented here, not including newer additions. -+ // This is honored in Rust version 1.51 and newer. -+ // * 2: The addition of the `features2` field. -+ // This is honored in Rust version 1.60 and newer. -+ "v": 2, -+ // This optional field contains features with new, extended syntax. -+ // Specifically, namespaced features (`dep:`) and weak dependencies -+ // (`pkg?/feat`). -+ // -+ // This is separated from `features` because versions older than 1.19 -+ // will fail to load due to not being able to parse the new syntax, even -+ // with a `Cargo.lock` file. -+ // -+ // Cargo will merge any values listed here with the "features" field. -+ // -+ // If this field is included, the "v" field should be set to at least 2. -+ // -+ // Registries are not required to use this field for extended feature -+ // syntax, they are allowed to include those in the "features" field. -+ // Using this is only necessary if the registry wants to support cargo -+ // versions older than 1.19, which in practice is only crates.io since -+ // those older versions do not support other registries. -+ "features2": { -+ "serde": ["dep:serde", "chrono?/serde"] -+ } - } - ``` - ---- cargo-crates/cargo-0.60.0/src/doc/src/reference/unstable.md.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/src/doc/src/reference/unstable.md -@@ -69,8 +69,6 @@ Each new feature described below should explain how to - * [avoid-dev-deps](#avoid-dev-deps) — Prevents the resolver from including dev-dependencies during resolution. - * [minimal-versions](#minimal-versions) — Forces the resolver to use the lowest compatible version instead of the highest. - * [public-dependency](#public-dependency) — Allows dependencies to be classified as either public or private. -- * [Namespaced features](#namespaced-features) — Separates optional dependencies into a separate namespace from regular features, and allows feature names to be the same as some dependency name. -- * [Weak dependency features](#weak-dependency-features) — Allows setting features for dependencies without enabling optional dependencies. - * Output behavior - * [out-dir](#out-dir) — Adds a directory where artifacts are copied to. - * [terminal-width](#terminal-width) — Tells rustc the width of the terminal so that long diagnostic messages can be truncated to be more readable. -@@ -252,68 +250,6 @@ lto = true - lto = true - ``` - -- --### Namespaced features --* Original issue: [#1286](https://github.com/rust-lang/cargo/issues/1286) --* Tracking Issue: [#5565](https://github.com/rust-lang/cargo/issues/5565) -- --The `namespaced-features` option makes two changes to how features can be --specified: -- --* Features may now be defined with the same name as a dependency. --* Optional dependencies can be explicitly enabled in the `[features]` table -- with the `dep:` prefix, which enables the dependency without enabling a -- feature of the same name. -- --By default, an optional dependency `foo` will define a feature `foo = --["dep:foo"]` *unless* `dep:foo` is mentioned in any other feature, or the --`foo` feature is already defined. This helps prevent unnecessary boilerplate --of listing every optional dependency, but still allows you to override the --implicit feature. -- --This allows two use cases that were previously not possible: -- --* You can "hide" an optional dependency, so that external users cannot -- explicitly enable that optional dependency. --* There is no longer a need to create "funky" feature names to work around the -- restriction that features cannot shadow dependency names. -- --To enable namespaced-features, use the `-Z namespaced-features` command-line --flag. -- --An example of hiding an optional dependency: -- --```toml --[dependencies] --regex = { version = "1.4.1", optional = true } --lazy_static = { version = "1.4.0", optional = true } -- --[features] --regex = ["dep:regex", "dep:lazy_static"] --``` -- --In this example, the "regex" feature enables both `regex` and `lazy_static`. --The `lazy_static` feature does not exist, and a user cannot explicitly enable --it. This helps hide internal details of how your package is implemented. -- --An example of avoiding "funky" names: -- --```toml --[dependencies] --bigdecimal = "0.1" --chrono = "0.4" --num-bigint = "0.2" --serde = {version = "1.0", optional = true } -- --[features] --serde = ["dep:serde", "bigdecimal/serde", "chrono/serde", "num-bigint/serde"] --``` -- --In this case, `serde` is a natural name to use for a feature, because it is --relevant to your exported API. However, previously you would need to use a --name like `serde1` to work around the naming limitation if you wanted to also --enable other features. -- - ### Build-plan - * Tracking Issue: [#5579](https://github.com/rust-lang/cargo/issues/5579) - -@@ -898,29 +834,6 @@ error: aborting due to previous error - error: aborting due to previous error - ``` - --### Weak dependency features --* Tracking Issue: [#8832](https://github.com/rust-lang/cargo/issues/8832) -- --The `-Z weak-dep-features` command-line options enables the ability to use --`dep_name?/feat_name` syntax in the `[features]` table. The `?` indicates that --the optional dependency `dep_name` will not be automatically enabled. The --feature `feat_name` will only be added if something else enables the --`dep_name` dependency. -- --Example: -- --```toml --[dependencies] --serde = { version = "1.0.117", optional = true, default-features = false } -- --[features] --std = ["serde?/std"] --``` -- --In this example, the `std` feature enables the `std` feature on the `serde` --dependency. However, unlike the normal `serde/std` syntax, it will not enable --the optional dependency `serde` unless something else has included it. -- - ### per-package-target - * Tracking Issue: [#9406](https://github.com/rust-lang/cargo/pull/9406) - * Original Pull Request: [#9030](https://github.com/rust-lang/cargo/pull/9030) -@@ -1375,3 +1288,13 @@ for more information. - Support for generating a future-incompat report has been stabilized - in the 1.59 release. See the [future incompat report chapter](future-incompat-report.md) - for more information. -+ -+### Namespaced features -+ -+Namespaced features has been stabilized in the 1.60 release. -+See the [Features chapter](features.md#optional-dependencies) for more information. -+ -+### Weak dependency features -+ -+Weak dependency features has been stabilized in the 1.60 release. -+See the [Features chapter](features.md#dependency-features) for more information. ---- cargo-crates/cargo-0.60.0/tests/testsuite/features.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/tests/testsuite/features.rs -@@ -36,7 +36,8 @@ Caused by: - } - - #[cargo_test] --fn invalid2() { -+fn same_name() { -+ // Feature with the same name as a dependency. - let p = project() - .file( - "Cargo.toml", -@@ -59,14 +60,24 @@ fn invalid2() { - .file("bar/src/lib.rs", "") - .build(); - -- p.cargo("build") -- .with_status(101) -- .with_stderr( -+ p.cargo("tree -f") -+ .arg("{p} [{f}]") -+ .with_stderr("") -+ .with_stdout( - "\ --[ERROR] failed to parse manifest at `[..]` -+foo v0.0.1 ([..]) [] -+└── bar v1.0.0 ([..]) [] -+", -+ ) -+ .run(); - --Caused by: -- features and dependencies cannot have the same name: `bar` -+ p.cargo("tree --features bar -f") -+ .arg("{p} [{f}]") -+ .with_stderr("") -+ .with_stdout( -+ "\ -+foo v0.0.1 ([..]) [bar,baz] -+└── bar v1.0.0 ([..]) [] - ", - ) - .run(); ---- cargo-crates/cargo-0.60.0/tests/testsuite/features_namespaced.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/tests/testsuite/features_namespaced.rs -@@ -5,99 +5,6 @@ use cargo_test_support::{project, publish}; - use cargo_test_support::{project, publish}; - - #[cargo_test] --fn gated() { -- // Need namespaced-features to use `dep:` syntax. -- Package::new("bar", "1.0.0").publish(); -- let p = project() -- .file( -- "Cargo.toml", -- r#" -- [package] -- name = "foo" -- version = "0.1.0" -- -- [dependencies] -- bar = { version = "1.0", optional = true } -- -- [features] -- foo = ["dep:bar"] -- "#, -- ) -- .file("src/lib.rs", "") -- .build(); -- -- p.cargo("check") -- .with_status(101) -- .with_stderr( -- "\ --[ERROR] failed to parse manifest at `[..]/foo/Cargo.toml` -- --Caused by: -- namespaced features with the `dep:` prefix are only allowed on the nightly channel \ -- and requires the `-Z namespaced-features` flag on the command-line --", -- ) -- .run(); --} -- --#[cargo_test] --fn dependency_gate_ignored() { -- // Dependencies with `dep:` features are ignored in the registry if not on nightly. -- Package::new("baz", "1.0.0").publish(); -- Package::new("bar", "1.0.0") -- .add_dep(Dependency::new("baz", "1.0").optional(true)) -- .feature("feat", &["dep:baz"]) -- .publish(); -- let p = project() -- .file( -- "Cargo.toml", -- r#" -- [package] -- name = "foo" -- version = "0.1.0" -- -- [dependencies] -- bar = "1.0" -- "#, -- ) -- .file("src/lib.rs", "") -- .build(); -- -- p.cargo("check") -- .masquerade_as_nightly_cargo() -- .with_status(101) -- .with_stderr( -- "\ --[UPDATING] [..] --[ERROR] no matching package named `bar` found --location searched: registry `crates-io` --required by package `foo v0.1.0 ([..]/foo)` --", -- ) -- .run(); -- -- // Publish a version without namespaced features, it should ignore 1.0.0 -- // and use this instead. -- Package::new("bar", "1.0.1") -- .add_dep(Dependency::new("baz", "1.0").optional(true)) -- .feature("feat", &["baz"]) -- .publish(); -- p.cargo("check") -- .masquerade_as_nightly_cargo() -- .with_stderr( -- "\ --[UPDATING] [..] --[DOWNLOADING] crates ... --[DOWNLOADED] bar [..] --[CHECKING] bar v1.0.1 --[CHECKING] foo v0.1.0 [..] --[FINISHED] [..] --", -- ) -- .run(); --} -- --#[cargo_test] - fn dependency_with_crate_syntax() { - // Registry dependency uses dep: syntax. - Package::new("baz", "1.0.0").publish(); -@@ -120,8 +27,7 @@ fn dependency_with_crate_syntax() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("check -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check") - .with_stderr( - "\ - [UPDATING] [..] -@@ -156,8 +62,7 @@ fn namespaced_invalid_feature() { - .file("src/main.rs", "") - .build(); - -- p.cargo("build -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("build") - .with_status(101) - .with_stderr( - "\ -@@ -188,8 +93,7 @@ fn namespaced_invalid_dependency() { - .file("src/main.rs", "") - .build(); - -- p.cargo("build -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("build") - .with_status(101) - .with_stderr( - "\ -@@ -223,8 +127,8 @@ fn namespaced_non_optional_dependency() { - .file("src/main.rs", "") - .build(); - -- p.cargo("build -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("build") -+ - .with_status(101) - .with_stderr( - "\ -@@ -261,8 +165,7 @@ fn namespaced_implicit_feature() { - .file("src/main.rs", "fn main() {}") - .build(); - -- p.cargo("check -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check") - .with_stderr( - "\ - [UPDATING] [..] -@@ -271,8 +174,7 @@ fn namespaced_implicit_feature() { - ", - ) - .run(); -- p.cargo("check -Z namespaced-features --features baz") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features baz") - .with_stderr( - "\ - [DOWNLOADING] crates ... -@@ -307,8 +209,7 @@ fn namespaced_shadowed_dep() { - .file("src/main.rs", "fn main() {}") - .build(); - -- p.cargo("build -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("build") - .with_status(101) - .with_stderr( - "\ -@@ -344,9 +245,7 @@ fn namespaced_shadowed_non_optional() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("check -Z namespaced-features") -- .masquerade_as_nightly_cargo() -- .run(); -+ p.cargo("check").run(); - } - - #[cargo_test] -@@ -370,7 +269,7 @@ fn namespaced_implicit_non_optional() { - .file("src/main.rs", "fn main() {}") - .build(); - -- p.cargo("build -Z namespaced-features").masquerade_as_nightly_cargo().with_status(101).with_stderr( -+ p.cargo("build").with_status(101).with_stderr( - "\ - [ERROR] failed to parse manifest at `[..]` - -@@ -411,8 +310,7 @@ fn namespaced_same_name() { - ) - .build(); - -- p.cargo("run -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("run") - .with_stderr( - "\ - [UPDATING] [..] -@@ -424,8 +322,7 @@ fn namespaced_same_name() { - .with_stdout("") - .run(); - -- p.cargo("run -Z namespaced-features --features baz") -- .masquerade_as_nightly_cargo() -+ p.cargo("run --features baz") - .with_stderr( - "\ - [DOWNLOADING] crates ... -@@ -473,8 +370,7 @@ fn no_implicit_feature() { - ) - .build(); - -- p.cargo("run -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("run") - .with_stderr( - "\ - [UPDATING] [..] -@@ -486,8 +382,7 @@ fn no_implicit_feature() { - .with_stdout("") - .run(); - -- p.cargo("run -Z namespaced-features --features regex") -- .masquerade_as_nightly_cargo() -+ p.cargo("run --features regex") - .with_stderr_unordered( - "\ - [DOWNLOADING] crates ... -@@ -503,8 +398,7 @@ fn no_implicit_feature() { - .with_stdout("regex") - .run(); - -- p.cargo("run -Z namespaced-features --features lazy_static") -- .masquerade_as_nightly_cargo() -+ p.cargo("run --features lazy_static") - .with_stderr( - "\ - [ERROR] Package `foo v0.1.0 [..]` does not have feature `lazy_static`. \ -@@ -538,8 +432,7 @@ fn crate_syntax_bad_name() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("check -Z namespaced-features --features dep:bar") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features dep:bar") - .with_status(101) - .with_stderr( - "\ -@@ -574,8 +467,7 @@ fn crate_syntax_in_dep() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("check -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check") - .with_status(101) - .with_stderr( - "\ -@@ -608,8 +500,7 @@ fn crate_syntax_cli() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("check -Z namespaced-features --features dep:bar") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features dep:bar") - .with_status(101) - .with_stderr( - "\ -@@ -619,8 +510,7 @@ fn crate_syntax_cli() { - .run(); - - switch_to_resolver_2(&p); -- p.cargo("check -Z namespaced-features --features dep:bar") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features dep:bar") - .with_status(101) - .with_stderr( - "\ -@@ -653,8 +543,7 @@ fn crate_required_features() { - .file("src/main.rs", "fn main() {}") - .build(); - -- p.cargo("check -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check") - .with_status(101) - .with_stderr( - "\ -@@ -685,8 +574,7 @@ fn json_exposed() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("metadata -Z namespaced-features --no-deps") -- .masquerade_as_nightly_cargo() -+ p.cargo("metadata --no-deps") - .with_json( - r#" - { -@@ -775,8 +663,7 @@ fn crate_feature_with_explicit() { - ) - .build(); - -- p.cargo("check -Z namespaced-features --features f1") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features f1") - .with_stderr( - "\ - [UPDATING] [..] -@@ -814,8 +701,7 @@ fn optional_explicit_without_crate() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("build -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("build") - .with_status(101) - .with_stderr( - "\ -@@ -856,13 +742,11 @@ fn tree() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("tree -e features -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features") - .with_stdout("foo v0.1.0 ([ROOT]/foo)") - .run(); - -- p.cargo("tree -e features --features a -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features --features a") - .with_stdout( - "\ - foo v0.1.0 ([ROOT]/foo) -@@ -876,8 +760,7 @@ foo v0.1.0 ([ROOT]/foo) - ) - .run(); - -- p.cargo("tree -e features --features a -i bar -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features --features a -i bar") - .with_stdout( - "\ - bar v1.0.0 -@@ -895,8 +778,7 @@ bar v1.0.0 - ) - .run(); - -- p.cargo("tree -e features --features bar -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features --features bar") - .with_stdout( - "\ - foo v0.1.0 ([ROOT]/foo) -@@ -910,8 +792,7 @@ foo v0.1.0 ([ROOT]/foo) - ) - .run(); - -- p.cargo("tree -e features --features bar -i bar -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features --features bar -i bar") - .with_stdout( - "\ - bar v1.0.0 -@@ -948,13 +829,11 @@ fn tree_no_implicit() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("tree -e features -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features") - .with_stdout("foo v0.1.0 ([ROOT]/foo)") - .run(); - -- p.cargo("tree -e features --all-features -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features --all-features") - .with_stdout( - "\ - foo v0.1.0 ([ROOT]/foo) -@@ -964,8 +843,7 @@ foo v0.1.0 ([ROOT]/foo) - ) - .run(); - -- p.cargo("tree -e features -i bar --all-features -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features -i bar --all-features") - .with_stdout( - "\ - bar v1.0.0 -@@ -1116,8 +994,7 @@ fn publish() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("publish --token sekrit -Z namespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("publish --token sekrit") - .with_stderr( - "\ - [UPDATING] [..] ---- cargo-crates/cargo-0.60.0/tests/testsuite/old_cargos.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/tests/testsuite/old_cargos.rs -@@ -558,8 +558,7 @@ fn index_cache_rebuild() { - fs::remove_file(p.root().join("Cargo.lock")).unwrap(); - - // This should rebuild the cache and use 1.0.1. -- p.cargo("check -Znamespaced-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check") - .with_stderr( - "\ - [UPDATING] [..] ---- cargo-crates/cargo-0.60.0/tests/testsuite/weak_dep_features.rs.orig 1970-01-01 00:00:01 UTC -+++ cargo-crates/cargo-0.60.0/tests/testsuite/weak_dep_features.rs -@@ -21,100 +21,6 @@ fn require(enabled_features: &[&str], disabled_feature - } - - #[cargo_test] --fn gated() { -- // Need -Z weak-dep-features to enable. -- Package::new("bar", "1.0.0").feature("feat", &[]).publish(); -- let p = project() -- .file( -- "Cargo.toml", -- r#" -- [package] -- name = "foo" -- version = "0.1.0" -- -- [dependencies] -- bar = { version = "1.0", optional = true } -- -- [features] -- f1 = ["bar?/feat"] -- "#, -- ) -- .file("src/lib.rs", "") -- .build(); -- p.cargo("check") -- .with_status(101) -- .with_stderr( -- "\ --error: failed to parse manifest at `[ROOT]/foo/Cargo.toml` -- --Caused by: -- optional dependency features with `?` syntax are only allowed on the nightly \ -- channel and requires the `-Z weak-dep-features` flag on the command line -- Feature `f1` had feature value `bar?/feat`. --", -- ) -- .run(); --} -- --#[cargo_test] --fn dependency_gate_ignored() { -- // Dependencies with ? features in the registry are ignored in the -- // registry if not on nightly. -- Package::new("baz", "1.0.0").feature("feat", &[]).publish(); -- Package::new("bar", "1.0.0") -- .add_dep(Dependency::new("baz", "1.0").optional(true)) -- .feature("feat", &["baz?/feat"]) -- .publish(); -- let p = project() -- .file( -- "Cargo.toml", -- r#" -- [package] -- name = "foo" -- version = "0.1.0" -- -- [dependencies] -- bar = "1.0" -- "#, -- ) -- .file("src/lib.rs", "") -- .build(); -- -- p.cargo("check") -- .masquerade_as_nightly_cargo() -- .with_status(101) -- .with_stderr( -- "\ --[UPDATING] [..] --[ERROR] no matching package named `bar` found --location searched: registry `crates-io` --required by package `foo v0.1.0 ([..]/foo)` --", -- ) -- .run(); -- -- // Publish a version without the ? feature, it should ignore 1.0.0 -- // and use this instead. -- Package::new("bar", "1.0.1") -- .add_dep(Dependency::new("baz", "1.0").optional(true)) -- .feature("feat", &["baz"]) -- .publish(); -- p.cargo("check") -- .masquerade_as_nightly_cargo() -- .with_stderr( -- "\ --[UPDATING] [..] --[DOWNLOADING] crates ... --[DOWNLOADED] bar [..] --[CHECKING] bar v1.0.1 --[CHECKING] foo v0.1.0 [..] --[FINISHED] [..] --", -- ) -- .run(); --} -- --#[cargo_test] - fn simple() { - Package::new("bar", "1.0.0") - .feature("feat", &[]) -@@ -140,8 +46,7 @@ fn simple() { - - // It's a bit unfortunate that this has to download `bar`, but avoiding - // that is extremely difficult. -- p.cargo("check -Z weak-dep-features --features f1") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features f1") - .with_stderr( - "\ - [UPDATING] [..] -@@ -153,8 +58,7 @@ fn simple() { - ) - .run(); - -- p.cargo("check -Z weak-dep-features --features f1,bar") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features f1,bar") - .with_stderr( - "\ - [CHECKING] bar v1.0.0 -@@ -196,8 +100,7 @@ fn deferred() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("check -Z weak-dep-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check") - .with_stderr( - "\ - [UPDATING] [..] -@@ -238,8 +141,7 @@ fn not_optional_dep() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("check -Z weak-dep-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check") - .with_status(101) - .with_stderr("\ - error: failed to parse manifest at `[ROOT]/foo/Cargo.toml` -@@ -275,8 +177,7 @@ fn optional_cli_syntax() { - .build(); - - // Does not build bar. -- p.cargo("check --features bar?/feat -Z weak-dep-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features bar?/feat") - .with_stderr( - "\ - [UPDATING] [..] -@@ -289,8 +190,7 @@ fn optional_cli_syntax() { - .run(); - - // Builds bar. -- p.cargo("check --features bar?/feat,bar -Z weak-dep-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features bar?/feat,bar") - .with_stderr( - "\ - [CHECKING] bar v1.0.0 -@@ -304,8 +204,7 @@ fn optional_cli_syntax() { - switch_to_resolver_2(&p); - p.build_dir().rm_rf(); - // Does not build bar. -- p.cargo("check --features bar?/feat -Z weak-dep-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features bar?/feat") - .with_stderr( - "\ - [CHECKING] foo v0.1.0 [..] -@@ -315,8 +214,7 @@ fn optional_cli_syntax() { - .run(); - - // Builds bar. -- p.cargo("check --features bar?/feat,bar -Z weak-dep-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features bar?/feat,bar") - .with_stderr( - "\ - [CHECKING] bar v1.0.0 -@@ -351,8 +249,7 @@ fn required_features() { - .file("src/main.rs", "fn main() {}") - .build(); - -- p.cargo("check -Z weak-dep-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("check") - .with_status(101) - .with_stderr( - "\ -@@ -366,7 +263,7 @@ fn weak_with_host_decouple() { - - #[cargo_test] - fn weak_with_host_decouple() { -- // -Z weak-opt-features with new resolver -+ // weak-dep-features with new resolver - // - // foo v0.1.0 - // └── common v1.0.0 -@@ -447,8 +344,7 @@ fn weak_with_host_decouple() { - ) - .build(); - -- p.cargo("run -Z weak-dep-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("run") - .with_stderr( - "\ - [UPDATING] [..] -@@ -493,8 +389,7 @@ fn weak_namespaced() { - .file("src/lib.rs", &require(&["f1"], &["f2", "bar"])) - .build(); - -- p.cargo("check -Z weak-dep-features -Z namespaced-features --features f1") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features f1") - .with_stderr( - "\ - [UPDATING] [..] -@@ -506,21 +401,18 @@ fn weak_namespaced() { - ) - .run(); - -- p.cargo("tree -Z weak-dep-features -Z namespaced-features -f") -+ p.cargo("tree -f") - .arg("{p} feats:{f}") -- .masquerade_as_nightly_cargo() - .with_stdout("foo v0.1.0 ([ROOT]/foo) feats:") - .run(); - -- p.cargo("tree -Z weak-dep-features -Z namespaced-features --features f1 -f") -+ p.cargo("tree --features f1 -f") - .arg("{p} feats:{f}") -- .masquerade_as_nightly_cargo() - .with_stdout("foo v0.1.0 ([ROOT]/foo) feats:f1") - .run(); - -- p.cargo("tree -Z weak-dep-features -Z namespaced-features --features f1,f2 -f") -+ p.cargo("tree --features f1,f2 -f") - .arg("{p} feats:{f}") -- .masquerade_as_nightly_cargo() - .with_stdout( - "\ - foo v0.1.0 ([ROOT]/foo) feats:f1,f2 -@@ -532,8 +424,7 @@ foo v0.1.0 ([ROOT]/foo) feats:f1,f2 - // "bar" remains not-a-feature - p.change_file("src/lib.rs", &require(&["f1", "f2"], &["bar"])); - -- p.cargo("check -Z weak-dep-features -Z namespaced-features --features f1,f2") -- .masquerade_as_nightly_cargo() -+ p.cargo("check --features f1,f2") - .with_stderr( - "\ - [CHECKING] bar v1.0.0 -@@ -568,13 +459,11 @@ fn tree() { - .file("src/lib.rs", &require(&["f1"], &[])) - .build(); - -- p.cargo("tree -Z weak-dep-features --features f1") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree --features f1") - .with_stdout("foo v0.1.0 ([ROOT]/foo)") - .run(); - -- p.cargo("tree -Z weak-dep-features --features f1,bar") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree --features f1,bar") - .with_stdout( - "\ - foo v0.1.0 ([ROOT]/foo) -@@ -583,8 +472,7 @@ foo v0.1.0 ([ROOT]/foo) - ) - .run(); - -- p.cargo("tree -Z weak-dep-features --features f1,bar -e features") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree --features f1,bar -e features") - .with_stdout( - "\ - foo v0.1.0 ([ROOT]/foo) -@@ -594,8 +482,7 @@ foo v0.1.0 ([ROOT]/foo) - ) - .run(); - -- p.cargo("tree -Z weak-dep-features --features f1,bar -e features -i bar") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree --features f1,bar -e features -i bar") - .with_stdout( - "\ - bar v1.0.0 -@@ -610,20 +497,17 @@ bar v1.0.0 - ) - .run(); - -- p.cargo("tree -Z weak-dep-features -e features --features bar?/feat") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features --features bar?/feat") - .with_stdout("foo v0.1.0 ([ROOT]/foo)") - .run(); - - // This is a little strange in that it produces no output. - // Maybe `cargo tree` should print a note about why? -- p.cargo("tree -Z weak-dep-features -e features -i bar --features bar?/feat") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features -i bar --features bar?/feat") - .with_stdout("") - .run(); - -- p.cargo("tree -Z weak-dep-features -e features -i bar --features bar?/feat,bar") -- .masquerade_as_nightly_cargo() -+ p.cargo("tree -e features -i bar --features bar?/feat,bar") - .with_stdout( - "\ - bar v1.0.0 -@@ -663,8 +547,7 @@ fn publish() { - .file("src/lib.rs", "") - .build(); - -- p.cargo("publish --token sekrit -Z weak-dep-features") -- .masquerade_as_nightly_cargo() -+ p.cargo("publish --token sekrit") - .with_stderr( - "\ - [UPDATING] [..] diff --git a/devel/cargo-c/files/patch-libressl-3.5 b/devel/cargo-c/files/patch-libressl-3.5 deleted file mode 100644 index 3368a9c3e450..000000000000 --- a/devel/cargo-c/files/patch-libressl-3.5 +++ /dev/null @@ -1,252 +0,0 @@ -Compatibility with LibreSSL 3.5, taken from -<https://github.com/sfackler/rust-openssl/commit/ea03bc0200a5> - ---- cargo-crates/openssl-sys-0.9.72/build/cfgs.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-sys-0.9.72/build/cfgs.rs -@@ -34,6 +34,9 @@ pub fn get(openssl_version: Option<u64>, libressl_vers - if libressl_version >= 0x3_03_02_00_0 { - cfgs.push("libressl332"); - } -+ if libressl_version >= 0x3_05_00_00_0 { -+ cfgs.push("libressl350"); -+ } - } else { - let openssl_version = openssl_version.unwrap(); - ---- cargo-crates/openssl-sys-0.9.72/build/main.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-sys-0.9.72/build/main.rs -@@ -254,6 +254,7 @@ See rust-openssl README for more information: - (3, 3, _) => ('3', '3', 'x'), - (3, 4, 0) => ('3', '4', '0'), - (3, 4, _) => ('3', '4', 'x'), -+ (3, 5, _) => ('3', '5', 'x'), - _ => version_error(), - }; - -@@ -296,7 +297,7 @@ fn version_error() -> ! { - " - - This crate is only compatible with OpenSSL (version 1.0.1 through 1.1.1, or 3.0.0), or LibreSSL 2.5 --through 3.4.1, but a different version of OpenSSL was found. The build is now aborting -+through 3.5, but a different version of OpenSSL was found. The build is now aborting - due to this version mismatch. - - " ---- cargo-crates/openssl-sys-0.9.72/src/bn.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-sys-0.9.72/src/bn.rs -@@ -43,7 +43,7 @@ extern "C" { - pub fn BN_mul(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM, ctx: *mut BN_CTX) -> c_int; - pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> c_int; - pub fn BN_set_negative(bn: *mut BIGNUM, n: c_int); -- #[cfg(ossl110)] -+ #[cfg(any(ossl110, libressl350))] - pub fn BN_is_negative(b: *const ::BIGNUM) -> c_int; - - pub fn BN_div( -@@ -153,7 +153,7 @@ extern "C" { - } - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - extern "C" { - pub fn BN_get_rfc2409_prime_768(bn: *mut BIGNUM) -> *mut BIGNUM; - pub fn BN_get_rfc2409_prime_1024(bn: *mut BIGNUM) -> *mut BIGNUM; ---- cargo-crates/openssl-sys-0.9.72/src/hmac.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-sys-0.9.72/src/hmac.rs -@@ -3,7 +3,7 @@ use libc::*; - use *; - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - extern "C" { - pub fn HMAC_CTX_new() -> *mut HMAC_CTX; - pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX); ---- cargo-crates/openssl-sys-0.9.72/src/ossl_typ.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-sys-0.9.72/src/ossl_typ.rs -@@ -40,7 +40,7 @@ cfg_if! { - } - } - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - pub enum BIGNUM {} - } else { - #[repr(C)] -@@ -1015,7 +1015,7 @@ cfg_if! { - pub enum COMP_CTX {} - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - pub enum COMP_METHOD {} - } else { - #[repr(C)] ---- cargo-crates/openssl-sys-0.9.72/src/x509.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-sys-0.9.72/src/x509.rs -@@ -25,7 +25,7 @@ stack!(stack_st_X509_EXTENSION); - stack!(stack_st_X509_ATTRIBUTE); - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - pub enum X509_REQ_INFO {} - } else { - #[repr(C)] -@@ -40,7 +40,7 @@ cfg_if! { - } - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - pub enum X509_CRL {} - } else { - #[repr(C)] -@@ -67,7 +67,7 @@ cfg_if! { - stack!(stack_st_X509_CRL); - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - pub enum X509_CRL_INFO {} - } else { - #[repr(C)] -@@ -85,7 +85,7 @@ cfg_if! { - } - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - pub enum X509_REVOKED {} - } else { - #[repr(C)] -@@ -103,7 +103,7 @@ cfg_if! { - stack!(stack_st_X509_REVOKED); - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - pub enum X509_REQ {} - } else { - #[repr(C)] -@@ -117,7 +117,7 @@ cfg_if! { - } - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - pub enum X509_CINF {} - } else { - #[repr(C)] -@@ -140,7 +140,7 @@ cfg_if! { - stack!(stack_st_X509); - - cfg_if! { -- if #[cfg(not(ossl110))] { -+ if #[cfg(not(any(ossl110, libressl350)))] { - pub const X509_LU_FAIL: c_int = 0; - pub const X509_LU_X509: c_int = 1; - pub const X509_LU_CRL: c_int = 2; -@@ -221,12 +221,12 @@ extern "C" { - - const_ptr_api! { - extern "C" { -- #[cfg(ossl102)] -+ #[cfg(any(ossl102, libressl350))] - pub fn X509_ALGOR_get0( -- paobj: *mut #[const_ptr_if(ossl110)] ASN1_OBJECT, -+ paobj: *mut #[const_ptr_if(any(ossl110, libressl350))] ASN1_OBJECT, - pptype: *mut c_int, -- ppval: *mut #[const_ptr_if(ossl110)] c_void, -- alg: #[const_ptr_if(ossl110)] X509_ALGOR, -+ ppval: *mut #[const_ptr_if(any(ossl110, libressl350))] c_void, -+ alg: #[const_ptr_if(any(ossl110, libressl350))] X509_ALGOR, - ); - } - } -@@ -343,7 +343,7 @@ const_ptr_api! { - } - } - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - extern "C" { - pub fn X509_set1_notBefore(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int; - pub fn X509_set1_notAfter(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int; -@@ -356,10 +356,10 @@ cfg_if! { - } - } - extern "C" { -- #[cfg(ossl110)] -+ #[cfg(any(ossl110, libressl350))] - pub fn X509_REQ_get_version(req: *const X509_REQ) -> c_long; - pub fn X509_REQ_set_version(req: *mut X509_REQ, version: c_long) -> c_int; -- #[cfg(ossl110)] -+ #[cfg(any(ossl110, libressl350))] - pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME; - } - const_ptr_api! { -@@ -632,7 +632,7 @@ extern "C" { - } - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - extern "C" { - pub fn X509_OBJECT_free(a: *mut X509_OBJECT); - } ---- cargo-crates/openssl-sys-0.9.72/src/x509_vfy.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-sys-0.9.72/src/x509_vfy.rs -@@ -204,7 +204,7 @@ extern "C" { - pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, error: c_int); - } - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - const_ptr_api! { - extern "C" { - pub fn X509_STORE_CTX_get0_chain(ctx: #[const_ptr_if(ossl300)] X509_STORE_CTX) -> *mut stack_st_X509; ---- cargo-crates/openssl-0.10.38/build.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-0.10.38/build.rs -@@ -78,5 +78,9 @@ fn main() { - if version >= 0x3_04_00_00_0 { - println!("cargo:rustc-cfg=libressl340"); - } -+ -+ if version >= 0x3_05_00_00_0 { -+ println!("cargo:rustc-cfg=libressl350"); -+ } - } - } ---- cargo-crates/openssl-0.10.38/src/bn.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-0.10.38/src/bn.rs -@@ -36,7 +36,7 @@ use crate::string::OpensslString; - use crate::{cvt, cvt_n, cvt_p}; - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - use ffi::{ - BN_get_rfc2409_prime_1024, BN_get_rfc2409_prime_768, BN_get_rfc3526_prime_1536, - BN_get_rfc3526_prime_2048, BN_get_rfc3526_prime_3072, BN_get_rfc3526_prime_4096, ---- cargo-crates/openssl-0.10.38/src/x509/mod.rs.orig 2022-09-19 15:35:02 UTC -+++ cargo-crates/openssl-0.10.38/src/x509/mod.rs -@@ -1568,7 +1568,7 @@ cfg_if! { - } - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - use ffi::{ - X509_ALGOR_get0, ASN1_STRING_get0_data, X509_STORE_CTX_get0_chain, X509_set1_notAfter, - X509_set1_notBefore, X509_REQ_get_version, X509_REQ_get_subject_name, -@@ -1623,7 +1623,7 @@ cfg_if! { - } - - cfg_if! { -- if #[cfg(ossl110)] { -+ if #[cfg(any(ossl110, libressl350))] { - use ffi::X509_OBJECT_free; - } else { - #[allow(bad_style)] |