From 1387ce732dd483b44cc580516b7f57eb9d21ad92 Mon Sep 17 00:00:00 2001 From: Tom Repetti Date: Thu, 19 Aug 2021 19:55:05 -0400 Subject: [PATCH] openroad: init at 2.0 --- .../science/electronics/openroad/default.nix | 94 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 96 insertions(+) create mode 100644 pkgs/applications/science/electronics/openroad/default.nix diff --git a/pkgs/applications/science/electronics/openroad/default.nix b/pkgs/applications/science/electronics/openroad/default.nix new file mode 100644 index 000000000000..1b1eb39cffa0 --- /dev/null +++ b/pkgs/applications/science/electronics/openroad/default.nix @@ -0,0 +1,94 @@ +{ lib +, mkDerivation +, fetchFromGitHub +, bison +, cmake +, doxygen +, flex +, git +, python3 +, swig4 +, boost172 +, cimg +, eigen +, lcov +, lemon-graph +, libjpeg +, pcre +, qtbase +, readline +, spdlog +, tcl +, tcllib +, xorg +, yosys +, zlib +}: + +mkDerivation rec { + pname = "openroad"; + version = "2.0"; + + src = fetchFromGitHub { + owner = "The-OpenROAD-Project"; + repo = "OpenROAD"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "1p677xh16wskfj06jnplhpc3glibhdaqxmk0j09832chqlryzwyx"; + }; + + nativeBuildInputs = [ + bison + cmake + doxygen + flex + git + swig4 + ]; + + buildInputs = [ + boost172 + cimg + eigen + lcov + lemon-graph + libjpeg + pcre + python3 + qtbase + readline + spdlog + tcl + tcllib + yosys + xorg.libX11 + zlib + ]; + + postPatch = '' + patchShebangs --build etc/find_messages.py + ''; + + # Enable output images from the placer. + cmakeFlags = [ "-DUSE_CIMG_LIB=ON" ]; + + # Resynthesis needs access to the Yosys binaries. + qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ yosys ]}" ]; + + # Upstream uses vendored package versions for some dependencies, so regression testing is prudent + # to see if there are any breaking changes in unstable that should be vendored as well. + doCheck = false; # Disabled pending upstream release with fix for rcx log file creation. + checkPhase = '' + # Regression tests must be run from the project root not from within the CMake build directory. + cd .. + test/regression + ''; + + meta = with lib; { + description = "OpenROAD's unified application implementing an RTL-to-GDS flow"; + homepage = "https://theopenroadproject.org"; + license = licenses.bsd3; + maintainers = with maintainers; [ trepetti ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 099a151cd263..e778e73bc134 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30960,6 +30960,8 @@ with pkgs; openems = callPackage ../applications/science/electronics/openems { }; + openroad = libsForQt5.callPackage ../applications/science/electronics/openroad { }; + pcb = callPackage ../applications/science/electronics/pcb { }; qucs = callPackage ../applications/science/electronics/qucs { };