From 0773adea9a946d1da6c038ba23dcc50055a579e2 Mon Sep 17 00:00:00 2001 From: James Leitch Date: Sun, 10 Dec 2023 13:32:37 -0700 Subject: [PATCH] Nix example switched to using `crate_universe_dependencies(bootstrap = True)`. --- crate_universe/flake.lock | 61 ------------------ crate_universe/flake.nix | 26 -------- examples/nix_cross_compiling/WORKSPACE.bazel | 62 ++++++++++--------- .../bazel/cargo/cargo-bazel-lock.json | 2 +- .../bazel/nix_repositories.bzl | 14 ----- util/repin_all.sh | 11 ++-- 6 files changed, 42 insertions(+), 134 deletions(-) delete mode 100644 crate_universe/flake.lock delete mode 100644 crate_universe/flake.nix diff --git a/crate_universe/flake.lock b/crate_universe/flake.lock deleted file mode 100644 index f3c5cbdd90..0000000000 --- a/crate_universe/flake.lock +++ /dev/null @@ -1,61 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1700444282, - "narHash": "sha256-s/+tgT+Iz0LZO+nBvSms+xsMqvHt2LqYniG9r+CYyJc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3f21a22b5aafefa1845dec6f4a378a8f53d8681c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/crate_universe/flake.nix b/crate_universe/flake.nix deleted file mode 100644 index 55672167f3..0000000000 --- a/crate_universe/flake.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - - flake-utils.url = "github:numtide/flake-utils"; - }; - - outputs = { self, nixpkgs, flake-utils, ... }: - flake-utils.lib.eachDefaultSystem (system: - let - pkgs = import nixpkgs { inherit system; }; - in - { - packages.cargo-bazel = pkgs.rustPlatform.buildRustPackage { - pname = "cargo-bazel"; - version = (builtins.fromTOML (builtins.readFile ./Cargo.toml)).package.version; - - src = ./.; - cargoLock.lockFile = ./Cargo.lock; - - # Tests cannot be run via Cargo due to the dependency on the - # Bazel `runfiles` crate. - doCheck = false; - }; - }); -} diff --git a/examples/nix_cross_compiling/WORKSPACE.bazel b/examples/nix_cross_compiling/WORKSPACE.bazel index 0054bab08a..433fc46c78 100644 --- a/examples/nix_cross_compiling/WORKSPACE.bazel +++ b/examples/nix_cross_compiling/WORKSPACE.bazel @@ -16,16 +16,48 @@ load("//bazel:nix_repositories.bzl", "nix_repositories") nix_repositories() +# Toolchains +register_toolchains( + "//bazel/toolchains/cc/aarch64-apple-darwin:toolchain", + "//bazel/toolchains/cc/aarch64-apple-ios:toolchain", + "//bazel/toolchains/cc/aarch64-linux-android:toolchain", + "//bazel/toolchains/cc/aarch64-unknown-linux-gnu:toolchain", + "//bazel/toolchains/cc/wasm32-unknown-unknown:toolchain", + "//bazel/toolchains/cc/wasm32-wasi:toolchain", + "//bazel/toolchains/cc/x86_64-apple-darwin:toolchain", + "//bazel/toolchains/cc/x86_64-pc-windows-msvc:toolchain", + "//bazel/toolchains/cc/x86_64-unknown-linux-gnu:toolchain", + "//bazel/toolchains/cc/x86_64-unknown-nixos-gnu:toolchain", + "//bazel/toolchains/rust/aarch64-apple-darwin:toolchain", + "//bazel/toolchains/rust/aarch64-apple-ios:toolchain", + "//bazel/toolchains/rust/aarch64-linux-android:toolchain", + "//bazel/toolchains/rust/aarch64-unknown-linux-gnu:toolchain", + "//bazel/toolchains/rust/wasm32-unknown-unknown:toolchain", + "//bazel/toolchains/rust/wasm32-wasi:toolchain", + "//bazel/toolchains/rust/x86_64-apple-darwin:toolchain", + "//bazel/toolchains/rust/x86_64-pc-windows-msvc:toolchain", + "//bazel/toolchains/rust/x86_64-unknown-linux-gnu:toolchain", + "//bazel/toolchains/rust/x86_64-unknown-nixos-gnu:toolchain", +) + # Rust local_repository( name = "rules_rust", path = "../..", ) -load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies") +load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains") rules_rust_dependencies() +rust_register_toolchains( + edition = "2021", +) + +load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies") + +crate_universe_dependencies(bootstrap = True) + load("@rules_rust//crate_universe:defs.bzl", "crates_repository", "splicing_config") load("//bazel/cargo:crates_repository.bzl", CARGO_ANNOTATIONS = "ANNOTATIONS", CARGO_PACKAGES = "PACKAGES") @@ -34,11 +66,9 @@ crates_repository( annotations = CARGO_ANNOTATIONS, cargo_lockfile = "//bazel/cargo:Cargo.lock", generate_build_scripts = False, - generator = "@cargo-bazel//:bin/cargo-bazel", + generator = "@cargo_bazel_bootstrap//:cargo-bazel", lockfile = "//bazel/cargo:cargo-bazel-lock.json", packages = CARGO_PACKAGES, - rust_toolchain_cargo_template = "@nix_rust//:bin/{tool}", - rust_toolchain_rustc_template = "@nix_rust//:bin/{tool}", splicing_config = splicing_config( resolver_version = "2", ), @@ -59,27 +89,3 @@ crates_repository( load("@crate_index//:defs.bzl", "crate_repositories") crate_repositories() - -# Toolchains -register_toolchains( - "//bazel/toolchains/cc/aarch64-apple-darwin:toolchain", - "//bazel/toolchains/cc/aarch64-apple-ios:toolchain", - "//bazel/toolchains/cc/aarch64-linux-android:toolchain", - "//bazel/toolchains/cc/aarch64-unknown-linux-gnu:toolchain", - "//bazel/toolchains/cc/wasm32-unknown-unknown:toolchain", - "//bazel/toolchains/cc/wasm32-wasi:toolchain", - "//bazel/toolchains/cc/x86_64-apple-darwin:toolchain", - "//bazel/toolchains/cc/x86_64-pc-windows-msvc:toolchain", - "//bazel/toolchains/cc/x86_64-unknown-linux-gnu:toolchain", - "//bazel/toolchains/cc/x86_64-unknown-nixos-gnu:toolchain", - "//bazel/toolchains/rust/aarch64-apple-darwin:toolchain", - "//bazel/toolchains/rust/aarch64-apple-ios:toolchain", - "//bazel/toolchains/rust/aarch64-linux-android:toolchain", - "//bazel/toolchains/rust/aarch64-unknown-linux-gnu:toolchain", - "//bazel/toolchains/rust/wasm32-unknown-unknown:toolchain", - "//bazel/toolchains/rust/wasm32-wasi:toolchain", - "//bazel/toolchains/rust/x86_64-apple-darwin:toolchain", - "//bazel/toolchains/rust/x86_64-pc-windows-msvc:toolchain", - "//bazel/toolchains/rust/x86_64-unknown-linux-gnu:toolchain", - "//bazel/toolchains/rust/x86_64-unknown-nixos-gnu:toolchain", -) diff --git a/examples/nix_cross_compiling/bazel/cargo/cargo-bazel-lock.json b/examples/nix_cross_compiling/bazel/cargo/cargo-bazel-lock.json index 83c82f5142..4bc26f4606 100644 --- a/examples/nix_cross_compiling/bazel/cargo/cargo-bazel-lock.json +++ b/examples/nix_cross_compiling/bazel/cargo/cargo-bazel-lock.json @@ -1,5 +1,5 @@ { - "checksum": "6f1a1015d47aa1124c5d5c8e0b1b137113407b532348213646ed5331ed31f033", + "checksum": "7b4d3e2288ce1f3b95720944dad0d29051c6bc1c37beee110bb6cc217ae85e71", "crates": { "addr2line 0.21.0": { "name": "addr2line", diff --git a/examples/nix_cross_compiling/bazel/nix_repositories.bzl b/examples/nix_cross_compiling/bazel/nix_repositories.bzl index bb5e2f98af..378eed7d6c 100644 --- a/examples/nix_cross_compiling/bazel/nix_repositories.bzl +++ b/examples/nix_cross_compiling/bazel/nix_repositories.bzl @@ -201,12 +201,6 @@ rust_stdlib_filegroup( ) """ -_CARGO_BAZEL_BUILD_FILE_CONTENT = """ -package(default_visibility = ["//visibility:public"]) - -exports_files(["bin/cargo-bazel"]) -""" - def nix_repositories(): nixpkgs_flake_package( name = "nix_config", @@ -223,11 +217,3 @@ def nix_repositories(): package = "bazel.rust", build_file_content = _RUST_BUILD_FILE_CONTENT, ) - - nixpkgs_flake_package( - name = "cargo-bazel", - nix_flake_file = "@rules_rust//crate_universe:flake.nix", - nix_flake_lock_file = "@rules_rust//crate_universe:flake.lock", - package = "cargo-bazel", - build_file_content = _CARGO_BAZEL_BUILD_FILE_CONTENT, - ) diff --git a/util/repin_all.sh b/util/repin_all.sh index df3044a0d4..994848117a 100755 --- a/util/repin_all.sh +++ b/util/repin_all.sh @@ -1,10 +1,13 @@ -#!/bin/bash -eu +#!/usr/bin/env bash +set -eu -# Re-generates all files which may need to be re-generated after changing crate_universe. +# Normalize working directory to root of repository. +cd "$(dirname "${BASH_SOURCE[0]}")"/.. +# Re-generates all files which may need to be re-generated after changing crate_universe. bazel run //crate_universe/3rdparty:crates_vendor -for d in examples/crate_universe* test/no_std +for d in examples/crate_universe* examples/nix_cross_compiling test/no_std do - (cd ${d} && CARGO_BAZEL_REPIN=true bazel query ... >/dev/null) + (cd ${d} && CARGO_BAZEL_REPIN=true bazel query @crate_index//... >/dev/null) done