From 930e45f4365951f56525da65557509e339c3f0e9 Mon Sep 17 00:00:00 2001 From: Seyon Sivarajah Date: Fri, 10 Nov 2023 10:54:41 +0000 Subject: [PATCH] chore: use llvm pacakge to enable local cov with devenv (#232) --- devenv.lock | 26 ++++++++++++++++++++++---- devenv.nix | 20 ++++++++++++++------ devenv.yaml | 4 +++- 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/devenv.lock b/devenv.lock index ab437e51..d39acf47 100644 --- a/devenv.lock +++ b/devenv.lock @@ -25,15 +25,16 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1699510895, - "narHash": "sha256-eaOkJUvHeYNW/xEoRotz0rHkKihKoQdWB1ctX4q1MTQ=", + "lastModified": 1698819743, + "narHash": "sha256-L3vZfifHmog7sJvzXk8qiKISkpyltb+GaThqMJ7PU9Y=", "owner": "nix-community", "repo": "fenix", - "rev": "8eeef23f2c8d092227af40eff98afe5b41891e3b", + "rev": "1a92c6d75963fd594116913c23041da48ed9e020", "type": "github" }, "original": { "owner": "nix-community", + "ref": "monthly", "repo": "fenix", "type": "github" } @@ -110,6 +111,22 @@ } }, "nixpkgs-stable": { + "locked": { + "lastModified": 1699291058, + "narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "41de143fda10e33be0f47eab2bfe08a50f234267", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { "locked": { "lastModified": 1685801374, "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", @@ -133,7 +150,7 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1699271226, @@ -154,6 +171,7 @@ "devenv": "devenv", "fenix": "fenix", "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable", "pre-commit-hooks": "pre-commit-hooks" } }, diff --git a/devenv.nix b/devenv.nix index ed24e6e0..85483656 100644 --- a/devenv.nix +++ b/devenv.nix @@ -1,15 +1,21 @@ -{ pkgs, lib, config, ... }: - +{ pkgs, lib, config, inputs, ... }: +let + pkgs-stable = import inputs.nixpkgs-stable { system = pkgs.stdenv.system; }; +in { - # https://devenv.sh/packages/ # on macos frameworks have to be explicitly specified # otherwise a linker error ocurs on rust packages - packages = [ pkgs.just ] - ++ lib.optionals pkgs.stdenv.isLinux [ + packages = [ + pkgs.just + pkgs.llvmPackages_16.libllvm + # cargo-llvm-cov is currently marked broken on nixpkgs unstable + pkgs-stable.cargo-llvm-cov + ] + ++ lib.optionals pkgs.stdenv.isLinux [ pkgs.stdenv.cc.cc.lib ] - ++ lib.optionals pkgs.stdenv.isDarwin ( + ++ lib.optionals pkgs.stdenv.isDarwin ( with pkgs.darwin.apple_sdk; [ frameworks.CoreServices frameworks.CoreFoundation @@ -28,6 +34,8 @@ cargo --version python --version poetry --version + export LLVM_COV="${pkgs.llvmPackages_16.libllvm}/bin/llvm-cov" + export LLVM_PROFDATA="${pkgs.llvmPackages_16.libllvm}/bin/llvm-profdata" ''; # https://devenv.sh/languages/ diff --git a/devenv.yaml b/devenv.yaml index b8fc6397..3769b06c 100644 --- a/devenv.yaml +++ b/devenv.yaml @@ -1,6 +1,8 @@ inputs: + nixpkgs-stable: + url: github:NixOS/nixpkgs/nixos-23.05 fenix: - url: github:nix-community/fenix + url: github:nix-community/fenix/monthly inputs: nixpkgs: follows: nixpkgs \ No newline at end of file