depot/pkgs/by-name/ve/veryl/package.nix
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00:00

78 lines
2 KiB
Nix

{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
installShellFiles,
dbus,
stdenv,
darwin,
}:
rustPlatform.buildRustPackage rec {
pname = "veryl";
version = "0.13.2";
src = fetchFromGitHub {
owner = "veryl-lang";
repo = "veryl";
rev = "v${version}";
hash = "sha256-LSQ3ZM7BWXiwBqlw6usImpt+w+wC2EvkoAMblTb0pvg=";
fetchSubmodules = true;
};
cargoHash = "sha256-w7mB0cAN5aRO1pw21BDIFUtnYUJUoYjW+7nXFCBfYgM=";
nativeBuildInputs = [
pkg-config
installShellFiles
];
buildInputs =
[
dbus
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.CoreServices
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd veryl \
--bash <($out/bin/veryl metadata --completion bash) \
--fish <($out/bin/veryl metadata --completion fish) \
--zsh <($out/bin/veryl metadata --completion zsh)
'';
checkFlags = [
# takes over an hour
"--skip=tests::progress"
# tempfile::tempdir().unwrap() -> "No such file or directory"
"--skip=tests::bump_version"
"--skip=tests::bump_version_with_commit"
"--skip=tests::check"
"--skip=tests::load"
"--skip=tests::lockfile"
"--skip=tests::publish"
"--skip=tests::publish_with_commit"
# "Permission Denied", while making its cache dir?
"--skip=analyzer::test_25_dependency"
"--skip=analyzer::test_68_std"
"--skip=emitter::test_25_dependency"
"--skip=emitter::test_68_std"
];
meta = {
description = "Modern Hardware Description Language";
homepage = "https://veryl-lang.org/";
changelog = "https://github.com/veryl-lang/veryl/blob/${src.rev}/CHANGELOG.md";
license = with lib.licenses; [
mit
asl20
];
maintainers = with lib.maintainers; [ pbsds ];
mainProgram = "veryl";
};
}