diff --git a/pkgs/tools/admin/docker-credential-helpers/default.nix b/pkgs/tools/admin/docker-credential-helpers/default.nix new file mode 100644 index 000000000000..1f4315afc40d --- /dev/null +++ b/pkgs/tools/admin/docker-credential-helpers/default.nix @@ -0,0 +1,49 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, pkg-config, libsecret }: + +buildGoPackage rec { + pname = "docker-credential-helpers"; + version = "0.6.3"; + + goPackagePath = "github.com/docker/docker-credential-helpers"; + + src = fetchFromGitHub { + owner = "docker"; + repo = pname; + rev = "v${version}"; + sha256 = "0xgmwjva3j1s0cqkbajbamj13bgzh5jkf2ir54m9a7w8gjnsh6dx"; + }; + + nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkg-config ]; + + buildInputs = stdenv.lib.optionals stdenv.isLinux [ libsecret ]; + + buildPhase = + if stdenv.isDarwin + then '' + cd go/src/${goPackagePath} + go build -ldflags -s -o bin/docker-credential-osxkeychain osxkeychain/cmd/main_darwin.go + '' + else '' + cd go/src/${goPackagePath} + go build -o bin/docker-credential-secretservice secretservice/cmd/main_linux.go + go build -o bin/docker-credential-pass pass/cmd/main_linux.go + ''; + + installPhase = + if stdenv.isDarwin + then '' + install -Dm755 -t $bin/bin bin/docker-credential-osxkeychain + '' + else '' + install -Dm755 -t $bin/bin bin/docker-credential-pass + install -Dm755 -t $bin/bin bin/docker-credential-secretservice + ''; + + meta = with stdenv.lib; { + description = "Suite of programs to use native stores to keep Docker credentials safe"; + homepage = "https://github.com/docker/docker-credential-helpers"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d6a72d931ec1..011ec15cf4c4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18420,6 +18420,8 @@ in docker-credential-gcr = callPackage ../tools/admin/docker-credential-gcr { }; + docker-credential-helpers = callPackage ../tools/admin/docker-credential-helpers { }; + doodle = callPackage ../applications/search/doodle { }; dr14_tmeter = callPackage ../applications/audio/dr14_tmeter { };