diff --git a/flake.nix b/flake.nix index d81cc7f0..fe23c4ff 100644 --- a/flake.nix +++ b/flake.nix @@ -91,6 +91,8 @@ pkgs.cmake pkgs.ninja pkgs.git + pkgs.python3 + pkgs.python3Packages.tqdm ]; buildInputs = [ @@ -111,9 +113,17 @@ -resource-dir ${llvmPkgs.clang-unwrapped.lib}/lib/clang/17 \ "$@" ''}" - "-DREMILL_ENABLE_TESTING=OFF" "-DGIT_FAIL_IF_NONZERO_EXIT=FALSE" ]; + + doCheck = true; + + checkPhase = '' + runHook preCheck + ninja test_dependencies + ctest --output-on-failure + runHook postCheck + ''; }; in { @@ -121,5 +131,35 @@ inherit xed remill; } ); + + devShells = forSystems (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + llvmPkgs = pkgs.llvmPackages_17; + remillPkg = self.packages.${system}.remill; + in + { + default = pkgs.mkShell { + packages = [ + remillPkg + llvmPkgs.clang + llvmPkgs.llvm + pkgs.xxd + pkgs.cmake + pkgs.ninja + pkgs.glog + pkgs.gflags + pkgs.gtest + pkgs.python3 + pkgs.python3Packages.tqdm + ]; + + shellHook = '' + echo "Remill development environment" + echo "Available tools: remill-lift-17, clang, llvm-*, xxd" + ''; + }; + } + ); }; }