mirror of
https://github.com/NotAShelf/microfetch.git
synced 2026-06-17 09:26:53 +00:00
57 lines
1.5 KiB
Nix
57 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
rustPlatform,
|
|
llvm,
|
|
clang,
|
|
wild,
|
|
}: let
|
|
pname = "microfetch";
|
|
toml = (lib.importTOML ../Cargo.toml).workspace.package;
|
|
inherit (toml) version;
|
|
inherit (llvm) stdenv;
|
|
|
|
# wild + clang are only used on Linux tier-1 arches
|
|
hasWild =
|
|
stdenv.hostPlatform.isLinux
|
|
&& (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isAarch64);
|
|
in
|
|
rustPlatform.buildRustPackage.override {inherit stdenv;} (finalAttrs: {
|
|
__structuredAttrs = true;
|
|
|
|
inherit pname version;
|
|
src = let
|
|
fs = lib.fileset;
|
|
s = ../.;
|
|
in
|
|
fs.toSource {
|
|
root = s;
|
|
fileset = fs.unions [
|
|
(s + /.cargo)
|
|
(s + /crates)
|
|
(s + /microfetch)
|
|
(s + /Cargo.lock)
|
|
(s + /Cargo.toml)
|
|
];
|
|
};
|
|
|
|
nativeBuildInputs = lib.optionals hasWild [wild clang];
|
|
|
|
env = lib.optionalAttrs hasWild {
|
|
RUSTFLAGS = "-Cforce-unwind-tables=no -Clinker=${clang}/bin/clang -Clink-arg=--ld-path=${wild}/bin/wild";
|
|
};
|
|
|
|
cargoLock.lockFile = "${finalAttrs.src}/Cargo.lock";
|
|
enableParallelBuilding = true;
|
|
buildNoDefaultFeatures = true;
|
|
doCheck = false;
|
|
strictDeps = true;
|
|
|
|
meta = {
|
|
description = "Microscopic fetch script in Rust, for NixOS systems";
|
|
homepage = "https://github.com/NotAShelf/microfetch";
|
|
license = lib.licenses.gpl3Only;
|
|
platforms = lib.platforms.linux;
|
|
maintainers = [lib.maintainers.NotAShelf];
|
|
mainProgram = "microfetch";
|
|
};
|
|
})
|