2015-12-29 16:31:18 +00:00
|
|
|
{ stdenv, fetchFromGitHub, fetchFromBitbucket, pkgconfig, tcl, readline, libffi, python3, bison, flex }:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "yosys-${version}";
|
2016-11-25 23:25:50 +00:00
|
|
|
version = "2016.11.25";
|
2015-12-29 16:31:18 +00:00
|
|
|
|
|
|
|
srcs = [
|
|
|
|
(fetchFromGitHub {
|
|
|
|
owner = "cliffordwolf";
|
|
|
|
repo = "yosys";
|
2016-11-25 23:25:50 +00:00
|
|
|
rev = "5c2c78e2dd12a860f830dafd73fbed8edf1a3823";
|
|
|
|
sha256 = "1cvfkg0hllp7k2g52mxczd8d0ad7inlpkg27rrbyani2kg0066bk";
|
2015-12-29 16:31:18 +00:00
|
|
|
name = "yosys";
|
|
|
|
})
|
|
|
|
(fetchFromBitbucket {
|
|
|
|
owner = "alanmi";
|
|
|
|
repo = "abc";
|
2016-11-25 23:25:50 +00:00
|
|
|
rev = "238674cd44f2";
|
|
|
|
sha256 = "18xk7lqai05am11zymixilgam4jvz5f2jwy9cgillz035man2yzw";
|
2016-08-19 02:30:21 +01:00
|
|
|
name = "yosys-abc";
|
2015-12-29 16:31:18 +00:00
|
|
|
})
|
|
|
|
];
|
|
|
|
sourceRoot = "yosys";
|
|
|
|
|
|
|
|
buildInputs = [ pkgconfig tcl readline libffi python3 bison flex ];
|
|
|
|
preBuild = ''
|
2016-08-19 02:30:21 +01:00
|
|
|
chmod -R u+w ../yosys-abc
|
|
|
|
ln -s ../yosys-abc abc
|
2015-12-29 16:31:18 +00:00
|
|
|
make config-gcc
|
|
|
|
echo 'ABCREV := default' >> Makefile.conf
|
|
|
|
makeFlags="PREFIX=$out $makeFlags"
|
|
|
|
'';
|
|
|
|
|
|
|
|
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 = [ stdenv.lib.maintainers.shell ];
|
2016-08-02 18:50:55 +01:00
|
|
|
platforms = stdenv.lib.platforms.linux;
|
2015-12-29 16:31:18 +00:00
|
|
|
};
|
|
|
|
}
|