diff options
Diffstat (limited to 'pkgs/by-name/di/distribution/package.nix')
-rw-r--r-- | pkgs/by-name/di/distribution/package.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/pkgs/by-name/di/distribution/package.nix b/pkgs/by-name/di/distribution/package.nix new file mode 100644 index 0000000000000..9da917b512180 --- /dev/null +++ b/pkgs/by-name/di/distribution/package.nix @@ -0,0 +1,67 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, fetchpatch +, nix-update-script +, testers +, distribution +}: + +buildGoModule rec { + pname = "distribution"; + version = "3.0.0-alpha.1"; + + src = fetchFromGitHub { + owner = "distribution"; + repo = "distribution"; + rev = "v${version}"; + hash = "sha256-reguAtBkEC9OMUTdCtFY6l0fkk28VoA0IlPcQ0sz84I="; + }; + + patches = [ + # fix: load gcs credentials and client inside DriverConstructor + # Needed to pass the tests. Remove with next update. + (fetchpatch { + url = "https://github.com/distribution/distribution/commit/14366a2dff6a8f595e39d258085381731b43cec6.diff"; + hash = "sha256-0ns9JuIeLBzRLMVxY6uaWTIYcRRbuwQ+n9tmK+Pvf4U="; + }) + # fix: add missing skip in s3 driver test + # Needed to pass the tests. Remove with next update. + (fetchpatch { + url = "https://github.com/distribution/distribution/commit/6908e0d5facd31ed32046df03a09040c964be0b3.patch"; + hash = "sha256-ww+BwBGw+dkZ2FhVzynehR+sNYCgq8/KkPDP9ac6NWg="; + }) + ]; + + vendorHash = null; + + checkFlags = [ + # TestHTTPChecker: requires internet access. + # TestInMemoryDriverSuite: timeout after 10 minutes, looks like a deadlock. + "-skip=^TestHTTPChecker$|^TestInMemoryDriverSuite$" + ]; + + passthru = { + tests.version = testers.testVersion { + package = distribution; + version = "v${version}"; + }; + updateScript = nix-update-script { }; + }; + + meta = with lib; { + description = "Toolkit to pack, ship, store, and deliver container content"; + longDescription = '' + Distribution is a Open Source Registry implementation for storing and distributing container + images and other content using the OCI Distribution Specification. The goal of this project + is to provide a simple, secure, and scalable base for building a large scale registry solution + or running a simple private registry. + ''; + homepage = "https://distribution.github.io/distribution/"; + changelog = "https://github.com/distribution/distribution/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = [ ]; + mainProgram = "registry"; + platforms = platforms.unix; + }; +} |