fluffychat: 1.22.1 -> 1.23.0 (#364091)
[NixPkgs.git] / pkgs / by-name / go / goss / package.nix
blobcbe9930a1059212cc483839125cfec3493ddd3b5
1 { bash
2 , buildGoModule
3 , fetchFromGitHub
4 , getent
5 , goss
6 , lib
7 , makeWrapper
8 , nix-update-script
9 , nixosTests
10 , stdenv
11 , systemd
12 , testers
15 buildGoModule rec {
16   pname = "goss";
17   version = "0.4.9";
19   src = fetchFromGitHub {
20     owner = "goss-org";
21     repo = pname;
22     rev = "refs/tags/v${version}";
23     hash = "sha256-GdkLasokpWegjK4kZzAskp1NGwcuMjrjjau75cEo8kg=";
24   };
26   vendorHash = "sha256-Rf6Xt54y1BN2o90rDW0WvEm4H5pPfsZ786MXFjsAFaM=";
28   CGO_ENABLED = 0;
30   ldflags = [
31     "-s"
32     "-w"
33     "-X github.com/goss-org/goss/util.Version=v${version}"
34   ];
36   nativeBuildInputs = [ makeWrapper ];
38   postInstall = let
39     runtimeDependencies = [ bash getent ]
40       ++ lib.optionals stdenv.hostPlatform.isLinux [ systemd ];
41   in ''
42     wrapProgram $out/bin/goss \
43       --prefix PATH : "${lib.makeBinPath runtimeDependencies}"
44   '';
46   passthru = {
47     tests = {
48       inherit (nixosTests) goss;
49       version = testers.testVersion {
50         command = "goss --version";
51         package = goss;
52         version = "v${version}";
53       };
54     };
55     updateScript = nix-update-script { };
56   };
58   meta = with lib; {
59     homepage = "https://github.com/goss-org/goss/";
60     changelog = "https://github.com/goss-org/goss/releases/tag/v${version}";
61     description = "Quick and easy server validation";
62     longDescription = ''
63       Goss is a YAML based serverspec alternative tool for validating a server’s configuration.
64       It eases the process of writing tests by allowing the user to generate tests from the current system state.
65       Once the test suite is written they can be executed, waited-on, or served as a health endpoint.
66     '';
67     license = licenses.asl20;
68     mainProgram = "goss";
69     maintainers = with maintainers; [ hyzual jk anthonyroussel ];
70     platforms = platforms.linux ++ platforms.darwin;
71   };