Compare commits

..

1 commit

104
flake.nix
View file

@ -26,27 +26,21 @@
flake-utils.lib.eachDefaultSystem (
system:
let
rustVersion = "1.83.0";
target = "x86_64-unknown-linux-musl";
overlays = [
(import rust-overlay)
(final: prev: {
nix-filter = nix-filter.lib;
rust-toolchain = pkgs.rust-bin.stable.${rustVersion}.default;
rust-dev-toolchain = pkgs.rust-toolchain.override {
extensions = [
"rust-analyzer"
"rust-src"
];
targets = [
"x86_64-unknown-linux-gnu"
];
};
})
];
pkgs = import nixpkgs {
inherit system;
overlays = [ (import rust-overlay) ];
crossSystem.config = target;
};
staticPkgs = pkgs.pkgsStatic;
pkgs = import nixpkgs { inherit overlays system; };
craneLib = (crane.mkLib pkgs).overrideToolchain pkgs.rust-toolchain;
craneLib = (crane.mkLib staticPkgs).overrideToolchain (
p:
p.rust-bin.stable.latest.default.override {
targets = [ target ];
}
);
src = pkgs.lib.fileset.toSource {
root = ./.;
@ -58,31 +52,23 @@
];
};
cleanSrc = craneLib.cleanCargoSource ../.;
commonArgs = {
inherit src cleanSrc;
inherit src;
#stdenv = pkgs.stdenvAdapters.useMoldLinker pkgs.stdenv;
strictDeps = true;
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
nativeBuildInputs = with pkgs; [
pkg-config
];
nativeBuildInputs = with staticPkgs.pkgsBuildHost; [ pkg-config ];
buildInputs = with staticPkgs.pkgsHostHost; [ openssl ];
BuildInputs = with pkgs; [
openssl
];
CARGO_BUILD_TARGET = "x86_64-unknown-linux-gnu";
CARGO_BUILD_TARGET = target;
CARGO_BUILD_RUSTFLAGS = "-C target-feature=+crt-static";
OPENSSL_STATIC = "true";
OPENSSL_DIR = "${pkgs.openssl.dev}";
OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib";
OPENSSL_INCLUDE_DIR = "${pkgs.openssl.dev}/include/";
"CARGO_TARGET_${pkgs.lib.toUpper (builtins.replaceStrings [ "-" ] [ "_" ] target)}_LINKER" =
"${staticPkgs.stdenv.cc.targetPrefix}cc";
OPENSSL_STATIC = true;
OPENSSL_DIR = "${staticPkgs.openssl.dev}";
OPENSSL_LIB_DIR = "${staticPkgs.openssl.out}/lib";
OPENSSL_INCLUDE_DIR = "${staticPkgs.openssl.dev}/include/";
};
buildCrate =
@ -134,7 +120,12 @@
};
checks = {
inherit patagia-agent patagia-controller xtask;
inherit
hostd
patagia-agent
patagia-controller
xtask
;
audit = craneLib.cargoAudit (commonArgs // { inherit advisory-db; });
@ -171,25 +162,22 @@
devShells.default = pkgs.mkShell {
nativeBuildInputs = commonArgs.nativeBuildInputs;
buildInputs =
with pkgs;
[
bacon
cargo-edit
cargo-features-manager
cargo-hakari
cargo-machete
cargo-nextest
cargo-watch
glibc.static
hyperfine
just
nixfmt-rfc-style
rust-dev-toolchain
sqls
sqlx-cli
watchexec
];
buildInputs = with pkgs; [
bacon
cargo-edit
cargo-features-manager
cargo-hakari
cargo-machete
cargo-nextest
cargo-watch
hyperfine
just
nixfmt-rfc-style
rust-dev-toolchain
sqls
sqlx-cli
watchexec
];
RUST_BACKTRACE = 1;
RUST_SRC_PATH = pkgs.rustPlatform.rustLibSrc; # Required for rust-analyzer
};