summary refs log tree commit diff
path: root/pkgs/development/compilers/nextpnr/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/nextpnr/default.nix')
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
new file mode 100644
index 000000000000..5ec3b5f59d88
--- /dev/null
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, cmake
+, icestorm, python3, boost, qtbase
+}:
+
+let
+  boostPython = boost.override { python = python3; enablePython = true; };
+in
+stdenv.mkDerivation rec {
+  name = "nextpnr-${version}";
+  version = "2018.08.09";
+
+  src = fetchFromGitHub {
+    owner  = "yosyshq";
+    repo   = "nextpnr";
+    rev    = "2e02f2d6166c75b1fcec73d268e97e407071a372";
+    sha256 = "1f98mkailn75gz5fvhjhnyr0gwa0r8mm3f2sbvgl0yvys8qi08wr";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boostPython python3 qtbase ];
+
+  enableParallelBuilding = true;
+  cmakeFlags =
+    [ "-DARCH=generic;ice40"
+      "-DICEBOX_ROOT=${icestorm}/share/icebox"
+    ];
+
+  meta = with stdenv.lib; {
+    description = "Place and route tool for FPGAs";
+    homepage    = https://github.com/yosyshq/nextpnr;
+    license     = licenses.isc;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}