about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/science/electronics/verilator/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/verilator/default.nix16
1 files changed, 15 insertions, 1 deletions
diff --git a/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
index 062ba93ca420..92f8fa52b91f 100644
--- a/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, perl, flex, bison, python3, autoconf,
+{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, flex, bison, python3, autoconf,
   which, cmake, ccache, help2man, makeWrapper, glibcLocales,
   systemc, git, numactl }:
 
@@ -13,6 +13,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-Ya3lqK8BfvMVLZUrD2Et6OmptteWXp5VmZb2x2G/V/E=";
   };
 
+  patches = [
+    (fetchpatch {
+      # Fix try-lock spuriously fail in V3ThreadPool destructor
+      # https://github.com/verilator/verilator/pull/4938
+      url = "https://github.com/verilator/verilator/commit/4b9cce4369c78423779238e585ed693c456d464e.patch";
+      hash = "sha256-sGrk/pxqZqUcmJdzQoPlzXMmYqHCOmd9Y2n6ieVNg1U=";
+    })
+  ];
+
   enableParallelBuilding = true;
   buildInputs = [ perl python3 systemc ];  # ccache
   nativeBuildInputs = [ makeWrapper flex bison autoconf help2man git ];
@@ -37,6 +46,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  env = {
+    SYSTEMC_INCLUDE = "${lib.getDev systemc}/include";
+    SYSTEMC_LIBDIR = "${lib.getLib systemc}/lib";
+  };
+
   meta = with lib; {
     description = "Fast and robust (System)Verilog simulator/compiler and linter";
     homepage    = "https://www.veripool.org/verilator";