git: d4d28a777ec2 - 2021Q3 - games/anki: Update to 2.1.46

Kai Knoblich kai at FreeBSD.org
Tue Aug 17 09:00:13 UTC 2021


The branch 2021Q3 has been updated by kai:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d4d28a777ec2e376e235209dbc8a468c22d5724f

commit d4d28a777ec2e376e235209dbc8a468c22d5724f
Author:     Kai Knoblich <kai at FreeBSD.org>
AuthorDate: 2021-08-13 12:25:55 +0000
Commit:     Kai Knoblich <kai at FreeBSD.org>
CommitDate: 2021-08-17 08:49:46 +0000

    games/anki: Update to 2.1.46
    
    * Remove DIST_SUBDIR, which once made sense when Anki was still a pure
      Python port.  Anki now needs a lot of Rust crates that are also used
      by other ports.
    
      Therefore, these crates should be placed in the usual place and not
      in an additional subdirectory to save bandwidth and disk space. [1]
    
    Reported by:    se [1]
    MFH:            2021Q3
    
    (cherry picked from commit 83f30a2775ac114cf71dab7ea64917c618668f42)
---
 games/anki/Makefile                                |  256 ++--
 games/anki/distinfo                                | 1326 ++++++++++----------
 games/anki/files/bazel/BUILD.bazel-local_esbuild   |    1 +
 games/anki/files/bazel/BUILD.bazel-rslib           |   25 -
 games/anki/files/bazel/BUILD.bazel-rslib-i18n      |   10 +
 .../bazel/BUILD.bazel-rust_output-fluent_proto     |    7 -
 .../bazel/BUILD.bazel-rust_output-strings_json     |    7 +
 games/anki/files/bazel/repos.bzl                   |   16 +-
 games/anki/files/patch-WORKSPACE                   |    9 +
 games/anki/files/patch-defs.bzl                    |   27 +-
 games/anki/files/patch-late__deps.bzl              |   14 -
 ...cal__repos_esbuild__toolchain_esbuild__repo.bzl |   14 +
 ...h-local__repos_esbuild__toolchain_toolchain.bzl |   12 +
 ...os_rules__nodejs_internal_node_node__patches.js |   12 +-
 ...repos_rules__nodejs_toolchains_node_BUILD.bazel |   20 +-
 ...patch-protobuf.bzl => patch-proto_protobuf.bzl} |   14 +-
 games/anki/files/patch-pylib_anki_BUILD.bazel      |   10 +-
 .../files/patch-pylib_anki___backend_BUILD.bazel   |   15 +-
 games/anki/files/patch-pylib_tools_BUILD.bazel     |   10 +-
 games/anki/files/patch-qt_aqt_BUILD.bazel          |    5 +-
 games/anki/files/patch-ts_lib_BUILD.bazel          |   22 +
 games/anki/pkg-plist                               |  251 +++-
 22 files changed, 1185 insertions(+), 898 deletions(-)

diff --git a/games/anki/Makefile b/games/anki/Makefile
index fbf47144582d..48f0787a0af7 100644
--- a/games/anki/Makefile
+++ b/games/anki/Makefile
@@ -1,12 +1,11 @@
 # Created by: Andrew Pantyukhin <infofarmer at FreeBSD.org>
 
 PORTNAME=	anki
-DISTVERSION=	2.1.44
+DISTVERSION=	2.1.46
 # Don't forget to update ${_MY_BUILDHASH} if DISTVERSION changes
 CATEGORIES=	games education python
 MASTER_SITES=	LOCAL/kai/:yarncache
 DISTFILES=	anki-yarn-cache-${DISTVERSION}${EXTRACT_SUFX}:yarncache
-DIST_SUBDIR=	python
 
 MAINTAINER=	kai at FreeBSD.org
 COMMENT=	Flashcard trainer with spaced repetition
@@ -22,6 +21,7 @@ NOT_FOR_ARCHS_REASON=	the bazel build framework supports only 64-bit systems.
 
 BUILD_DEPENDS=	bash:shells/bash \
 		bazel:devel/bazel \
+		esbuild:devel/esbuild \
 		protoc:devel/protobuf \
 		yarn:www/yarn \
 		${PYTHON_PKGNAMEPREFIX}mypy-protobuf>=1.21:devel/py-mypy-protobuf@${PY_FLAVOR} \
@@ -50,6 +50,7 @@ RUN_DEPENDS=	lame:audio/lame \
 		${PYTHON_PKGNAMEPREFIX}Flask>0:www/py-flask@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}Flask-Cors>0:www/py-flask-cors@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}protobuf>0:devel/py-protobuf@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}stringcase>0:devel/py-stringcase@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}waitress>0:www/py-waitress@${PY_FLAVOR}
 
 # USES=ssl is required for the compilation of the Rust code
@@ -57,31 +58,33 @@ USES=		cargo desktop-file-utils pyqt:5 python:3.8+ shebangfix ssl
 USE_GITHUB=	yes
 GH_ACCOUNT=	ankitects
 # Translation files
-GH_TUPLE=	ankitects:anki-core-i18n:30ab198:ftlrslib \
-		ankitects:anki-desktop-ftl:3920d26:ftlextra
+GH_TUPLE=	ankitects:anki-core-i18n:dd67ac7:ftlrslib \
+		ankitects:anki-desktop-ftl:54188b8:ftlextra
 # Cargo crates
-GH_TUPLE+=	ankitects:hyper-timeout:anki-2020-11-03:hypertimeout \
-		ankitects:reqwest:anki-2020-11-03:reqwest \
-		ankitects:tokio-io-timeout:anki-2020-11-03:tokioiotimeout
+GH_TUPLE+=	ankitects:hyper-timeout:0cb6f7d14c62819e37cd221736f8b0555e823712:hypertimeout \
+		ankitects:linkcheck:2f20798ce521cc594d510d4e417e76d5eac04d4b:linkcheck \
+		ankitects:reqwest:7591444614de02b658ddab125efba7b2bb4e2335:reqwest \
+		ankitects:tokio-io-timeout:1ee0892217e9a76bba4bb369ec5fab8854935a3c:tokioiotimeout \
+		timothee-haudebourg:pct-str:4adccd8d4a222ab2672350a102f06ae832a0572d:pctstr
 # Bazel Skylib framework and sets of bazel rules
 GH_TUPLE+=	bazelbuild:bazel-skylib:e59b620:bzlskylib \
 		bazelbuild:rules_cc:40548a2:bzlrcc \
 		bazelbuild:rules_java:c13e3ea:bzlrjava \
-		bazelbuild:rules_nodejs:1689fa1:bzlrnodejs \
+		bazelbuild:rules_nodejs:2d02e82:bzlrnodejs \
 		bazelbuild:rules_proto:f7a30f6:bzlrproto \
-		ankitects:rules_pip:73953e0:bzlrpip \
+		ankitects:esbuild_toolchain:f942aa9:esbuildtc \
+		ankitects:rules_pip:fb02cb7:bzlrpip \
 		ankitects:rules_python:3927c9b:bzlrpython \
-		ankitects:rules_rust:dfd1200:bzlrrust \
-		ankitects:rules_sass:275ace7:bzlrsass \
-		ankitects:rules_svelte:f09155c:bzlrsvelte
+		ankitects:rules_rust:f66001a:bzlrrust \
+		ankitects:rules_sass:275ace7:bzlrsass
 
 USE_PYQT=	core gui network printsupport sip svg webchannel webengine widgets xml_build
 
 SHEBANG_FILES=	qt/tools/runanki.system.in
 
-CARGO_CRATES=	addr2line-0.15.2 \
+CARGO_CRATES=	Inflector-0.11.4 \
 		adler-1.0.2 \
-		ahash-0.4.7 \
+		ahash-0.7.4 \
 		aho-corasick-0.7.18 \
 		ammonia-3.1.2 \
 		anyhow-1.0.42 \
