Files
nixpkgs/pkgs/by-name/ca/cargo-c/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

74 lines
1.6 KiB
Nix

{
lib,
rustPlatform,
fetchCrate,
pkg-config,
curl,
openssl,
stdenv,
libiconv,
rav1e,
}:
let
# this version may need to be updated along with package version
cargoVersion = "0.90.0";
in
rustPlatform.buildRustPackage rec {
pname = "cargo-c";
version = "0.10.15";
src = fetchCrate {
inherit pname;
version = "${version}+cargo-${cargoVersion}";
hash = "sha256-szqDSHGihE+Oj8L3EBlC5XH4kSBYOptd0Xtk3MhXooQ=";
};
cargoHash = "sha256-36ygs/EhCktG1jmBnP9c7EgnfcWnGrqqcW3qAw+Yfy4=";
nativeBuildInputs = [
pkg-config
(lib.getDev curl)
];
buildInputs = [
openssl
curl
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
];
# Ensure that we are avoiding build of the curl vendored in curl-sys
doInstallCheck = stdenv.hostPlatform.libc == "glibc";
installCheckPhase = ''
runHook preInstallCheck
ldd "$out/bin/cargo-cbuild" | grep libcurl.so
runHook postInstallCheck
'';
passthru = {
tests = {
inherit rav1e;
};
updateScript.command = [ ./update.sh ];
};
meta = {
description = "Cargo subcommand to build and install C-ABI compatible dynamic and static libraries";
longDescription = ''
Cargo C-ABI helpers. A cargo applet that produces and installs a correct
pkg-config file, a static library and a dynamic library, and a C header
to be used by any C (and C-compatible) software.
'';
homepage = "https://github.com/lu-zero/cargo-c";
changelog = "https://github.com/lu-zero/cargo-c/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
cpu
matthiasbeyer
];
};
}