about summary refs log tree commit diff
path: root/pkgs/development/compilers/yosys
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2020-02-01 12:11:30 +0100
committerFlorian Klink <flokli@flokli.de>2020-02-01 12:49:45 +0100
commit48085826fa1cd014a9dd97365fe63fbff7ea40f4 (patch)
tree9bb7afa6dfe85f15ab66d0b54de6d82e86e8928e /pkgs/development/compilers/yosys
parente0b28fb806ff748c3c12aa33e82eb6a63ea0da11 (diff)
downloadnixlib-48085826fa1cd014a9dd97365fe63fbff7ea40f4.tar
nixlib-48085826fa1cd014a9dd97365fe63fbff7ea40f4.tar.gz
nixlib-48085826fa1cd014a9dd97365fe63fbff7ea40f4.tar.bz2
nixlib-48085826fa1cd014a9dd97365fe63fbff7ea40f4.tar.lz
nixlib-48085826fa1cd014a9dd97365fe63fbff7ea40f4.tar.xz
nixlib-48085826fa1cd014a9dd97365fe63fbff7ea40f4.tar.zst
nixlib-48085826fa1cd014a9dd97365fe63fbff7ea40f4.zip
yosys: use external abc
Diffstat (limited to 'pkgs/development/compilers/yosys')
-rw-r--r--pkgs/development/compilers/yosys/default.nix27
1 files changed, 4 insertions, 23 deletions
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index c6684c631e42..f034d88b0dcd 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, abc-verifier
 , bison
 , fetchFromGitHub
 , flex
@@ -12,19 +13,7 @@
 , zlib
 }:
 
-with builtins;
-
-let
-  # NOTE: the version of abc used here is synchronized with
-  # the one in the yosys Makefile of the version above;
-  # keep them the same for quality purposes.
-  abc = fetchFromGitHub {
-    owner  = "berkeley-abc";
-    repo   = "abc";
-    rev    = "623b5e82513d076a19f864c01930ad1838498894";
-    sha256 = "1mrfqwsivflqdzc3531r6mzp33dfyl6dnqjdwfcq137arqh36m67";
-  };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "yosys";
   version = "2019.10.18";
 
@@ -49,18 +38,14 @@ in stdenv.mkDerivation rec {
       --replace 'CXX = gcc' "" \
       --replace 'LD = gcc' 'LD = $(CXX)' \
       --replace 'ABCMKARGS = CC="$(CXX)" CXX="$(CXX)"' 'ABCMKARGS =' \
-      --replace 'echo UNKNOWN' 'echo ${substring 0 10 src.rev}'
+      --replace 'echo UNKNOWN' 'echo ${builtins.substring 0 10 src.rev}'
     patchShebangs tests
   '';
 
   preBuild = ''
-    cp -R ${abc} abc
     chmod -R u+w .
-    substituteInPlace abc/Makefile \
-      --replace 'CC   := gcc' "" \
-      --replace 'CXX  := g++' ""
     make config-${if stdenv.cc.isClang or false then "clang" else "gcc"}
-    echo 'ABCREV := default' >> Makefile.conf
+    echo 'ABCEXTERNAL = ${abc-verifier}/bin/abc' >> Makefile.conf
 
     # we have to do this ourselves for some reason...
     (cd misc && ${protobuf}/bin/protoc --cpp_out ../backends/protobuf/ ./yosys.proto)
@@ -68,10 +53,6 @@ in stdenv.mkDerivation rec {
 
   doCheck = true;
   checkInputs = [ verilog ];
-  # checkPhase defaults to VERBOSE=y, which gets passed down to abc,
-  # which then does $(VERBOSE)gcc, which then complains about not
-  # being able to find ygcc. Life is pain.
-  checkFlags = [ " " ];
 
   meta = {
     description = "Framework for RTL synthesis tools";