@@ -93,112 +96,112 @@ CARGO_CRATES=	addr2line-0.15.2 \
 		askama_derive-0.10.5 \
 		askama_escape-0.10.1 \
 		askama_shared-0.11.1 \
-		async-compression-0.3.8 \
-		async-trait-0.1.50 \
+		async-trait-0.1.51 \
 		atty-0.2.14 \
 		autocfg-1.0.1 \
-		backtrace-0.3.60 \
-		base64-0.12.3 \
 		base64-0.13.0 \
 		bitflags-1.2.1 \
 		bitvec-0.19.5 \
 		blake3-0.3.8 \
 		bumpalo-3.7.0 \
 		byteorder-1.4.3 \
-		bytes-0.4.12 \
-		bytes-0.5.6 \
 		bytes-1.0.1 \
 		cc-1.0.69 \
 		cfg-if-0.1.10 \
 		cfg-if-1.0.0 \
 		chrono-0.4.19 \
 		coarsetime-0.1.19 \
+		codespan-0.11.1 \
+		codespan-reporting-0.11.1 \
 		constant_time_eq-0.1.5 \
+		convert_case-0.4.0 \
 		core-foundation-0.9.1 \
 		core-foundation-sys-0.8.2 \
 		crc32fast-1.2.1 \
 		crossbeam-channel-0.5.1 \
 		crossbeam-utils-0.8.5 \
 		crypto-mac-0.8.0 \
+		cssparser-0.27.2 \
+		cssparser-macros-0.6.0 \
 		ctor-0.1.20 \
 		derivative-2.2.0 \
+		derive_more-0.99.16 \
 		digest-0.9.0 \
-		dirs-next-2.0.0 \
-		dirs-sys-next-0.1.2 \
+		dirs-2.0.2 \
+		dirs-sys-0.3.6 \
 		dtoa-0.4.8 \
+		dtoa-short-0.3.3 \
+		dunce-1.0.2 \
 		either-1.6.1 \
 		encoding_rs-0.8.28 \
 		env_logger-0.8.4 \
-		failure-0.1.8 \
-		failure_derive-0.1.8 \
 		fallible-iterator-0.2.0 \
 		fallible-streaming-iterator-0.1.9 \
 		fixedbitset-0.2.0 \
 		flate2-1.0.20 \
-		fluent-0.13.1 \
-		fluent-bundle-0.13.2 \
+		fluent-0.15.0 \
+		fluent-bundle-0.15.1 \
 		fluent-langneg-0.13.0 \
-		fluent-syntax-0.10.3 \
+		fluent-syntax-0.11.0 \
 		fnv-1.0.7 \
 		foreign-types-0.3.2 \
 		foreign-types-shared-0.1.1 \
 		form_urlencoded-1.0.1 \
-		fuchsia-zircon-0.3.3 \
-		fuchsia-zircon-sys-0.3.3 \
 		funty-1.1.0 \
 		futf-0.1.4 \
-		futures-0.3.15 \
-		futures-channel-0.3.15 \
-		futures-core-0.3.15 \
-		futures-executor-0.3.15 \
-		futures-io-0.3.15 \
-		futures-macro-0.3.15 \
-		futures-sink-0.3.15 \
-		futures-task-0.3.15 \
-		futures-util-0.3.15 \
+		futures-0.3.16 \
+		futures-channel-0.3.16 \
+		futures-core-0.3.16 \
+		futures-executor-0.3.16 \
+		futures-io-0.3.16 \
+		futures-macro-0.3.16 \
+		futures-sink-0.3.16 \
+		futures-task-0.3.16 \
+		futures-util-0.3.16 \
+		fxhash-0.2.1 \
 		generic-array-0.14.4 \
 		getopts-0.2.21 \
 		getrandom-0.1.16 \
 		getrandom-0.2.3 \
 		ghost-0.1.2 \
-		gimli-0.24.0 \
-		h2-0.2.7 \
-		hashbrown-0.9.1 \
+		h2-0.3.3 \
 		hashbrown-0.11.2 \
-		hashlink-0.6.0 \
+		hashlink-0.7.0 \
 		heck-0.3.3 \
 		hermit-abi-0.1.19 \
 		hex-0.4.3 \
 		html5ever-0.25.1 \
 		htmlescape-0.3.1 \
 		http-0.2.4 \
-		http-body-0.3.1 \
+		http-body-0.4.2 \
 		httparse-1.4.1 \
-		httpdate-0.3.2 \
+		httpdate-1.0.1 \
 		humansize-1.1.1 \
 		humantime-2.1.0 \
-		hyper-0.13.10 \
-		hyper-rustls-0.21.0 \
-		hyper-tls-0.4.3 \
+		hyper-0.14.11 \
+		hyper-rustls-0.22.1 \
+		hyper-tls-0.5.0 \
 		idna-0.2.3 \
 		indexmap-1.7.0 \
 		indoc-0.3.6 \
 		indoc-impl-0.3.6 \
+		inflections-1.1.1 \
 		instant-0.1.10 \
 		intl-memoizer-0.5.1 \
 		intl_pluralrules-7.0.1 \
 		inventory-0.1.10 \
 		inventory-impl-0.1.10 \
-		iovec-0.1.4 \
 		ipnet-2.3.1 \
 		itertools-0.9.0 \
+		itertools-0.10.1 \
 		itoa-0.4.7 \
-		js-sys-0.3.51 \
-		kernel32-sys-0.2.2 \
+		js-sys-0.3.52 \
+		kuchiki-0.8.1 \
 		lazy_static-1.4.0 \
 		lexical-core-0.7.6 \
 		libc-0.2.98 \
-		libsqlite3-sys-0.20.1 \
+		libsqlite3-sys-0.22.2 \
+		linkify-0.5.0 \
 		lock_api-0.4.4 \
 		log-0.4.14 \
 		mac-0.1.1 \
@@ -210,47 +213,56 @@ CARGO_CRATES=	addr2line-0.15.2 \
 		mime-0.3.16 \
 		mime_guess-2.0.3 \
 		miniz_oxide-0.4.4 \
-		mio-0.6.23 \
-		miow-0.2.2 \
+		mio-0.7.13 \
+		miow-0.3.7 \
 		multimap-0.8.3 \
 		native-tls-0.2.7 \
-		net2-0.2.37 \
 		new_debug_unreachable-1.0.4 \
 		nodrop-0.1.14 \
 		nom-6.1.2 \
+		nom-7.0.0-alpha1 \
+		ntapi-0.3.6 \
 		num-format-0.4.0 \
 		num-integer-0.1.44 \
 		num-traits-0.2.14 \
 		num_cpus-1.13.0 \
 		num_enum-0.5.2 \
 		num_enum_derive-0.5.2 \
-		object-0.25.3 \
 		once_cell-1.8.0 \
 		openssl-0.10.35 \
 		openssl-probe-0.1.4 \
 		openssl-sys-0.9.65 \
+		ouroboros-0.9.5 \
+		ouroboros_macro-0.9.5 \
 		parking_lot-0.11.1 \
 		parking_lot_core-0.8.3 \
 		paste-0.1.18 \
 		paste-impl-0.1.18 \
 		percent-encoding-2.1.0 \
+		pest-2.1.3 \
 		petgraph-0.5.1 \
 		phf-0.8.0 \
+		phf-0.9.0 \
 		phf_codegen-0.8.0 \
 		phf_generator-0.8.0 \
+		phf_generator-0.9.0 \
+		phf_macros-0.8.0 \
+		phf_macros-0.9.0 \
 		phf_shared-0.8.0 \
+		phf_shared-0.9.0 \
 		pin-project-1.0.8 \
 		pin-project-internal-1.0.8 \
