nandi/jolt-nativepublic Fork 0
0238622
Commits
Clone
git clone https://git.rickub.com/nandi/jolt-native.git
git clone ssh://git@rickub.com/nandi/jolt-native.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Give the third-party crates a platform to be Android on

reindeer resolves features once per platform, and its list here was four
desktop hosts. Adding the device is most of this; `execution-platform =
false` is what keeps it a target and only a target, so a build script still
compiles and runs on the host rather than unifying its own features into the
device's graph.

Two things then had to be true that were not.

The prelude drops every platform-gated dependency for a configuration it
cannot name. DEFAULT_REINDEER_PLATFORMS has rows for Linux, macOS, Windows
and wasm, and none for Android, so the configuration resolved to None,
`platform.get(None, {})` found nothing, and the deps vanished — silently,
surfacing much later as glutin failing on an import it should have had.
set_reindeer_platforms in a PACKAGE file is the prelude's own hook for this.

And khronos_api's build script writes absolute paths. It emits a slice of
include_bytes! calls naming files under the directory it ran in, which buck2
models as an output of the build-script action and exposes no subtarget for:
nothing downstream can depend on it, so the compile that reads the generated
file finds those bytes only when the earlier action happened to leave them on
the same disk. True locally, false on a worker, where it is 36 missing files.
The overlay writes the bytes themselves, so the generated file is
self-contained and where the two actions ran stops mattering. It also sorts
the directory read, which upstream leaves to the filesystem — an order that
differs between the machine that fills a cache and the one that reads it.

