about summary refs log tree commit diff
path: root/pkgs/development/compilers/nextpnr
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2019-01-08 16:00:58 -0600
committerAustin Seipp <aseipp@pobox.com>2019-01-08 19:15:24 -0600
commit412e02c78448187d1b4a67db4336686cd0672d2d (patch)
treed27a8f5eb986181486666845db69b6db84391b72 /pkgs/development/compilers/nextpnr
parentc10650760d8e16a1346c401878abea6c6394196a (diff)
downloadnixlib-412e02c78448187d1b4a67db4336686cd0672d2d.tar
nixlib-412e02c78448187d1b4a67db4336686cd0672d2d.tar.gz
nixlib-412e02c78448187d1b4a67db4336686cd0672d2d.tar.bz2
nixlib-412e02c78448187d1b4a67db4336686cd0672d2d.tar.lz
nixlib-412e02c78448187d1b4a67db4336686cd0672d2d.tar.xz
nixlib-412e02c78448187d1b4a67db4336686cd0672d2d.tar.zst
nixlib-412e02c78448187d1b4a67db4336686cd0672d2d.zip
nextpnr: disable broken GUI build for now
This didn't work remotely (on a server with Nvidia drivers) _or_ on a
local Intel machine with integrated graphics. I presumably messed
something up (a missing dependency), but I'm not sure where. We can fix
it later.

In the mean time, just disable this by hiding it behind a minimal flag.
As a bonus this reduces the closure size by about half, although it's
still surprisingly large (~300MB or so). Part of that is probably
Python, though.

When the GUI is reintroduced in a working manner, we can expose two
nextpnr attributes for the minimal non-GUI build, and the GUI build.
(Note that I have no plans of making Python optional, since it's
extremely valuable in general and much more lightweight than qtbase.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'pkgs/development/compilers/nextpnr')
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix19
1 files changed, 16 insertions, 3 deletions
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
index c9e97e402303..e2713a28f0e5 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -1,5 +1,14 @@
 { stdenv, fetchFromGitHub, cmake
-, icestorm, python3, boost, qtbase
+, boost, python3
+
+# TODO: also add libtrellis, later on
+, icestorm
+
+# TODO(thoughtpolice) Currently the GUI build seems broken at runtime on my
+# laptop (and over a remote X server on my server...), so mark it broken for
+# now, with intent to fix later.
+, enableGui ? false
+, qtbase
 }:
 
 let
@@ -17,13 +26,15 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boostPython python3 qtbase ];
+  buildInputs
+     = [ boostPython python3 ]
+    ++ (stdenv.lib.optional enableGui qtbase);
 
   enableParallelBuilding = true;
   cmakeFlags =
     [ "-DARCH=generic;ice40"
       "-DICEBOX_ROOT=${icestorm}/share/icebox"
-    ];
+    ] ++ (stdenv.lib.optional (!enableGui) "-DBUILD_GUI=OFF");
 
   meta = with stdenv.lib; {
     description = "Place and route tool for FPGAs";
@@ -31,5 +42,7 @@ stdenv.mkDerivation rec {
     license     = licenses.isc;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice ];
+
+    broken = enableGui;
   };
 }