-		pin-project-lite-0.1.12 \
 		pin-project-lite-0.2.7 \
 		pin-utils-0.1.0 \
 		pkg-config-0.3.19 \
 		ppv-lite86-0.2.10 \
 		precomputed-hash-0.1.1 \
 		proc-macro-crate-1.0.0 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
 		proc-macro-hack-0.5.19 \
 		proc-macro-nested-0.1.6 \
-		proc-macro2-1.0.27 \
+		proc-macro2-1.0.28 \
 		prost-0.7.0 \
 		prost-build-0.7.0 \
 		prost-derive-0.7.0 \
@@ -275,77 +287,88 @@ CARGO_CRATES=	addr2line-0.15.2 \
 		regex-1.5.4 \
 		regex-syntax-0.6.25 \
 		remove_dir_all-0.5.3 \
-		rental-0.5.6 \
-		rental-impl-0.5.5 \
+		reqwest-0.11.4 \
 		ring-0.16.20 \
-		rusqlite-0.24.2 \
-		rustc-demangle-0.1.20 \
+		rusqlite-0.25.3 \
 		rustc-hash-1.1.0 \
-		rustls-0.18.1 \
-		rustversion-1.0.5 \
+		rustc_version-0.3.3 \
+		rustls-0.19.1 \
+		rustls-native-certs-0.5.0 \
 		ryu-1.0.5 \
 		schannel-0.1.19 \
 		scopeguard-1.1.0 \
 		sct-0.6.1 \
 		security-framework-2.3.1 \
 		security-framework-sys-2.3.0 \
-		serde-1.0.126 \
-		serde-aux-0.6.1 \
-		serde_derive-1.0.126 \
-		serde_json-1.0.64 \
+		selectors-0.22.0 \
+		semver-0.11.0 \
+		semver-parser-0.10.2 \
+		serde-1.0.127 \
+		serde-aux-2.2.0 \
+		serde_derive-1.0.127 \
+		serde_json-1.0.66 \
 		serde_repr-0.1.7 \
 		serde_tuple-0.5.0 \
 		serde_tuple_macros-0.5.0 \
-		serde_urlencoded-0.6.1 \
+		serde_urlencoded-0.7.0 \
+		servo_arc-0.1.1 \
 		sha1-0.6.0 \
-		siphasher-0.3.5 \
+		siphasher-0.3.6 \
 		slab-0.4.3 \
 		slog-2.7.0 \
-		slog-async-2.6.0 \
+		slog-async-2.7.0 \
 		slog-envlogger-2.2.0 \
 		slog-scope-4.4.0 \
 		slog-stdlog-4.1.0 \
-		slog-term-2.8.0 \
+		slog-term-2.6.0 \
 		smallvec-1.6.1 \
-		socket2-0.3.19 \
+		socket2-0.4.1 \
 		spin-0.5.2 \
 		stable_deref_trait-1.2.0 \
 		static_assertions-1.1.0 \
 		string_cache-0.8.1 \
 		string_cache_codegen-0.5.1 \
+		strum-0.21.0 \
+		strum_macros-0.21.1 \
 		subtle-2.4.1 \
 		syn-1.0.74 \
-		synstructure-0.12.5 \
 		take_mut-0.2.2 \
 		tap-1.0.1 \
 		tempfile-3.2.0 \
 		tendril-0.4.2 \
-		term-0.7.0 \
+		term-0.6.1 \
 		termcolor-1.1.2 \
+		thin-slice-0.1.1 \
 		thiserror-1.0.26 \
 		thiserror-impl-1.0.26 \
 		thread_local-1.1.3 \
-		time-0.1.43 \
+		time-0.1.44 \
 		tinystr-0.3.4 \
 		tinyvec-1.3.1 \
 		tinyvec_macros-0.1.0 \
-		tokio-0.2.25 \
-		tokio-rustls-0.14.1 \
-		tokio-socks-0.3.0 \
-		tokio-tls-0.3.1 \
-		tokio-util-0.3.1 \
+		tokio-1.9.0 \
+		tokio-macros-1.3.0 \
+		tokio-native-tls-0.3.0 \
+		tokio-rustls-0.22.0 \
+		tokio-socks-0.5.1 \
+		tokio-util-0.6.7 \
 		toml-0.5.8 \
 		tower-service-0.3.1 \
 		tracing-0.1.26 \
 		tracing-core-0.1.18 \
-		tracing-futures-0.2.5 \
 		try-lock-0.2.3 \
 		type-map-0.4.0 \
 		typenum-1.13.0 \
+		ucd-trie-0.1.3 \
+		unic-char-property-0.9.0 \
+		unic-char-range-0.9.0 \
+		unic-common-0.9.0 \
 		unic-langid-0.9.0 \
 		unic-langid-impl-0.9.0 \
 		unic-langid-macros-0.9.0 \
 		unic-langid-macros-impl-0.9.0 \
+		unic-ucd-category-0.9.0 \
+		unic-ucd-version-0.9.0 \
 		unicase-2.6.0 \
 		unicode-bidi-0.3.5 \
 		unicode-normalization-0.1.19 \
@@ -356,30 +379,28 @@ CARGO_CRATES=	addr2line-0.15.2 \
 		untrusted-0.7.1 \
 		url-2.2.2 \
 		utf-8-0.7.6 \
+		utf8-decode-1.0.1 \
 		utime-0.3.1 \
 		vcpkg-0.2.15 \
 		version_check-0.9.3 \
 		want-0.3.0 \
 		wasi-0.9.0+wasi-snapshot-preview1 \
-		wasi-0.10.2+wasi-snapshot-preview1 \
-		wasm-bindgen-0.2.74 \
-		wasm-bindgen-backend-0.2.74 \
-		wasm-bindgen-futures-0.4.24 \
-		wasm-bindgen-macro-0.2.74 \
-		wasm-bindgen-macro-support-0.2.74 \
-		wasm-bindgen-shared-0.2.74 \
-		web-sys-0.3.51 \
+		wasi-0.10.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.75 \
+		wasm-bindgen-backend-0.2.75 \
+		wasm-bindgen-futures-0.4.25 \
+		wasm-bindgen-macro-0.2.75 \
+		wasm-bindgen-macro-support-0.2.75 \
+		wasm-bindgen-shared-0.2.75 \
+		web-sys-0.3.52 \
 		webpki-0.21.4 \
-		webpki-roots-0.20.0 \
-		which-4.1.0 \
-		winapi-0.2.8 \
+		webpki-roots-0.21.1 \
+		which-4.2.2 \
 		winapi-0.3.9 \
-		winapi-build-0.1.1 \
 		winapi-i686-pc-windows-gnu-0.4.0 \
 		winapi-util-0.1.5 \
 		winapi-x86_64-pc-windows-gnu-0.4.0 \
 		winreg-0.7.0 \
-		ws2_32-sys-0.2.1 \
 		wyz-0.2.0 \
 		xml5ever-0.16.1 \
 		zip-0.5.13
@@ -394,6 +415,7 @@ CARGO_INSTALL=	no
 CARGO_ENV=	BAZEL=1 \
 		BUILDINFO=${_MY_LOCALREPO}/rust_output/buildinfo.txt \
 		PYO3_PYTHON=${PYTHON_CMD} \
+		PROTO_TOP=${WRKSRC}/proto/.top_level \
 		PROTOC=${LOCALBASE}/bin/protoc \
 		BACKEND_PROTO=${WRKSRC}/rslib/backend.proto \
 		RSLIB_FTL_ROOT=${_MY_LOCALREPO}/ftlrslib/l10n.toml \
@@ -412,7 +434,7 @@ MPV_RUN_DEPENDS=	mpv:multimedia/mpv
 # Should contain the most recent commit that reflects ${DISTVERSION} and must
 # be exactly 8 digits otherwise the check for newer versions won't work as
 # expected.
