diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/cr/crc/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/cr/crc/package.nix | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/cr/crc/package.nix b/nixpkgs/pkgs/by-name/cr/crc/package.nix new file mode 100644 index 000000000000..575517752c46 --- /dev/null +++ b/nixpkgs/pkgs/by-name/cr/crc/package.nix @@ -0,0 +1,73 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, testers +, crc +, coreutils +}: + +let + openShiftVersion = "4.14.3"; + okdVersion = "4.14.0-0.okd-2023-12-01-225814"; + microshiftVersion = "4.14.3"; + podmanVersion = "4.4.4"; + writeKey = "$(MODULEPATH)/pkg/crc/segment.WriteKey=cvpHsNcmGCJqVzf6YxrSnVlwFSAZaYtp"; + gitCommit = "b6532a3c38f2c81143153fed022bc4ebf3f2f508"; + gitHash = "sha256-LH1vjWVzSeSswnMibn4YVjV2glauQGDXP+6i9kGzzU4="; +in +buildGoModule rec { + version = "2.30.0"; + pname = "crc"; + + src = fetchFromGitHub { + owner = "crc-org"; + repo = "crc"; + rev = "v${version}"; + hash = gitHash; + }; + + vendorHash = null; + + postPatch = '' + substituteInPlace pkg/crc/oc/oc_linux_test.go \ + --replace "/bin/echo" "${coreutils}/bin/echo" + ''; + + subPackages = [ + "cmd/crc" + ]; + + tags = [ "containers_image_openpgp" ]; + + ldflags = [ + "-X github.com/crc-org/crc/v2/pkg/crc/version.crcVersion=${version}" + "-X github.com/crc-org/crc/v2/pkg/crc/version.ocpVersion=${openShiftVersion}" + "-X github.com/crc-org/crc/v2/pkg/crc/version.okdVersion=${okdVersion}" + "-X github.com/crc-org/crc/v2/pkg/crc/version.podmanVersion=${podmanVersion}" + "-X github.com/crc-org/crc/v2/pkg/crc/version.microshiftVersion=${microshiftVersion}" + "-X github.com/crc-org/crc/v2/pkg/crc/version.commitSha=${builtins.substring 0 8 gitCommit}" + "-X github.com/crc-org/crc/v2/pkg/crc/segment.WriteKey=${writeKey}" + ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + passthru.tests.version = testers.testVersion { + package = crc; + command = '' + export HOME=$(mktemp -d) + crc version + ''; + }; + passthru.updateScript = ./update.sh; + + meta = with lib; { + description = "Manage a local OpenShift 4.x cluster, Microshift or a Podman VM optimized for testing and development purposes"; + homepage = "https://crc.dev/crc/getting_started/getting_started/introducing/"; + changelog = "https://github.com/crc-org/crc/releases/tag/v${version}"; + license = licenses.asl20; + mainProgram = "crc"; + maintainers = with maintainers; [ matthewpi shikanime tricktron ]; + }; +} |