arduino-create-agent: init at 1.6.1 (#300694)
[NixPkgs.git] / pkgs / applications / version-management / git-credential-manager / default.nix
blobac2b0a8f491086c6c2b24ce04157a1facb78bfb2
1 { lib
2 , fetchFromGitHub
3 , buildDotnetModule
4 , dotnetCorePackages
5 , libsecret
6 , git
7 , git-credential-manager
8 , gnupg
9 , pass
10 , testers
11 , withLibsecretSupport ? true
12 , withGpgSupport ? true
15 buildDotnetModule rec {
16   pname = "git-credential-manager";
17   version = "2.6.0";
19   src = fetchFromGitHub {
20     owner = "git-ecosystem";
21     repo = "git-credential-manager";
22     rev = "v${version}";
23     hash = "sha256-8hjMtfPY/7cNH8WdHyG4kT2W+wGWteHbin1HgTBGiNQ=";
24   };
26   projectFile = "src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj";
27   nugetDeps = ./deps.nix;
28   dotnet-sdk = dotnetCorePackages.sdk_8_0;
29   dotnet-runtime = dotnetCorePackages.runtime_8_0;
30   dotnetInstallFlags = [ "--framework" "net8.0" ];
31   executables = [ "git-credential-manager" ];
33   runtimeDeps =
34     lib.optional withLibsecretSupport libsecret;
35   makeWrapperArgs = [
36     "--prefix PATH : ${lib.makeBinPath ([ git ] ++ lib.optionals withGpgSupport [ gnupg pass ])}"
37     "--inherit-argv0"
38   ];
40   passthru = {
41     updateScript = ./update.sh;
42     tests.version = testers.testVersion {
43       package = git-credential-manager;
44     };
45   };
47   meta = with lib; {
48     description = "Secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services";
49     homepage = "https://github.com/git-ecosystem/git-credential-manager";
50     license = with licenses; [ mit ];
51     platforms = platforms.unix;
52     maintainers = with maintainers; [ _999eagle ];
53     longDescription = ''
54       git-credential-manager is a secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.
56       > requires sandbox to be disabled on MacOS, so that
57       .NET can find `/usr/bin/codesign` to sign the compiled binary.
58       This problem is common to all .NET packages on MacOS with Nix.
59     '';
60     mainProgram = "git-credential-manager";
61   };