-_MY_BUILDHASH=	b2b3275f
+_MY_BUILDHASH=	94913ec2
 # Path of the local bazel repositories
 _MY_LOCALREPO=	${WRKSRC}/local_repos
 # Path of cache that is used by www/yarn
@@ -423,45 +445,50 @@ post-extract:
 	@${ECHO_CMD} "startup --batch" > ${WRKSRC}/user.bazelrc
 	# Create local repositories which are used by bazel
 	@${MKDIR} ${_MY_LOCALREPO} \
+		${_MY_LOCALREPO}/local_esbuild/bin \
 		${_MY_LOCALREPO}/local_node/node/bin \
 		${_MY_LOCALREPO}/local_node/node/lib \
 		${_MY_LOCALREPO}/local_node/yarn/bin \
 		${_MY_LOCALREPO}/protoc_bin_freebsd/bin \
 		${_MY_LOCALREPO}/pyqt5 \
-		${_MY_LOCALREPO}/rust_output/fluent_proto \
-		${_MY_LOCALREPO}/rust_output/librsbridge
+		${_MY_LOCALREPO}/rust_output/librsbridge \
+		${_MY_LOCALREPO}/rust_output/strings_json
 	# Create empty WORKSPACE files in the top directory of each local
 	# repository
-	@${TOUCH} ${_MY_LOCALREPO}/local_node/WORKSPACE \
+	@${TOUCH} ${_MY_LOCALREPO}/local_esbuild/WORKSPACE \
+		${_MY_LOCALREPO}/local_node/WORKSPACE \
 		${_MY_LOCALREPO}/protoc_bin_freebsd/WORKSPACE \
 		${_MY_LOCALREPO}/pyqt5/WORKSPACE \
 		${_MY_LOCALREPO}/rust_output/WORKSPACE
-	# Copy the bazel rules for NodeJS to the custom local repository as
-	# they need some patching
+	# Copy the bazel rules for NodeJS and esbuild to the custom local repository
+	# as they need some patching
+	@${CP} -r ${WRKSRC_esbuildtc} ${_MY_LOCALREPO}/esbuild_toolchain
 	@${CP} -r ${WRKSRC_bzlrnodejs} ${_MY_LOCALREPO}/rules_nodejs
 	# Link the remaining bazel rules into the custom local repository as
 	# they don't need to be patched
-.for _dir in bzlskylib bzlrcc bzlrjava bzlrpip bzlrproto bzlrpython bzlrrust bzlrsass bzlrsvelte ftlextra ftlrslib
+.for _dir in bzlskylib bzlrcc bzlrjava bzlrpip bzlrproto bzlrpython bzlrrust bzlrsass ftlextra ftlrslib
 	@${RLN} ${WRKSRC_${_dir}} ${_MY_LOCALREPO}/${_dir:S/bzlr/rules_/}
 .endfor
 	# Copy custom BUILD.bazel files to the local repositories
+	@${CP} ${FILESDIR}/bazel/BUILD.bazel-local_esbuild \
+		${_MY_LOCALREPO}/local_esbuild/BUILD.bazel
 	@${CP} ${FILESDIR}/bazel/BUILD.bazel-local_node \
 		${_MY_LOCALREPO}/local_node/BUILD.bazel
 	@${CP} ${FILESDIR}/bazel/BUILD.bazel-protoc_bin_freebsd \
 		${_MY_LOCALREPO}/protoc_bin_freebsd/BUILD.bazel
 	@${CP} ${FILESDIR}/bazel/BUILD.bazel-pyqt5 \
 		${_MY_LOCALREPO}/pyqt5/BUILD.bazel
-	@${CP} ${FILESDIR}/bazel/BUILD.bazel-rust_output-fluent_proto \
-		${_MY_LOCALREPO}/rust_output/fluent_proto/BUILD.bazel
 	@${CP} ${FILESDIR}/bazel/BUILD.bazel-rust_output-librsbridge \
 		${_MY_LOCALREPO}/rust_output/librsbridge/BUILD.bazel
+	@${CP} ${FILESDIR}/bazel/BUILD.bazel-rust_output-strings_json \
+		${_MY_LOCALREPO}/rust_output/strings_json/BUILD.bazel
 	@${CP} ${FILESDIR}/bazel/BUILD.bazel-i18n ${WRKSRC_ftlrslib}/BUILD.bazel
 	@${CP} ${FILESDIR}/bazel/BUILD.bazel-i18n ${WRKSRC_ftlextra}/BUILD.bazel
 	# Move some files out of the way as they will be replaced by custom copies.
 	@${MV} ${WRKSRC}/repos.bzl ${WRKSRC}/repos.bzl.dist
 	@${MV} ${WRKSRC}/pip/pyqt5/defs.bzl ${WRKSRC}/pip/pyqt5/defs.bzl.dist
 	@${MV} ${WRKSRC}/pylib/rsbridge/BUILD.bazel ${WRKSRC}/pylib/rsbridge/BUILD.bazel.dist
-	@${MV} ${WRKSRC}/rslib/BUILD.bazel ${WRKSRC}/rslib/BUILD.bazel.dist
+	@${MV} ${WRKSRC}/rslib/i18n/BUILD.bazel ${WRKSRC}/rslib/i18n/BUILD.bazel.dist
 	# Required for a successful Rust compilation
 	@${MV} ${WRKSRC}/Cargo.lock ${WRKSRC}/Cargo.lock.dist
 	# Copy the replacement files
@@ -469,8 +496,8 @@ post-extract:
 	@${CP} ${FILESDIR}/bazel/pyqt5.bzl ${WRKSRC}/pip/pyqt5/defs.bzl
 	@${CP} ${FILESDIR}/bazel/BUILD.bazel-pylib-rsbridge \
 		${WRKSRC}/pylib/rsbridge/BUILD.bazel
-	@${CP} ${FILESDIR}/bazel/BUILD.bazel-rslib \
-		${WRKSRC}/rslib/BUILD.bazel
+	@${CP} ${FILESDIR}/bazel/BUILD.bazel-rslib-i18n \
+		${WRKSRC}/rslib/i18n/BUILD.bazel
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
@@ -480,7 +507,8 @@ post-patch:
 	@${REINPLACE_CMD} -e 's|%%_MY_BUILDHASH%%|${_MY_BUILDHASH}|' \
 		${WRKSRC}/scripts/status.sh
 	@${REINPLACE_CMD} -e 's|%%_MY_LOCALREPO%%|${_MY_LOCALREPO}|g' \
-		${WRKSRC}/repos.bzl ${WRKSRC}/protobuf.bzl
+		${WRKSRC}/repos.bzl ${WRKSRC}/proto/protobuf.bzl \
+		${_MY_LOCALREPO}/esbuild_toolchain/esbuild_repo.bzl
 	@${REINPLACE_CMD} -e 's|%%_MY_YARNCACHE%%|${_MY_YARNCACHE}|' \
 		${_MY_LOCALREPO}/rules_nodejs/internal/npm_install/npm_install.bzl
 
@@ -488,6 +516,7 @@ pre-configure:
 	# Link the binaries of Node, Protobuf and Yarn into the local bazel
 	# repositories to provide them during build.
 	${LN} -s ${LOCALBASE}/bin/protoc-gen-mypy ${WRKSRC}/pylib/tools/protoc-gen-mypy
+	${LN} -s ${LOCALBASE}/bin/esbuild ${_MY_LOCALREPO}/local_esbuild/bin/esbuild
 	${LN} -s ${LOCALBASE}/bin/node ${_MY_LOCALREPO}/local_node/node/bin/node
 	${LN} -s ${LOCALBASE}/bin/yarn.js ${_MY_LOCALREPO}/local_node/yarn/bin/yarn.js
 	${LN} -s ${LOCALBASE}/bin/protoc ${_MY_LOCALREPO}/protoc_bin_freebsd/bin/protoc
