summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2020-03-17 05:26:27 -0500
committerAustin Seipp <aseipp@pobox.com>2020-03-17 17:19:37 -0500
commit9b43cf3a008b3a467f080d61365f037ad81807d0 (patch)
tree1f2ffc2844aaec5ce73de126ee8fa07efb895d81 /pkgs/development/compilers
parente86ec1042652cfc97d4409ae359dbb7c738499c2 (diff)
downloadnixpkgs-9b43cf3a008b3a467f080d61365f037ad81807d0.tar
nixpkgs-9b43cf3a008b3a467f080d61365f037ad81807d0.tar.gz
nixpkgs-9b43cf3a008b3a467f080d61365f037ad81807d0.tar.bz2
nixpkgs-9b43cf3a008b3a467f080d61365f037ad81807d0.tar.lz
nixpkgs-9b43cf3a008b3a467f080d61365f037ad81807d0.tar.xz
nixpkgs-9b43cf3a008b3a467f080d61365f037ad81807d0.tar.zst
nixpkgs-9b43cf3a008b3a467f080d61365f037ad81807d0.zip
yosys: 2020.02.25 -> 2020.03.16
  - Bump `abc-verifier` (2020.03.05)
  - Install `yosys-abc` symlink for tool compatbility
  - Various `yosys` expression cleanups

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/yosys/default.nix41
1 files changed, 21 insertions, 20 deletions
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 ];
   };
 }