Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 83 lines 2.3 kB view raw
1{ 2 lib, 3 rustPlatform, 4 fetchFromGitHub, 5 pkg-config, 6 installShellFiles, 7 dbus, 8 stdenv, 9}: 10 11rustPlatform.buildRustPackage rec { 12 pname = "veryl"; 13 version = "0.16.2"; 14 15 src = fetchFromGitHub { 16 owner = "veryl-lang"; 17 repo = "veryl"; 18 rev = "v${version}"; 19 hash = "sha256-YMJUxeCc9b7EObkQHTkP34JCYVFYhh6aUp4fLBQINP0="; 20 fetchSubmodules = true; 21 }; 22 23 cargoHash = "sha256-2+3UlnIZIRJv+pZhFa8NU+S6/D5eHhuYZ095HUygPSk="; 24 25 nativeBuildInputs = [ 26 pkg-config 27 installShellFiles 28 ]; 29 30 buildInputs = [ 31 dbus 32 ]; 33 34 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' 35 installShellCompletion --cmd veryl \ 36 --bash <($out/bin/veryl metadata --completion bash) \ 37 --fish <($out/bin/veryl metadata --completion fish) \ 38 --zsh <($out/bin/veryl metadata --completion zsh) 39 ''; 40 41 checkFlags = [ 42 # takes over an hour 43 "--skip=tests::progress" 44 # tempfile::tempdir().unwrap() -> "No such file or directory" 45 "--skip=tests::bump_version" 46 "--skip=tests::bump_version_with_commit" 47 "--skip=tests::check" 48 "--skip=tests::load" 49 "--skip=tests::lockfile" 50 "--skip=tests::publish" 51 "--skip=tests::publish_with_commit" 52 # "Permission Denied", while making its cache dir? 53 "--skip=analyzer::test_25_dependency" 54 "--skip=analyzer::test_68_std" 55 "--skip=emitter::test_25_dependency" 56 "--skip=emitter::test_68_std" 57 "--skip=filelist::test" 58 "--skip=path::directory_directory" 59 "--skip=path::directory_target" 60 "--skip=path::source_directory" 61 "--skip=path::source_target" 62 "--skip=path::rootdir_directory_directory" 63 "--skip=path::rootdir_directory_target" 64 "--skip=path::rootdir_source_directory" 65 "--skip=path::rootdir_source_target" 66 "--skip=path::subdir_directory_directory" 67 "--skip=path::subdir_directory_target" 68 "--skip=path::subdir_source_directory" 69 "--skip=path::subdir_source_target" 70 ]; 71 72 meta = { 73 description = "Modern Hardware Description Language"; 74 homepage = "https://veryl-lang.org/"; 75 changelog = "https://github.com/veryl-lang/veryl/releases/tag/v${version}"; 76 license = with lib.licenses; [ 77 mit 78 asl20 79 ]; 80 maintainers = with lib.maintainers; [ pbsds ]; 81 mainProgram = "veryl"; 82 }; 83}