@@ -497,9 +526,9 @@ pre-configure:
 # Steps 1 and 2 are built separately from the bazel build process.
 #
 # 1. rslib (Rust library, implictly built by step 2)
-#    `-> produces ${_MY_LOCALREPO}/rust_output/fluent.proto
+#    `-> produces ${_MY_LOCALREPO}/rust_output/strings_json/strings.json
 # 2. pylib/rsbridge (Rust/Python bridge)
-#    `-> produces ${_MY_LOCALREPO}/rust_output/librsbridge.so
+#    `-> produces ${_MY_LOCALREPO}/rust_output/librsbridge/librsbridge.so
 # 3. The remaining components (Python, Qt5 and JS) are built by bazel
 pre-build:
 	# Generate buildinfo.txt which is used via BUILDINFO in ${CARGO_ENV} during
@@ -511,15 +540,18 @@ pre-build:
 		${CARGO_BUILD_ARGS}
 	# These files are required for the remaining build process via bazel so copy
 	# them the local repository.
-	${CP} `${FIND} ${CARGO_TARGET_DIR} -name "fluent.proto"` ${_MY_LOCALREPO}/rust_output/fluent_proto/
 	${CP} `${FIND} ${CARGO_TARGET_DIR} -name "librsbridge.so"` ${_MY_LOCALREPO}/rust_output/librsbridge/
+	${CP} `${FIND} ${CARGO_TARGET_DIR} -name "strings.json"` ${_MY_LOCALREPO}/rust_output/strings_json/
 
 do-build:
+	# Limit bazel jobs to 1 due random build failures while compiling TS files
+	# via "tsc".
 	cd ${WRKSRC} && \
 		bazel --output_user_root="${WRKDIR}/.bazel" build \
 			--action_env=PYTHON_SITE_PACKAGES="${PYTHON_SITELIBDIR}" \
 			--action_env=PYTHON_SYS_EXECUTABLE="${PYTHON_CMD}" \
 			--compilation_mode opt \
+			--jobs 1 \
 			--subcommands \
 		dist
 
@@ -559,12 +591,8 @@ make-yarn-cache:
 		&& ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
 	@cd ${WRKSRC_bzlrnodejs}/packages/labs/grpc_web/ \
 		&& ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
-	@cd ${WRKSRC_bzlrnodejs}/packages/labs/protobufjs/ \
-		&& ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
 	@cd ${WRKSRC_bzlrsass}/sass \
 		&& ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
-	@cd ${WRKSRC_bzlrsvelte}/internal \
-		&& ${LOCALBASE}/bin/yarn --cache-folder ${_MY_YARNCACHE} install
 	@cd ${WRKDIR} \
 		&& ${TAR} -czf ${PORTNAME}-yarn-cache-${DISTVERSION}${EXTRACT_SUFX} .yarn \
 		&& ${ECHO} "Please upload the file ${WRKDIR}/${PORTNAME}-yarn-cache-${DISTVERSION}${EXTRACT_SUFX}"
