ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / ca / cargo-generate / package.nix
blob162860caae229f81b3935041eb0a7fcda9de5d0d
1 { lib
2 , rustPlatform
3 , fetchFromGitHub
4 , pkg-config
5 , libgit2
6 , openssl
7 , stdenv
8 , darwin
9 , git
12 rustPlatform.buildRustPackage rec {
13   pname = "cargo-generate";
14   version = "0.22.0";
16   src = fetchFromGitHub {
17     owner = "cargo-generate";
18     repo = "cargo-generate";
19     rev = "v${version}";
20     sha256 = "sha256-oiXv6MbQpmWFi2cTN3a1Zx7Bjr0Y+f6/O+0FQNidbBg=";
21   };
23   cargoHash = "sha256-8yLGxydU7jjoG13I+h7qjtabcCxzjnEiE8tAbH56pp4=";
25   nativeBuildInputs = [ pkg-config ];
27   buildInputs = [ libgit2 openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
28     darwin.apple_sdk.frameworks.Security
29   ];
31   nativeCheckInputs = [ git ];
33   # disable vendored libgit2 and openssl
34   buildNoDefaultFeatures = true;
36   preCheck = ''
37     export HOME=$(mktemp -d) USER=nixbld
38     git config --global user.name Nixbld
39     git config --global user.email nixbld@localhost.localnet
40   '';
42   # Exclude some tests that don't work in sandbox:
43   # - favorites_default_to_git_if_not_defined: requires network access to github.com
44   # - should_canonicalize: the test assumes that it will be called from the /Users/<project_dir>/ folder on darwin variant.
45   checkFlags = [
46     "--skip=favorites::favorites_default_to_git_if_not_defined"
47     "--skip=git_instead_of::should_read_the_instead_of_config_and_rewrite_an_git_at_url_to_https"
48     "--skip=git_instead_of::should_read_the_instead_of_config_and_rewrite_an_ssh_url_to_https"
49     "--skip=git_over_ssh::it_should_retrieve_the_private_key_from_ssh_agent"
50     "--skip=git_over_ssh::it_should_support_a_public_repo"
51     "--skip=git_over_ssh::it_should_use_a_ssh_key_provided_by_identity_argument"
52   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
53     "--skip=git::utils::should_canonicalize"
54   ];
56   env = {
57     LIBGIT2_NO_VENDOR = 1;
58   };
60   meta = with lib; {
61     description = "Tool to generate a new Rust project by leveraging a pre-existing git repository as a template";
62     mainProgram = "cargo-generate";
63     homepage = "https://github.com/cargo-generate/cargo-generate";
64     changelog = "https://github.com/cargo-generate/cargo-generate/blob/v${version}/CHANGELOG.md";
65     license = with licenses; [ asl20 /* or */ mit ];
66     maintainers = with maintainers; [ figsoda turbomack matthiasbeyer ];
67   };