From 412e02c78448187d1b4a67db4336686cd0672d2d Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Jan 2019 16:00:58 -0600 Subject: [PATCH] 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 --- .../development/compilers/nextpnr/default.nix | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix index c9e97e40230..e2713a28f0e 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; }; }