| # This is a nix-shell for use with the nix package manager. |
| # If you have nix installed, you may simply run `nix-shell` |
| # in this repo, and have all dependencies ready in the new shell. |
| |
| { pkgs ? import <nixpkgs> {} }: |
| let |
| verible_used_stdenv = pkgs.stdenv; |
| #verible_used_stdenv = pkgs.gcc13Stdenv; |
| #verible_used_stdenv = pkgs.clang17Stdenv; |
| in |
| verible_used_stdenv.mkDerivation { |
| name = "verible-build-environment"; |
| buildInputs = with pkgs; |
| [ |
| bazel_7 |
| git |
| |
| # For scripts used inside bzl rules and tests |
| gnused |
| |
| # To run error-log-analyzer |
| python3 |
| python3Packages.mdutils |
| ripgrep |
| |
| # To manually run export_json_examples |
| python3Packages.anytree |
| |
| # For using --//bazel:use_local_flex_bison if desired |
| flex |
| bison |
| |
| # To build vscode vsix package |
| nodejs |
| |
| # Ease development |
| lcov # coverage html generation. |
| bazel-buildtools # buildifier |
| |
| llvmPackages_19.clang-tools # for clang-tidy |
| llvmPackages_17.clang-tools # for clang-format |
| ]; |
| shellHook = '' |
| # clang tidy: use latest. |
| export CLANG_TIDY=${pkgs.llvmPackages_19.clang-tools}/bin/clang-tidy |
| |
| # There is too much volatility between even micro-versions of |
| # later clang-format. Let's use stable 17 for now. |
| export CLANG_FORMAT=${pkgs.llvmPackages_17.clang-tools}/bin/clang-format |
| ''; |
| } |