diff --git a/games/anki/distinfo b/games/anki/distinfo
index a1520a3a8641..583bc1680c56 100644
--- a/games/anki/distinfo
+++ b/games/anki/distinfo
@@ -1,643 +1,683 @@
-TIMESTAMP = 1627628162
-SHA256 (python/anki-yarn-cache-2.1.44.tar.gz) = 31fd744d235897fe9a019081a613da7594315c8974ed2e3bc5709c957456fff8
-SIZE (python/anki-yarn-cache-2.1.44.tar.gz) = 137877372
-SHA256 (python/rust/crates/addr2line-0.15.2.crate) = e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a
-SIZE (python/rust/crates/addr2line-0.15.2.crate) = 32966
-SHA256 (python/rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
-SIZE (python/rust/crates/adler-1.0.2.crate) = 12778
-SHA256 (python/rust/crates/ahash-0.4.7.crate) = 739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e
-SIZE (python/rust/crates/ahash-0.4.7.crate) = 51474
-SHA256 (python/rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
-SIZE (python/rust/crates/aho-corasick-0.7.18.crate) = 112923
-SHA256 (python/rust/crates/ammonia-3.1.2.crate) = 2e445c26125ff80316eaea16e812d717b147b82a68682bd4730f74d4845c8b35
-SIZE (python/rust/crates/ammonia-3.1.2.crate) = 39704
-SHA256 (python/rust/crates/anyhow-1.0.42.crate) = 595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486
-SIZE (python/rust/crates/anyhow-1.0.42.crate) = 34827
-SHA256 (python/rust/crates/arc-swap-1.3.0.crate) = e906254e445520903e7fc9da4f709886c84ae4bc4ddaf0e093188d66df4dc820
-SIZE (python/rust/crates/arc-swap-1.3.0.crate) = 63680
-SHA256 (python/rust/crates/arrayref-0.3.6.crate) = a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544
-SIZE (python/rust/crates/arrayref-0.3.6.crate) = 10035
-SHA256 (python/rust/crates/arrayvec-0.4.12.crate) = cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9
-SIZE (python/rust/crates/arrayvec-0.4.12.crate) = 26551
-SHA256 (python/rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
-SIZE (python/rust/crates/arrayvec-0.5.2.crate) = 27838
-SHA256 (python/rust/crates/askama-0.10.5.crate) = d298738b6e47e1034e560e5afe63aa488fea34e25ec11b855a76f0d7b8e73134
-SIZE (python/rust/crates/askama-0.10.5.crate) = 7994
-SHA256 (python/rust/crates/askama_derive-0.10.5.crate) = ca2925c4c290382f9d2fa3d1c1b6a63fa1427099721ecca4749b154cc9c25522
-SIZE (python/rust/crates/askama_derive-0.10.5.crate) = 6927
-SHA256 (python/rust/crates/askama_escape-0.10.1.crate) = 90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb
-SIZE (python/rust/crates/askama_escape-0.10.1.crate) = 8535
-SHA256 (python/rust/crates/askama_shared-0.11.1.crate) = 2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc
-SIZE (python/rust/crates/askama_shared-0.11.1.crate) = 30554
-SHA256 (python/rust/crates/async-compression-0.3.8.crate) = 5443ccbb270374a2b1055fc72da40e1f237809cd6bb0e97e66d264cd138473a6
-SIZE (python/rust/crates/async-compression-0.3.8.crate) = 57977
-SHA256 (python/rust/crates/async-trait-0.1.50.crate) = 0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722
-SIZE (python/rust/crates/async-trait-0.1.50.crate) = 25321
-SHA256 (python/rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
-SIZE (python/rust/crates/atty-0.2.14.crate) = 5470
-SHA256 (python/rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
-SIZE (python/rust/crates/autocfg-1.0.1.crate) = 12908
-SHA256 (python/rust/crates/backtrace-0.3.60.crate) = b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282
-SIZE (python/rust/crates/backtrace-0.3.60.crate) = 70983
-SHA256 (python/rust/crates/base64-0.12.3.crate) = 3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff
-SIZE (python/rust/crates/base64-0.12.3.crate) = 57545
-SHA256 (python/rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
-SIZE (python/rust/crates/base64-0.13.0.crate) = 62070
-SHA256 (python/rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
-SIZE (python/rust/crates/bitflags-1.2.1.crate) = 16745
-SHA256 (python/rust/crates/bitvec-0.19.5.crate) = 8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321
-SIZE (python/rust/crates/bitvec-0.19.5.crate) = 148200
-SHA256 (python/rust/crates/blake3-0.3.8.crate) = b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3
-SIZE (python/rust/crates/blake3-0.3.8.crate) = 154058
-SHA256 (python/rust/crates/bumpalo-3.7.0.crate) = 9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631
-SIZE (python/rust/crates/bumpalo-3.7.0.crate) = 134261
-SHA256 (python/rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
-SIZE (python/rust/crates/byteorder-1.4.3.crate) = 22512
-SHA256 (python/rust/crates/bytes-0.4.12.crate) = 206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c
-SIZE (python/rust/crates/bytes-0.4.12.crate) = 46361
-SHA256 (python/rust/crates/bytes-0.5.6.crate) = 0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38
-SIZE (python/rust/crates/bytes-0.5.6.crate) = 46291
-SHA256 (python/rust/crates/bytes-1.0.1.crate) = b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040
-SIZE (python/rust/crates/bytes-1.0.1.crate) = 48142
-SHA256 (python/rust/crates/cc-1.0.69.crate) = e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2
-SIZE (python/rust/crates/cc-1.0.69.crate) = 56044
-SHA256 (python/rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
-SIZE (python/rust/crates/cfg-if-0.1.10.crate) = 7933
-SHA256 (python/rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
-SIZE (python/rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (python/rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
-SIZE (python/rust/crates/chrono-0.4.19.crate) = 155663
-SHA256 (python/rust/crates/coarsetime-0.1.19.crate) = 2918e2ffa91a49dabbba4965fe38a37a1ba0b6953a29e32cc250a8d59cd42232
-SIZE (python/rust/crates/coarsetime-0.1.19.crate) = 7927
-SHA256 (python/rust/crates/constant_time_eq-0.1.5.crate) = 245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc
-SIZE (python/rust/crates/constant_time_eq-0.1.5.crate) = 4936
-SHA256 (python/rust/crates/core-foundation-0.9.1.crate) = 0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62
-SIZE (python/rust/crates/core-foundation-0.9.1.crate) = 25985
-SHA256 (python/rust/crates/core-foundation-sys-0.8.2.crate) = ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b
-SIZE (python/rust/crates/core-foundation-sys-0.8.2.crate) = 17461
-SHA256 (python/rust/crates/crc32fast-1.2.1.crate) = 81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a
-SIZE (python/rust/crates/crc32fast-1.2.1.crate) = 38172
-SHA256 (python/rust/crates/crossbeam-channel-0.5.1.crate) = 06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4
-SIZE (python/rust/crates/crossbeam-channel-0.5.1.crate) = 86919
-SHA256 (python/rust/crates/crossbeam-utils-0.8.5.crate) = d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db
-SIZE (python/rust/crates/crossbeam-utils-0.8.5.crate) = 38414
-SHA256 (python/rust/crates/crypto-mac-0.8.0.crate) = b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab
-SIZE (python/rust/crates/crypto-mac-0.8.0.crate) = 9115
-SHA256 (python/rust/crates/ctor-0.1.20.crate) = 5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d
-SIZE (python/rust/crates/ctor-0.1.20.crate) = 9328
-SHA256 (python/rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
-SIZE (python/rust/crates/derivative-2.2.0.crate) = 48076
-SHA256 (python/rust/crates/digest-0.9.0.crate) = d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066
-SIZE (python/rust/crates/digest-0.9.0.crate) = 13247
-SHA256 (python/rust/crates/dirs-next-2.0.0.crate) = b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1
-SIZE (python/rust/crates/dirs-next-2.0.0.crate) = 11689
-SHA256 (python/rust/crates/dirs-sys-next-0.1.2.crate) = 4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d
-SIZE (python/rust/crates/dirs-sys-next-0.1.2.crate) = 10681
-SHA256 (python/rust/crates/dtoa-0.4.8.crate) = 56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0
-SIZE (python/rust/crates/dtoa-0.4.8.crate) = 16175
-SHA256 (python/rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
-SIZE (python/rust/crates/either-1.6.1.crate) = 13641
-SHA256 (python/rust/crates/encoding_rs-0.8.28.crate) = 80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065
-SIZE (python/rust/crates/encoding_rs-0.8.28.crate) = 1368577
-SHA256 (python/rust/crates/env_logger-0.8.4.crate) = a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3
-SIZE (python/rust/crates/env_logger-0.8.4.crate) = 33342
-SHA256 (python/rust/crates/failure-0.1.8.crate) = d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86
-SIZE (python/rust/crates/failure-0.1.8.crate) = 37582
-SHA256 (python/rust/crates/failure_derive-0.1.8.crate) = aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4
-SIZE (python/rust/crates/failure_derive-0.1.8.crate) = 4950
-SHA256 (python/rust/crates/fallible-iterator-0.2.0.crate) = 4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7
-SIZE (python/rust/crates/fallible-iterator-0.2.0.crate) = 18509
-SHA256 (python/rust/crates/fallible-streaming-iterator-0.1.9.crate) = 7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a
-SIZE (python/rust/crates/fallible-streaming-iterator-0.1.9.crate) = 9249
-SHA256 (python/rust/crates/fixedbitset-0.2.0.crate) = 37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d
-SIZE (python/rust/crates/fixedbitset-0.2.0.crate) = 13597
-SHA256 (python/rust/crates/flate2-1.0.20.crate) = cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0
-SIZE (python/rust/crates/flate2-1.0.20.crate) = 74036
-SHA256 (python/rust/crates/fluent-0.13.1.crate) = ef9e54ec7b674ae3477d948ae790e90ae24d54fb31c2e7173252978d9b09bdfa
-SIZE (python/rust/crates/fluent-0.13.1.crate) = 3982
-SHA256 (python/rust/crates/fluent-bundle-0.13.2.crate) = 092ebd50cd3f8a6d664bf156e3550d2f7232fbe446da6707d727cca53f707ce2
-SIZE (python/rust/crates/fluent-bundle-0.13.2.crate) = 24130
-SHA256 (python/rust/crates/fluent-langneg-0.13.0.crate) = 2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94
-SIZE (python/rust/crates/fluent-langneg-0.13.0.crate) = 11723
-SHA256 (python/rust/crates/fluent-syntax-0.10.3.crate) = 784f660373ea898f712a7e67b43f35bf79608d46112747c29767d087611d716b
-SIZE (python/rust/crates/fluent-syntax-0.10.3.crate) = 22083
-SHA256 (python/rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
-SIZE (python/rust/crates/fnv-1.0.7.crate) = 11266
-SHA256 (python/rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
-SIZE (python/rust/crates/foreign-types-0.3.2.crate) = 7504
-SHA256 (python/rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
-SIZE (python/rust/crates/foreign-types-shared-0.1.1.crate) = 5672
-SHA256 (python/rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
-SIZE (python/rust/crates/form_urlencoded-1.0.1.crate) = 8773
-SHA256 (python/rust/crates/fuchsia-zircon-0.3.3.crate) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
-SIZE (python/rust/crates/fuchsia-zircon-0.3.3.crate) = 22565
-SHA256 (python/rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
-SIZE (python/rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 7191
-SHA256 (python/rust/crates/funty-1.1.0.crate) = fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7
-SIZE (python/rust/crates/funty-1.1.0.crate) = 11631
-SHA256 (python/rust/crates/futf-0.1.4.crate) = 7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b
-SIZE (python/rust/crates/futf-0.1.4.crate) = 11341
-SHA256 (python/rust/crates/futures-0.3.15.crate) = 0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27
-SIZE (python/rust/crates/futures-0.3.15.crate) = 46425
-SHA256 (python/rust/crates/futures-channel-0.3.15.crate) = e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2
-SIZE (python/rust/crates/futures-channel-0.3.15.crate) = 31867
-SHA256 (python/rust/crates/futures-core-0.3.15.crate) = 0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1
-SIZE (python/rust/crates/futures-core-0.3.15.crate) = 14514
-SHA256 (python/rust/crates/futures-executor-0.3.15.crate) = badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79
-SIZE (python/rust/crates/futures-executor-0.3.15.crate) = 17166
-SHA256 (python/rust/crates/futures-io-0.3.15.crate) = acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1
-SIZE (python/rust/crates/futures-io-0.3.15.crate) = 9058
-SHA256 (python/rust/crates/futures-macro-0.3.15.crate) = a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121
-SIZE (python/rust/crates/futures-macro-0.3.15.crate) = 10872
-SHA256 (python/rust/crates/futures-sink-0.3.15.crate) = a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282
-SIZE (python/rust/crates/futures-sink-0.3.15.crate) = 7672
-SHA256 (python/rust/crates/futures-task-0.3.15.crate) = 8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae
-SIZE (python/rust/crates/futures-task-0.3.15.crate) = 11811
-SHA256 (python/rust/crates/futures-util-0.3.15.crate) = feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967
-SIZE (python/rust/crates/futures-util-0.3.15.crate) = 141962
-SHA256 (python/rust/crates/generic-array-0.14.4.crate) = 501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817
-SIZE (python/rust/crates/generic-array-0.14.4.crate) = 28916
-SHA256 (python/rust/crates/getopts-0.2.21.crate) = 14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5
-SIZE (python/rust/crates/getopts-0.2.21.crate) = 18457
-SHA256 (python/rust/crates/getrandom-0.1.16.crate) = 8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce
-SIZE (python/rust/crates/getrandom-0.1.16.crate) = 25077
-SHA256 (python/rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
-SIZE (python/rust/crates/getrandom-0.2.3.crate) = 26261
-SHA256 (python/rust/crates/ghost-0.1.2.crate) = 1a5bcf1bbeab73aa4cf2fde60a846858dc036163c7c33bec309f8d17de785479
-SIZE (python/rust/crates/ghost-0.1.2.crate) = 12777
-SHA256 (python/rust/crates/gimli-0.24.0.crate) = 0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189
-SIZE (python/rust/crates/gimli-0.24.0.crate) = 703534
-SHA256 (python/rust/crates/h2-0.2.7.crate) = 5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535
-SIZE (python/rust/crates/h2-0.2.7.crate) = 156989
-SHA256 (python/rust/crates/hashbrown-0.9.1.crate) = d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04
-SIZE (python/rust/crates/hashbrown-0.9.1.crate) = 77734
-SHA256 (python/rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
-SIZE (python/rust/crates/hashbrown-0.11.2.crate) = 85713
-SHA256 (python/rust/crates/hashlink-0.6.0.crate) = d99cf782f0dc4372d26846bec3de7804ceb5df083c2d4462c0b8d2330e894fa8
-SIZE (python/rust/crates/hashlink-0.6.0.crate) = 24952
-SHA256 (python/rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
-SIZE (python/rust/crates/heck-0.3.3.crate) = 10260
-SHA256 (python/rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
-SIZE (python/rust/crates/hermit-abi-0.1.19.crate) = 9979
-SHA256 (python/rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
-SIZE (python/rust/crates/hex-0.4.3.crate) = 13299
-SHA256 (python/rust/crates/html5ever-0.25.1.crate) = aafcf38a1a36118242d29b92e1b08ef84e67e4a5ed06e0a80be20e6a32bfed6b
-SIZE (python/rust/crates/html5ever-0.25.1.crate) = 73165
-SHA256 (python/rust/crates/htmlescape-0.3.1.crate) = e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163
-SIZE (python/rust/crates/htmlescape-0.3.1.crate) = 53226
-SHA256 (python/rust/crates/http-0.2.4.crate) = 527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11
-SIZE (python/rust/crates/http-0.2.4.crate) = 105489
-SHA256 (python/rust/crates/http-body-0.3.1.crate) = 13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b
-SIZE (python/rust/crates/http-body-0.3.1.crate) = 5394
-SHA256 (python/rust/crates/httparse-1.4.1.crate) = f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68
-SIZE (python/rust/crates/httparse-1.4.1.crate) = 25592
-SHA256 (python/rust/crates/httpdate-0.3.2.crate) = 494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47
-SIZE (python/rust/crates/httpdate-0.3.2.crate) = 10768
-SHA256 (python/rust/crates/humansize-1.1.1.crate) = 02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026
-SIZE (python/rust/crates/humansize-1.1.1.crate) = 9131
-SHA256 (python/rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
-SIZE (python/rust/crates/humantime-2.1.0.crate) = 16749
-SHA256 (python/rust/crates/hyper-0.13.10.crate) = 8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb
-SIZE (python/rust/crates/hyper-0.13.10.crate) = 141981
-SHA256 (python/rust/crates/hyper-rustls-0.21.0.crate) = 37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6
-SIZE (python/rust/crates/hyper-rustls-0.21.0.crate) = 27489
-SHA256 (python/rust/crates/hyper-tls-0.4.3.crate) = d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed
-SIZE (python/rust/crates/hyper-tls-0.4.3.crate) = 14195
-SHA256 (python/rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
-SIZE (python/rust/crates/idna-0.2.3.crate) = 271023
-SHA256 (python/rust/crates/indexmap-1.7.0.crate) = bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5
-SIZE (python/rust/crates/indexmap-1.7.0.crate) = 50363
-SHA256 (python/rust/crates/indoc-0.3.6.crate) = 47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8
-SIZE (python/rust/crates/indoc-0.3.6.crate) = 9663
-SHA256 (python/rust/crates/indoc-impl-0.3.6.crate) = ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0
-SIZE (python/rust/crates/indoc-impl-0.3.6.crate) = 7933
-SHA256 (python/rust/crates/instant-0.1.10.crate) = bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d
-SIZE (python/rust/crates/instant-0.1.10.crate) = 5218
-SHA256 (python/rust/crates/intl-memoizer-0.5.1.crate) = c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f
-SIZE (python/rust/crates/intl-memoizer-0.5.1.crate) = 8292
-SHA256 (python/rust/crates/intl_pluralrules-7.0.1.crate) = b18f988384267d7066cc2be425e6faf352900652c046b6971d2e228d3b1c5ecf
-SIZE (python/rust/crates/intl_pluralrules-7.0.1.crate) = 9263
-SHA256 (python/rust/crates/inventory-0.1.10.crate) = 0f0f7efb804ec95e33db9ad49e4252f049e37e8b0a4652e3cd61f7999f2eff7f
-SIZE (python/rust/crates/inventory-0.1.10.crate) = 11572
-SHA256 (python/rust/crates/inventory-impl-0.1.10.crate) = 75c094e94816723ab936484666968f5b58060492e880f3c8d00489a1e244fa51
-SIZE (python/rust/crates/inventory-impl-0.1.10.crate) = 6228
-SHA256 (python/rust/crates/iovec-0.1.4.crate) = b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e
-SIZE (python/rust/crates/iovec-0.1.4.crate) = 8720
-SHA256 (python/rust/crates/ipnet-2.3.1.crate) = 68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9
-SIZE (python/rust/crates/ipnet-2.3.1.crate) = 24932
-SHA256 (python/rust/crates/itertools-0.9.0.crate) = 284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b
-SIZE (python/rust/crates/itertools-0.9.0.crate) = 96429
-SHA256 (python/rust/crates/itoa-0.4.7.crate) = dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736
-SIZE (python/rust/crates/itoa-0.4.7.crate) = 12099
-SHA256 (python/rust/crates/js-sys-0.3.51.crate) = 83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062
-SIZE (python/rust/crates/js-sys-0.3.51.crate) = 67124
-SHA256 (python/rust/crates/kernel32-sys-0.2.2.crate) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
-SIZE (python/rust/crates/kernel32-sys-0.2.2.crate) = 24537
-SHA256 (python/rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
-SIZE (python/rust/crates/lazy_static-1.4.0.crate) = 10443
-SHA256 (python/rust/crates/lexical-core-0.7.6.crate) = 6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe
-SIZE (python/rust/crates/lexical-core-0.7.6.crate) = 494385
-SHA256 (python/rust/crates/libc-0.2.98.crate) = 320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790
-SIZE (python/rust/crates/libc-0.2.98.crate) = 522087
-SHA256 (python/rust/crates/libsqlite3-sys-0.20.1.crate) = 64d31059f22935e6c31830db5249ba2b7ecd54fd73a9909286f0a67aa55c2fbd
-SIZE (python/rust/crates/libsqlite3-sys-0.20.1.crate) = 2306064
-SHA256 (python/rust/crates/lock_api-0.4.4.crate) = 0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb
-SIZE (python/rust/crates/lock_api-0.4.4.crate) = 20356
-SHA256 (python/rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
-SIZE (python/rust/crates/log-0.4.14.crate) = 34582
-SHA256 (python/rust/crates/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
-SIZE (python/rust/crates/mac-0.1.1.crate) = 4838
-SHA256 (python/rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
-SIZE (python/rust/crates/maplit-1.0.2.crate) = 8871
-SHA256 (python/rust/crates/markup5ever-0.10.1.crate) = a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd
-SIZE (python/rust/crates/markup5ever-0.10.1.crate) = 34668
-SHA256 (python/rust/crates/markup5ever_rcdom-0.1.0.crate) = f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b
-SIZE (python/rust/crates/markup5ever_rcdom-0.1.0.crate) = 25165
-SHA256 (python/rust/crates/matches-0.1.8.crate) = 7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08
-SIZE (python/rust/crates/matches-0.1.8.crate) = 2216
-SHA256 (python/rust/crates/memchr-2.4.0.crate) = b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc
-SIZE (python/rust/crates/memchr-2.4.0.crate) = 63392
-SHA256 (python/rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
-SIZE (python/rust/crates/mime-0.3.16.crate) = 15206
-SHA256 (python/rust/crates/mime_guess-2.0.3.crate) = 2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212
-SIZE (python/rust/crates/mime_guess-2.0.3.crate) = 27437
-SHA256 (python/rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
-SIZE (python/rust/crates/miniz_oxide-0.4.4.crate) = 49938
-SHA256 (python/rust/crates/mio-0.6.23.crate) = 4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4
-SIZE (python/rust/crates/mio-0.6.23.crate) = 103554
-SHA256 (python/rust/crates/miow-0.2.2.crate) = ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d
-SIZE (python/rust/crates/miow-0.2.2.crate) = 22044
-SHA256 (python/rust/crates/multimap-0.8.3.crate) = e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a
-SIZE (python/rust/crates/multimap-0.8.3.crate) = 13518
-SHA256 (python/rust/crates/native-tls-0.2.7.crate) = b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4
-SIZE (python/rust/crates/native-tls-0.2.7.crate) = 24958
-SHA256 (python/rust/crates/net2-0.2.37.crate) = 391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae
-SIZE (python/rust/crates/net2-0.2.37.crate) = 21311
-SHA256 (python/rust/crates/new_debug_unreachable-1.0.4.crate) = e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54
-SIZE (python/rust/crates/new_debug_unreachable-1.0.4.crate) = 2561
-SHA256 (python/rust/crates/nodrop-0.1.14.crate) = 72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb
-SIZE (python/rust/crates/nodrop-0.1.14.crate) = 7667
-SHA256 (python/rust/crates/nom-6.1.2.crate) = e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2
-SIZE (python/rust/crates/nom-6.1.2.crate) = 147539
-SHA256 (python/rust/crates/num-format-0.4.0.crate) = bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465
-SIZE (python/rust/crates/num-format-0.4.0.crate) = 59791
-SHA256 (python/rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
-SIZE (python/rust/crates/num-integer-0.1.44.crate) = 22216
-SHA256 (python/rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
-SIZE (python/rust/crates/num-traits-0.2.14.crate) = 45476
-SHA256 (python/rust/crates/num_cpus-1.13.0.crate) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
-SIZE (python/rust/crates/num_cpus-1.13.0.crate) = 14704
-SHA256 (python/rust/crates/num_enum-0.5.2.crate) = e5adf0198d427ee515335639f275e806ca01acf9f07d7cf14bb36a10532a6169
-SIZE (python/rust/crates/num_enum-0.5.2.crate) = 10479
-SHA256 (python/rust/crates/num_enum_derive-0.5.2.crate) = b1def5a3f69d4707d8a040b12785b98029a39e8c610ae685c7f6265669767482
-SIZE (python/rust/crates/num_enum_derive-0.5.2.crate) = 7670
-SHA256 (python/rust/crates/object-0.25.3.crate) = a38f2be3697a57b4060074ff41b44c16870d916ad7877c17696e063257482bc7
-SIZE (python/rust/crates/object-0.25.3.crate) = 230711
-SHA256 (python/rust/crates/once_cell-1.8.0.crate) = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
-SIZE (python/rust/crates/once_cell-1.8.0.crate) = 28925
-SHA256 (python/rust/crates/openssl-0.10.35.crate) = 549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885
-SIZE (python/rust/crates/openssl-0.10.35.crate) = 204462
-SHA256 (python/rust/crates/openssl-probe-0.1.4.crate) = 28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a
-SIZE (python/rust/crates/openssl-probe-0.1.4.crate) = 7066
-SHA256 (python/rust/crates/openssl-sys-0.9.65.crate) = 7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d
-SIZE (python/rust/crates/openssl-sys-0.9.65.crate) = 54405
-SHA256 (python/rust/crates/parking_lot-0.11.1.crate) = 6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb
-SIZE (python/rust/crates/parking_lot-0.11.1.crate) = 39854
-SHA256 (python/rust/crates/parking_lot_core-0.8.3.crate) = fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018
-SIZE (python/rust/crates/parking_lot_core-0.8.3.crate) = 32147
-SHA256 (python/rust/crates/paste-0.1.18.crate) = 45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880
-SIZE (python/rust/crates/paste-0.1.18.crate) = 12259
-SHA256 (python/rust/crates/paste-impl-0.1.18.crate) = d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6
-SIZE (python/rust/crates/paste-impl-0.1.18.crate) = 9451
-SHA256 (python/rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
-SIZE (python/rust/crates/percent-encoding-2.1.0.crate) = 9748
-SHA256 (python/rust/crates/petgraph-0.5.1.crate) = 467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7
-SIZE (python/rust/crates/petgraph-0.5.1.crate) = 147173
-SHA256 (python/rust/crates/phf-0.8.0.crate) = 3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12
-SIZE (python/rust/crates/phf-0.8.0.crate) = 3902
-SHA256 (python/rust/crates/phf_codegen-0.8.0.crate) = cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815
-SIZE (python/rust/crates/phf_codegen-0.8.0.crate) = 3192
-SHA256 (python/rust/crates/phf_generator-0.8.0.crate) = 17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526
-SIZE (python/rust/crates/phf_generator-0.8.0.crate) = 7604
-SHA256 (python/rust/crates/phf_shared-0.8.0.crate) = c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7
-SIZE (python/rust/crates/phf_shared-0.8.0.crate) = 2860
-SHA256 (python/rust/crates/pin-project-1.0.8.crate) = 576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08
-SIZE (python/rust/crates/pin-project-1.0.8.crate) = 54991
-SHA256 (python/rust/crates/pin-project-internal-1.0.8.crate) = 6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389
-SIZE (python/rust/crates/pin-project-internal-1.0.8.crate) = 27941
-SHA256 (python/rust/crates/pin-project-lite-0.1.12.crate) = 257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777
-SIZE (python/rust/crates/pin-project-lite-0.1.12.crate) = 16854
-SHA256 (python/rust/crates/pin-project-lite-0.2.7.crate) = 8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443
-SIZE (python/rust/crates/pin-project-lite-0.2.7.crate) = 27212
-SHA256 (python/rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
-SIZE (python/rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (python/rust/crates/pkg-config-0.3.19.crate) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c
-SIZE (python/rust/crates/pkg-config-0.3.19.crate) = 15451
*** 2042 LINES SKIPPED ***


More information about the dev-commits-ports-branches mailing list