nixpkgs/pkgs/tools/text/d2/default.nix
2023-12-17 10:32:28 +10:00

55 lines
1.1 KiB
Nix

{ lib
, buildGoModule
, fetchFromGitHub
, installShellFiles
, git
, testers
, d2
}:
buildGoModule rec {
pname = "d2";
version = "0.6.3";
src = fetchFromGitHub {
owner = "terrastruct";
repo = pname;
rev = "v${version}";
hash = "sha256-GImv4OJHanj6dKtAJpTaGLrR4AaVTboiYHwRdh/gXaU=";
};
vendorHash = "sha256-T7eki06fQuGvYIJKvBJsIkFS1fQ9Jbv+ieUSr2vupqg=";
excludedPackages = [ "./e2etests" ];
ldflags = [
"-s"
"-w"
"-X oss.terrastruct.com/d2/lib/version.Version=v${version}"
];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installManPage ci/release/template/man/d2.1
'';
nativeCheckInputs = [ git ];
preCheck = ''
# See https://github.com/terrastruct/d2/blob/master/docs/CONTRIBUTING.md#running-tests.
export TESTDATA_ACCEPT=1
'';
passthru.tests.version = testers.testVersion {
package = d2;
version = "v${version}";
};
meta = with lib; {
description = "A modern diagram scripting language that turns text to diagrams";
homepage = "https://d2lang.com";
license = licenses.mpl20;
maintainers = with maintainers; [ dit7ya kashw2 ];
};
}