Merge pull request #109461 from thoughtpolice/nixpkgs/yosys-plugins
yosys: add support for loading plugins, revert symbiflow changes
This commit is contained in:
@@ -1,43 +0,0 @@
|
|||||||
{ lib, stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "prjxray-db";
|
|
||||||
version = "0.0-0232-g303a61d";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "SymbiFlow";
|
|
||||||
repo = "prjxray-db";
|
|
||||||
rev = "303a61d8bc552f7a533b91b17448c59e908aa391";
|
|
||||||
sha256 = "0r75xig16dbgh3nfygggir0a160x52y766h7hd9xcib9m88jixb2";
|
|
||||||
};
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
DBDIR="$out/share/symbiflow/prjxray-db/"
|
|
||||||
DB_CONFIG="$out/bin/prjxray-config"
|
|
||||||
|
|
||||||
mkdir -p $DBDIR $out/bin
|
|
||||||
|
|
||||||
for device in artix7 kintex7 zynq7; do
|
|
||||||
cp -r $src/$device $DBDIR
|
|
||||||
done
|
|
||||||
|
|
||||||
echo -e "#!/bin/sh\n\necho $DBDIR" > $DB_CONFIG
|
|
||||||
chmod +x $DB_CONFIG
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Project X-Ray - Xilinx Series 7 Bitstream Documentation";
|
|
||||||
homepage = "https://github.com/SymbiFlow/prjxray-db";
|
|
||||||
license = licenses.cc0;
|
|
||||||
maintainers = with maintainers; [ mcaju ];
|
|
||||||
platforms = platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
{ lib, stdenv
|
|
||||||
, fetchurl
|
|
||||||
, autoPatchelfHook
|
|
||||||
, python3Packages
|
|
||||||
, archs ? [ "xc7a100t" "xc7a50t" "xc7z010" "xc7z020" ]
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "symbiflow-arch-defs";
|
|
||||||
version = "20200914-111752-g05d68df0";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/66/20200914-111752/symbiflow-arch-defs-install-05d68df0.tar.xz";
|
|
||||||
sha256 = "1gmynybh8n33ag521w17c2kd16n834hqc6d8hi2pfs5kg1jl1a74";
|
|
||||||
};
|
|
||||||
|
|
||||||
sourceRoot = ".";
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
python3Packages.lxml
|
|
||||||
python3Packages.python-constraint
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp -r bin/{symbiflow_*,vpr_common,python} $out/bin
|
|
||||||
for script in $out/bin/symbiflow_*; do
|
|
||||||
substituteInPlace $script --replace '/env' '/symbiflow_env'
|
|
||||||
done
|
|
||||||
cp bin/env $out/bin/symbiflow_env
|
|
||||||
|
|
||||||
mkdir -p $out/share/symbiflow/arch
|
|
||||||
cp -r share/symbiflow/{scripts,techmaps} $out/share/symbiflow/
|
|
||||||
|
|
||||||
for arch in ${builtins.concatStringsSep " " archs}; do
|
|
||||||
cp -r share/symbiflow/arch/"$arch"_test* $out/share/symbiflow/arch/
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Project X-Ray - Xilinx Series 7 Bitstream Documentation";
|
|
||||||
homepage = "https://github.com/SymbiFlow/symbiflow-arch-defs";
|
|
||||||
hydraPlatforms = [];
|
|
||||||
license = licenses.isc;
|
|
||||||
platforms = platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -5,13 +5,15 @@ assert backend == "mcode" || backend == "llvm";
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ghdl-${backend}";
|
pname = "ghdl-${backend}";
|
||||||
version = "0.37";
|
# NOTE(aseipp): move to 0.38 when it comes out, since it should support a stable
|
||||||
|
# version of the yosys plugin
|
||||||
|
version = "unstable-2021.01.14";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ghdl";
|
owner = "ghdl";
|
||||||
repo = "ghdl";
|
repo = "ghdl";
|
||||||
rev = "v${version}";
|
rev = "4868294436574660552ccef50a5b0849559393de";
|
||||||
sha256 = "0b53yl4im33c1cd4mdyc4ks9cmrpixym17gzchfmplrl22w3l17y";
|
sha256 = "1wqjf0qc66dam1n2mskmlvj53bcsdwwk5rq9gimq6ah1vcwi222p";
|
||||||
};
|
};
|
||||||
|
|
||||||
LIBRARY_PATH = "${stdenv.cc.libc}/lib";
|
LIBRARY_PATH = "${stdenv.cc.libc}/lib";
|
||||||
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||||||
sed -i 's/check_version 7.0/check_version 7/g' configure
|
sed -i 's/check_version 7.0/check_version 7/g' configure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configureFlags = lib.optional (backend == "llvm")
|
configureFlags = [ "--enable-synth" ] ++ lib.optional (backend == "llvm")
|
||||||
"--with-llvm-config=${llvm}/bin/llvm-config";
|
"--with-llvm-config=${llvm}/bin/llvm-config";
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/ghdl/ghdl";
|
homepage = "https://github.com/ghdl/ghdl";
|
||||||
description = "VHDL 2008/93/87 simulator";
|
description = "VHDL 2008/93/87 simulator";
|
||||||
maintainers = with maintainers; [ lucus16 ];
|
maintainers = with maintainers; [ lucus16 thoughtpolice ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, cmake
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "prjxray-tools";
|
|
||||||
version = "0.1-2676-gac8d30e3";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "SymbiFlow";
|
|
||||||
repo = "prjxray";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
rev = "ac8d30e3fe2029122408888d2313844b3e0c265b";
|
|
||||||
sha256 = "1ag7dk12hdhip821crwinncp8vgyzs0r85l1h2vbgn61lnxc7f4h";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
|
|
||||||
doCheck = true;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Documenting the Xilinx 7-series bit-stream format";
|
|
||||||
homepage = "https://github.com/SymbiFlow/prjxray";
|
|
||||||
license = licenses.isc;
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ mcaju ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, bison
|
|
||||||
, cmake
|
|
||||||
, flex
|
|
||||||
, pkg-config
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "symbiflow-vtr";
|
|
||||||
version = "8.0.0.rc2-4003-g8980e4621";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "SymbiFlow";
|
|
||||||
repo = "vtr-verilog-to-routing";
|
|
||||||
rev = "8980e46218542888fac879961b13aa7b0fba8432";
|
|
||||||
sha256 = "1sq7f1f3dzfm48a9vq5nvp0zllby0nasm3pvqab70f4jaq0m1aaa";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
bison
|
|
||||||
cmake
|
|
||||||
flex
|
|
||||||
pkg-config
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DWITH_ODIN=OFF"
|
|
||||||
"-DWITH_ABC=OFF"
|
|
||||||
];
|
|
||||||
|
|
||||||
doCheck = true;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "SymbiFlow WIP changes for Verilog to Routing (VTR)";
|
|
||||||
homepage = "https://github.com/SymbiFlow/vtr-verilog-to-routing";
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ mcaju ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, symbiflow-yosys
|
|
||||||
, zlib
|
|
||||||
, readline
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "symbiflow-yosys-plugins";
|
|
||||||
version = "1.0.0.7-0060-g7454cd6b";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "SymbiFlow";
|
|
||||||
repo = "yosys-symbiflow-plugins";
|
|
||||||
rev = "7454cd6b5e4fd22854e2ada219a5e3c3a06e0717";
|
|
||||||
sha256 = "0r9r31p7fy4ylfrwvwlbivq5a03xrph34blxbxzx2c8bc02mbv0s";
|
|
||||||
};
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ symbiflow-yosys ];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
readline
|
|
||||||
zlib
|
|
||||||
];
|
|
||||||
|
|
||||||
makeFlags = [ "PLUGINS_DIR=${placeholder "out"}/share/yosys/plugins" ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Yosys SymbiFlow Plugins";
|
|
||||||
homepage = "https://github.com/SymbiFlow/yosys-symbiflow-plugins";
|
|
||||||
license = licenses.isc;
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ mcaju ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, abc-verifier
|
|
||||||
, fetchFromGitHub
|
|
||||||
, yosys
|
|
||||||
, plugins ? []
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
localAbc-verifier = abc-verifier.overrideAttrs (_: rec {
|
|
||||||
pname = "abc-verifier";
|
|
||||||
version = "2020.06.22";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "YosysHQ";
|
|
||||||
repo = "abc";
|
|
||||||
rev = "341db25668f3054c87aa3372c794e180f629af5d";
|
|
||||||
sha256 = "14cgv34vz5ljkcms6nrv19vqws2hs8bgjgffk5q03cbxnm2jxv5s";
|
|
||||||
};
|
|
||||||
|
|
||||||
passthru.rev = src.rev;
|
|
||||||
});
|
|
||||||
in
|
|
||||||
|
|
||||||
(yosys.overrideAttrs (oldAttrs: rec {
|
|
||||||
pname = "symbiflow-yosys";
|
|
||||||
version = "0.9+2406";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "SymbiFlow";
|
|
||||||
repo = "yosys";
|
|
||||||
rev = "d8b2d1a2b1a93057678cf49bb8f0329f191faba1";
|
|
||||||
sha256 = "1w8jnqzabvzixjllhb6ak2n2gmjvsn6qd996i7z70bsq5rgdkq9g";
|
|
||||||
};
|
|
||||||
})).override {
|
|
||||||
abc-verifier = localAbc-verifier;
|
|
||||||
plugins = plugins;
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ stdenv
|
{ stdenv, lib
|
||||||
, abc-verifier
|
, abc-verifier
|
||||||
, bash
|
, bash
|
||||||
, bison
|
, bison
|
||||||
@@ -12,7 +12,6 @@
|
|||||||
, tcl
|
, tcl
|
||||||
, verilog
|
, verilog
|
||||||
, zlib
|
, zlib
|
||||||
, plugins ? []
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# NOTE: as of late 2020, yosys has switched to an automation robot that
|
# NOTE: as of late 2020, yosys has switched to an automation robot that
|
||||||
@@ -33,8 +32,6 @@
|
|||||||
# ultimately less confusing than using dates.
|
# ultimately less confusing than using dates.
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
inherit plugins;
|
|
||||||
|
|
||||||
pname = "yosys";
|
pname = "yosys";
|
||||||
version = "0.9+3830";
|
version = "0.9+3830";
|
||||||
|
|
||||||
@@ -46,17 +43,21 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
nativeBuildInputs = [ pkg-config protobuf flex bison python3 ];
|
nativeBuildInputs = [ pkg-config bison flex ];
|
||||||
buildInputs = [ tcl readline libffi python3 protobuf zlib ];
|
buildInputs = [ tcl readline libffi python3 protobuf zlib ];
|
||||||
|
|
||||||
makeFlags = [ "ENABLE_PROTOBUF=1" "PREFIX=${placeholder "out"}"];
|
makeFlags = [ "ENABLE_PROTOBUF=1" "PREFIX=${placeholder "out"}"];
|
||||||
|
|
||||||
patchPhase = ''
|
patches = [
|
||||||
|
./plugin-search-dirs.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
substituteInPlace ./Makefile \
|
substituteInPlace ./Makefile \
|
||||||
--replace 'echo UNKNOWN' 'echo ${builtins.substring 0 10 src.rev}'
|
--replace 'echo UNKNOWN' 'echo ${builtins.substring 0 10 src.rev}'
|
||||||
|
|
||||||
chmod +x ./misc/yosys-config.in
|
chmod +x ./misc/yosys-config.in
|
||||||
patchShebangs ./misc/yosys-config.in
|
patchShebangs tests ./misc/yosys-config.in
|
||||||
patchShebangs tests
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preBuild = let
|
preBuild = let
|
||||||
@@ -75,7 +76,7 @@ stdenv.mkDerivation rec {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if ! grep -q "YOSYS_VER := $version" Makefile; then
|
if ! grep -q "YOSYS_VER := $version" Makefile; then
|
||||||
echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package ($version), failing."
|
echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package (${version}), failing."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
@@ -92,16 +93,11 @@ stdenv.mkDerivation rec {
|
|||||||
# add a symlink to fake things so that both variants work the same way. this
|
# add a symlink to fake things so that both variants work the same way. this
|
||||||
# is also needed at build time for the test suite.
|
# is also needed at build time for the test suite.
|
||||||
postBuild = "ln -sfv ${abc-verifier}/bin/abc ./yosys-abc";
|
postBuild = "ln -sfv ${abc-verifier}/bin/abc ./yosys-abc";
|
||||||
postInstall = ''
|
postInstall = "ln -sfv ${abc-verifier}/bin/abc $out/bin/yosys-abc";
|
||||||
ln -sfv ${abc-verifier}/bin/abc $out/bin/yosys-abc
|
|
||||||
|
|
||||||
mkdir -p $out/share/yosys/plugins
|
setupHook = ./setup-hook.sh;
|
||||||
for plugin in $plugins; do
|
|
||||||
ln -sfv $plugin/share/yosys/plugins/* $out/share/yosys/plugins/
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with lib; {
|
||||||
description = "Open RTL synthesis framework and tools";
|
description = "Open RTL synthesis framework and tools";
|
||||||
homepage = "http://www.clifford.at/yosys/";
|
homepage = "http://www.clifford.at/yosys/";
|
||||||
license = licenses.isc;
|
license = licenses.isc;
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
diff --git a/passes/cmds/plugin.cc b/passes/cmds/plugin.cc
|
||||||
|
index 3ed19497..f9534bd0 100644
|
||||||
|
--- a/passes/cmds/plugin.cc
|
||||||
|
+++ b/passes/cmds/plugin.cc
|
||||||
|
@@ -75,8 +75,27 @@ void load_plugin(std::string filename, std::vector<std::string> aliases)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void *hdl = dlopen(filename.c_str(), RTLD_LAZY|RTLD_LOCAL);
|
||||||
|
- if (hdl == NULL && orig_filename.find('/') == std::string::npos)
|
||||||
|
- hdl = dlopen((proc_share_dirname() + "plugins/" + orig_filename + ".so").c_str(), RTLD_LAZY|RTLD_LOCAL);
|
||||||
|
+ if (hdl == NULL && orig_filename.find('/') == std::string::npos) {
|
||||||
|
+ std::string install_dir = proc_share_dirname() + "plugins";
|
||||||
|
+
|
||||||
|
+ vector<string> all_dirs;
|
||||||
|
+ all_dirs.push_back(install_dir);
|
||||||
|
+
|
||||||
|
+ char* plugin_dirs = getenv("NIX_YOSYS_PLUGIN_DIRS");
|
||||||
|
+ if (plugin_dirs != NULL) {
|
||||||
|
+ std::string p(plugin_dirs), t;
|
||||||
|
+ std::stringstream ss(p);
|
||||||
|
+
|
||||||
|
+ while(std::getline(ss, t, ':')) {
|
||||||
|
+ all_dirs.push_back(t);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ for (auto dir : all_dirs) {
|
||||||
|
+ hdl = dlopen((dir + "/" + orig_filename + ".so").c_str(), RTLD_LAZY|RTLD_LOCAL);
|
||||||
|
+ if (hdl != NULL) break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
if (hdl == NULL)
|
||||||
|
log_cmd_error("Can't load module `%s': %s\n", filename.c_str(), dlerror());
|
||||||
|
loaded_plugins[orig_filename] = hdl;
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{ stdenv, lib, fetchFromGitHub, pkg-config
|
||||||
|
, yosys, readline, zlib, bluespec
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "yosys-bluespec";
|
||||||
|
version = "2021.01.14";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "thoughtpolice";
|
||||||
|
repo = "yosys-bluespec";
|
||||||
|
rev = "7a0c609e9b601560067c34b8ce41e89ea4a397d4";
|
||||||
|
sha256 = "0xj9j5dwvq0dwqzfjd4ikmxkd28amj6d9m6ava7pwcrpjhyjnd0c";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ yosys readline zlib bluespec ];
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
makeFlags = [
|
||||||
|
"PREFIX=$(out)/share/yosys/plugins"
|
||||||
|
"STATIC_BSC_PATH=${bluespec}/bin/bsc"
|
||||||
|
"STATIC_BSC_LIBDIR=${bluespec}/lib"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Bluespec plugin for Yosys";
|
||||||
|
license = licenses.isc;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ thoughtpolice ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
{ stdenv, lib, fetchFromGitHub, pkg-config
|
||||||
|
, yosys, readline, zlib, ghdl
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "yosys-ghdl";
|
||||||
|
version = "2021.01.01";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ghdl";
|
||||||
|
repo = "ghdl-yosys-plugin";
|
||||||
|
rev = "8b3e740fef9a653a20a838f1ade475960e1d379b";
|
||||||
|
sha256 = "13kpcp37r11xgqd8aksddi40a5vpzqi7p8qgyjbs99lyscyli75x";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ yosys readline zlib ghdl ];
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/yosys/plugins
|
||||||
|
cp ghdl.so $out/share/yosys/plugins/ghdl.so
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "GHDL plugin for Yosys";
|
||||||
|
license = licenses.isc;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ thoughtpolice ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
addYosysPluginPath() {
|
||||||
|
addToSearchPath NIX_YOSYS_PLUGIN_DIRS "$1/share/yosys/plugins"
|
||||||
|
}
|
||||||
|
|
||||||
|
addEnvHooks "$targetOffset" addYosysPluginPath
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, pkgs
|
|
||||||
, buildPythonPackage
|
|
||||||
, intervaltree
|
|
||||||
, numpy
|
|
||||||
, openpyxl
|
|
||||||
, parse
|
|
||||||
, progressbar
|
|
||||||
, pyjson5
|
|
||||||
, pyyaml
|
|
||||||
, simplejson
|
|
||||||
, symbiflow-fasm
|
|
||||||
, textx
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "python-prjxray";
|
|
||||||
version = pkgs.prjxray-tools.version;
|
|
||||||
|
|
||||||
src = pkgs.prjxray-tools.src;
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
intervaltree
|
|
||||||
numpy
|
|
||||||
openpyxl
|
|
||||||
parse
|
|
||||||
progressbar
|
|
||||||
pyjson5
|
|
||||||
pyyaml
|
|
||||||
simplejson
|
|
||||||
symbiflow-fasm
|
|
||||||
textx
|
|
||||||
];
|
|
||||||
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Documenting the Xilinx 7-series bit-stream format";
|
|
||||||
homepage = "https://github.com/SymbiFlow/prjxray";
|
|
||||||
license = licenses.isc;
|
|
||||||
maintainers = with maintainers; [ mcaju ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, pkgs
|
|
||||||
, fetchFromGitHub
|
|
||||||
, buildPythonPackage
|
|
||||||
, textx
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "symbiflow-fasm";
|
|
||||||
version = "0.0.1-g4857dde";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "SymbiFlow";
|
|
||||||
repo = "fasm";
|
|
||||||
rev = "4857dde757edd88688c2faf808774d85bdbe3900";
|
|
||||||
sha256 = "1za7f8slf8wvp1mfbfc3vdv61115p49k0vwngs4db6ips1qg1435";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ textx ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "FPGA Assembly (FASM) Parser and Generation library";
|
|
||||||
homepage = "https://github.com/SymbiFlow/fasm";
|
|
||||||
license = licenses.isc;
|
|
||||||
maintainers = with maintainers; [ mcaju ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, buildPythonPackage
|
|
||||||
, fetchPypi
|
|
||||||
, pytestCheckHook
|
|
||||||
, arpeggio
|
|
||||||
, click
|
|
||||||
, jinja2
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "textX";
|
|
||||||
version = "2.2.0";
|
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname;
|
|
||||||
inherit version;
|
|
||||||
sha256 = "00mwd588ms96qp27m5vpjkzk30wfw53hnmv8y77slxca8lw9vq82";
|
|
||||||
};
|
|
||||||
|
|
||||||
checkInputs = [ pytestCheckHook ];
|
|
||||||
|
|
||||||
pytestFlagsArray = [ "tests/functional" ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
arpeggio
|
|
||||||
click
|
|
||||||
jinja2
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "textX is a meta-language for building Domain-Specific Languages (DSLs) in Python";
|
|
||||||
homepage = "https://textx.github.io";
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = with maintainers; [ mcaju ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, buildPythonPackage
|
|
||||||
, pytestCheckHook
|
|
||||||
, simplejson
|
|
||||||
, intervaltree
|
|
||||||
, python-prjxray
|
|
||||||
, symbiflow-fasm
|
|
||||||
, textx
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "xc-fasm";
|
|
||||||
version = "0.0.1-g0ddd9516";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "SymbiFlow";
|
|
||||||
repo = "xc-fasm";
|
|
||||||
rev = "0ddd951602d47d5b95f2072f8aa751af5e81e577";
|
|
||||||
sha256 = "15bzw92sx99s0zldr48na4yhrnp7b90nxsd8ya6ag1pvvijp2al4";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
simplejson
|
|
||||||
intervaltree
|
|
||||||
python-prjxray
|
|
||||||
symbiflow-fasm
|
|
||||||
textx
|
|
||||||
];
|
|
||||||
|
|
||||||
# Pip will check for and then install missing dependecies.
|
|
||||||
# Because some of them are installed from git, it will try
|
|
||||||
# to download them even if they're present in
|
|
||||||
# propagatedBuildInputs.
|
|
||||||
pipInstallFlags = [ "--no-deps" ];
|
|
||||||
|
|
||||||
checkInputs = [ pytestCheckHook ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "XC FASM libraries";
|
|
||||||
homepage = "https://github.com/SymbiFlow/xc-fasm";
|
|
||||||
license = licenses.isc;
|
|
||||||
maintainers = with maintainers; [ mcaju ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -10722,12 +10722,6 @@ in
|
|||||||
|
|
||||||
swift = callPackage ../development/compilers/swift { };
|
swift = callPackage ../development/compilers/swift { };
|
||||||
|
|
||||||
symbiflow-vtr = callPackage ../development/compilers/symbiflow-vtr { };
|
|
||||||
|
|
||||||
symbiflow-yosys = callPackage ../development/compilers/symbiflow-yosys { };
|
|
||||||
|
|
||||||
symbiflow-yosys-plugins = callPackage ../development/compilers/symbiflow-yosys-plugins { };
|
|
||||||
|
|
||||||
swiProlog = callPackage ../development/compilers/swi-prolog {
|
swiProlog = callPackage ../development/compilers/swi-prolog {
|
||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
jdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
|
jdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
|
||||||
@@ -10840,6 +10834,8 @@ in
|
|||||||
yasm = callPackage ../development/compilers/yasm { };
|
yasm = callPackage ../development/compilers/yasm { };
|
||||||
|
|
||||||
yosys = callPackage ../development/compilers/yosys { };
|
yosys = callPackage ../development/compilers/yosys { };
|
||||||
|
yosys-bluespec = callPackage ../development/compilers/yosys/plugins/bluespec.nix { };
|
||||||
|
yosys-ghdl = callPackage ../development/compilers/yosys/plugins/ghdl.nix { };
|
||||||
|
|
||||||
z88dk = callPackage ../development/compilers/z88dk { };
|
z88dk = callPackage ../development/compilers/z88dk { };
|
||||||
|
|
||||||
@@ -11098,8 +11094,6 @@ in
|
|||||||
polyml56 = callPackage ../development/compilers/polyml/5.6.nix { };
|
polyml56 = callPackage ../development/compilers/polyml/5.6.nix { };
|
||||||
polyml57 = callPackage ../development/compilers/polyml/5.7.nix { };
|
polyml57 = callPackage ../development/compilers/polyml/5.7.nix { };
|
||||||
|
|
||||||
prjxray-tools = callPackage ../development/compilers/prjxray-tools { };
|
|
||||||
|
|
||||||
pure = callPackage ../development/interpreters/pure {
|
pure = callPackage ../development/interpreters/pure {
|
||||||
/*llvm = llvm_35;*/
|
/*llvm = llvm_35;*/
|
||||||
};
|
};
|
||||||
@@ -20634,8 +20628,6 @@ in
|
|||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
};
|
};
|
||||||
|
|
||||||
prjxray-db = callPackage ../data/misc/prjxray-db { };
|
|
||||||
|
|
||||||
profont = callPackage ../data/fonts/profont
|
profont = callPackage ../data/fonts/profont
|
||||||
{ inherit (buildPackages.xorg) mkfontscale; };
|
{ inherit (buildPackages.xorg) mkfontscale; };
|
||||||
|
|
||||||
@@ -20671,8 +20663,6 @@ in
|
|||||||
|
|
||||||
sweet = callPackage ../data/themes/sweet { };
|
sweet = callPackage ../data/themes/sweet { };
|
||||||
|
|
||||||
symbiflow-arch-defs = callPackage ../data/misc/symbiflow-arch-defs { };
|
|
||||||
|
|
||||||
mime-types = callPackage ../data/misc/mime-types { };
|
mime-types = callPackage ../data/misc/mime-types { };
|
||||||
|
|
||||||
shared-mime-info = callPackage ../data/misc/shared-mime-info { };
|
shared-mime-info = callPackage ../data/misc/shared-mime-info { };
|
||||||
|
|||||||
@@ -4812,8 +4812,6 @@ in {
|
|||||||
|
|
||||||
python-openems = callPackage ../development/python-modules/python-openems { };
|
python-openems = callPackage ../development/python-modules/python-openems { };
|
||||||
|
|
||||||
python-prjxray = callPackage ../development/python-modules/python-prjxray { };
|
|
||||||
|
|
||||||
python-tado = callPackage ../development/python-modules/python-tado { };
|
python-tado = callPackage ../development/python-modules/python-tado { };
|
||||||
|
|
||||||
pkutils = callPackage ../development/python-modules/pkutils { };
|
pkutils = callPackage ../development/python-modules/pkutils { };
|
||||||
@@ -7407,8 +7405,6 @@ in {
|
|||||||
|
|
||||||
sybil = callPackage ../development/python-modules/sybil { };
|
sybil = callPackage ../development/python-modules/sybil { };
|
||||||
|
|
||||||
symbiflow-fasm = callPackage ../development/python-modules/symbiflow-fasm { };
|
|
||||||
|
|
||||||
symengine = callPackage ../development/python-modules/symengine { symengine = pkgs.symengine; };
|
symengine = callPackage ../development/python-modules/symengine { symengine = pkgs.symengine; };
|
||||||
|
|
||||||
sympy = if isPy3k then
|
sympy = if isPy3k then
|
||||||
@@ -7526,8 +7522,6 @@ in {
|
|||||||
|
|
||||||
textfsm = callPackage ../development/python-modules/textfsm { };
|
textfsm = callPackage ../development/python-modules/textfsm { };
|
||||||
|
|
||||||
textx = callPackage ../development/python-modules/textx { };
|
|
||||||
|
|
||||||
testpath = callPackage ../development/python-modules/testpath { };
|
testpath = callPackage ../development/python-modules/testpath { };
|
||||||
|
|
||||||
testrepository = callPackage ../development/python-modules/testrepository { };
|
testrepository = callPackage ../development/python-modules/testrepository { };
|
||||||
@@ -8179,8 +8173,6 @@ in {
|
|||||||
|
|
||||||
xattr = callPackage ../development/python-modules/xattr { };
|
xattr = callPackage ../development/python-modules/xattr { };
|
||||||
|
|
||||||
xc-fasm = callPackage ../development/python-modules/xc-fasm { };
|
|
||||||
|
|
||||||
xcaplib = callPackage ../development/python-modules/xcaplib { };
|
xcaplib = callPackage ../development/python-modules/xcaplib { };
|
||||||
|
|
||||||
xcffib = callPackage ../development/python-modules/xcffib { };
|
xcffib = callPackage ../development/python-modules/xcffib { };
|
||||||
|
|||||||
Reference in New Issue
Block a user