diff --git a/flake.nix b/flake.nix index 50fe2135..9cdd3ceb 100644 --- a/flake.nix +++ b/flake.nix @@ -20,6 +20,8 @@ let # Keep sorted mkScope = pkgs: pkgs.lib.makeScope pkgs.newScope (self: { + complement = self.callPackage ./nix/pkgs/complement {}; + craneLib = (inputs.crane.mkLib pkgs).overrideToolchain self.toolchain; @@ -72,6 +74,7 @@ { packages = { default = (mkScope pkgs).default; + complement = (mkScope pkgs).complement; } // builtins.listToAttrs diff --git a/nix/pkgs/complement/default.nix b/nix/pkgs/complement/default.nix new file mode 100644 index 00000000..2494f064 --- /dev/null +++ b/nix/pkgs/complement/default.nix @@ -0,0 +1,33 @@ +# Dependencies (keep sorted) +{ buildGoModule +, fetchFromGitHub +, lib +, olm +}: + +buildGoModule { + name = "complement"; + + src = fetchFromGitHub { + owner = "matrix-org"; + repo = "complement"; + rev = "5b72981ea3de814a2c41e010dbc0a2cffcbd2e79"; + hash = "sha256-kSZcuXHHRsq6Vfv2rDBq682VdUkeRWse944fR25Zc0A="; + }; + + vendorHash = "sha256-mNt6lI4ppVjZC5UMsNqEDHQ0kjXutEFZTCMvXwp24ew="; + + buildInputs = [ olm ]; + + doCheck = false; + postBuild = '' + # compiles the tests into a binary + go test -c ./tests -o "$GOPATH/bin/complement.test" + ''; + + meta = { + description = "Matrix compliance test suite"; + homepage = "https://github.com/matrix-org/complement"; + license = lib.licenses.asl20; + }; +}