summaryrefslogtreecommitdiffstats
path: root/pkgs/data
diff options
context:
space:
mode:
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>2021-01-11 18:49:31 -0500
committerGitHub <noreply@github.com>2021-01-11 18:49:31 -0500
commit02828f91f15668ce6a757b6ef1d2d8430a403194 (patch)
treed04657639266456654323155ab07ec9d13c9a86b /pkgs/data
parentf0a7fce6ee72e574c2406bf1cfd1741c8d2cd07e (diff)
parentccdf7431bb07bf9affb14b70b4fd59421ba83715 (diff)
Merge pull request #105709 from CajuM/symbiflow
Add Symbiflow + prjxray for OSS Xilinx FPGA development
Diffstat (limited to 'pkgs/data')
-rw-r--r--pkgs/data/misc/prjxray-db/default.nix43
-rw-r--r--pkgs/data/misc/symbiflow-arch-defs/default.nix47
2 files changed, 90 insertions, 0 deletions
diff --git a/pkgs/data/misc/prjxray-db/default.nix b/pkgs/data/misc/prjxray-db/default.nix
new file mode 100644
index 000000000000..d498fdb1cc8b
--- /dev/null
+++ b/pkgs/data/misc/prjxray-db/default.nix
@@ -0,0 +1,43 @@
+{ 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 stdenv.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;
+ };
+}
diff --git a/pkgs/data/misc/symbiflow-arch-defs/default.nix b/pkgs/data/misc/symbiflow-arch-defs/default.nix
new file mode 100644
index 000000000000..89549da85dcb
--- /dev/null
+++ b/pkgs/data/misc/symbiflow-arch-defs/default.nix
@@ -0,0 +1,47 @@
+{ 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 stdenv.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;
+ };
+}