From 0cd6c9c05922de3c9ffadb496f8ca122717051ee Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Mon, 22 May 2023 16:00:34 -0600 Subject: [PATCH] Misc cleanup --- .cargo/config | 3 +++ .gitignore | 1 + Cargo.lock | 1 - crane.nix | 35 ++++++++++++++++++++--------------- nix-actions-cache/Cargo.toml | 1 - nix-actions-cache/src/api.rs | 2 +- 6 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 .cargo/config diff --git a/.cargo/config b/.cargo/config new file mode 100644 index 0000000..c7f99cb --- /dev/null +++ b/.cargo/config @@ -0,0 +1,3 @@ +# For -Zbuild-std +[target.aarch64-unknown-linux-musl] +rustflags = ["-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc"] diff --git a/.gitignore b/.gitignore index 5bf4c62..dc3cea7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .direnv +result* /target key.txt diff --git a/Cargo.lock b/Cargo.lock index 322cabd..0a4a78f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -737,7 +737,6 @@ dependencies = [ "clap", "daemonize", "gha-cache", - "rand", "serde", "serde_json", "thiserror", diff --git a/crane.nix b/crane.nix index 8c3bd16..0b6079a 100644 --- a/crane.nix +++ b/crane.nix @@ -56,34 +56,39 @@ let src = nix-gitignore.gitignoreSource [] ./.; - buildInputs = with pkgs; [] + commonArgs = { + inherit (crateName) pname version; + inherit src; + + buildInputs = with pkgs; [] ++ lib.optionals pkgs.stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; - # The Rust toolchain from rust-overlay has a dynamic libiconv in depsTargetTargetPropagated - # Our static libiconv needs to take precedence - nativeBuildInputs = with pkgs; [] + nativeBuildInputs = with pkgs; [] + # The Rust toolchain from rust-overlay has a dynamic libiconv in depsTargetTargetPropagated + # Our static libiconv needs to take precedence ++ lib.optionals pkgs.stdenv.isDarwin [ (libiconv.override { enableStatic = true; enableShared = false; }) ]; - cargoExtraArgs = "--target ${crossPlatform.rustTargetSpec}"; + cargoExtraArgs = "--target ${crossPlatform.rustTargetSpec}"; - cargoArtifacts = craneLib.buildDepsOnly ({ - inherit (crateName) pname version; - inherit src buildInputs nativeBuildInputs cargoExtraArgs; + cargoVendorDir = craneLib.vendorMultipleCargoDeps { + inherit (craneLib.findCargoFiles src) cargoConfigs; + cargoLockList = [ + ./Cargo.lock + "${rustNightly.passthru.availableComponents.rust-src}/lib/rustlib/src/rust/Cargo.lock" + ]; + }; + } // crossPlatform.env; - doCheck = false; - } // crossPlatform.env); - crate = craneLib.buildPackage ({ - inherit (crateName) pname version; - inherit src buildInputs nativeBuildInputs cargoExtraArgs; - inherit cargoArtifacts; + crate = craneLib.buildPackage (commonArgs // { + cargoArtifacts = craneLib.buildDepsOnly commonArgs; # The resulting executable must be standalone allowedRequisites = []; - } // crossPlatform.env); + }); in crate; in { inherit crossPlatforms cargoTargets cargoCrossEnvs; diff --git a/nix-actions-cache/Cargo.toml b/nix-actions-cache/Cargo.toml index 4ccf541..cc3eafd 100644 --- a/nix-actions-cache/Cargo.toml +++ b/nix-actions-cache/Cargo.toml @@ -19,7 +19,6 @@ serde_json = "1.0.96" thiserror = "1.0.40" tokio-stream = "0.1.14" tokio-util = { version = "0.7.8", features = ["io"] } -rand = "0.8.5" daemonize = "0.5.0" [dependencies.tokio] diff --git a/nix-actions-cache/src/api.rs b/nix-actions-cache/src/api.rs index 8e2297f..e847197 100644 --- a/nix-actions-cache/src/api.rs +++ b/nix-actions-cache/src/api.rs @@ -4,7 +4,7 @@ use std::net::SocketAddr; -use axum::{extract::Extension, routing::post, http::uri::Uri, Json, Router}; +use axum::{extract::Extension, http::uri::Uri, routing::post, Json, Router}; use axum_macros::debug_handler; use serde::Serialize;