summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/science/logic/abc/default.nix39
-rw-r--r--pkgs/development/compilers/yosys/default.nix41
2 files changed, 39 insertions, 41 deletions
diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix
index 8551a3ee4ca..a33cc92c7ce 100644
--- a/pkgs/applications/science/logic/abc/default.nix
+++ b/pkgs/applications/science/logic/abc/default.nix
@@ -1,35 +1,32 @@
-{ fetchFromGitHub, stdenv, readline, cmake }:
+{ stdenv, fetchFromGitHub
+, readline, cmake
+}:
 
-let
-  rev = "71f2b40320127561175ad60f6f2428f3438e5243";
-in stdenv.mkDerivation {
-  pname = "abc-verifier";
-  version = "2020-01-11";
+stdenv.mkDerivation rec {
+  pname   = "abc-verifier";
+  version = "2020.03.05";
 
   src = fetchFromGitHub {
-    inherit rev;
-    owner = "berkeley-abc";
-    repo = "abc";
-    sha256 = "15sn146ajxql7l1h8rsag5lhn4spwvgjhwzqawfr78snzadw8by3";
+    owner  = "berkeley-abc";
+    repo   = "abc";
+    rev    = "ed90ce20df9c7c4d6e1db5d3f786f9b52e06bab1";
+    sha256 = "01sw67pkrb6wzflkxbkxzwsnli3nvp0yxwp3j1ngb3c0j86ri437";
   };
 
-  passthru.rev = rev;
-
   nativeBuildInputs = [ cmake ];
   buildInputs = [ readline ];
 
   enableParallelBuilding = true;
+  installPhase = "mkdir -p $out/bin && mv abc $out/bin";
 
-  installPhase = ''
-    mkdir -p $out/bin
-    mv abc $out/bin
-  '';
+  # needed by yosys
+  passthru.rev = src.rev;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A tool for squential logic synthesis and formal verification";
-    homepage    = https://people.eecs.berkeley.edu/~alanmi/abc;
-    license     = stdenv.lib.licenses.mit;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    homepage    = "https://people.eecs.berkeley.edu/~alanmi/abc";
+    license     = licenses.mit;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index de90a0c0695..5e26e37b443 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -14,14 +14,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "yosys";
-  version = "2020.02.25";
+  pname   = "yosys";
+  version = "2020.03.16";
 
   src = fetchFromGitHub {
     owner  = "YosysHQ";
     repo   = "yosys";
-    rev    = "6edca05793197a846bbfb0329e836c87fa5aabb6";
-    sha256 = "1cwps3nsld80bh2b66l8fx3fa2zsx174mw72kqxyihpfdm0m0z1s";
+    rev    = "ed4fa19ba2812c286562baf26bbbcb49afad83bc";
+    sha256 = "1sza5ng0q8dy6p4hks9b2db129xjcid9n6l8aglf2cj5ks82k5nv";
   };
 
   enableParallelBuilding = true;
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     # we have to do this ourselves for some reason...
     (cd misc && ${protobuf}/bin/protoc --cpp_out ../backends/protobuf/ ./yosys.proto)
 
-    if ! grep -q "ABCREV = ${shortAbcRev}" Makefile;then
+    if ! grep -q "ABCREV = ${shortAbcRev}" Makefile; then
       echo "yosys isn't compatible with the provided abc (${shortAbcRev}), failing."
       exit 1
     fi
@@ -60,20 +60,21 @@ stdenv.mkDerivation rec {
   doCheck = true;
   checkInputs = [ verilog ];
 
-  meta = {
-    description = "Framework for RTL synthesis tools";
-    longDescription = ''
-      Yosys is a framework for RTL synthesis tools. It currently has
-      extensive Verilog-2005 support and provides a basic set of
-      synthesis algorithms for various application domains.
-      Yosys can be adapted to perform any synthesis job by combining
-      the existing passes (algorithms) using synthesis scripts and
-      adding additional passes as needed by extending the yosys C++
-      code base.
-    '';
-    homepage    = http://www.clifford.at/yosys/;
-    license     = stdenv.lib.licenses.isc;
-    maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice emily ];
-    platforms   = stdenv.lib.platforms.all;
+  # Internally, yosys knows to use the specified hardcoded ABCEXTERNAL binary.
+  # But other tools (like mcy or symbiyosys) can't know how yosys was built, so
+  # they just assume that 'yosys-abc' is available -- but it's not installed
+  # when using ABCEXTERNAL
+  #
+  # add a symlink to fake things so that both variants work the same way.
+  postInstall = ''
+    ln -sfv ${abc-verifier}/bin/abc $out/bin/yosys-abc
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open RTL synthesis framework and tools";
+    homepage    = "http://www.clifford.at/yosys/";
+    license     = licenses.isc;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ shell thoughtpolice emily ];
   };
 }