+51
-12
pkgs/applications/version-management/git-lfs/default.nix
+51
-12
pkgs/applications/version-management/git-lfs/default.nix
···
1
1
{
2
2
lib,
3
+
stdenv,
3
4
buildGoModule,
4
5
fetchFromGitHub,
5
6
asciidoctor,
6
7
installShellFiles,
7
8
git,
8
-
testers,
9
-
git-lfs,
10
-
stdenv,
9
+
versionCheckHook,
10
+
nix-update-script,
11
11
}:
12
12
13
13
buildGoModule rec {
14
14
pname = "git-lfs";
15
-
version = "3.5.1";
15
+
version = "3.6.1";
16
16
17
17
src = fetchFromGitHub {
18
18
owner = "git-lfs";
19
19
repo = "git-lfs";
20
-
rev = "v${version}";
21
-
hash = "sha256-xSLXbAvIoY3c341qi89pTrjBZdXh/bPrweJD2O2gkjY=";
20
+
tag = "v${version}";
21
+
hash = "sha256-zZ9VYWVV+8G3gojj1m74syvsYM1mX0YT4hKnpkdMAQk=";
22
22
};
23
23
24
-
vendorHash = "sha256-N8HB2qwBxjzfNucftHxmX2W9srCx62pjmkCWzwiCj/I=";
24
+
vendorHash = "sha256-JT0r/hs7ZRtsYh4aXy+v8BjwiLvRJ10e4yRirqmWVW0=";
25
25
26
26
nativeBuildInputs = [
27
27
asciidoctor
···
50
50
unset subPackages
51
51
'';
52
52
53
+
checkFlags = lib.optionals stdenv.hostPlatform.isDarwin (
54
+
let
55
+
# Fail in the sandbox with network-related errors.
56
+
# Enabling __darwinAllowLocalNetworking is not enough.
57
+
skippedTests = [
58
+
"TestAPIBatch"
59
+
"TestAPIBatchOnlyBasic"
60
+
"TestAuthErrWithBody"
61
+
"TestAuthErrWithoutBody"
62
+
"TestCertFromSSLCAInfoConfig"
63
+
"TestCertFromSSLCAInfoEnv"
64
+
"TestCertFromSSLCAInfoEnvWithSchannelBackend"
65
+
"TestCertFromSSLCAPathConfig"
66
+
"TestCertFromSSLCAPathEnv"
67
+
"TestClientRedirect"
68
+
"TestClientRedirectReauthenticate"
69
+
"TestDoAPIRequestWithAuth"
70
+
"TestDoWithAuthApprove"
71
+
"TestDoWithAuthNoRetry"
72
+
"TestDoWithAuthReject"
73
+
"TestFatalWithBody"
74
+
"TestFatalWithoutBody"
75
+
"TestHttp2"
76
+
"TestHttpVersion"
77
+
"TestWithNonFatal500WithBody"
78
+
"TestWithNonFatal500WithoutBody"
79
+
];
80
+
in
81
+
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]
82
+
);
83
+
53
84
postInstall =
54
85
''
55
86
installManPage man/man*/*
···
61
92
--zsh <($out/bin/git-lfs completion zsh)
62
93
'';
63
94
64
-
passthru.tests.version = testers.testVersion {
65
-
package = git-lfs;
95
+
nativeInstallCheckInputs = [
96
+
versionCheckHook
97
+
];
98
+
versionCheckProgramArg = "--version";
99
+
doInstallCheck = true;
100
+
101
+
passthru = {
102
+
updateScript = nix-update-script { };
66
103
};
67
104
68
-
meta = with lib; {
105
+
__darwinAllowLocalNetworking = true;
106
+
107
+
meta = {
69
108
description = "Git extension for versioning large files";
70
109
homepage = "https://git-lfs.github.com/";
71
110
changelog = "https://github.com/git-lfs/git-lfs/raw/v${version}/CHANGELOG.md";
72
-
license = licenses.mit;
73
-
maintainers = with maintainers; [ twey ];
111
+
license = lib.licenses.mit;
112
+
maintainers = with lib.maintainers; [ twey ];
74
113
mainProgram = "git-lfs";
75
114
};
76
115
}