jni is renamed because cpal wants 0.21 on the same platform and cpal is a
path dependency, so reindeer gives its deps public aliases too; two crates
called jni cannot both have the name.
nandi committed 2026-08-31T00:31:30-07:00 Browse files
0238622 parent: 14a30c0
modified third-party/rust/BUCK +1062 -66
@@ -695,6 +695,147 @@ buildscript_run(
695695 version = "0.4.0",
696696 )
697697
698+http_archive(
699+ name = "android-activity-0.6.1.crate",
700+ sha256 = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd",
701+ strip_prefix = "android-activity-0.6.1",
702+ urls = ["https://static.crates.io/crates/android-activity/0.6.1/download"],
703+ visibility = [],
704+)
705+
706+cargo.rust_library(
707+ name = "android-activity-0.6",
708+ srcs = [":android-activity-0.6.1.crate"],
709+ crate = "android_activity",
710+ crate_root = "android-activity-0.6.1.crate/src/lib.rs",
711+ edition = "2021",
712+ env = {
713+ "CARGO_BIN_NAME": "android_activity",
714+ "CARGO_CRATE_NAME": "android_activity",
715+ "CARGO_MANIFEST_DIR": "android-activity-0.6.1.crate",
716+ "CARGO_PKG_AUTHORS": "",
717+ "CARGO_PKG_DESCRIPTION": "Glue for building Rust applications on Android with NativeActivity or GameActivity",
718+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/android-activity",
719+ "CARGO_PKG_NAME": "android-activity",
720+ "CARGO_PKG_README": "README.md",
721+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/android-activity",
722+ "CARGO_PKG_RUST_VERSION": "1.85.0",
723+ "CARGO_PKG_VERSION": "0.6.1",
724+ "CARGO_PKG_VERSION_MAJOR": "0",
725+ "CARGO_PKG_VERSION_MINOR": "6",
726+ "CARGO_PKG_VERSION_PATCH": "1",
727+ "CARGO_PKG_VERSION_PRE": "",
728+ "OUT_DIR": "$(location :android-activity-0.6-build-script-run[out_dir])",
729+ },
730+ features = [
731+ "default",
732+ "native-activity",
733+ ],
734+ rustc_flags = ["@$(location :android-activity-0.6-build-script-run[rustc_flags])"],
735+ visibility = [],
736+ deps = [
737+ ":android-properties-0.2",
738+ ":bitflags-2",
739+ ":jni-0.22",
740+ ":libc-0.2",
741+ ":log-0.4",
742+ ":ndk-0.9",
743+ ":ndk-context-0.1",
744+ ":ndk-sys-0.6",
745+ ":num_enum-0.7",
746+ ":thiserror-2",
747+ ],
748+)
749+
750+cargo.rust_binary(
751+ name = "android-activity-0.6-build-script-build",
752+ srcs = [":android-activity-0.6.1.crate"],
753+ crate = "build_script_build",
754+ crate_root = "android-activity-0.6.1.crate/build.rs",
755+ edition = "2021",
756+ env = {
757+ "CARGO_BIN_NAME": "build-script-build",
758+ "CARGO_CRATE_NAME": "build_script_build",
759+ "CARGO_MANIFEST_DIR": "android-activity-0.6.1.crate",
760+ "CARGO_PKG_AUTHORS": "",
761+ "CARGO_PKG_DESCRIPTION": "Glue for building Rust applications on Android with NativeActivity or GameActivity",
762+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/android-activity",
763+ "CARGO_PKG_NAME": "android-activity",
764+ "CARGO_PKG_README": "README.md",
765+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/android-activity",
766+ "CARGO_PKG_RUST_VERSION": "1.85.0",
767+ "CARGO_PKG_VERSION": "0.6.1",
768+ "CARGO_PKG_VERSION_MAJOR": "0",
769+ "CARGO_PKG_VERSION_MINOR": "6",
770+ "CARGO_PKG_VERSION_PATCH": "1",
771+ "CARGO_PKG_VERSION_PRE": "",
772+ },
773+ features = [
774+ "default",
775+ "native-activity",
776+ ],
777+ visibility = [],
778+ deps = [":cc-1"],
779+)
780+
781+buildscript_run(
782+ name = "android-activity-0.6-build-script-run",
783+ package_name = "android-activity",
784+ buildscript_rule = ":android-activity-0.6-build-script-build",
785+ env = {
786+ "CARGO_PKG_AUTHORS": "",
787+ "CARGO_PKG_DESCRIPTION": "Glue for building Rust applications on Android with NativeActivity or GameActivity",
788+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/android-activity",
789+ "CARGO_PKG_README": "README.md",
790+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/android-activity",
791+ "CARGO_PKG_RUST_VERSION": "1.85.0",
792+ "CARGO_PKG_VERSION_MAJOR": "0",
793+ "CARGO_PKG_VERSION_MINOR": "6",
794+ "CARGO_PKG_VERSION_PATCH": "1",
795+ "CARGO_PKG_VERSION_PRE": "",
796+ "OPT_LEVEL": "2",
797+ },
798+ features = [
799+ "default",
800+ "native-activity",
801+ ],
802+ version = "0.6.1",
803+)
804+
805+http_archive(
806+ name = "android-properties-0.2.2.crate",
807+ sha256 = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04",
808+ strip_prefix = "android-properties-0.2.2",
809+ urls = ["https://static.crates.io/crates/android-properties/0.2.2/download"],
810+ visibility = [],
811+)
812+
813+cargo.rust_library(
814+ name = "android-properties-0.2",
815+ srcs = [":android-properties-0.2.2.crate"],
816+ crate = "android_properties",
817+ crate_root = "android-properties-0.2.2.crate/src/lib.rs",
818+ edition = "2018",
819+ env = {
820+ "CARGO_BIN_NAME": "android_properties",
821+ "CARGO_CRATE_NAME": "android_properties",
822+ "CARGO_MANIFEST_DIR": "android-properties-0.2.2.crate",
823+ "CARGO_PKG_AUTHORS": "Mikhail Lappo <mikhail.lappo@esrlabs.com>",
824+ "CARGO_PKG_DESCRIPTION": "Rust-based Android properties wrapper",
825+ "CARGO_PKG_HOMEPAGE": "https://github.com/miklelappo/android-properties",
826+ "CARGO_PKG_NAME": "android-properties",
827+ "CARGO_PKG_README": "README.md",
828+ "CARGO_PKG_REPOSITORY": "https://github.com/miklelappo/android-properties",
829+ "CARGO_PKG_RUST_VERSION": "",
830+ "CARGO_PKG_VERSION": "0.2.2",
831+ "CARGO_PKG_VERSION_MAJOR": "0",
832+ "CARGO_PKG_VERSION_MINOR": "2",
833+ "CARGO_PKG_VERSION_PATCH": "2",
834+ "CARGO_PKG_VERSION_PRE": "",
835+ },
836+ visibility = [],
837+)
838+
698839 http_archive(
699840 name = "anstream-0.6.21.crate",
700841 sha256 = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a",
@@ -1087,6 +1228,7 @@ cargo.rust_library(
10871228 platform = {
10881229 "linux-arm64": dict(
10891230 deps = [
1231+ ":image-0.25",
10901232 ":log-0.4",
10911233 ":parking_lot-0.12",
10921234 ":percent-encoding-2",
@@ -1095,6 +1237,7 @@ cargo.rust_library(
10951237 ),
10961238 "linux-x86_64": dict(
10971239 deps = [
1240+ ":image-0.25",
10981241 ":log-0.4",
10991242 ":parking_lot-0.12",
11001243 ":percent-encoding-2",
@@ -1103,6 +1246,7 @@ cargo.rust_library(
11031246 ),
11041247 "macos-arm64": dict(
11051248 deps = [
1249+ ":image-0.25",
11061250 ":objc2-0.6",
11071251 ":objc2-app-kit-0.3",
11081252 ":objc2-core-foundation-0.3",
@@ -1112,6 +1256,7 @@ cargo.rust_library(
11121256 ),
11131257 "macos-x86_64": dict(
11141258 deps = [
1259+ ":image-0.25",
11151260 ":objc2-0.6",
11161261 ":objc2-app-kit-0.3",
11171262 ":objc2-core-foundation-0.3",
@@ -1121,7 +1266,6 @@ cargo.rust_library(
11211266 ),
11221267 },
11231268 visibility = [],
1124- deps = [":image-0.25"],
11251269 )
11261270
11271271 http_archive(
@@ -2292,7 +2436,20 @@ cargo.rust_library(
22922436 "CARGO_PKG_VERSION_PATCH": "1",
22932437 "CARGO_PKG_VERSION_PRE": "",
22942438 },
2295- features = ["std"],
2439+ platform = {
2440+ "linux-arm64": dict(
2441+ features = ["std"],
2442+ ),
2443+ "linux-x86_64": dict(
2444+ features = ["std"],
2445+ ),
2446+ "macos-arm64": dict(
2447+ features = ["std"],
2448+ ),
2449+ "macos-x86_64": dict(
2450+ features = ["std"],
2451+ ),
2452+ },
22962453 visibility = [],
22972454 )
22982455
@@ -3039,6 +3196,40 @@ cargo.rust_library(
30393196 ],
30403197 )
30413198
3199+http_archive(
3200+ name = "cesu8-1.1.0.crate",
3201+ sha256 = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c",
3202+ strip_prefix = "cesu8-1.1.0",
3203+ urls = ["https://static.crates.io/crates/cesu8/1.1.0/download"],
3204+ visibility = [],
3205+)
3206+
3207+cargo.rust_library(
3208+ name = "cesu8-1",
3209+ srcs = [":cesu8-1.1.0.crate"],
3210+ crate = "cesu8",
3211+ crate_root = "cesu8-1.1.0.crate/src/lib.rs",
3212+ edition = "2015",
3213+ env = {
3214+ "CARGO_BIN_NAME": "cesu8",
3215+ "CARGO_CRATE_NAME": "cesu8",
3216+ "CARGO_MANIFEST_DIR": "cesu8-1.1.0.crate",
3217+ "CARGO_PKG_AUTHORS": "Eric Kidd <git@randomhacks.net>",
3218+ "CARGO_PKG_DESCRIPTION": "Convert to and from CESU-8 encoding (similar to UTF-8)",
3219+ "CARGO_PKG_HOMEPAGE": "",
3220+ "CARGO_PKG_NAME": "cesu8",
3221+ "CARGO_PKG_README": "README.md",
3222+ "CARGO_PKG_REPOSITORY": "https://github.com/emk/cesu8-rs",
3223+ "CARGO_PKG_RUST_VERSION": "",
3224+ "CARGO_PKG_VERSION": "1.1.0",
3225+ "CARGO_PKG_VERSION_MAJOR": "1",
3226+ "CARGO_PKG_VERSION_MINOR": "1",
3227+ "CARGO_PKG_VERSION_PATCH": "0",
3228+ "CARGO_PKG_VERSION_PRE": "",
3229+ },
3230+ visibility = [],
3231+)
3232+
30423233 http_archive(
30433234 name = "cexpr-0.6.0.crate",
30443235 sha256 = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766",
@@ -3798,6 +3989,50 @@ cargo.rust_library(
37983989 ],
37993990 )
38003991
3992+http_archive(
3993+ name = "combine-4.6.7.crate",
3994+ sha256 = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd",
3995+ strip_prefix = "combine-4.6.7",
3996+ urls = ["https://static.crates.io/crates/combine/4.6.7/download"],
3997+ visibility = [],
3998+)
3999+
4000+cargo.rust_library(
4001+ name = "combine-4",
4002+ srcs = [":combine-4.6.7.crate"],
4003+ crate = "combine",
4004+ crate_root = "combine-4.6.7.crate/src/lib.rs",
4005+ edition = "2018",
4006+ env = {
4007+ "CARGO_BIN_NAME": "combine",
4008+ "CARGO_CRATE_NAME": "combine",
4009+ "CARGO_MANIFEST_DIR": "combine-4.6.7.crate",
4010+ "CARGO_PKG_AUTHORS": "Markus Westerlind <marwes91@gmail.com>",
4011+ "CARGO_PKG_DESCRIPTION": "Fast parser combinators on arbitrary streams with zero-copy support.",
4012+ "CARGO_PKG_HOMEPAGE": "",
4013+ "CARGO_PKG_NAME": "combine",
4014+ "CARGO_PKG_README": "README.md",
4015+ "CARGO_PKG_REPOSITORY": "https://github.com/Marwes/combine",
4016+ "CARGO_PKG_RUST_VERSION": "",
4017+ "CARGO_PKG_VERSION": "4.6.7",
4018+ "CARGO_PKG_VERSION_MAJOR": "4",
4019+ "CARGO_PKG_VERSION_MINOR": "6",
4020+ "CARGO_PKG_VERSION_PATCH": "7",
4021+ "CARGO_PKG_VERSION_PRE": "",
4022+ },
4023+ features = [
4024+ "alloc",
4025+ "bytes",
4026+ "default",
4027+ "std",
4028+ ],
4029+ visibility = [],
4030+ deps = [
4031+ ":bytes-1",
4032+ ":memchr-2",
4033+ ],
4034+)
4035+
38014036 cargo.rust_library(
38024037 name = "conducer-0.3",
38034038 srcs = [":moq-436f045f96c55a1e.git"],
@@ -4292,6 +4527,9 @@ cargo.rust_library(
42924527 "CARGO_PKG_VERSION_PRE": "",
42934528 },
42944529 platform = {
4530+ "android-arm64": dict(
4531+ deps = [":libc-0.2"],
4532+ ),
42954533 "linux-arm64": dict(
42964534 deps = [":libc-0.2"],
42974535 ),
@@ -4334,6 +4572,9 @@ cargo.rust_library(
43344572 "CARGO_PKG_VERSION_PRE": "",
43354573 },
43364574 platform = {
4575+ "android-arm64": dict(
4576+ deps = [":libc-0.2"],
4577+ ),
43374578 "linux-arm64": dict(
43384579 deps = [":libc-0.2"],
43394580 ),
@@ -6096,6 +6337,44 @@ cargo.rust_library(
60966337 deps = [":libloading-0.8"],
60976338 )
60986339
6340+http_archive(
6341+ name = "dlopen2-0.5.0.crate",
6342+ sha256 = "09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa",
6343+ strip_prefix = "dlopen2-0.5.0",
6344+ urls = ["https://static.crates.io/crates/dlopen2/0.5.0/download"],
6345+ visibility = [],
6346+)
6347+
6348+cargo.rust_library(
6349+ name = "dlopen2-0.5",
6350+ srcs = [":dlopen2-0.5.0.crate"],
6351+ crate = "dlopen2",
6352+ crate_root = "dlopen2-0.5.0.crate/src/lib.rs",
6353+ edition = "2021",
6354+ env = {
6355+ "CARGO_BIN_NAME": "dlopen2",
6356+ "CARGO_CRATE_NAME": "dlopen2",
6357+ "CARGO_MANIFEST_DIR": "dlopen2-0.5.0.crate",
6358+ "CARGO_PKG_AUTHORS": "Szymon Wieloch <szymon.wieloch@gmail.com>:Ahmed Masud <ahmed.masud@saf.ai>:OpenByte <development.openbyte@gmail.com>",
6359+ "CARGO_PKG_DESCRIPTION": "Library for opening and operating on dynamic link libraries (also known as shared objects or shared libraries).",
6360+ "CARGO_PKG_HOMEPAGE": "",
6361+ "CARGO_PKG_NAME": "dlopen2",
6362+ "CARGO_PKG_README": "README.md",
6363+ "CARGO_PKG_REPOSITORY": "https://github.com/OpenByteDev/dlopen2",
6364+ "CARGO_PKG_RUST_VERSION": "",
6365+ "CARGO_PKG_VERSION": "0.5.0",
6366+ "CARGO_PKG_VERSION_MAJOR": "0",
6367+ "CARGO_PKG_VERSION_MINOR": "5",
6368+ "CARGO_PKG_VERSION_PATCH": "0",
6369+ "CARGO_PKG_VERSION_PRE": "",
6370+ },
6371+ visibility = [],
6372+ deps = [
6373+ ":libc-0.2",
6374+ ":once_cell-1",
6375+ ],
6376+)
6377+
60996378 http_archive(
61006379 name = "document-features-0.2.12.crate",
61016380 sha256 = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61",
@@ -6487,16 +6766,27 @@ cargo.rust_library(
64876766 ],
64886767 platform = {
64896768 "linux-arm64": dict(
6490- deps = [":smithay-clipboard-0.7"],
6769+ deps = [
6770+ ":arboard-3",
6771+ ":smithay-clipboard-0.7",
6772+ ],
64916773 ),
64926774 "linux-x86_64": dict(
6493- deps = [":smithay-clipboard-0.7"],
6775+ deps = [
6776+ ":arboard-3",
6777+ ":smithay-clipboard-0.7",
6778+ ],
6779+ ),
6780+ "macos-arm64": dict(
6781+ deps = [":arboard-3"],
6782+ ),
6783+ "macos-x86_64": dict(
6784+ deps = [":arboard-3"],
64946785 ),
64956786 },
64966787 visibility = [],
64976788 deps = [
64986789 ":ahash-0.8",
6499- ":arboard-3",
65006790 ":bytemuck-1",
65016791 ":egui-0.31",
65026792 ":log-0.4",
@@ -8882,6 +9172,9 @@ cargo.rust_library(
88829172 "x11-dl",
88839173 ],
88849174 platform = {
9175+ "android-arm64": dict(
9176+ deps = [":glutin_egl_sys-0.7"],
9177+ ),
88859178 "linux-arm64": dict(
88869179 deps = [
88879180 ":glutin_egl_sys-0.7",
@@ -11976,96 +12269,498 @@ cargo.rust_library(
1197612269 "CARGO_PKG_AUTHORS": "David Tolnay <dtolnay@gmail.com>",
1197712270 "CARGO_PKG_DESCRIPTION": "Fast integer primitive to string conversion",
1197812271 "CARGO_PKG_HOMEPAGE": "",
11979- "CARGO_PKG_NAME": "itoa",
12272+ "CARGO_PKG_NAME": "itoa",
12273+ "CARGO_PKG_README": "README.md",
12274+ "CARGO_PKG_REPOSITORY": "https://github.com/dtolnay/itoa",
12275+ "CARGO_PKG_RUST_VERSION": "1.68",
12276+ "CARGO_PKG_VERSION": "1.0.18",
12277+ "CARGO_PKG_VERSION_MAJOR": "1",
12278+ "CARGO_PKG_VERSION_MINOR": "0",
12279+ "CARGO_PKG_VERSION_PATCH": "18",
12280+ "CARGO_PKG_VERSION_PRE": "",
12281+ },
12282+ visibility = [],
12283+)
12284+
12285+http_archive(
12286+ name = "jiff-0.2.35.crate",
12287+ sha256 = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc",
12288+ strip_prefix = "jiff-0.2.35",
12289+ urls = ["https://static.crates.io/crates/jiff/0.2.35/download"],
12290+ visibility = [],
12291+)
12292+
12293+cargo.rust_library(
12294+ name = "jiff-0.2",
12295+ srcs = [":jiff-0.2.35.crate"],
12296+ crate = "jiff",
12297+ crate_root = "jiff-0.2.35.crate/src/lib.rs",
12298+ edition = "2021",
12299+ env = {
12300+ "CARGO_BIN_NAME": "jiff",
12301+ "CARGO_CRATE_NAME": "jiff",
12302+ "CARGO_MANIFEST_DIR": "jiff-0.2.35.crate",
12303+ "CARGO_PKG_AUTHORS": "Andrew Gallant <jamslam@gmail.com>",
12304+ "CARGO_PKG_DESCRIPTION": "A date-time library that encourages you to jump into the pit of success.\n\nThis library is heavily inspired by the Temporal project.\n",
12305+ "CARGO_PKG_HOMEPAGE": "",
12306+ "CARGO_PKG_NAME": "jiff",
12307+ "CARGO_PKG_README": "README.md",
12308+ "CARGO_PKG_REPOSITORY": "https://github.com/BurntSushi/jiff",
12309+ "CARGO_PKG_RUST_VERSION": "1.70",
12310+ "CARGO_PKG_VERSION": "0.2.35",
12311+ "CARGO_PKG_VERSION_MAJOR": "0",
12312+ "CARGO_PKG_VERSION_MINOR": "2",
12313+ "CARGO_PKG_VERSION_PATCH": "35",
12314+ "CARGO_PKG_VERSION_PRE": "",
12315+ },
12316+ features = [
12317+ "alloc",
12318+ "std",
12319+ ],
12320+ named_deps = {
12321+ "jcore": ":jiff-core-0.1",
12322+ },
12323+ visibility = [],
12324+)
12325+
12326+http_archive(
12327+ name = "jiff-core-0.1.0.crate",
12328+ sha256 = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09",
12329+ strip_prefix = "jiff-core-0.1.0",
12330+ urls = ["https://static.crates.io/crates/jiff-core/0.1.0/download"],
12331+ visibility = [],
12332+)
12333+
12334+cargo.rust_library(
12335+ name = "jiff-core-0.1",
12336+ srcs = [":jiff-core-0.1.0.crate"],
12337+ crate = "jiff_core",
12338+ crate_root = "jiff-core-0.1.0.crate/src/lib.rs",
12339+ edition = "2021",
12340+ env = {
12341+ "CARGO_BIN_NAME": "jiff_core",
12342+ "CARGO_CRATE_NAME": "jiff_core",
12343+ "CARGO_MANIFEST_DIR": "jiff-core-0.1.0.crate",
12344+ "CARGO_PKG_AUTHORS": "Andrew Gallant <jamslam@gmail.com>",
12345+ "CARGO_PKG_DESCRIPTION": "Low level datetime primitives for the Jiff library.",
12346+ "CARGO_PKG_HOMEPAGE": "https://github.com/BurntSushi/jiff/tree/master/crates/jiff-core",
12347+ "CARGO_PKG_NAME": "jiff-core",
12348+ "CARGO_PKG_README": "README.md",
12349+ "CARGO_PKG_REPOSITORY": "https://github.com/BurntSushi/jiff",
12350+ "CARGO_PKG_RUST_VERSION": "1.70",
12351+ "CARGO_PKG_VERSION": "0.1.0",
12352+ "CARGO_PKG_VERSION_MAJOR": "0",
12353+ "CARGO_PKG_VERSION_MINOR": "1",
12354+ "CARGO_PKG_VERSION_PATCH": "0",
12355+ "CARGO_PKG_VERSION_PRE": "",
12356+ },
12357+ features = [
12358+ "alloc",
12359+ "std",
12360+ ],
12361+ visibility = [],
12362+)
12363+
12364+alias(
12365+ name = "jni",
12366+ actual = ":jni-0.21",
12367+ visibility = ["PUBLIC"],
12368+)
12369+
12370+http_archive(
12371+ name = "jni-0.21.1.crate",
12372+ sha256 = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97",
12373+ strip_prefix = "jni-0.21.1",
12374+ urls = ["https://static.crates.io/crates/jni/0.21.1/download"],
12375+ visibility = [],
12376+)
12377+
12378+cargo.rust_library(
12379+ name = "jni-0.21",
12380+ srcs = [":jni-0.21.1.crate"],
12381+ crate = "jni",
12382+ crate_root = "jni-0.21.1.crate/src/lib.rs",
12383+ edition = "2018",
12384+ env = {
12385+ "CARGO_BIN_NAME": "jni",
12386+ "CARGO_CRATE_NAME": "jni",
12387+ "CARGO_MANIFEST_DIR": "jni-0.21.1.crate",
12388+ "CARGO_PKG_AUTHORS": "Josh Chase <josh@prevoty.com>",
12389+ "CARGO_PKG_DESCRIPTION": "Rust bindings to the JNI",
12390+ "CARGO_PKG_HOMEPAGE": "",
12391+ "CARGO_PKG_NAME": "jni",
12392+ "CARGO_PKG_README": "README.md",
12393+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12394+ "CARGO_PKG_RUST_VERSION": "",
12395+ "CARGO_PKG_VERSION": "0.21.1",
12396+ "CARGO_PKG_VERSION_MAJOR": "0",
12397+ "CARGO_PKG_VERSION_MINOR": "21",
12398+ "CARGO_PKG_VERSION_PATCH": "1",
12399+ "CARGO_PKG_VERSION_PRE": "",
12400+ },
12401+ features = ["default"],
12402+ visibility = [],
12403+ deps = [
12404+ ":cesu8-1",
12405+ ":cfg-if-1",
12406+ ":combine-4",
12407+ ":jni-sys-0.3",
12408+ ":log-0.4",
12409+ ":thiserror-1",
12410+ ],
12411+)
12412+
12413+alias(
12414+ name = "jni-0-22",
12415+ actual = ":jni-0.22",
12416+ visibility = ["PUBLIC"],
12417+)
12418+
12419+http_archive(
12420+ name = "jni-0.22.4.crate",
12421+ sha256 = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498",
12422+ strip_prefix = "jni-0.22.4",
12423+ urls = ["https://static.crates.io/crates/jni/0.22.4/download"],
12424+ visibility = [],
12425+)
12426+
12427+cargo.rust_library(
12428+ name = "jni-0.22",
12429+ srcs = [":jni-0.22.4.crate"],
12430+ crate = "jni",
12431+ crate_root = "jni-0.22.4.crate/src/lib.rs",
12432+ edition = "2024",
12433+ env = {
12434+ "CARGO_BIN_NAME": "jni",
12435+ "CARGO_CRATE_NAME": "jni",
12436+ "CARGO_MANIFEST_DIR": "jni-0.22.4.crate",
12437+ "CARGO_PKG_AUTHORS": "jni team",
12438+ "CARGO_PKG_DESCRIPTION": "Rust bindings to the JNI",
12439+ "CARGO_PKG_HOMEPAGE": "",
12440+ "CARGO_PKG_NAME": "jni",
12441+ "CARGO_PKG_README": "README.md",
12442+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12443+ "CARGO_PKG_RUST_VERSION": "1.85.0",
12444+ "CARGO_PKG_VERSION": "0.22.4",
12445+ "CARGO_PKG_VERSION_MAJOR": "0",
12446+ "CARGO_PKG_VERSION_MINOR": "22",
12447+ "CARGO_PKG_VERSION_PATCH": "4",
12448+ "CARGO_PKG_VERSION_PRE": "",
12449+ "OUT_DIR": "$(location :jni-0.22-build-script-run[out_dir])",
12450+ },
12451+ features = ["default"],
12452+ rustc_flags = ["@$(location :jni-0.22-build-script-run[rustc_flags])"],
12453+ visibility = [],
12454+ deps = [
12455+ ":cfg-if-1",
12456+ ":combine-4",
12457+ ":jni-macros-0.22",
12458+ ":jni-sys-0.4",
12459+ ":log-0.4",
12460+ ":simd_cesu8-1",
12461+ ":thiserror-2",
12462+ ],
12463+)
12464+
12465+cargo.rust_binary(
12466+ name = "jni-0.22-build-script-build",
12467+ srcs = [":jni-0.22.4.crate"],
12468+ crate = "build_script_build",
12469+ crate_root = "jni-0.22.4.crate/build.rs",
12470+ edition = "2024",
12471+ env = {
12472+ "CARGO_BIN_NAME": "build-script-build",
12473+ "CARGO_CRATE_NAME": "build_script_build",
12474+ "CARGO_MANIFEST_DIR": "jni-0.22.4.crate",
12475+ "CARGO_PKG_AUTHORS": "jni team",
12476+ "CARGO_PKG_DESCRIPTION": "Rust bindings to the JNI",
12477+ "CARGO_PKG_HOMEPAGE": "",
12478+ "CARGO_PKG_NAME": "jni",
12479+ "CARGO_PKG_README": "README.md",
12480+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12481+ "CARGO_PKG_RUST_VERSION": "1.85.0",
12482+ "CARGO_PKG_VERSION": "0.22.4",
12483+ "CARGO_PKG_VERSION_MAJOR": "0",
12484+ "CARGO_PKG_VERSION_MINOR": "22",
12485+ "CARGO_PKG_VERSION_PATCH": "4",
12486+ "CARGO_PKG_VERSION_PRE": "",
12487+ },
12488+ features = ["default"],
12489+ visibility = [],
12490+ deps = [":walkdir-2"],
12491+)
12492+
12493+buildscript_run(
12494+ name = "jni-0.22-build-script-run",
12495+ package_name = "jni",
12496+ buildscript_rule = ":jni-0.22-build-script-build",
12497+ env = {
12498+ "CARGO_PKG_AUTHORS": "jni team",
12499+ "CARGO_PKG_DESCRIPTION": "Rust bindings to the JNI",
12500+ "CARGO_PKG_HOMEPAGE": "",
12501+ "CARGO_PKG_README": "README.md",
12502+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12503+ "CARGO_PKG_RUST_VERSION": "1.85.0",
12504+ "CARGO_PKG_VERSION_MAJOR": "0",
12505+ "CARGO_PKG_VERSION_MINOR": "22",
12506+ "CARGO_PKG_VERSION_PATCH": "4",
12507+ "CARGO_PKG_VERSION_PRE": "",
12508+ "OPT_LEVEL": "2",
12509+ },
12510+ features = ["default"],
12511+ version = "0.22.4",
12512+)
12513+
12514+http_archive(
12515+ name = "jni-macros-0.22.4.crate",
12516+ sha256 = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3",
12517+ strip_prefix = "jni-macros-0.22.4",
12518+ urls = ["https://static.crates.io/crates/jni-macros/0.22.4/download"],
12519+ visibility = [],
12520+)
12521+
12522+cargo.rust_library(
12523+ name = "jni-macros-0.22",
12524+ srcs = [":jni-macros-0.22.4.crate"],
12525+ crate = "jni_macros",
12526+ crate_root = "jni-macros-0.22.4.crate/src/lib.rs",
12527+ edition = "2024",
12528+ env = {
12529+ "CARGO_BIN_NAME": "jni_macros",
12530+ "CARGO_CRATE_NAME": "jni_macros",
12531+ "CARGO_MANIFEST_DIR": "jni-macros-0.22.4.crate",
12532+ "CARGO_PKG_AUTHORS": "",
12533+ "CARGO_PKG_DESCRIPTION": "Procedural macros for the jni crate",
12534+ "CARGO_PKG_HOMEPAGE": "",
12535+ "CARGO_PKG_NAME": "jni-macros",
12536+ "CARGO_PKG_README": "README.md",
12537+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12538+ "CARGO_PKG_RUST_VERSION": "",
12539+ "CARGO_PKG_VERSION": "0.22.4",
12540+ "CARGO_PKG_VERSION_MAJOR": "0",
12541+ "CARGO_PKG_VERSION_MINOR": "22",
12542+ "CARGO_PKG_VERSION_PATCH": "4",
12543+ "CARGO_PKG_VERSION_PRE": "",
12544+ "OUT_DIR": "$(location :jni-macros-0.22-build-script-run[out_dir])",
12545+ },
12546+ proc_macro = True,
12547+ rustc_flags = ["@$(location :jni-macros-0.22-build-script-run[rustc_flags])"],
12548+ visibility = [],
12549+ deps = [
12550+ ":proc-macro2-1",
12551+ ":quote-1",
12552+ ":simd_cesu8-1",
12553+ ":syn-2",
12554+ ],
12555+)
12556+
12557+cargo.rust_binary(
12558+ name = "jni-macros-0.22-build-script-build",
12559+ srcs = [":jni-macros-0.22.4.crate"],
12560+ crate = "build_script_build",
12561+ crate_root = "jni-macros-0.22.4.crate/build.rs",
12562+ edition = "2024",
12563+ env = {
12564+ "CARGO_BIN_NAME": "build-script-build",
12565+ "CARGO_CRATE_NAME": "build_script_build",
12566+ "CARGO_MANIFEST_DIR": "jni-macros-0.22.4.crate",
12567+ "CARGO_PKG_AUTHORS": "",
12568+ "CARGO_PKG_DESCRIPTION": "Procedural macros for the jni crate",
12569+ "CARGO_PKG_HOMEPAGE": "",
12570+ "CARGO_PKG_NAME": "jni-macros",
12571+ "CARGO_PKG_README": "README.md",
12572+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12573+ "CARGO_PKG_RUST_VERSION": "",
12574+ "CARGO_PKG_VERSION": "0.22.4",
12575+ "CARGO_PKG_VERSION_MAJOR": "0",
12576+ "CARGO_PKG_VERSION_MINOR": "22",
12577+ "CARGO_PKG_VERSION_PATCH": "4",
12578+ "CARGO_PKG_VERSION_PRE": "",
12579+ },
12580+ visibility = [],
12581+ deps = [":rustc_version-0.4"],
12582+)
12583+
12584+buildscript_run(
12585+ name = "jni-macros-0.22-build-script-run",
12586+ package_name = "jni-macros",
12587+ buildscript_rule = ":jni-macros-0.22-build-script-build",
12588+ env = {
12589+ "CARGO_PKG_AUTHORS": "",
12590+ "CARGO_PKG_DESCRIPTION": "Procedural macros for the jni crate",
12591+ "CARGO_PKG_HOMEPAGE": "",
12592+ "CARGO_PKG_README": "README.md",
12593+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12594+ "CARGO_PKG_RUST_VERSION": "",
12595+ "CARGO_PKG_VERSION_MAJOR": "0",
12596+ "CARGO_PKG_VERSION_MINOR": "22",
12597+ "CARGO_PKG_VERSION_PATCH": "4",
12598+ "CARGO_PKG_VERSION_PRE": "",
12599+ "OPT_LEVEL": "2",
12600+ },
12601+ version = "0.22.4",
12602+)
12603+
12604+http_archive(
12605+ name = "jni-sys-0.3.1.crate",
12606+ sha256 = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258",
12607+ strip_prefix = "jni-sys-0.3.1",
12608+ urls = ["https://static.crates.io/crates/jni-sys/0.3.1/download"],
12609+ visibility = [],
12610+)
12611+
12612+cargo.rust_library(
12613+ name = "jni-sys-0.3",
12614+ srcs = [":jni-sys-0.3.1.crate"],
12615+ crate = "jni_sys",
12616+ crate_root = "jni-sys-0.3.1.crate/src/lib.rs",
12617+ edition = "2021",
12618+ env = {
12619+ "CARGO_BIN_NAME": "jni_sys",
12620+ "CARGO_CRATE_NAME": "jni_sys",
12621+ "CARGO_MANIFEST_DIR": "jni-sys-0.3.1.crate",
12622+ "CARGO_PKG_AUTHORS": "Steven Fackler <sfackler@gmail.com>",
12623+ "CARGO_PKG_DESCRIPTION": "Rust definitions corresponding to jni.h",
12624+ "CARGO_PKG_HOMEPAGE": "",
12625+ "CARGO_PKG_NAME": "jni-sys",
12626+ "CARGO_PKG_README": "README.md",
12627+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
12628+ "CARGO_PKG_RUST_VERSION": "1.77.0",
12629+ "CARGO_PKG_VERSION": "0.3.1",
12630+ "CARGO_PKG_VERSION_MAJOR": "0",
12631+ "CARGO_PKG_VERSION_MINOR": "3",
12632+ "CARGO_PKG_VERSION_PATCH": "1",
12633+ "CARGO_PKG_VERSION_PRE": "",
12634+ "OUT_DIR": "$(location :jni-sys-0.3-build-script-run[out_dir])",
12635+ },
12636+ features = ["default"],
12637+ named_deps = {
12638+ "jni_sys_04": ":jni-sys-0.4",
12639+ },
12640+ rustc_flags = ["@$(location :jni-sys-0.3-build-script-run[rustc_flags])"],
12641+ visibility = [],
12642+)
12643+
12644+cargo.rust_binary(
12645+ name = "jni-sys-0.3-build-script-build",
12646+ srcs = [":jni-sys-0.3.1.crate"],
12647+ crate = "build_script_build",
12648+ crate_root = "jni-sys-0.3.1.crate/build.rs",
12649+ edition = "2021",
12650+ env = {
12651+ "CARGO_BIN_NAME": "build-script-build",
12652+ "CARGO_CRATE_NAME": "build_script_build",
12653+ "CARGO_MANIFEST_DIR": "jni-sys-0.3.1.crate",
12654+ "CARGO_PKG_AUTHORS": "Steven Fackler <sfackler@gmail.com>",
12655+ "CARGO_PKG_DESCRIPTION": "Rust definitions corresponding to jni.h",
12656+ "CARGO_PKG_HOMEPAGE": "",
12657+ "CARGO_PKG_NAME": "jni-sys",
12658+ "CARGO_PKG_README": "README.md",
12659+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
12660+ "CARGO_PKG_RUST_VERSION": "1.77.0",
12661+ "CARGO_PKG_VERSION": "0.3.1",
12662+ "CARGO_PKG_VERSION_MAJOR": "0",
12663+ "CARGO_PKG_VERSION_MINOR": "3",
12664+ "CARGO_PKG_VERSION_PATCH": "1",
12665+ "CARGO_PKG_VERSION_PRE": "",
12666+ },
12667+ features = ["default"],
12668+ visibility = [],
12669+)
12670+
12671+buildscript_run(
12672+ name = "jni-sys-0.3-build-script-run",
12673+ package_name = "jni-sys",
12674+ buildscript_rule = ":jni-sys-0.3-build-script-build",
12675+ env = {
12676+ "CARGO_PKG_AUTHORS": "Steven Fackler <sfackler@gmail.com>",
12677+ "CARGO_PKG_DESCRIPTION": "Rust definitions corresponding to jni.h",
12678+ "CARGO_PKG_HOMEPAGE": "",
1198012679 "CARGO_PKG_README": "README.md",
11981- "CARGO_PKG_REPOSITORY": "https://github.com/dtolnay/itoa",
11982- "CARGO_PKG_RUST_VERSION": "1.68",
11983- "CARGO_PKG_VERSION": "1.0.18",
11984- "CARGO_PKG_VERSION_MAJOR": "1",
11985- "CARGO_PKG_VERSION_MINOR": "0",
11986- "CARGO_PKG_VERSION_PATCH": "18",
12680+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
12681+ "CARGO_PKG_RUST_VERSION": "1.77.0",
12682+ "CARGO_PKG_VERSION_MAJOR": "0",
12683+ "CARGO_PKG_VERSION_MINOR": "3",
12684+ "CARGO_PKG_VERSION_PATCH": "1",
1198712685 "CARGO_PKG_VERSION_PRE": "",
12686+ "OPT_LEVEL": "2",
1198812687 },
11989- visibility = [],
12688+ features = ["default"],
12689+ version = "0.3.1",
1199012690 )
1199112691
1199212692 http_archive(
11993- name = "jiff-0.2.35.crate",
11994- sha256 = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc",
11995- strip_prefix = "jiff-0.2.35",
11996- urls = ["https://static.crates.io/crates/jiff/0.2.35/download"],
12693+ name = "jni-sys-0.4.1.crate",
12694+ sha256 = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2",
12695+ strip_prefix = "jni-sys-0.4.1",
12696+ urls = ["https://static.crates.io/crates/jni-sys/0.4.1/download"],
1199712697 visibility = [],
1199812698 )
1199912699
1200012700 cargo.rust_library(
12001- name = "jiff-0.2",
12002- srcs = [":jiff-0.2.35.crate"],
12003- crate = "jiff",
12004- crate_root = "jiff-0.2.35.crate/src/lib.rs",
12701+ name = "jni-sys-0.4",
12702+ srcs = [":jni-sys-0.4.1.crate"],
12703+ crate = "jni_sys",
12704+ crate_root = "jni-sys-0.4.1.crate/src/lib.rs",
1200512705 edition = "2021",
1200612706 env = {
12007- "CARGO_BIN_NAME": "jiff",
12008- "CARGO_CRATE_NAME": "jiff",
12009- "CARGO_MANIFEST_DIR": "jiff-0.2.35.crate",
12010- "CARGO_PKG_AUTHORS": "Andrew Gallant <jamslam@gmail.com>",
12011- "CARGO_PKG_DESCRIPTION": "A date-time library that encourages you to jump into the pit of success.\n\nThis library is heavily inspired by the Temporal project.\n",
12707+ "CARGO_BIN_NAME": "jni_sys",
12708+ "CARGO_CRATE_NAME": "jni_sys",
12709+ "CARGO_MANIFEST_DIR": "jni-sys-0.4.1.crate",
12710+ "CARGO_PKG_AUTHORS": "Steven Fackler <sfackler@gmail.com>:Robert Bragg <robert@sixbynine.org>",
12711+ "CARGO_PKG_DESCRIPTION": "Rust definitions corresponding to jni.h",
1201212712 "CARGO_PKG_HOMEPAGE": "",
12013- "CARGO_PKG_NAME": "jiff",
12713+ "CARGO_PKG_NAME": "jni-sys",
1201412714 "CARGO_PKG_README": "README.md",
12015- "CARGO_PKG_REPOSITORY": "https://github.com/BurntSushi/jiff",
12016- "CARGO_PKG_RUST_VERSION": "1.70",
12017- "CARGO_PKG_VERSION": "0.2.35",
12715+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
12716+ "CARGO_PKG_RUST_VERSION": "1.76.0",
12717+ "CARGO_PKG_VERSION": "0.4.1",
1201812718 "CARGO_PKG_VERSION_MAJOR": "0",
12019- "CARGO_PKG_VERSION_MINOR": "2",
12020- "CARGO_PKG_VERSION_PATCH": "35",
12719+ "CARGO_PKG_VERSION_MINOR": "4",
12720+ "CARGO_PKG_VERSION_PATCH": "1",
1202112721 "CARGO_PKG_VERSION_PRE": "",
1202212722 },
12023- features = [
12024- "alloc",
12025- "std",
12026- ],
12027- named_deps = {
12028- "jcore": ":jiff-core-0.1",
12029- },
1203012723 visibility = [],
12724+ deps = [":jni-sys-macros-0.4"],
1203112725 )
1203212726
1203312727 http_archive(
12034- name = "jiff-core-0.1.0.crate",
12035- sha256 = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09",
12036- strip_prefix = "jiff-core-0.1.0",
12037- urls = ["https://static.crates.io/crates/jiff-core/0.1.0/download"],
12728+ name = "jni-sys-macros-0.4.1.crate",
12729+ sha256 = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264",
12730+ strip_prefix = "jni-sys-macros-0.4.1",
12731+ urls = ["https://static.crates.io/crates/jni-sys-macros/0.4.1/download"],
1203812732 visibility = [],
1203912733 )
1204012734
1204112735 cargo.rust_library(
12042- name = "jiff-core-0.1",
12043- srcs = [":jiff-core-0.1.0.crate"],
12044- crate = "jiff_core",
12045- crate_root = "jiff-core-0.1.0.crate/src/lib.rs",
12736+ name = "jni-sys-macros-0.4",
12737+ srcs = [":jni-sys-macros-0.4.1.crate"],
12738+ crate = "jni_sys_macros",
12739+ crate_root = "jni-sys-macros-0.4.1.crate/src/lib.rs",
1204612740 edition = "2021",
1204712741 env = {
12048- "CARGO_BIN_NAME": "jiff_core",
12049- "CARGO_CRATE_NAME": "jiff_core",
12050- "CARGO_MANIFEST_DIR": "jiff-core-0.1.0.crate",
12051- "CARGO_PKG_AUTHORS": "Andrew Gallant <jamslam@gmail.com>",
12052- "CARGO_PKG_DESCRIPTION": "Low level datetime primitives for the Jiff library.",
12053- "CARGO_PKG_HOMEPAGE": "https://github.com/BurntSushi/jiff/tree/master/crates/jiff-core",
12054- "CARGO_PKG_NAME": "jiff-core",
12742+ "CARGO_BIN_NAME": "jni_sys_macros",
12743+ "CARGO_CRATE_NAME": "jni_sys_macros",
12744+ "CARGO_MANIFEST_DIR": "jni-sys-macros-0.4.1.crate",
12745+ "CARGO_PKG_AUTHORS": "Robert Bragg <robert@sixbynine.org>",
12746+ "CARGO_PKG_DESCRIPTION": "Macros for jni-sys crate",
12747+ "CARGO_PKG_HOMEPAGE": "",
12748+ "CARGO_PKG_NAME": "jni-sys-macros",
1205512749 "CARGO_PKG_README": "README.md",
12056- "CARGO_PKG_REPOSITORY": "https://github.com/BurntSushi/jiff",
12057- "CARGO_PKG_RUST_VERSION": "1.70",
12058- "CARGO_PKG_VERSION": "0.1.0",
12750+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
12751+ "CARGO_PKG_RUST_VERSION": "",
12752+ "CARGO_PKG_VERSION": "0.4.1",
1205912753 "CARGO_PKG_VERSION_MAJOR": "0",
12060- "CARGO_PKG_VERSION_MINOR": "1",
12061- "CARGO_PKG_VERSION_PATCH": "0",
12754+ "CARGO_PKG_VERSION_MINOR": "4",
12755+ "CARGO_PKG_VERSION_PATCH": "1",
1206212756 "CARGO_PKG_VERSION_PRE": "",
1206312757 },
12064- features = [
12065- "alloc",
12066- "std",
12067- ],
12758+ proc_macro = True,
1206812759 visibility = [],
12760+ deps = [
12761+ ":quote-1",
12762+ ":syn-2",
12763+ ],
1206912764 )
1207012765
1207112766 http_archive(
@@ -12135,6 +12830,9 @@ cargo.rust_library(
1213512830 "CARGO_PKG_VERSION_PRE": "",
1213612831 "OUT_DIR": "$(location :khronos_api-3-build-script-run[out_dir])",
1213712832 },
12833+ mapped_srcs = {
12834+ "fixups/khronos_api/overlay/build.rs": "khronos_api-3.1.0.crate/build.rs",
12835+ },
1213812836 rustc_flags = ["@$(location :khronos_api-3-build-script-run[rustc_flags])"],
1213912837 visibility = [],
1214012838 )
@@ -12162,6 +12860,9 @@ cargo.rust_binary(
1216212860 "CARGO_PKG_VERSION_PATCH": "0",
1216312861 "CARGO_PKG_VERSION_PRE": "",
1216412862 },
12863+ mapped_srcs = {
12864+ "fixups/khronos_api/overlay/build.rs": "khronos_api-3.1.0.crate/build.rs",
12865+ },
1216512866 visibility = [],
1216612867 )
1216712868
@@ -13831,6 +14532,141 @@ cargo.rust_library(
1383114532 deps = [":log-0.4"],
1383214533 )
1383314534
14535+alias(
14536+ name = "ndk",
14537+ actual = ":ndk-0.9",
14538+ visibility = ["PUBLIC"],
14539+)
14540+
14541+http_archive(
14542+ name = "ndk-0.9.0.crate",
14543+ sha256 = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4",
14544+ strip_prefix = "ndk-0.9.0",
14545+ urls = ["https://static.crates.io/crates/ndk/0.9.0/download"],
14546+ visibility = [],
14547+)
14548+
14549+cargo.rust_library(
14550+ name = "ndk-0.9",
14551+ srcs = [":ndk-0.9.0.crate"],
14552+ crate = "ndk",
14553+ crate_root = "ndk-0.9.0.crate/src/lib.rs",
14554+ edition = "2021",
14555+ env = {
14556+ "CARGO_BIN_NAME": "ndk",
14557+ "CARGO_CRATE_NAME": "ndk",
14558+ "CARGO_MANIFEST_DIR": "ndk-0.9.0.crate",
14559+ "CARGO_PKG_AUTHORS": "The Rust Mobile contributors",
14560+ "CARGO_PKG_DESCRIPTION": "Safe Rust bindings to the Android NDK",
14561+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/ndk",
14562+ "CARGO_PKG_NAME": "ndk",
14563+ "CARGO_PKG_README": "README.md",
14564+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/ndk",
14565+ "CARGO_PKG_RUST_VERSION": "1.66",
14566+ "CARGO_PKG_VERSION": "0.9.0",
14567+ "CARGO_PKG_VERSION_MAJOR": "0",
14568+ "CARGO_PKG_VERSION_MINOR": "9",
14569+ "CARGO_PKG_VERSION_PATCH": "0",
14570+ "CARGO_PKG_VERSION_PRE": "",
14571+ },
14572+ features = [
14573+ "api-level-23",
14574+ "api-level-24",
14575+ "api-level-25",
14576+ "api-level-26",
14577+ "audio",
14578+ "rwh_06",
14579+ ],
14580+ named_deps = {
14581+ "ffi": ":ndk-sys-0.6",
14582+ "rwh_06": ":raw-window-handle-0.6",
14583+ },
14584+ visibility = [],
14585+ deps = [
14586+ ":bitflags-2",
14587+ ":jni-sys-0.3",
14588+ ":log-0.4",
14589+ ":num_enum-0.7",
14590+ ":thiserror-1",
14591+ ],
14592+)
14593+
14594+alias(
14595+ name = "ndk-context",
14596+ actual = ":ndk-context-0.1",
14597+ visibility = ["PUBLIC"],
14598+)
14599+
14600+http_archive(
14601+ name = "ndk-context-0.1.1.crate",
14602+ sha256 = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b",
14603+ strip_prefix = "ndk-context-0.1.1",
14604+ urls = ["https://static.crates.io/crates/ndk-context/0.1.1/download"],
14605+ visibility = [],
14606+)
14607+
14608+cargo.rust_library(
14609+ name = "ndk-context-0.1",
14610+ srcs = [":ndk-context-0.1.1.crate"],
14611+ crate = "ndk_context",
14612+ crate_root = "ndk-context-0.1.1.crate/src/lib.rs",
14613+ edition = "2021",
14614+ env = {
14615+ "CARGO_BIN_NAME": "ndk_context",
14616+ "CARGO_CRATE_NAME": "ndk_context",
14617+ "CARGO_MANIFEST_DIR": "ndk-context-0.1.1.crate",
14618+ "CARGO_PKG_AUTHORS": "The Rust Windowing contributors",
14619+ "CARGO_PKG_DESCRIPTION": "Handles for accessing Android APIs",
14620+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-windowing/android-ndk-rs",
14621+ "CARGO_PKG_NAME": "ndk-context",
14622+ "CARGO_PKG_README": "README.md",
14623+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-windowing/android-ndk-rs",
14624+ "CARGO_PKG_RUST_VERSION": "",
14625+ "CARGO_PKG_VERSION": "0.1.1",
14626+ "CARGO_PKG_VERSION_MAJOR": "0",
14627+ "CARGO_PKG_VERSION_MINOR": "1",
14628+ "CARGO_PKG_VERSION_PATCH": "1",
14629+ "CARGO_PKG_VERSION_PRE": "",
14630+ },
14631+ visibility = [],
14632+)
14633+
14634+http_archive(
14635+ name = "ndk-sys-0.6.0+11769913.crate",
14636+ sha256 = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873",
14637+ strip_prefix = "ndk-sys-0.6.0+11769913",
14638+ urls = ["https://static.crates.io/crates/ndk-sys/0.6.0+11769913/download"],
14639+ visibility = [],
14640+)
14641+
14642+cargo.rust_library(
14643+ name = "ndk-sys-0.6",
14644+ srcs = [":ndk-sys-0.6.0+11769913.crate"],
14645+ crate = "ndk_sys",
14646+ crate_root = "ndk-sys-0.6.0+11769913.crate/src/lib.rs",
14647+ edition = "2021",
14648+ env = {
14649+ "CARGO_BIN_NAME": "ndk_sys",
14650+ "CARGO_CRATE_NAME": "ndk_sys",
14651+ "CARGO_MANIFEST_DIR": "ndk-sys-0.6.0+11769913.crate",
14652+ "CARGO_PKG_AUTHORS": "The Rust Windowing contributors",
14653+ "CARGO_PKG_DESCRIPTION": "FFI bindings for the Android NDK",
14654+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/ndk",
14655+ "CARGO_PKG_NAME": "ndk-sys",
14656+ "CARGO_PKG_README": "README.md",
14657+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/ndk",
14658+ "CARGO_PKG_RUST_VERSION": "1.60",
14659+ "CARGO_PKG_VERSION": "0.6.0+11769913",
14660+ "CARGO_PKG_VERSION_MAJOR": "0",
14661+ "CARGO_PKG_VERSION_MINOR": "6",
14662+ "CARGO_PKG_VERSION_PATCH": "0",
14663+ "CARGO_PKG_VERSION_PRE": "",
14664+ },
14665+ features = ["audio"],
14666+ visibility = [],
14667+ deps = [":jni-sys-0.3"],
14668+)
14669+
1383414670 http_archive(
1383514671 name = "netdev-0.40.1.crate",
1383614672 sha256 = "1b0a0096d9613ee878dba89bbe595f079d373e3f1960d882e4f2f78ff9c30a0a",
@@ -13867,6 +14703,15 @@ cargo.rust_library(
1386714703 "gateway",
1386814704 ],
1386914705 platform = {
14706+ "android-arm64": dict(
14707+ deps = [
14708+ ":dlopen2-0.5",
14709+ ":netlink-packet-core-0.8",
14710+ ":netlink-packet-route-0.29",
14711+ ":netlink-sys-0.8",
14712+ ":once_cell-1",
14713+ ],
14714+ ),
1387014715 "linux-arm64": dict(
1387114716 deps = [
1387214717 ":netlink-packet-core-0.8",
@@ -14106,6 +14951,15 @@ cargo.rust_library(
1410614951 "OUT_DIR": "$(location :netwatch-0.15-build-script-run[out_dir])",
1410714952 },
1410814953 platform = {
14954+ "android-arm64": dict(
14955+ deps = [
14956+ ":derive_more-2",
14957+ ":netlink-packet-core-0.8",
14958+ ":netlink-packet-route-0.29",
14959+ ":netlink-proto-0.12",
14960+ ":netlink-sys-0.8",
14961+ ],
14962+ ),
1410914963 "linux-arm64": dict(
1411014964 deps = [
1411114965 ":netlink-packet-core-0.8",
@@ -21339,6 +22193,9 @@ cargo.rust_library(
2133922193 "pki_types": ":rustls-pki-types-1",
2134022194 },
2134122195 platform = {
22196+ "android-arm64": dict(
22197+ deps = [":openssl-probe-0.2"],
22198+ ),
2134222199 "linux-arm64": dict(
2134322200 deps = [":openssl-probe-0.2"],
2134422201 ),
@@ -21468,6 +22325,14 @@ cargo.rust_library(
2146822325 "CARGO_PKG_VERSION_PRE": "",
2146922326 },
2147022327 platform = {
22328+ "android-arm64": dict(
22329+ deps = [
22330+ ":jni-0.21",
22331+ ":once_cell-1",
22332+ ":rustls-platform-verifier-android-0.1",
22333+ ":rustls-webpki-0.103",
22334+ ],
22335+ ),
2147122336 "linux-arm64": dict(
2147222337 deps = [
2147322338 ":rustls-native-certs-0.8",
@@ -21536,6 +22401,14 @@ cargo.rust_library(
2153622401 "CARGO_PKG_VERSION_PRE": "",
2153722402 },
2153822403 platform = {
22404+ "android-arm64": dict(
22405+ deps = [
22406+ ":jni-0.22",
22407+ ":once_cell-1",
22408+ ":rustls-platform-verifier-android-0.1",
22409+ ":rustls-webpki-0.103",
22410+ ],
22411+ ),
2153922412 "linux-arm64": dict(
2154022413 deps = [
2154122414 ":rustls-native-certs-0.8",
@@ -21572,6 +22445,40 @@ cargo.rust_library(
2157222445 ],
2157322446 )
2157422447
22448+http_archive(
22449+ name = "rustls-platform-verifier-android-0.1.1.crate",
22450+ sha256 = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f",
22451+ strip_prefix = "rustls-platform-verifier-android-0.1.1",
22452+ urls = ["https://static.crates.io/crates/rustls-platform-verifier-android/0.1.1/download"],
22453+ visibility = [],
22454+)
22455+
22456+cargo.rust_library(
22457+ name = "rustls-platform-verifier-android-0.1",
22458+ srcs = [":rustls-platform-verifier-android-0.1.1.crate"],
22459+ crate = "rustls_platform_verifier_android",
22460+ crate_root = "rustls-platform-verifier-android-0.1.1.crate/src/lib.rs",
22461+ edition = "2021",
22462+ env = {
22463+ "CARGO_BIN_NAME": "rustls_platform_verifier_android",
22464+ "CARGO_CRATE_NAME": "rustls_platform_verifier_android",
22465+ "CARGO_MANIFEST_DIR": "rustls-platform-verifier-android-0.1.1.crate",
22466+ "CARGO_PKG_AUTHORS": "",
22467+ "CARGO_PKG_DESCRIPTION": "The internal JVM support component of the rustls-platform-verifier crate. You shouldn't depend on this directly.",
22468+ "CARGO_PKG_HOMEPAGE": "",
22469+ "CARGO_PKG_NAME": "rustls-platform-verifier-android",
22470+ "CARGO_PKG_README": "",
22471+ "CARGO_PKG_REPOSITORY": "https://github.com/rustls/rustls-platform-verifier",
22472+ "CARGO_PKG_RUST_VERSION": "",
22473+ "CARGO_PKG_VERSION": "0.1.1",
22474+ "CARGO_PKG_VERSION_MAJOR": "0",
22475+ "CARGO_PKG_VERSION_MINOR": "1",
22476+ "CARGO_PKG_VERSION_PATCH": "1",
22477+ "CARGO_PKG_VERSION_PRE": "",
22478+ },
22479+ visibility = [],
22480+)
22481+
2157522482 http_archive(
2157622483 name = "rustls-webpki-0.103.13.crate",
2157722484 sha256 = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e",
@@ -23308,6 +24215,45 @@ cargo.rust_library(
2330824215 visibility = [],
2330924216 )
2331024217
24218+http_archive(
24219+ name = "simd_cesu8-1.2.0.crate",
24220+ sha256 = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520",
24221+ strip_prefix = "simd_cesu8-1.2.0",
24222+ urls = ["https://static.crates.io/crates/simd_cesu8/1.2.0/download"],
24223+ visibility = [],
24224+)
24225+
24226+cargo.rust_library(
24227+ name = "simd_cesu8-1",
24228+ srcs = [":simd_cesu8-1.2.0.crate"],
24229+ crate = "simd_cesu8",
24230+ crate_root = "simd_cesu8-1.2.0.crate/src/lib.rs",
24231+ edition = "2021",
24232+ env = {
24233+ "CARGO_BIN_NAME": "simd_cesu8",
24234+ "CARGO_CRATE_NAME": "simd_cesu8",
24235+ "CARGO_MANIFEST_DIR": "simd_cesu8-1.2.0.crate",
24236+ "CARGO_PKG_AUTHORS": "Sean C. Roach <me@seancroach.dev>",
24237+ "CARGO_PKG_DESCRIPTION": "An extremely fast, SIMD accelerated, encoding and decoding library for CESU-8 and Modified UTF-8.",
24238+ "CARGO_PKG_HOMEPAGE": "https://github.com/seancroach/simd_cesu8",
24239+ "CARGO_PKG_NAME": "simd_cesu8",
24240+ "CARGO_PKG_README": "README.md",
24241+ "CARGO_PKG_REPOSITORY": "https://github.com/seancroach/simd_cesu8",
24242+ "CARGO_PKG_RUST_VERSION": "1.85.0",
24243+ "CARGO_PKG_VERSION": "1.2.0",
24244+ "CARGO_PKG_VERSION_MAJOR": "1",
24245+ "CARGO_PKG_VERSION_MINOR": "2",
24246+ "CARGO_PKG_VERSION_PATCH": "0",
24247+ "CARGO_PKG_VERSION_PRE": "",
24248+ },
24249+ features = [
24250+ "default",
24251+ "std",
24252+ ],
24253+ visibility = [],
24254+ deps = [":simdutf8-0.1"],
24255+)
24256+
2331124257 http_archive(
2331224258 name = "simdutf8-0.1.5.crate",
2331324259 sha256 = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e",
@@ -25451,18 +26397,45 @@ cargo.rust_library(
2545126397 "alloc",
2545226398 "default",
2545326399 "formatting",
25454- "local-offset",
2545526400 "parsing",
2545626401 "serde",
2545726402 "serde-well-known",
2545826403 "std",
2545926404 ],
26405+ platform = {
26406+ "linux-arm64": dict(
26407+ features = ["local-offset"],
26408+ deps = [
26409+ ":libc-0.2",
26410+ ":num_threads-0.1",
26411+ ],
26412+ ),
26413+ "linux-x86_64": dict(
26414+ features = ["local-offset"],
26415+ deps = [
26416+ ":libc-0.2",
26417+ ":num_threads-0.1",
26418+ ],
26419+ ),
26420+ "macos-arm64": dict(
26421+ features = ["local-offset"],
26422+ deps = [
26423+ ":libc-0.2",
26424+ ":num_threads-0.1",
26425+ ],
26426+ ),
26427+ "macos-x86_64": dict(
26428+ features = ["local-offset"],
26429+ deps = [
26430+ ":libc-0.2",
26431+ ":num_threads-0.1",
26432+ ],
26433+ ),
26434+ },
2546026435 visibility = [],
2546126436 deps = [
2546226437 ":deranged-0.5",
25463- ":libc-0.2",
2546426438 ":num-conv-0.2",
25465- ":num_threads-0.1",
2546626439 ":powerfmt-0.2",
2546726440 ":serde_core-1",
2546826441 ":time-core-0.1",
@@ -28837,6 +29810,12 @@ cargo.rust_library(
2883729810 "CARGO_PKG_VERSION_PRE": "",
2883829811 },
2883929812 platform = {
29813+ "android-arm64": dict(
29814+ deps = [
29815+ ":jni-0.22",
29816+ ":ndk-context-0.1",
29817+ ],
29818+ ),
2884029819 "macos-arm64": dict(
2884129820 deps = [
2884229821 ":objc2-0.6",
@@ -29079,6 +30058,13 @@ cargo.rust_library(
2907930058 "rwh_06": ":raw-window-handle-0.6",
2908030059 },
2908130060 platform = {
30061+ "android-arm64": dict(
30062+ features = ["android-native-activity"],
30063+ deps = [
30064+ ":android-activity-0.6",
30065+ ":ndk-0.9",
30066+ ],
30067+ ),
2908230068 "linux-arm64": dict(
2908330069 named_deps = {
2908430070 "sctk": ":smithay-client-toolkit-0.19",
@@ -29198,6 +30184,11 @@ cargo.rust_binary(
2919830184 "x11-dl",
2919930185 "x11rb",
2920030186 ],
30187+ platform = {
30188+ "android-arm64": dict(
30189+ features = ["android-native-activity"],
30190+ ),
30191+ },
2920130192 visibility = [],
2920230193 deps = [":cfg_aliases-0.2"],
2920330194 )
@@ -29239,6 +30230,11 @@ buildscript_run(
2923930230 "x11-dl",
2924030231 "x11rb",
2924130232 ],
30233+ platform = {
30234+ "android-arm64": dict(
30235+ features = ["android-native-activity"],
30236+ ),
30237+ },
2924230238 version = "0.30.13",
2924330239 )
2924430240
@@ -695,6 +695,147 @@ buildscript_run(
695 version = "0.4.0",695 version = "0.4.0",
696 )696 )
697 697
698+http_archive(
699+ name = "android-activity-0.6.1.crate",
700+ sha256 = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd",
701+ strip_prefix = "android-activity-0.6.1",
702+ urls = ["https://static.crates.io/crates/android-activity/0.6.1/download"],
703+ visibility = [],
704+)
705+
706+cargo.rust_library(
707+ name = "android-activity-0.6",
708+ srcs = [":android-activity-0.6.1.crate"],
709+ crate = "android_activity",
710+ crate_root = "android-activity-0.6.1.crate/src/lib.rs",
711+ edition = "2021",
712+ env = {
713+ "CARGO_BIN_NAME": "android_activity",
714+ "CARGO_CRATE_NAME": "android_activity",
715+ "CARGO_MANIFEST_DIR": "android-activity-0.6.1.crate",
716+ "CARGO_PKG_AUTHORS": "",
717+ "CARGO_PKG_DESCRIPTION": "Glue for building Rust applications on Android with NativeActivity or GameActivity",
718+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/android-activity",
719+ "CARGO_PKG_NAME": "android-activity",
720+ "CARGO_PKG_README": "README.md",
721+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/android-activity",
722+ "CARGO_PKG_RUST_VERSION": "1.85.0",
723+ "CARGO_PKG_VERSION": "0.6.1",
724+ "CARGO_PKG_VERSION_MAJOR": "0",
725+ "CARGO_PKG_VERSION_MINOR": "6",
726+ "CARGO_PKG_VERSION_PATCH": "1",
727+ "CARGO_PKG_VERSION_PRE": "",
728+ "OUT_DIR": "$(location :android-activity-0.6-build-script-run[out_dir])",
729+ },
730+ features = [
731+ "default",
732+ "native-activity",
733+ ],
734+ rustc_flags = ["@$(location :android-activity-0.6-build-script-run[rustc_flags])"],
735+ visibility = [],
736+ deps = [
737+ ":android-properties-0.2",
738+ ":bitflags-2",
739+ ":jni-0.22",
740+ ":libc-0.2",
741+ ":log-0.4",
742+ ":ndk-0.9",
743+ ":ndk-context-0.1",
744+ ":ndk-sys-0.6",
745+ ":num_enum-0.7",
746+ ":thiserror-2",
747+ ],
748+)
749+
750+cargo.rust_binary(
751+ name = "android-activity-0.6-build-script-build",
752+ srcs = [":android-activity-0.6.1.crate"],
753+ crate = "build_script_build",
754+ crate_root = "android-activity-0.6.1.crate/build.rs",
755+ edition = "2021",
756+ env = {
757+ "CARGO_BIN_NAME": "build-script-build",
758+ "CARGO_CRATE_NAME": "build_script_build",
759+ "CARGO_MANIFEST_DIR": "android-activity-0.6.1.crate",
760+ "CARGO_PKG_AUTHORS": "",
761+ "CARGO_PKG_DESCRIPTION": "Glue for building Rust applications on Android with NativeActivity or GameActivity",
762+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/android-activity",
763+ "CARGO_PKG_NAME": "android-activity",
764+ "CARGO_PKG_README": "README.md",
765+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/android-activity",
766+ "CARGO_PKG_RUST_VERSION": "1.85.0",
767+ "CARGO_PKG_VERSION": "0.6.1",
768+ "CARGO_PKG_VERSION_MAJOR": "0",
769+ "CARGO_PKG_VERSION_MINOR": "6",
770+ "CARGO_PKG_VERSION_PATCH": "1",
771+ "CARGO_PKG_VERSION_PRE": "",
772+ },
773+ features = [
774+ "default",
775+ "native-activity",
776+ ],
777+ visibility = [],
778+ deps = [":cc-1"],
779+)
780+
781+buildscript_run(
782+ name = "android-activity-0.6-build-script-run",
783+ package_name = "android-activity",
784+ buildscript_rule = ":android-activity-0.6-build-script-build",
785+ env = {
786+ "CARGO_PKG_AUTHORS": "",
787+ "CARGO_PKG_DESCRIPTION": "Glue for building Rust applications on Android with NativeActivity or GameActivity",
788+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/android-activity",
789+ "CARGO_PKG_README": "README.md",
790+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/android-activity",
791+ "CARGO_PKG_RUST_VERSION": "1.85.0",
792+ "CARGO_PKG_VERSION_MAJOR": "0",
793+ "CARGO_PKG_VERSION_MINOR": "6",
794+ "CARGO_PKG_VERSION_PATCH": "1",
795+ "CARGO_PKG_VERSION_PRE": "",
796+ "OPT_LEVEL": "2",
797+ },
798+ features = [
799+ "default",
800+ "native-activity",
801+ ],
802+ version = "0.6.1",
803+)
804+
805+http_archive(
806+ name = "android-properties-0.2.2.crate",
807+ sha256 = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04",
808+ strip_prefix = "android-properties-0.2.2",
809+ urls = ["https://static.crates.io/crates/android-properties/0.2.2/download"],
810+ visibility = [],
811+)
812+
813+cargo.rust_library(
814+ name = "android-properties-0.2",
815+ srcs = [":android-properties-0.2.2.crate"],
816+ crate = "android_properties",
817+ crate_root = "android-properties-0.2.2.crate/src/lib.rs",
818+ edition = "2018",
819+ env = {
820+ "CARGO_BIN_NAME": "android_properties",
821+ "CARGO_CRATE_NAME": "android_properties",
822+ "CARGO_MANIFEST_DIR": "android-properties-0.2.2.crate",
823+ "CARGO_PKG_AUTHORS": "Mikhail Lappo <mikhail.lappo@esrlabs.com>",
824+ "CARGO_PKG_DESCRIPTION": "Rust-based Android properties wrapper",
825+ "CARGO_PKG_HOMEPAGE": "https://github.com/miklelappo/android-properties",
826+ "CARGO_PKG_NAME": "android-properties",
827+ "CARGO_PKG_README": "README.md",
828+ "CARGO_PKG_REPOSITORY": "https://github.com/miklelappo/android-properties",
829+ "CARGO_PKG_RUST_VERSION": "",
830+ "CARGO_PKG_VERSION": "0.2.2",
831+ "CARGO_PKG_VERSION_MAJOR": "0",
832+ "CARGO_PKG_VERSION_MINOR": "2",
833+ "CARGO_PKG_VERSION_PATCH": "2",
834+ "CARGO_PKG_VERSION_PRE": "",
835+ },
836+ visibility = [],
837+)
838+
698 http_archive(839 http_archive(
699 name = "anstream-0.6.21.crate",840 name = "anstream-0.6.21.crate",
700 sha256 = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a",841 sha256 = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a",
@@ -1087,6 +1228,7 @@ cargo.rust_library(
1087 platform = {1228 platform = {
1088 "linux-arm64": dict(1229 "linux-arm64": dict(
1089 deps = [1230 deps = [
1231+ ":image-0.25",
1090 ":log-0.4",1232 ":log-0.4",
1091 ":parking_lot-0.12",1233 ":parking_lot-0.12",
1092 ":percent-encoding-2",1234 ":percent-encoding-2",
@@ -1095,6 +1237,7 @@ cargo.rust_library(
1095 ),1237 ),
1096 "linux-x86_64": dict(1238 "linux-x86_64": dict(
1097 deps = [1239 deps = [
1240+ ":image-0.25",
1098 ":log-0.4",1241 ":log-0.4",
1099 ":parking_lot-0.12",1242 ":parking_lot-0.12",
1100 ":percent-encoding-2",1243 ":percent-encoding-2",
@@ -1103,6 +1246,7 @@ cargo.rust_library(
1103 ),1246 ),
1104 "macos-arm64": dict(1247 "macos-arm64": dict(
1105 deps = [1248 deps = [
1249+ ":image-0.25",
1106 ":objc2-0.6",1250 ":objc2-0.6",
1107 ":objc2-app-kit-0.3",1251 ":objc2-app-kit-0.3",
1108 ":objc2-core-foundation-0.3",1252 ":objc2-core-foundation-0.3",
@@ -1112,6 +1256,7 @@ cargo.rust_library(
1112 ),1256 ),
1113 "macos-x86_64": dict(1257 "macos-x86_64": dict(
1114 deps = [1258 deps = [
1259+ ":image-0.25",
1115 ":objc2-0.6",1260 ":objc2-0.6",
1116 ":objc2-app-kit-0.3",1261 ":objc2-app-kit-0.3",
1117 ":objc2-core-foundation-0.3",1262 ":objc2-core-foundation-0.3",
@@ -1121,7 +1266,6 @@ cargo.rust_library(
1121 ),1266 ),
1122 },1267 },
1123 visibility = [],1268 visibility = [],
1124- deps = [":image-0.25"],
1125 )1269 )
1126 1270
1127 http_archive(1271 http_archive(
@@ -2292,7 +2436,20 @@ cargo.rust_library(
2292 "CARGO_PKG_VERSION_PATCH": "1",2436 "CARGO_PKG_VERSION_PATCH": "1",
2293 "CARGO_PKG_VERSION_PRE": "",2437 "CARGO_PKG_VERSION_PRE": "",
2294 },2438 },
2295- features = ["std"],2439+ platform = {
2440+ "linux-arm64": dict(
2441+ features = ["std"],
2442+ ),
2443+ "linux-x86_64": dict(
2444+ features = ["std"],
2445+ ),
2446+ "macos-arm64": dict(
2447+ features = ["std"],
2448+ ),
2449+ "macos-x86_64": dict(
2450+ features = ["std"],
2451+ ),
2452+ },
2296 visibility = [],2453 visibility = [],
2297 )2454 )
2298 2455
@@ -3039,6 +3196,40 @@ cargo.rust_library(
3039 ],3196 ],
3040 )3197 )
3041 3198
3199+http_archive(
3200+ name = "cesu8-1.1.0.crate",
3201+ sha256 = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c",
3202+ strip_prefix = "cesu8-1.1.0",
3203+ urls = ["https://static.crates.io/crates/cesu8/1.1.0/download"],
3204+ visibility = [],
3205+)
3206+
3207+cargo.rust_library(
3208+ name = "cesu8-1",
3209+ srcs = [":cesu8-1.1.0.crate"],
3210+ crate = "cesu8",
3211+ crate_root = "cesu8-1.1.0.crate/src/lib.rs",
3212+ edition = "2015",
3213+ env = {
3214+ "CARGO_BIN_NAME": "cesu8",
3215+ "CARGO_CRATE_NAME": "cesu8",
3216+ "CARGO_MANIFEST_DIR": "cesu8-1.1.0.crate",
3217+ "CARGO_PKG_AUTHORS": "Eric Kidd <git@randomhacks.net>",
3218+ "CARGO_PKG_DESCRIPTION": "Convert to and from CESU-8 encoding (similar to UTF-8)",
3219+ "CARGO_PKG_HOMEPAGE": "",
3220+ "CARGO_PKG_NAME": "cesu8",
3221+ "CARGO_PKG_README": "README.md",
3222+ "CARGO_PKG_REPOSITORY": "https://github.com/emk/cesu8-rs",
3223+ "CARGO_PKG_RUST_VERSION": "",
3224+ "CARGO_PKG_VERSION": "1.1.0",
3225+ "CARGO_PKG_VERSION_MAJOR": "1",
3226+ "CARGO_PKG_VERSION_MINOR": "1",
3227+ "CARGO_PKG_VERSION_PATCH": "0",
3228+ "CARGO_PKG_VERSION_PRE": "",
3229+ },
3230+ visibility = [],
3231+)
3232+
3042 http_archive(3233 http_archive(
3043 name = "cexpr-0.6.0.crate",3234 name = "cexpr-0.6.0.crate",
3044 sha256 = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766",3235 sha256 = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766",
@@ -3798,6 +3989,50 @@ cargo.rust_library(
3798 ],3989 ],
3799 )3990 )
3800 3991
3992+http_archive(
3993+ name = "combine-4.6.7.crate",
3994+ sha256 = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd",
3995+ strip_prefix = "combine-4.6.7",
3996+ urls = ["https://static.crates.io/crates/combine/4.6.7/download"],
3997+ visibility = [],
3998+)
3999+
4000+cargo.rust_library(
4001+ name = "combine-4",
4002+ srcs = [":combine-4.6.7.crate"],
4003+ crate = "combine",
4004+ crate_root = "combine-4.6.7.crate/src/lib.rs",
4005+ edition = "2018",
4006+ env = {
4007+ "CARGO_BIN_NAME": "combine",
4008+ "CARGO_CRATE_NAME": "combine",
4009+ "CARGO_MANIFEST_DIR": "combine-4.6.7.crate",
4010+ "CARGO_PKG_AUTHORS": "Markus Westerlind <marwes91@gmail.com>",
4011+ "CARGO_PKG_DESCRIPTION": "Fast parser combinators on arbitrary streams with zero-copy support.",
4012+ "CARGO_PKG_HOMEPAGE": "",
4013+ "CARGO_PKG_NAME": "combine",
4014+ "CARGO_PKG_README": "README.md",
4015+ "CARGO_PKG_REPOSITORY": "https://github.com/Marwes/combine",
4016+ "CARGO_PKG_RUST_VERSION": "",
4017+ "CARGO_PKG_VERSION": "4.6.7",
4018+ "CARGO_PKG_VERSION_MAJOR": "4",
4019+ "CARGO_PKG_VERSION_MINOR": "6",
4020+ "CARGO_PKG_VERSION_PATCH": "7",
4021+ "CARGO_PKG_VERSION_PRE": "",
4022+ },
4023+ features = [
4024+ "alloc",
4025+ "bytes",
4026+ "default",
4027+ "std",
4028+ ],
4029+ visibility = [],
4030+ deps = [
4031+ ":bytes-1",
4032+ ":memchr-2",
4033+ ],
4034+)
4035+
3801 cargo.rust_library(4036 cargo.rust_library(
3802 name = "conducer-0.3",4037 name = "conducer-0.3",
3803 srcs = [":moq-436f045f96c55a1e.git"],4038 srcs = [":moq-436f045f96c55a1e.git"],
@@ -4292,6 +4527,9 @@ cargo.rust_library(
4292 "CARGO_PKG_VERSION_PRE": "",4527 "CARGO_PKG_VERSION_PRE": "",
4293 },4528 },
4294 platform = {4529 platform = {
4530+ "android-arm64": dict(
4531+ deps = [":libc-0.2"],
4532+ ),
4295 "linux-arm64": dict(4533 "linux-arm64": dict(
4296 deps = [":libc-0.2"],4534 deps = [":libc-0.2"],
4297 ),4535 ),
@@ -4334,6 +4572,9 @@ cargo.rust_library(
4334 "CARGO_PKG_VERSION_PRE": "",4572 "CARGO_PKG_VERSION_PRE": "",
4335 },4573 },
4336 platform = {4574 platform = {
4575+ "android-arm64": dict(
4576+ deps = [":libc-0.2"],
4577+ ),
4337 "linux-arm64": dict(4578 "linux-arm64": dict(
4338 deps = [":libc-0.2"],4579 deps = [":libc-0.2"],
4339 ),4580 ),
@@ -6096,6 +6337,44 @@ cargo.rust_library(
6096 deps = [":libloading-0.8"],6337 deps = [":libloading-0.8"],
6097 )6338 )
6098 6339
6340+http_archive(
6341+ name = "dlopen2-0.5.0.crate",
6342+ sha256 = "09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa",
6343+ strip_prefix = "dlopen2-0.5.0",
6344+ urls = ["https://static.crates.io/crates/dlopen2/0.5.0/download"],
6345+ visibility = [],
6346+)
6347+
6348+cargo.rust_library(
6349+ name = "dlopen2-0.5",
6350+ srcs = [":dlopen2-0.5.0.crate"],
6351+ crate = "dlopen2",
6352+ crate_root = "dlopen2-0.5.0.crate/src/lib.rs",
6353+ edition = "2021",
6354+ env = {
6355+ "CARGO_BIN_NAME": "dlopen2",
6356+ "CARGO_CRATE_NAME": "dlopen2",
6357+ "CARGO_MANIFEST_DIR": "dlopen2-0.5.0.crate",
6358+ "CARGO_PKG_AUTHORS": "Szymon Wieloch <szymon.wieloch@gmail.com>:Ahmed Masud <ahmed.masud@saf.ai>:OpenByte <development.openbyte@gmail.com>",
6359+ "CARGO_PKG_DESCRIPTION": "Library for opening and operating on dynamic link libraries (also known as shared objects or shared libraries).",
6360+ "CARGO_PKG_HOMEPAGE": "",
6361+ "CARGO_PKG_NAME": "dlopen2",
6362+ "CARGO_PKG_README": "README.md",
6363+ "CARGO_PKG_REPOSITORY": "https://github.com/OpenByteDev/dlopen2",
6364+ "CARGO_PKG_RUST_VERSION": "",
6365+ "CARGO_PKG_VERSION": "0.5.0",
6366+ "CARGO_PKG_VERSION_MAJOR": "0",
6367+ "CARGO_PKG_VERSION_MINOR": "5",
6368+ "CARGO_PKG_VERSION_PATCH": "0",
6369+ "CARGO_PKG_VERSION_PRE": "",
6370+ },
6371+ visibility = [],
6372+ deps = [
6373+ ":libc-0.2",
6374+ ":once_cell-1",
6375+ ],
6376+)
6377+
6099 http_archive(6378 http_archive(
6100 name = "document-features-0.2.12.crate",6379 name = "document-features-0.2.12.crate",
6101 sha256 = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61",6380 sha256 = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61",
@@ -6487,16 +6766,27 @@ cargo.rust_library(
6487 ],6766 ],
6488 platform = {6767 platform = {
6489 "linux-arm64": dict(6768 "linux-arm64": dict(
6490- deps = [":smithay-clipboard-0.7"],6769+ deps = [
6770+ ":arboard-3",
6771+ ":smithay-clipboard-0.7",
6772+ ],
6491 ),6773 ),
6492 "linux-x86_64": dict(6774 "linux-x86_64": dict(
6493- deps = [":smithay-clipboard-0.7"],6775+ deps = [
6776+ ":arboard-3",
6777+ ":smithay-clipboard-0.7",
6778+ ],
6779+ ),
6780+ "macos-arm64": dict(
6781+ deps = [":arboard-3"],
6782+ ),
6783+ "macos-x86_64": dict(
6784+ deps = [":arboard-3"],
6494 ),6785 ),
6495 },6786 },
6496 visibility = [],6787 visibility = [],
6497 deps = [6788 deps = [
6498 ":ahash-0.8",6789 ":ahash-0.8",
6499- ":arboard-3",
6500 ":bytemuck-1",6790 ":bytemuck-1",
6501 ":egui-0.31",6791 ":egui-0.31",
6502 ":log-0.4",6792 ":log-0.4",
@@ -8882,6 +9172,9 @@ cargo.rust_library(
8882 "x11-dl",9172 "x11-dl",
8883 ],9173 ],
8884 platform = {9174 platform = {
9175+ "android-arm64": dict(
9176+ deps = [":glutin_egl_sys-0.7"],
9177+ ),
8885 "linux-arm64": dict(9178 "linux-arm64": dict(
8886 deps = [9179 deps = [
8887 ":glutin_egl_sys-0.7",9180 ":glutin_egl_sys-0.7",
@@ -11976,96 +12269,498 @@ cargo.rust_library(
11976 "CARGO_PKG_AUTHORS": "David Tolnay <dtolnay@gmail.com>",12269 "CARGO_PKG_AUTHORS": "David Tolnay <dtolnay@gmail.com>",
11977 "CARGO_PKG_DESCRIPTION": "Fast integer primitive to string conversion",12270 "CARGO_PKG_DESCRIPTION": "Fast integer primitive to string conversion",
11978 "CARGO_PKG_HOMEPAGE": "",12271 "CARGO_PKG_HOMEPAGE": "",
11979- "CARGO_PKG_NAME": "itoa",12272+ "CARGO_PKG_NAME": "itoa",
12273+ "CARGO_PKG_README": "README.md",
12274+ "CARGO_PKG_REPOSITORY": "https://github.com/dtolnay/itoa",
12275+ "CARGO_PKG_RUST_VERSION": "1.68",
12276+ "CARGO_PKG_VERSION": "1.0.18",
12277+ "CARGO_PKG_VERSION_MAJOR": "1",
12278+ "CARGO_PKG_VERSION_MINOR": "0",
12279+ "CARGO_PKG_VERSION_PATCH": "18",
12280+ "CARGO_PKG_VERSION_PRE": "",
12281+ },
12282+ visibility = [],
12283+)
12284+
12285+http_archive(
12286+ name = "jiff-0.2.35.crate",
12287+ sha256 = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc",
12288+ strip_prefix = "jiff-0.2.35",
12289+ urls = ["https://static.crates.io/crates/jiff/0.2.35/download"],
12290+ visibility = [],
12291+)
12292+
12293+cargo.rust_library(
12294+ name = "jiff-0.2",
12295+ srcs = [":jiff-0.2.35.crate"],
12296+ crate = "jiff",
12297+ crate_root = "jiff-0.2.35.crate/src/lib.rs",
12298+ edition = "2021",
12299+ env = {
12300+ "CARGO_BIN_NAME": "jiff",
12301+ "CARGO_CRATE_NAME": "jiff",
12302+ "CARGO_MANIFEST_DIR": "jiff-0.2.35.crate",
12303+ "CARGO_PKG_AUTHORS": "Andrew Gallant <jamslam@gmail.com>",
12304+ "CARGO_PKG_DESCRIPTION": "A date-time library that encourages you to jump into the pit of success.\n\nThis library is heavily inspired by the Temporal project.\n",
12305+ "CARGO_PKG_HOMEPAGE": "",
12306+ "CARGO_PKG_NAME": "jiff",
12307+ "CARGO_PKG_README": "README.md",
12308+ "CARGO_PKG_REPOSITORY": "https://github.com/BurntSushi/jiff",
12309+ "CARGO_PKG_RUST_VERSION": "1.70",
12310+ "CARGO_PKG_VERSION": "0.2.35",
12311+ "CARGO_PKG_VERSION_MAJOR": "0",
12312+ "CARGO_PKG_VERSION_MINOR": "2",
12313+ "CARGO_PKG_VERSION_PATCH": "35",
12314+ "CARGO_PKG_VERSION_PRE": "",
12315+ },
12316+ features = [
12317+ "alloc",
12318+ "std",
12319+ ],
12320+ named_deps = {
12321+ "jcore": ":jiff-core-0.1",
12322+ },
12323+ visibility = [],
12324+)
12325+
12326+http_archive(
12327+ name = "jiff-core-0.1.0.crate",
12328+ sha256 = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09",
12329+ strip_prefix = "jiff-core-0.1.0",
12330+ urls = ["https://static.crates.io/crates/jiff-core/0.1.0/download"],
12331+ visibility = [],
12332+)
12333+
12334+cargo.rust_library(
12335+ name = "jiff-core-0.1",
12336+ srcs = [":jiff-core-0.1.0.crate"],
12337+ crate = "jiff_core",
12338+ crate_root = "jiff-core-0.1.0.crate/src/lib.rs",
12339+ edition = "2021",
12340+ env = {
12341+ "CARGO_BIN_NAME": "jiff_core",
12342+ "CARGO_CRATE_NAME": "jiff_core",
12343+ "CARGO_MANIFEST_DIR": "jiff-core-0.1.0.crate",
12344+ "CARGO_PKG_AUTHORS": "Andrew Gallant <jamslam@gmail.com>",
12345+ "CARGO_PKG_DESCRIPTION": "Low level datetime primitives for the Jiff library.",
12346+ "CARGO_PKG_HOMEPAGE": "https://github.com/BurntSushi/jiff/tree/master/crates/jiff-core",
12347+ "CARGO_PKG_NAME": "jiff-core",
12348+ "CARGO_PKG_README": "README.md",
12349+ "CARGO_PKG_REPOSITORY": "https://github.com/BurntSushi/jiff",
12350+ "CARGO_PKG_RUST_VERSION": "1.70",
12351+ "CARGO_PKG_VERSION": "0.1.0",
12352+ "CARGO_PKG_VERSION_MAJOR": "0",
12353+ "CARGO_PKG_VERSION_MINOR": "1",
12354+ "CARGO_PKG_VERSION_PATCH": "0",
12355+ "CARGO_PKG_VERSION_PRE": "",
12356+ },
12357+ features = [
12358+ "alloc",
12359+ "std",
12360+ ],
12361+ visibility = [],
12362+)
12363+
12364+alias(
12365+ name = "jni",
12366+ actual = ":jni-0.21",
12367+ visibility = ["PUBLIC"],
12368+)
12369+
12370+http_archive(
12371+ name = "jni-0.21.1.crate",
12372+ sha256 = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97",
12373+ strip_prefix = "jni-0.21.1",
12374+ urls = ["https://static.crates.io/crates/jni/0.21.1/download"],
12375+ visibility = [],
12376+)
12377+
12378+cargo.rust_library(
12379+ name = "jni-0.21",
12380+ srcs = [":jni-0.21.1.crate"],
12381+ crate = "jni",
12382+ crate_root = "jni-0.21.1.crate/src/lib.rs",
12383+ edition = "2018",
12384+ env = {
12385+ "CARGO_BIN_NAME": "jni",
12386+ "CARGO_CRATE_NAME": "jni",
12387+ "CARGO_MANIFEST_DIR": "jni-0.21.1.crate",
12388+ "CARGO_PKG_AUTHORS": "Josh Chase <josh@prevoty.com>",
12389+ "CARGO_PKG_DESCRIPTION": "Rust bindings to the JNI",
12390+ "CARGO_PKG_HOMEPAGE": "",
12391+ "CARGO_PKG_NAME": "jni",
12392+ "CARGO_PKG_README": "README.md",
12393+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12394+ "CARGO_PKG_RUST_VERSION": "",
12395+ "CARGO_PKG_VERSION": "0.21.1",
12396+ "CARGO_PKG_VERSION_MAJOR": "0",
12397+ "CARGO_PKG_VERSION_MINOR": "21",
12398+ "CARGO_PKG_VERSION_PATCH": "1",
12399+ "CARGO_PKG_VERSION_PRE": "",
12400+ },
12401+ features = ["default"],
12402+ visibility = [],
12403+ deps = [
12404+ ":cesu8-1",
12405+ ":cfg-if-1",
12406+ ":combine-4",
12407+ ":jni-sys-0.3",
12408+ ":log-0.4",
12409+ ":thiserror-1",
12410+ ],
12411+)
12412+
12413+alias(
12414+ name = "jni-0-22",
12415+ actual = ":jni-0.22",
12416+ visibility = ["PUBLIC"],
12417+)
12418+
12419+http_archive(
12420+ name = "jni-0.22.4.crate",
12421+ sha256 = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498",
12422+ strip_prefix = "jni-0.22.4",
12423+ urls = ["https://static.crates.io/crates/jni/0.22.4/download"],
12424+ visibility = [],
12425+)
12426+
12427+cargo.rust_library(
12428+ name = "jni-0.22",
12429+ srcs = [":jni-0.22.4.crate"],
12430+ crate = "jni",
12431+ crate_root = "jni-0.22.4.crate/src/lib.rs",
12432+ edition = "2024",
12433+ env = {
12434+ "CARGO_BIN_NAME": "jni",
12435+ "CARGO_CRATE_NAME": "jni",
12436+ "CARGO_MANIFEST_DIR": "jni-0.22.4.crate",
12437+ "CARGO_PKG_AUTHORS": "jni team",
12438+ "CARGO_PKG_DESCRIPTION": "Rust bindings to the JNI",
12439+ "CARGO_PKG_HOMEPAGE": "",
12440+ "CARGO_PKG_NAME": "jni",
12441+ "CARGO_PKG_README": "README.md",
12442+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12443+ "CARGO_PKG_RUST_VERSION": "1.85.0",
12444+ "CARGO_PKG_VERSION": "0.22.4",
12445+ "CARGO_PKG_VERSION_MAJOR": "0",
12446+ "CARGO_PKG_VERSION_MINOR": "22",
12447+ "CARGO_PKG_VERSION_PATCH": "4",
12448+ "CARGO_PKG_VERSION_PRE": "",
12449+ "OUT_DIR": "$(location :jni-0.22-build-script-run[out_dir])",
12450+ },
12451+ features = ["default"],
12452+ rustc_flags = ["@$(location :jni-0.22-build-script-run[rustc_flags])"],
12453+ visibility = [],
12454+ deps = [
12455+ ":cfg-if-1",
12456+ ":combine-4",
12457+ ":jni-macros-0.22",
12458+ ":jni-sys-0.4",
12459+ ":log-0.4",
12460+ ":simd_cesu8-1",
12461+ ":thiserror-2",
12462+ ],
12463+)
12464+
12465+cargo.rust_binary(
12466+ name = "jni-0.22-build-script-build",
12467+ srcs = [":jni-0.22.4.crate"],
12468+ crate = "build_script_build",
12469+ crate_root = "jni-0.22.4.crate/build.rs",
12470+ edition = "2024",
12471+ env = {
12472+ "CARGO_BIN_NAME": "build-script-build",
12473+ "CARGO_CRATE_NAME": "build_script_build",
12474+ "CARGO_MANIFEST_DIR": "jni-0.22.4.crate",
12475+ "CARGO_PKG_AUTHORS": "jni team",
12476+ "CARGO_PKG_DESCRIPTION": "Rust bindings to the JNI",
12477+ "CARGO_PKG_HOMEPAGE": "",
12478+ "CARGO_PKG_NAME": "jni",
12479+ "CARGO_PKG_README": "README.md",
12480+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12481+ "CARGO_PKG_RUST_VERSION": "1.85.0",
12482+ "CARGO_PKG_VERSION": "0.22.4",
12483+ "CARGO_PKG_VERSION_MAJOR": "0",
12484+ "CARGO_PKG_VERSION_MINOR": "22",
12485+ "CARGO_PKG_VERSION_PATCH": "4",
12486+ "CARGO_PKG_VERSION_PRE": "",
12487+ },
12488+ features = ["default"],
12489+ visibility = [],
12490+ deps = [":walkdir-2"],
12491+)
12492+
12493+buildscript_run(
12494+ name = "jni-0.22-build-script-run",
12495+ package_name = "jni",
12496+ buildscript_rule = ":jni-0.22-build-script-build",
12497+ env = {
12498+ "CARGO_PKG_AUTHORS": "jni team",
12499+ "CARGO_PKG_DESCRIPTION": "Rust bindings to the JNI",
12500+ "CARGO_PKG_HOMEPAGE": "",
12501+ "CARGO_PKG_README": "README.md",
12502+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12503+ "CARGO_PKG_RUST_VERSION": "1.85.0",
12504+ "CARGO_PKG_VERSION_MAJOR": "0",
12505+ "CARGO_PKG_VERSION_MINOR": "22",
12506+ "CARGO_PKG_VERSION_PATCH": "4",
12507+ "CARGO_PKG_VERSION_PRE": "",
12508+ "OPT_LEVEL": "2",
12509+ },
12510+ features = ["default"],
12511+ version = "0.22.4",
12512+)
12513+
12514+http_archive(
12515+ name = "jni-macros-0.22.4.crate",
12516+ sha256 = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3",
12517+ strip_prefix = "jni-macros-0.22.4",
12518+ urls = ["https://static.crates.io/crates/jni-macros/0.22.4/download"],
12519+ visibility = [],
12520+)
12521+
12522+cargo.rust_library(
12523+ name = "jni-macros-0.22",
12524+ srcs = [":jni-macros-0.22.4.crate"],
12525+ crate = "jni_macros",
12526+ crate_root = "jni-macros-0.22.4.crate/src/lib.rs",
12527+ edition = "2024",
12528+ env = {
12529+ "CARGO_BIN_NAME": "jni_macros",
12530+ "CARGO_CRATE_NAME": "jni_macros",
12531+ "CARGO_MANIFEST_DIR": "jni-macros-0.22.4.crate",
12532+ "CARGO_PKG_AUTHORS": "",
12533+ "CARGO_PKG_DESCRIPTION": "Procedural macros for the jni crate",
12534+ "CARGO_PKG_HOMEPAGE": "",
12535+ "CARGO_PKG_NAME": "jni-macros",
12536+ "CARGO_PKG_README": "README.md",
12537+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12538+ "CARGO_PKG_RUST_VERSION": "",
12539+ "CARGO_PKG_VERSION": "0.22.4",
12540+ "CARGO_PKG_VERSION_MAJOR": "0",
12541+ "CARGO_PKG_VERSION_MINOR": "22",
12542+ "CARGO_PKG_VERSION_PATCH": "4",
12543+ "CARGO_PKG_VERSION_PRE": "",
12544+ "OUT_DIR": "$(location :jni-macros-0.22-build-script-run[out_dir])",
12545+ },
12546+ proc_macro = True,
12547+ rustc_flags = ["@$(location :jni-macros-0.22-build-script-run[rustc_flags])"],
12548+ visibility = [],
12549+ deps = [
12550+ ":proc-macro2-1",
12551+ ":quote-1",
12552+ ":simd_cesu8-1",
12553+ ":syn-2",
12554+ ],
12555+)
12556+
12557+cargo.rust_binary(
12558+ name = "jni-macros-0.22-build-script-build",
12559+ srcs = [":jni-macros-0.22.4.crate"],
12560+ crate = "build_script_build",
12561+ crate_root = "jni-macros-0.22.4.crate/build.rs",
12562+ edition = "2024",
12563+ env = {
12564+ "CARGO_BIN_NAME": "build-script-build",
12565+ "CARGO_CRATE_NAME": "build_script_build",
12566+ "CARGO_MANIFEST_DIR": "jni-macros-0.22.4.crate",
12567+ "CARGO_PKG_AUTHORS": "",
12568+ "CARGO_PKG_DESCRIPTION": "Procedural macros for the jni crate",
12569+ "CARGO_PKG_HOMEPAGE": "",
12570+ "CARGO_PKG_NAME": "jni-macros",
12571+ "CARGO_PKG_README": "README.md",
12572+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12573+ "CARGO_PKG_RUST_VERSION": "",
12574+ "CARGO_PKG_VERSION": "0.22.4",
12575+ "CARGO_PKG_VERSION_MAJOR": "0",
12576+ "CARGO_PKG_VERSION_MINOR": "22",
12577+ "CARGO_PKG_VERSION_PATCH": "4",
12578+ "CARGO_PKG_VERSION_PRE": "",
12579+ },
12580+ visibility = [],
12581+ deps = [":rustc_version-0.4"],
12582+)
12583+
12584+buildscript_run(
12585+ name = "jni-macros-0.22-build-script-run",
12586+ package_name = "jni-macros",
12587+ buildscript_rule = ":jni-macros-0.22-build-script-build",
12588+ env = {
12589+ "CARGO_PKG_AUTHORS": "",
12590+ "CARGO_PKG_DESCRIPTION": "Procedural macros for the jni crate",
12591+ "CARGO_PKG_HOMEPAGE": "",
12592+ "CARGO_PKG_README": "README.md",
12593+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-rs",
12594+ "CARGO_PKG_RUST_VERSION": "",
12595+ "CARGO_PKG_VERSION_MAJOR": "0",
12596+ "CARGO_PKG_VERSION_MINOR": "22",
12597+ "CARGO_PKG_VERSION_PATCH": "4",
12598+ "CARGO_PKG_VERSION_PRE": "",
12599+ "OPT_LEVEL": "2",
12600+ },
12601+ version = "0.22.4",
12602+)
12603+
12604+http_archive(
12605+ name = "jni-sys-0.3.1.crate",
12606+ sha256 = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258",
12607+ strip_prefix = "jni-sys-0.3.1",
12608+ urls = ["https://static.crates.io/crates/jni-sys/0.3.1/download"],
12609+ visibility = [],
12610+)
12611+
12612+cargo.rust_library(
12613+ name = "jni-sys-0.3",
12614+ srcs = [":jni-sys-0.3.1.crate"],
12615+ crate = "jni_sys",
12616+ crate_root = "jni-sys-0.3.1.crate/src/lib.rs",
12617+ edition = "2021",
12618+ env = {
12619+ "CARGO_BIN_NAME": "jni_sys",
12620+ "CARGO_CRATE_NAME": "jni_sys",
12621+ "CARGO_MANIFEST_DIR": "jni-sys-0.3.1.crate",
12622+ "CARGO_PKG_AUTHORS": "Steven Fackler <sfackler@gmail.com>",
12623+ "CARGO_PKG_DESCRIPTION": "Rust definitions corresponding to jni.h",
12624+ "CARGO_PKG_HOMEPAGE": "",
12625+ "CARGO_PKG_NAME": "jni-sys",
12626+ "CARGO_PKG_README": "README.md",
12627+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
12628+ "CARGO_PKG_RUST_VERSION": "1.77.0",
12629+ "CARGO_PKG_VERSION": "0.3.1",
12630+ "CARGO_PKG_VERSION_MAJOR": "0",
12631+ "CARGO_PKG_VERSION_MINOR": "3",
12632+ "CARGO_PKG_VERSION_PATCH": "1",
12633+ "CARGO_PKG_VERSION_PRE": "",
12634+ "OUT_DIR": "$(location :jni-sys-0.3-build-script-run[out_dir])",
12635+ },
12636+ features = ["default"],
12637+ named_deps = {
12638+ "jni_sys_04": ":jni-sys-0.4",
12639+ },
12640+ rustc_flags = ["@$(location :jni-sys-0.3-build-script-run[rustc_flags])"],
12641+ visibility = [],
12642+)
12643+
12644+cargo.rust_binary(
12645+ name = "jni-sys-0.3-build-script-build",
12646+ srcs = [":jni-sys-0.3.1.crate"],
12647+ crate = "build_script_build",
12648+ crate_root = "jni-sys-0.3.1.crate/build.rs",
12649+ edition = "2021",
12650+ env = {
12651+ "CARGO_BIN_NAME": "build-script-build",
12652+ "CARGO_CRATE_NAME": "build_script_build",
12653+ "CARGO_MANIFEST_DIR": "jni-sys-0.3.1.crate",
12654+ "CARGO_PKG_AUTHORS": "Steven Fackler <sfackler@gmail.com>",
12655+ "CARGO_PKG_DESCRIPTION": "Rust definitions corresponding to jni.h",
12656+ "CARGO_PKG_HOMEPAGE": "",
12657+ "CARGO_PKG_NAME": "jni-sys",
12658+ "CARGO_PKG_README": "README.md",
12659+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
12660+ "CARGO_PKG_RUST_VERSION": "1.77.0",
12661+ "CARGO_PKG_VERSION": "0.3.1",
12662+ "CARGO_PKG_VERSION_MAJOR": "0",
12663+ "CARGO_PKG_VERSION_MINOR": "3",
12664+ "CARGO_PKG_VERSION_PATCH": "1",
12665+ "CARGO_PKG_VERSION_PRE": "",
12666+ },
12667+ features = ["default"],
12668+ visibility = [],
12669+)
12670+
12671+buildscript_run(
12672+ name = "jni-sys-0.3-build-script-run",
12673+ package_name = "jni-sys",
12674+ buildscript_rule = ":jni-sys-0.3-build-script-build",
12675+ env = {
12676+ "CARGO_PKG_AUTHORS": "Steven Fackler <sfackler@gmail.com>",
12677+ "CARGO_PKG_DESCRIPTION": "Rust definitions corresponding to jni.h",
12678+ "CARGO_PKG_HOMEPAGE": "",
11980 "CARGO_PKG_README": "README.md",12679 "CARGO_PKG_README": "README.md",
11981- "CARGO_PKG_REPOSITORY": "https://github.com/dtolnay/itoa",12680+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
11982- "CARGO_PKG_RUST_VERSION": "1.68",12681+ "CARGO_PKG_RUST_VERSION": "1.77.0",
11983- "CARGO_PKG_VERSION": "1.0.18",12682+ "CARGO_PKG_VERSION_MAJOR": "0",
11984- "CARGO_PKG_VERSION_MAJOR": "1",12683+ "CARGO_PKG_VERSION_MINOR": "3",
11985- "CARGO_PKG_VERSION_MINOR": "0",12684+ "CARGO_PKG_VERSION_PATCH": "1",
11986- "CARGO_PKG_VERSION_PATCH": "18",
11987 "CARGO_PKG_VERSION_PRE": "",12685 "CARGO_PKG_VERSION_PRE": "",
12686+ "OPT_LEVEL": "2",
11988 },12687 },
11989- visibility = [],12688+ features = ["default"],
12689+ version = "0.3.1",
11990 )12690 )
11991 12691
11992 http_archive(12692 http_archive(
11993- name = "jiff-0.2.35.crate",12693+ name = "jni-sys-0.4.1.crate",
11994- sha256 = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc",12694+ sha256 = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2",
11995- strip_prefix = "jiff-0.2.35",12695+ strip_prefix = "jni-sys-0.4.1",
11996- urls = ["https://static.crates.io/crates/jiff/0.2.35/download"],12696+ urls = ["https://static.crates.io/crates/jni-sys/0.4.1/download"],
11997 visibility = [],12697 visibility = [],
11998 )12698 )
11999 12699
12000 cargo.rust_library(12700 cargo.rust_library(
12001- name = "jiff-0.2",12701+ name = "jni-sys-0.4",
12002- srcs = [":jiff-0.2.35.crate"],12702+ srcs = [":jni-sys-0.4.1.crate"],
12003- crate = "jiff",12703+ crate = "jni_sys",
12004- crate_root = "jiff-0.2.35.crate/src/lib.rs",12704+ crate_root = "jni-sys-0.4.1.crate/src/lib.rs",
12005 edition = "2021",12705 edition = "2021",
12006 env = {12706 env = {
12007- "CARGO_BIN_NAME": "jiff",12707+ "CARGO_BIN_NAME": "jni_sys",
12008- "CARGO_CRATE_NAME": "jiff",12708+ "CARGO_CRATE_NAME": "jni_sys",
12009- "CARGO_MANIFEST_DIR": "jiff-0.2.35.crate",12709+ "CARGO_MANIFEST_DIR": "jni-sys-0.4.1.crate",
12010- "CARGO_PKG_AUTHORS": "Andrew Gallant <jamslam@gmail.com>",12710+ "CARGO_PKG_AUTHORS": "Steven Fackler <sfackler@gmail.com>:Robert Bragg <robert@sixbynine.org>",
12011- "CARGO_PKG_DESCRIPTION": "A date-time library that encourages you to jump into the pit of success.\n\nThis library is heavily inspired by the Temporal project.\n",12711+ "CARGO_PKG_DESCRIPTION": "Rust definitions corresponding to jni.h",
12012 "CARGO_PKG_HOMEPAGE": "",12712 "CARGO_PKG_HOMEPAGE": "",
12013- "CARGO_PKG_NAME": "jiff",12713+ "CARGO_PKG_NAME": "jni-sys",
12014 "CARGO_PKG_README": "README.md",12714 "CARGO_PKG_README": "README.md",
12015- "CARGO_PKG_REPOSITORY": "https://github.com/BurntSushi/jiff",12715+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
12016- "CARGO_PKG_RUST_VERSION": "1.70",12716+ "CARGO_PKG_RUST_VERSION": "1.76.0",
12017- "CARGO_PKG_VERSION": "0.2.35",12717+ "CARGO_PKG_VERSION": "0.4.1",
12018 "CARGO_PKG_VERSION_MAJOR": "0",12718 "CARGO_PKG_VERSION_MAJOR": "0",
12019- "CARGO_PKG_VERSION_MINOR": "2",12719+ "CARGO_PKG_VERSION_MINOR": "4",
12020- "CARGO_PKG_VERSION_PATCH": "35",12720+ "CARGO_PKG_VERSION_PATCH": "1",
12021 "CARGO_PKG_VERSION_PRE": "",12721 "CARGO_PKG_VERSION_PRE": "",
12022 },12722 },
12023- features = [
12024- "alloc",
12025- "std",
12026- ],
12027- named_deps = {
12028- "jcore": ":jiff-core-0.1",
12029- },
12030 visibility = [],12723 visibility = [],
12724+ deps = [":jni-sys-macros-0.4"],
12031 )12725 )
12032 12726
12033 http_archive(12727 http_archive(
12034- name = "jiff-core-0.1.0.crate",12728+ name = "jni-sys-macros-0.4.1.crate",
12035- sha256 = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09",12729+ sha256 = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264",
12036- strip_prefix = "jiff-core-0.1.0",12730+ strip_prefix = "jni-sys-macros-0.4.1",
12037- urls = ["https://static.crates.io/crates/jiff-core/0.1.0/download"],12731+ urls = ["https://static.crates.io/crates/jni-sys-macros/0.4.1/download"],
12038 visibility = [],12732 visibility = [],
12039 )12733 )
12040 12734
12041 cargo.rust_library(12735 cargo.rust_library(
12042- name = "jiff-core-0.1",12736+ name = "jni-sys-macros-0.4",
12043- srcs = [":jiff-core-0.1.0.crate"],12737+ srcs = [":jni-sys-macros-0.4.1.crate"],
12044- crate = "jiff_core",12738+ crate = "jni_sys_macros",
12045- crate_root = "jiff-core-0.1.0.crate/src/lib.rs",12739+ crate_root = "jni-sys-macros-0.4.1.crate/src/lib.rs",
12046 edition = "2021",12740 edition = "2021",
12047 env = {12741 env = {
12048- "CARGO_BIN_NAME": "jiff_core",12742+ "CARGO_BIN_NAME": "jni_sys_macros",
12049- "CARGO_CRATE_NAME": "jiff_core",12743+ "CARGO_CRATE_NAME": "jni_sys_macros",
12050- "CARGO_MANIFEST_DIR": "jiff-core-0.1.0.crate",12744+ "CARGO_MANIFEST_DIR": "jni-sys-macros-0.4.1.crate",
12051- "CARGO_PKG_AUTHORS": "Andrew Gallant <jamslam@gmail.com>",12745+ "CARGO_PKG_AUTHORS": "Robert Bragg <robert@sixbynine.org>",
12052- "CARGO_PKG_DESCRIPTION": "Low level datetime primitives for the Jiff library.",12746+ "CARGO_PKG_DESCRIPTION": "Macros for jni-sys crate",
12053- "CARGO_PKG_HOMEPAGE": "https://github.com/BurntSushi/jiff/tree/master/crates/jiff-core",12747+ "CARGO_PKG_HOMEPAGE": "",
12054- "CARGO_PKG_NAME": "jiff-core",12748+ "CARGO_PKG_NAME": "jni-sys-macros",
12055 "CARGO_PKG_README": "README.md",12749 "CARGO_PKG_README": "README.md",
12056- "CARGO_PKG_REPOSITORY": "https://github.com/BurntSushi/jiff",12750+ "CARGO_PKG_REPOSITORY": "https://github.com/jni-rs/jni-sys",
12057- "CARGO_PKG_RUST_VERSION": "1.70",12751+ "CARGO_PKG_RUST_VERSION": "",
12058- "CARGO_PKG_VERSION": "0.1.0",12752+ "CARGO_PKG_VERSION": "0.4.1",
12059 "CARGO_PKG_VERSION_MAJOR": "0",12753 "CARGO_PKG_VERSION_MAJOR": "0",
12060- "CARGO_PKG_VERSION_MINOR": "1",12754+ "CARGO_PKG_VERSION_MINOR": "4",
12061- "CARGO_PKG_VERSION_PATCH": "0",12755+ "CARGO_PKG_VERSION_PATCH": "1",
12062 "CARGO_PKG_VERSION_PRE": "",12756 "CARGO_PKG_VERSION_PRE": "",
12063 },12757 },
12064- features = [12758+ proc_macro = True,
12065- "alloc",
12066- "std",
12067- ],
12068 visibility = [],12759 visibility = [],
12760+ deps = [
12761+ ":quote-1",
12762+ ":syn-2",
12763+ ],
12069 )12764 )
12070 12765
12071 http_archive(12766 http_archive(
@@ -12135,6 +12830,9 @@ cargo.rust_library(
12135 "CARGO_PKG_VERSION_PRE": "",12830 "CARGO_PKG_VERSION_PRE": "",
12136 "OUT_DIR": "$(location :khronos_api-3-build-script-run[out_dir])",12831 "OUT_DIR": "$(location :khronos_api-3-build-script-run[out_dir])",
12137 },12832 },
12833+ mapped_srcs = {
12834+ "fixups/khronos_api/overlay/build.rs": "khronos_api-3.1.0.crate/build.rs",
12835+ },
12138 rustc_flags = ["@$(location :khronos_api-3-build-script-run[rustc_flags])"],12836 rustc_flags = ["@$(location :khronos_api-3-build-script-run[rustc_flags])"],
12139 visibility = [],12837 visibility = [],
12140 )12838 )
@@ -12162,6 +12860,9 @@ cargo.rust_binary(
12162 "CARGO_PKG_VERSION_PATCH": "0",12860 "CARGO_PKG_VERSION_PATCH": "0",
12163 "CARGO_PKG_VERSION_PRE": "",12861 "CARGO_PKG_VERSION_PRE": "",
12164 },12862 },
12863+ mapped_srcs = {
12864+ "fixups/khronos_api/overlay/build.rs": "khronos_api-3.1.0.crate/build.rs",
12865+ },
12165 visibility = [],12866 visibility = [],
12166 )12867 )
12167 12868
@@ -13831,6 +14532,141 @@ cargo.rust_library(
13831 deps = [":log-0.4"],14532 deps = [":log-0.4"],
13832 )14533 )
13833 14534
14535+alias(
14536+ name = "ndk",
14537+ actual = ":ndk-0.9",
14538+ visibility = ["PUBLIC"],
14539+)
14540+
14541+http_archive(
14542+ name = "ndk-0.9.0.crate",
14543+ sha256 = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4",
14544+ strip_prefix = "ndk-0.9.0",
14545+ urls = ["https://static.crates.io/crates/ndk/0.9.0/download"],
14546+ visibility = [],
14547+)
14548+
14549+cargo.rust_library(
14550+ name = "ndk-0.9",
14551+ srcs = [":ndk-0.9.0.crate"],
14552+ crate = "ndk",
14553+ crate_root = "ndk-0.9.0.crate/src/lib.rs",
14554+ edition = "2021",
14555+ env = {
14556+ "CARGO_BIN_NAME": "ndk",
14557+ "CARGO_CRATE_NAME": "ndk",
14558+ "CARGO_MANIFEST_DIR": "ndk-0.9.0.crate",
14559+ "CARGO_PKG_AUTHORS": "The Rust Mobile contributors",
14560+ "CARGO_PKG_DESCRIPTION": "Safe Rust bindings to the Android NDK",
14561+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/ndk",
14562+ "CARGO_PKG_NAME": "ndk",
14563+ "CARGO_PKG_README": "README.md",
14564+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/ndk",
14565+ "CARGO_PKG_RUST_VERSION": "1.66",
14566+ "CARGO_PKG_VERSION": "0.9.0",
14567+ "CARGO_PKG_VERSION_MAJOR": "0",
14568+ "CARGO_PKG_VERSION_MINOR": "9",
14569+ "CARGO_PKG_VERSION_PATCH": "0",
14570+ "CARGO_PKG_VERSION_PRE": "",
14571+ },
14572+ features = [
14573+ "api-level-23",
14574+ "api-level-24",
14575+ "api-level-25",
14576+ "api-level-26",
14577+ "audio",
14578+ "rwh_06",
14579+ ],
14580+ named_deps = {
14581+ "ffi": ":ndk-sys-0.6",
14582+ "rwh_06": ":raw-window-handle-0.6",
14583+ },
14584+ visibility = [],
14585+ deps = [
14586+ ":bitflags-2",
14587+ ":jni-sys-0.3",
14588+ ":log-0.4",
14589+ ":num_enum-0.7",
14590+ ":thiserror-1",
14591+ ],
14592+)
14593+
14594+alias(
14595+ name = "ndk-context",
14596+ actual = ":ndk-context-0.1",
14597+ visibility = ["PUBLIC"],
14598+)
14599+
14600+http_archive(
14601+ name = "ndk-context-0.1.1.crate",
14602+ sha256 = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b",
14603+ strip_prefix = "ndk-context-0.1.1",
14604+ urls = ["https://static.crates.io/crates/ndk-context/0.1.1/download"],
14605+ visibility = [],
14606+)
14607+
14608+cargo.rust_library(
14609+ name = "ndk-context-0.1",
14610+ srcs = [":ndk-context-0.1.1.crate"],
14611+ crate = "ndk_context",
14612+ crate_root = "ndk-context-0.1.1.crate/src/lib.rs",
14613+ edition = "2021",
14614+ env = {
14615+ "CARGO_BIN_NAME": "ndk_context",
14616+ "CARGO_CRATE_NAME": "ndk_context",
14617+ "CARGO_MANIFEST_DIR": "ndk-context-0.1.1.crate",
14618+ "CARGO_PKG_AUTHORS": "The Rust Windowing contributors",
14619+ "CARGO_PKG_DESCRIPTION": "Handles for accessing Android APIs",
14620+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-windowing/android-ndk-rs",
14621+ "CARGO_PKG_NAME": "ndk-context",
14622+ "CARGO_PKG_README": "README.md",
14623+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-windowing/android-ndk-rs",
14624+ "CARGO_PKG_RUST_VERSION": "",
14625+ "CARGO_PKG_VERSION": "0.1.1",
14626+ "CARGO_PKG_VERSION_MAJOR": "0",
14627+ "CARGO_PKG_VERSION_MINOR": "1",
14628+ "CARGO_PKG_VERSION_PATCH": "1",
14629+ "CARGO_PKG_VERSION_PRE": "",
14630+ },
14631+ visibility = [],
14632+)
14633+
14634+http_archive(
14635+ name = "ndk-sys-0.6.0+11769913.crate",
14636+ sha256 = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873",
14637+ strip_prefix = "ndk-sys-0.6.0+11769913",
14638+ urls = ["https://static.crates.io/crates/ndk-sys/0.6.0+11769913/download"],
14639+ visibility = [],
14640+)
14641+
14642+cargo.rust_library(
14643+ name = "ndk-sys-0.6",
14644+ srcs = [":ndk-sys-0.6.0+11769913.crate"],
14645+ crate = "ndk_sys",
14646+ crate_root = "ndk-sys-0.6.0+11769913.crate/src/lib.rs",
14647+ edition = "2021",
14648+ env = {
14649+ "CARGO_BIN_NAME": "ndk_sys",
14650+ "CARGO_CRATE_NAME": "ndk_sys",
14651+ "CARGO_MANIFEST_DIR": "ndk-sys-0.6.0+11769913.crate",
14652+ "CARGO_PKG_AUTHORS": "The Rust Windowing contributors",
14653+ "CARGO_PKG_DESCRIPTION": "FFI bindings for the Android NDK",
14654+ "CARGO_PKG_HOMEPAGE": "https://github.com/rust-mobile/ndk",
14655+ "CARGO_PKG_NAME": "ndk-sys",
14656+ "CARGO_PKG_README": "README.md",
14657+ "CARGO_PKG_REPOSITORY": "https://github.com/rust-mobile/ndk",
14658+ "CARGO_PKG_RUST_VERSION": "1.60",
14659+ "CARGO_PKG_VERSION": "0.6.0+11769913",
14660+ "CARGO_PKG_VERSION_MAJOR": "0",
14661+ "CARGO_PKG_VERSION_MINOR": "6",
14662+ "CARGO_PKG_VERSION_PATCH": "0",
14663+ "CARGO_PKG_VERSION_PRE": "",
14664+ },
14665+ features = ["audio"],
14666+ visibility = [],
14667+ deps = [":jni-sys-0.3"],
14668+)
14669+
13834 http_archive(14670 http_archive(
13835 name = "netdev-0.40.1.crate",14671 name = "netdev-0.40.1.crate",
13836 sha256 = "1b0a0096d9613ee878dba89bbe595f079d373e3f1960d882e4f2f78ff9c30a0a",14672 sha256 = "1b0a0096d9613ee878dba89bbe595f079d373e3f1960d882e4f2f78ff9c30a0a",
@@ -13867,6 +14703,15 @@ cargo.rust_library(
13867 "gateway",14703 "gateway",
13868 ],14704 ],
13869 platform = {14705 platform = {
14706+ "android-arm64": dict(
14707+ deps = [
14708+ ":dlopen2-0.5",
14709+ ":netlink-packet-core-0.8",
14710+ ":netlink-packet-route-0.29",
14711+ ":netlink-sys-0.8",
14712+ ":once_cell-1",
14713+ ],
14714+ ),
13870 "linux-arm64": dict(14715 "linux-arm64": dict(
13871 deps = [14716 deps = [
13872 ":netlink-packet-core-0.8",14717 ":netlink-packet-core-0.8",
@@ -14106,6 +14951,15 @@ cargo.rust_library(
14106 "OUT_DIR": "$(location :netwatch-0.15-build-script-run[out_dir])",14951 "OUT_DIR": "$(location :netwatch-0.15-build-script-run[out_dir])",
14107 },14952 },
14108 platform = {14953 platform = {
14954+ "android-arm64": dict(
14955+ deps = [
14956+ ":derive_more-2",
14957+ ":netlink-packet-core-0.8",
14958+ ":netlink-packet-route-0.29",
14959+ ":netlink-proto-0.12",
14960+ ":netlink-sys-0.8",
14961+ ],
14962+ ),
14109 "linux-arm64": dict(14963 "linux-arm64": dict(
14110 deps = [14964 deps = [
14111 ":netlink-packet-core-0.8",14965 ":netlink-packet-core-0.8",
@@ -21339,6 +22193,9 @@ cargo.rust_library(
21339 "pki_types": ":rustls-pki-types-1",22193 "pki_types": ":rustls-pki-types-1",
21340 },22194 },
21341 platform = {22195 platform = {
22196+ "android-arm64": dict(
22197+ deps = [":openssl-probe-0.2"],
22198+ ),
21342 "linux-arm64": dict(22199 "linux-arm64": dict(
21343 deps = [":openssl-probe-0.2"],22200 deps = [":openssl-probe-0.2"],
21344 ),22201 ),
@@ -21468,6 +22325,14 @@ cargo.rust_library(
21468 "CARGO_PKG_VERSION_PRE": "",22325 "CARGO_PKG_VERSION_PRE": "",
21469 },22326 },
21470 platform = {22327 platform = {
22328+ "android-arm64": dict(
22329+ deps = [
22330+ ":jni-0.21",
22331+ ":once_cell-1",
22332+ ":rustls-platform-verifier-android-0.1",
22333+ ":rustls-webpki-0.103",
22334+ ],
22335+ ),
21471 "linux-arm64": dict(22336 "linux-arm64": dict(
21472 deps = [22337 deps = [
21473 ":rustls-native-certs-0.8",22338 ":rustls-native-certs-0.8",
@@ -21536,6 +22401,14 @@ cargo.rust_library(
21536 "CARGO_PKG_VERSION_PRE": "",22401 "CARGO_PKG_VERSION_PRE": "",
21537 },22402 },
21538 platform = {22403 platform = {
22404+ "android-arm64": dict(
22405+ deps = [
22406+ ":jni-0.22",
22407+ ":once_cell-1",
22408+ ":rustls-platform-verifier-android-0.1",
22409+ ":rustls-webpki-0.103",
22410+ ],
22411+ ),
21539 "linux-arm64": dict(22412 "linux-arm64": dict(
21540 deps = [22413 deps = [
21541 ":rustls-native-certs-0.8",22414 ":rustls-native-certs-0.8",
@@ -21572,6 +22445,40 @@ cargo.rust_library(
21572 ],22445 ],
21573 )22446 )
21574 22447
22448+http_archive(
22449+ name = "rustls-platform-verifier-android-0.1.1.crate",
22450+ sha256 = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f",
22451+ strip_prefix = "rustls-platform-verifier-android-0.1.1",
22452+ urls = ["https://static.crates.io/crates/rustls-platform-verifier-android/0.1.1/download"],
22453+ visibility = [],
22454+)
22455+
22456+cargo.rust_library(
22457+ name = "rustls-platform-verifier-android-0.1",
22458+ srcs = [":rustls-platform-verifier-android-0.1.1.crate"],
22459+ crate = "rustls_platform_verifier_android",
22460+ crate_root = "rustls-platform-verifier-android-0.1.1.crate/src/lib.rs",
22461+ edition = "2021",
22462+ env = {
22463+ "CARGO_BIN_NAME": "rustls_platform_verifier_android",
22464+ "CARGO_CRATE_NAME": "rustls_platform_verifier_android",
22465+ "CARGO_MANIFEST_DIR": "rustls-platform-verifier-android-0.1.1.crate",
22466+ "CARGO_PKG_AUTHORS": "",
22467+ "CARGO_PKG_DESCRIPTION": "The internal JVM support component of the rustls-platform-verifier crate. You shouldn't depend on this directly.",
22468+ "CARGO_PKG_HOMEPAGE": "",
22469+ "CARGO_PKG_NAME": "rustls-platform-verifier-android",
22470+ "CARGO_PKG_README": "",
22471+ "CARGO_PKG_REPOSITORY": "https://github.com/rustls/rustls-platform-verifier",
22472+ "CARGO_PKG_RUST_VERSION": "",
22473+ "CARGO_PKG_VERSION": "0.1.1",
22474+ "CARGO_PKG_VERSION_MAJOR": "0",
22475+ "CARGO_PKG_VERSION_MINOR": "1",
22476+ "CARGO_PKG_VERSION_PATCH": "1",
22477+ "CARGO_PKG_VERSION_PRE": "",
22478+ },
22479+ visibility = [],
22480+)
22481+
21575 http_archive(22482 http_archive(
21576 name = "rustls-webpki-0.103.13.crate",22483 name = "rustls-webpki-0.103.13.crate",
21577 sha256 = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e",22484 sha256 = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e",
@@ -23308,6 +24215,45 @@ cargo.rust_library(
23308 visibility = [],24215 visibility = [],
23309 )24216 )
23310 24217
24218+http_archive(
24219+ name = "simd_cesu8-1.2.0.crate",
24220+ sha256 = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520",
24221+ strip_prefix = "simd_cesu8-1.2.0",
24222+ urls = ["https://static.crates.io/crates/simd_cesu8/1.2.0/download"],
24223+ visibility = [],
24224+)
24225+
24226+cargo.rust_library(
24227+ name = "simd_cesu8-1",
24228+ srcs = [":simd_cesu8-1.2.0.crate"],
24229+ crate = "simd_cesu8",
24230+ crate_root = "simd_cesu8-1.2.0.crate/src/lib.rs",
24231+ edition = "2021",
24232+ env = {
24233+ "CARGO_BIN_NAME": "simd_cesu8",
24234+ "CARGO_CRATE_NAME": "simd_cesu8",
24235+ "CARGO_MANIFEST_DIR": "simd_cesu8-1.2.0.crate",
24236+ "CARGO_PKG_AUTHORS": "Sean C. Roach <me@seancroach.dev>",
24237+ "CARGO_PKG_DESCRIPTION": "An extremely fast, SIMD accelerated, encoding and decoding library for CESU-8 and Modified UTF-8.",
24238+ "CARGO_PKG_HOMEPAGE": "https://github.com/seancroach/simd_cesu8",
24239+ "CARGO_PKG_NAME": "simd_cesu8",
24240+ "CARGO_PKG_README": "README.md",
24241+ "CARGO_PKG_REPOSITORY": "https://github.com/seancroach/simd_cesu8",
24242+ "CARGO_PKG_RUST_VERSION": "1.85.0",
24243+ "CARGO_PKG_VERSION": "1.2.0",
24244+ "CARGO_PKG_VERSION_MAJOR": "1",
24245+ "CARGO_PKG_VERSION_MINOR": "2",
24246+ "CARGO_PKG_VERSION_PATCH": "0",
24247+ "CARGO_PKG_VERSION_PRE": "",
24248+ },
24249+ features = [
24250+ "default",
24251+ "std",
24252+ ],
24253+ visibility = [],
24254+ deps = [":simdutf8-0.1"],
24255+)
24256+
23311 http_archive(24257 http_archive(
23312 name = "simdutf8-0.1.5.crate",24258 name = "simdutf8-0.1.5.crate",
23313 sha256 = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e",24259 sha256 = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e",
@@ -25451,18 +26397,45 @@ cargo.rust_library(
25451 "alloc",26397 "alloc",
25452 "default",26398 "default",
25453 "formatting",26399 "formatting",
25454- "local-offset",
25455 "parsing",26400 "parsing",
25456 "serde",26401 "serde",
25457 "serde-well-known",26402 "serde-well-known",
25458 "std",26403 "std",
25459 ],26404 ],
26405+ platform = {
26406+ "linux-arm64": dict(
26407+ features = ["local-offset"],
26408+ deps = [
26409+ ":libc-0.2",
26410+ ":num_threads-0.1",
26411+ ],
26412+ ),
26413+ "linux-x86_64": dict(
26414+ features = ["local-offset"],
26415+ deps = [
26416+ ":libc-0.2",
26417+ ":num_threads-0.1",
26418+ ],
26419+ ),
26420+ "macos-arm64": dict(
26421+ features = ["local-offset"],
26422+ deps = [
26423+ ":libc-0.2",
26424+ ":num_threads-0.1",
26425+ ],
26426+ ),
26427+ "macos-x86_64": dict(
26428+ features = ["local-offset"],
26429+ deps = [
26430+ ":libc-0.2",
26431+ ":num_threads-0.1",
26432+ ],
26433+ ),
26434+ },
25460 visibility = [],26435 visibility = [],
25461 deps = [26436 deps = [
25462 ":deranged-0.5",26437 ":deranged-0.5",
25463- ":libc-0.2",
25464 ":num-conv-0.2",26438 ":num-conv-0.2",
25465- ":num_threads-0.1",
25466 ":powerfmt-0.2",26439 ":powerfmt-0.2",
25467 ":serde_core-1",26440 ":serde_core-1",
25468 ":time-core-0.1",26441 ":time-core-0.1",
@@ -28837,6 +29810,12 @@ cargo.rust_library(
28837 "CARGO_PKG_VERSION_PRE": "",29810 "CARGO_PKG_VERSION_PRE": "",
28838 },29811 },
28839 platform = {29812 platform = {
29813+ "android-arm64": dict(
29814+ deps = [
29815+ ":jni-0.22",
29816+ ":ndk-context-0.1",
29817+ ],
29818+ ),
28840 "macos-arm64": dict(29819 "macos-arm64": dict(
28841 deps = [29820 deps = [
28842 ":objc2-0.6",29821 ":objc2-0.6",
@@ -29079,6 +30058,13 @@ cargo.rust_library(
29079 "rwh_06": ":raw-window-handle-0.6",30058 "rwh_06": ":raw-window-handle-0.6",
29080 },30059 },
29081 platform = {30060 platform = {
30061+ "android-arm64": dict(
30062+ features = ["android-native-activity"],
30063+ deps = [
30064+ ":android-activity-0.6",
30065+ ":ndk-0.9",
30066+ ],
30067+ ),
29082 "linux-arm64": dict(30068 "linux-arm64": dict(
29083 named_deps = {30069 named_deps = {
29084 "sctk": ":smithay-client-toolkit-0.19",30070 "sctk": ":smithay-client-toolkit-0.19",
@@ -29198,6 +30184,11 @@ cargo.rust_binary(
29198 "x11-dl",30184 "x11-dl",
29199 "x11rb",30185 "x11rb",
29200 ],30186 ],
30187+ platform = {
30188+ "android-arm64": dict(
30189+ features = ["android-native-activity"],
30190+ ),
30191+ },
29201 visibility = [],30192 visibility = [],
29202 deps = [":cfg_aliases-0.2"],30193 deps = [":cfg_aliases-0.2"],
29203 )30194 )
@@ -29239,6 +30230,11 @@ buildscript_run(
29239 "x11-dl",30230 "x11-dl",
29240 "x11rb",30231 "x11rb",
29241 ],30232 ],
30233+ platform = {
30234+ "android-arm64": dict(
30235+ features = ["android-native-activity"],
30236+ ),
30237+ },
29242 version = "0.30.13",30238 version = "0.30.13",
29243 )30239 )
29244 30240
modified third-party/rust/Cargo.lock +1 -0
@@ -3336,6 +3336,7 @@ dependencies = [
33363336 "glutin-winit",
33373337 "image",
33383338 "iroh-live",
3339+ "jni 0.22.4",
33393340 "libc",
33403341 "log",
33413342 "mach2 0.5.0",
@@ -3336,6 +3336,7 @@ dependencies = [
3336 "glutin-winit",3336 "glutin-winit",
3337 "image",3337 "image",
3338 "iroh-live",3338 "iroh-live",
3339+ "jni 0.22.4",
3339 "libc",3340 "libc",
3340 "log",3341 "log",
3341 "mach2 0.5.0",3342 "mach2 0.5.0",
modified third-party/rust/Cargo.toml +18 -3
@@ -3,9 +3,8 @@
33 # on appears here once, with the union of the features they ask for; first-party
44 # crates keep their own BUCK files and depend on `//third-party/rust:<name>`.
55 #
6-# Android-only dependencies (jni, winit's android-native-activity) are absent:
7-# both objects this repo ships are desktop, and the APK takes its libvidya from
8-# vidya's own buck2 build.
6+# Android-only dependencies are at the bottom, in a target section, so their
7+# features are resolved for the device and unified into nothing else.
98 [package]
109 name = "jolt-native-third-party"
1110 version = "0.0.0"
@@ -94,6 +93,22 @@ objc2-core-audio-types = { version = "0.3", default-features = false, features =
9493 objc2-core-foundation = "0.3"
9594 objc2-foundation = "0.3"
9695
96+# The device. libjoltmoq does not cross — the media plane is V4L2 and PipeWire —
97+# so this is libvidya's half of the graph and nothing else.
98+[target.'cfg(target_os = "android")'.dependencies]
99+# `vidya_open_url` is an ACTION_VIEW intent there, which is a JNI call against
100+# the activity the glue holds.
101+#
102+# Renamed because cpal wants jni 0.21 on the same platform, and cpal is a path
103+# dependency above — so reindeer gives its deps public aliases too, and two
104+# crates called `jni` cannot both have one. The consumer says `named_deps`.
105+jni-0-22 = { package = "jni", version = "0.22" }
106+# The feature is what pulls in android-activity, and android-activity is what
107+# owns the event loop: the APK's NativeActivity has no Java main to call into,
108+# so the glue is the entry point. Without it the crate compiles to a backend of
109+# no platform at all and fails on its own imports.
110+winit = { version = "0.30", features = ["android-native-activity"] }
111+
97112 [patch.crates-io]
98113 iroh = { git = "https://github.com/n0-computer/iroh", rev = "8af8370b" }
99114 iroh-base = { git = "https://github.com/n0-computer/iroh", rev = "8af8370b" }
@@ -3,9 +3,8 @@
3 # on appears here once, with the union of the features they ask for; first-party3 # on appears here once, with the union of the features they ask for; first-party
4 # crates keep their own BUCK files and depend on `//third-party/rust:<name>`.4 # crates keep their own BUCK files and depend on `//third-party/rust:<name>`.
5 #5 #
6-# Android-only dependencies (jni, winit's android-native-activity) are absent:6+# Android-only dependencies are at the bottom, in a target section, so their
7-# both objects this repo ships are desktop, and the APK takes its libvidya from7+# features are resolved for the device and unified into nothing else.
8-# vidya's own buck2 build.
9 [package]8 [package]
10 name = "jolt-native-third-party"9 name = "jolt-native-third-party"
11 version = "0.0.0"10 version = "0.0.0"
@@ -94,6 +93,22 @@ objc2-core-audio-types = { version = "0.3", default-features = false, features =
94 objc2-core-foundation = "0.3"93 objc2-core-foundation = "0.3"
95 objc2-foundation = "0.3"94 objc2-foundation = "0.3"
96 95
96+# The device. libjoltmoq does not cross — the media plane is V4L2 and PipeWire —
97+# so this is libvidya's half of the graph and nothing else.
98+[target.'cfg(target_os = "android")'.dependencies]
99+# `vidya_open_url` is an ACTION_VIEW intent there, which is a JNI call against
100+# the activity the glue holds.
101+#
102+# Renamed because cpal wants jni 0.21 on the same platform, and cpal is a path
103+# dependency above — so reindeer gives its deps public aliases too, and two
104+# crates called `jni` cannot both have one. The consumer says `named_deps`.
105+jni-0-22 = { package = "jni", version = "0.22" }
106+# The feature is what pulls in android-activity, and android-activity is what
107+# owns the event loop: the APK's NativeActivity has no Java main to call into,
108+# so the glue is the entry point. Without it the crate compiles to a backend of
109+# no platform at all and fails on its own imports.
110+winit = { version = "0.30", features = ["android-native-activity"] }
111+
97 [patch.crates-io]112 [patch.crates-io]
98 iroh = { git = "https://github.com/n0-computer/iroh", rev = "8af8370b" }113 iroh = { git = "https://github.com/n0-computer/iroh", rev = "8af8370b" }
99 iroh-base = { git = "https://github.com/n0-computer/iroh", rev = "8af8370b" }114 iroh-base = { git = "https://github.com/n0-computer/iroh", rev = "8af8370b" }
added third-party/rust/PACKAGE +22 -0
new file mode 100644
@@ -0,0 +1,22 @@
1+# The platform names reindeer writes into third-party/rust/BUCK, as
2+# configurations buck can match.
3+#
4+# The `platform` dict on a generated target is keyed by reindeer's own names,
5+# and the prelude turns a configuration into one of those names through this
6+# select. Its default list is desktop and Windows and wasm; there is no Android
7+# row, so an Android configuration resolved to None, `platform.get(None, {})`
8+# found nothing, and every target-gated dependency was dropped — silently, and
9+# only visible as the crate failing to compile against the imports it was
10+# supposed to have. glutin is where it shows first: glutin_egl_sys is not
11+# optional on Android, and it went missing.
12+#
13+# The name here has to be the one in reindeer.toml. Nothing checks that.
14+load("@prelude//rust:cargo_package.bzl", "DEFAULT_REINDEER_PLATFORMS", "set_reindeer_platforms")
15+
16+set_reindeer_platforms(select({
17+ "DEFAULT": DEFAULT_REINDEER_PLATFORMS,
18+ "prelude//os:android": select({
19+ "DEFAULT": None,
20+ "prelude//cpu:arm64": "android-arm64",
21+ }),
22+}))
new file mode 100644
@@ -0,0 +1,22 @@
1+# The platform names reindeer writes into third-party/rust/BUCK, as
2+# configurations buck can match.
3+#
4+# The `platform` dict on a generated target is keyed by reindeer's own names,
5+# and the prelude turns a configuration into one of those names through this
6+# select. Its default list is desktop and Windows and wasm; there is no Android
7+# row, so an Android configuration resolved to None, `platform.get(None, {})`
8+# found nothing, and every target-gated dependency was dropped — silently, and
9+# only visible as the crate failing to compile against the imports it was
10+# supposed to have. glutin is where it shows first: glutin_egl_sys is not
11+# optional on Android, and it went missing.
12+#
13+# The name here has to be the one in reindeer.toml. Nothing checks that.
14+load("@prelude//rust:cargo_package.bzl", "DEFAULT_REINDEER_PLATFORMS", "set_reindeer_platforms")
15+
16+set_reindeer_platforms(select({
17+ "DEFAULT": DEFAULT_REINDEER_PLATFORMS,
18+ "prelude//os:android": select({
19+ "DEFAULT": None,
20+ "prelude//cpu:arm64": "android-arm64",
21+ }),
22+}))
modified third-party/rust/fixups/khronos_api/fixups.toml +5 -0
@@ -11,6 +11,11 @@ extra_srcs = [
1111 "api_webgl/specs/latest/2.0/webgl2.idl",
1212 ]
1313
14+# The build script is ours, not the crate's: upstream's writes absolute paths
15+# into the file it generates, which is a thing that cannot survive being built
16+# in one place and read in another. See overlay/build.rs.
17+overlay = "overlay"
18+
1419 # Run the crate build script (emits cfgs / OUT_DIR sources).
1520 [buildscript.run]
1621 # cargo sets OPT_LEVEL for every build script; buck2 does not, and cc-rs and
@@ -11,6 +11,11 @@ extra_srcs = [
11 "api_webgl/specs/latest/2.0/webgl2.idl",11 "api_webgl/specs/latest/2.0/webgl2.idl",
12 ]12 ]
13 13
14+# The build script is ours, not the crate's: upstream's writes absolute paths
15+# into the file it generates, which is a thing that cannot survive being built
16+# in one place and read in another. See overlay/build.rs.
17+overlay = "overlay"
18+
14 # Run the crate build script (emits cfgs / OUT_DIR sources).19 # Run the crate build script (emits cfgs / OUT_DIR sources).
15 [buildscript.run]20 [buildscript.run]
16 # cargo sets OPT_LEVEL for every build script; buck2 does not, and cc-rs and21 # cargo sets OPT_LEVEL for every build script; buck2 does not, and cc-rs and
added third-party/rust/fixups/khronos_api/overlay/build.rs +63 -0
new file mode 100644
@@ -0,0 +1,63 @@
1+// Replaces the crate's own build script, which cannot work outside one
2+// machine.
3+//
4+// Upstream's writes a slice of `include_bytes!` calls naming *absolute* paths
5+// — it has to, because `include_bytes!` resolves relative to the file
6+// containing it and that file lives in OUT_DIR. The paths it writes point into
7+// the directory the build script ran in, which buck2 models as an output of
8+// the build-script action and does not expose as a subtarget. Nothing
9+// downstream can depend on it, so the compile that reads the generated file
10+// only finds those bytes when the earlier action happened to leave them on the
11+// same disk. Locally that is true and the build works. On a remote worker it
12+// is not, and rustc reports 36 missing files.
13+//
14+// So write the bytes themselves rather than a path to them. The generated file
15+// becomes self-contained, the compile needs nothing but OUT_DIR, and where the
16+// two actions ran stops mattering. 460K of XML becomes about 1.8M of escaped
17+// source, which costs a second of parsing and is the whole price.
18+use std::env;
19+use std::fs;
20+use std::io::{BufWriter, Write};
21+use std::path::Path;
22+
23+fn main() {
24+ let dest = env::var("OUT_DIR").unwrap();
25+ let mut file = BufWriter::new(fs::File::create(Path::new(&dest).join("webgl_exts.rs")).unwrap());
26+
27+ let root = env::current_dir().unwrap().join("api_webgl/extensions");
28+
29+ // Sorted, so the slice is in the same order however the directory is read:
30+ // upstream takes read_dir's order, which is the filesystem's, and that
31+ // differs between the machine that populates a cache and the one that
32+ // reads it.
33+ let mut dirs: Vec<_> = root
34+ .read_dir()
35+ .unwrap()
36+ .map(|entry| entry.unwrap().path())
37+ .collect();
38+ dirs.sort();
39+
40+ writeln!(file, "&[").unwrap();
41+ for dir in dirs {
42+ let name = dir.file_name().unwrap().to_str().unwrap().to_owned();
43+ // A directory that is not the template and holds an extension.xml is
44+ // an extension — the same rule upstream applies, and the same one
45+ // api_webgl/extensions/find-exts applies.
46+ if !dir.is_dir() || name == "template" {
47+ continue;
48+ }
49+ let xml = dir.join("extension.xml");
50+ if !xml.is_file() {
51+ continue;
52+ }
53+ write!(file, " &*b\"").unwrap();
54+ for byte in fs::read(&xml).unwrap() {
55+ write!(file, "\\x{:02x}", byte).unwrap();
56+ }
57+ writeln!(file, "\",").unwrap();
58+ }
59+ writeln!(file, "]").unwrap();
60+
61+ // Nothing else is emitted, and nothing else was: upstream prints no cargo
62+ // directives at all, so the crate's cfgs and link flags are unchanged.
63+}
new file mode 100644
@@ -0,0 +1,63 @@
1+// Replaces the crate's own build script, which cannot work outside one
2+// machine.
3+//
4+// Upstream's writes a slice of `include_bytes!` calls naming *absolute* paths
5+// — it has to, because `include_bytes!` resolves relative to the file
6+// containing it and that file lives in OUT_DIR. The paths it writes point into
7+// the directory the build script ran in, which buck2 models as an output of
8+// the build-script action and does not expose as a subtarget. Nothing
9+// downstream can depend on it, so the compile that reads the generated file
10+// only finds those bytes when the earlier action happened to leave them on the
11+// same disk. Locally that is true and the build works. On a remote worker it
12+// is not, and rustc reports 36 missing files.
13+//
14+// So write the bytes themselves rather than a path to them. The generated file
15+// becomes self-contained, the compile needs nothing but OUT_DIR, and where the
16+// two actions ran stops mattering. 460K of XML becomes about 1.8M of escaped
17+// source, which costs a second of parsing and is the whole price.
18+use std::env;
19+use std::fs;
20+use std::io::{BufWriter, Write};
21+use std::path::Path;
22+
23+fn main() {
24+ let dest = env::var("OUT_DIR").unwrap();
25+ let mut file = BufWriter::new(fs::File::create(Path::new(&dest).join("webgl_exts.rs")).unwrap());
26+
27+ let root = env::current_dir().unwrap().join("api_webgl/extensions");
28+
29+ // Sorted, so the slice is in the same order however the directory is read:
30+ // upstream takes read_dir's order, which is the filesystem's, and that
31+ // differs between the machine that populates a cache and the one that
32+ // reads it.
33+ let mut dirs: Vec<_> = root
34+ .read_dir()
35+ .unwrap()
36+ .map(|entry| entry.unwrap().path())
37+ .collect();
38+ dirs.sort();
39+
40+ writeln!(file, "&[").unwrap();
41+ for dir in dirs {
42+ let name = dir.file_name().unwrap().to_str().unwrap().to_owned();
43+ // A directory that is not the template and holds an extension.xml is
44+ // an extension — the same rule upstream applies, and the same one
45+ // api_webgl/extensions/find-exts applies.
46+ if !dir.is_dir() || name == "template" {
47+ continue;
48+ }
49+ let xml = dir.join("extension.xml");
50+ if !xml.is_file() {
51+ continue;
52+ }
53+ write!(file, " &*b\"").unwrap();
54+ for byte in fs::read(&xml).unwrap() {
55+ write!(file, "\\x{:02x}", byte).unwrap();
56+ }
57+ writeln!(file, "\",").unwrap();
58+ }
59+ writeln!(file, "]").unwrap();
60+
61+ // Nothing else is emitted, and nothing else was: upstream prints no cargo
62+ // directives at all, so the crate's cfgs and link flags are unchanged.
63+}
modified third-party/rust/reindeer.toml +11 -1
@@ -5,7 +5,8 @@ vendor = {}
55 cargo_env = true
66
77 # Feature resolution runs once per platform. Naming any platform replaces
8-# reindeer's default list; these are the desktop hosts this repo ships for.
8+# reindeer's default list; these are the desktop hosts this repo ships for,
9+# plus the one device target.
910 [platform.linux-x86_64]
1011 target = "x86_64-unknown-linux-gnu"
1112 execution-platform = true
@@ -22,6 +23,15 @@ execution-platform = true
2223 target = "aarch64-apple-darwin"
2324 execution-platform = true
2425
26+# The phone. `execution-platform = false` is what makes it a target and only a
27+# target: a build script still compiles and runs on the host, so its own
28+# features are resolved against the host platform rather than unified into this
29+# one. Get that wrong and a host-only dependency follows a build script into the
30+# device graph.
31+[platform.android-arm64]
32+target = "aarch64-linux-android"
33+execution-platform = false
34+
2535 [buck]
2636 file_name = "BUCK"
2737 buckfile_imports = """
@@ -5,7 +5,8 @@ vendor = {}
5 cargo_env = true5 cargo_env = true
6 6
7 # Feature resolution runs once per platform. Naming any platform replaces7 # Feature resolution runs once per platform. Naming any platform replaces
8-# reindeer's default list; these are the desktop hosts this repo ships for.8+# reindeer's default list; these are the desktop hosts this repo ships for,
9+# plus the one device target.
9 [platform.linux-x86_64]10 [platform.linux-x86_64]
10 target = "x86_64-unknown-linux-gnu"11 target = "x86_64-unknown-linux-gnu"
11 execution-platform = true12 execution-platform = true
@@ -22,6 +23,15 @@ execution-platform = true
22 target = "aarch64-apple-darwin"23 target = "aarch64-apple-darwin"
23 execution-platform = true24 execution-platform = true
24 25
26+# The phone. `execution-platform = false` is what makes it a target and only a
27+# target: a build script still compiles and runs on the host, so its own
28+# features are resolved against the host platform rather than unified into this
29+# one. Get that wrong and a host-only dependency follows a build script into the
30+# device graph.
31+[platform.android-arm64]
32+target = "aarch64-linux-android"
33+execution-platform = false
34+
25 [buck]35 [buck]
26 file_name = "BUCK"36 file_name = "BUCK"
27 buckfile_imports = """37 buckfile_imports = """