{ lib, buildGoModule, fetchFromGitHub, nixosTests }: buildGoModule rec { pname = "minio-client"; version = "2022-08-28T20-08-11Z"; src = fetchFromGitHub { owner = "minio"; repo = "mc"; rev = "RELEASE.${version}"; sha256 = "sha256-1Cwvuyy0TRKNnhkpuXdr6ZenDa5pNjsOJA8/sczM22A="; }; vendorSha256 = "sha256-rGIy+qw+n/WCJ/3rviYjz9uffSP/rcJRvPda+Hm1G3s="; subPackages = [ "." ]; patchPhase = '' sed -i "s/Version.*/Version = \"${version}\"/g" cmd/build-constants.go sed -i "s/ReleaseTag.*/ReleaseTag = \"RELEASE.${version}\"/g" cmd/build-constants.go sed -i "s/CommitID.*/CommitID = \"${src.rev}\"/g" cmd/build-constants.go ''; doInstallCheck = true; installCheckPhase = '' $out/bin/mc --version | grep ${version} > /dev/null ''; passthru.tests.minio = nixosTests.minio; meta = with lib; { homepage = "https://github.com/minio/mc"; description = "A replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage"; maintainers = with maintainers; [ bachp eelco ]; mainProgram = "mc"; platforms = platforms.unix; license = licenses.asl20; }; }