openroad: move to by-name, cleanup (#397602)

This commit is contained in:
Gaétan Lepage
2025-04-10 11:25:04 +02:00
committed by GitHub
2 changed files with 61 additions and 61 deletions
@@ -1,50 +1,45 @@
{
lib,
mkDerivation,
stdenv,
fetchFromGitHub,
# nativeBuildInputs
bison,
cmake,
doxygen,
flex,
git,
python3,
gitMinimal,
gtest,
libsForQt5,
pkg-config,
swig,
# buildInputs
boost186, # 1.87.0 broken https://github.com/boostorg/asio/issues/442
cbc, # for clp
cimg,
clp, # for or-tools
cudd,
eigen,
gtest,
glpk,
lcov,
lemon-graph,
libsForQt5,
libjpeg,
or-tools,
pcre,
pkg-config,
python3,
re2, # for or-tools
readline,
spdlog,
tcl,
tclPackages,
xorg,
yosys,
zlib,
xorg,
llvmPackages,
stdenv,
}:
let
or-tools-static = or-tools.overrideAttrs (oldAttrs: {
cmakeFlags = oldAttrs.cmakeFlags ++ [
# https://github.com/google/or-tools/issues/3709
"-DBUILD_SHARED_LIBS=OFF"
];
});
in
mkDerivation rec {
stdenv.mkDerivation rec {
pname = "openroad";
version = "2.0-unstable-2025-03-01";
@@ -61,39 +56,42 @@ mkDerivation rec {
cmake
doxygen
flex
git
gitMinimal
gtest
libsForQt5.wrapQtAppsHook
pkg-config
swig
];
buildInputs = [
boost186
cbc
cimg
clp
cudd
eigen
glpk
lcov
lemon-graph
libjpeg
or-tools-static
pcre
python3
libsForQt5.qtbase
libsForQt5.qtcharts
libsForQt5.qtsvg
libsForQt5.qtdeclarative
re2
readline
spdlog
tcl
tclPackages.tclreadline
yosys
xorg.libX11
zlib
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ];
buildInputs =
[
boost186
cbc
cimg
clp
cudd
eigen
glpk
lcov
lemon-graph
libjpeg
libsForQt5.qtbase
libsForQt5.qtcharts
libsForQt5.qtdeclarative
libsForQt5.qtsvg
or-tools
pcre
python3
re2
readline
spdlog
tcl
tclPackages.tclreadline
yosys
zlib
]
++ lib.optionals stdenv.hostPlatform.isLinux [ xorg.libX11 ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ];
postPatch = ''
patchShebangs --build etc/find_messages.py
@@ -103,18 +101,18 @@ mkDerivation rec {
cmakeFlags =
[
"-DENABLE_TESTS=ON"
"-DUSE_SYSTEM_BOOST=ON"
"-DUSE_SYSTEM_ABC=OFF"
"-DABC_SKIP_TESTS=ON" # it attempts to download gtest
"-DUSE_SYSTEM_OPENSTA=OFF"
"-DOPENROAD_VERSION=${version}_${src.rev}"
"-DCMAKE_RULE_MESSAGES=OFF"
"-DTCL_HEADER=${tcl}/include/tcl.h"
"-DTCL_LIBRARY=${tcl}/lib/libtcl${stdenv.hostPlatform.extensions.sharedLibrary}"
(lib.cmakeBool "ENABLE_TESTS" true)
(lib.cmakeBool "USE_SYSTEM_BOOST" true)
(lib.cmakeBool "USE_SYSTEM_ABC" false)
(lib.cmakeBool "ABC_SKIP_TESTS" true) # it attempts to download gtest
(lib.cmakeBool "USE_SYSTEM_OPENSTA" false)
(lib.cmakeFeature "OPENROAD_VERSION" "${version}_${src.rev}")
(lib.cmakeBool "CMAKE_RULE_MESSAGES" false)
(lib.cmakeFeature "TCL_HEADER" "${tcl}/include/tcl.h")
(lib.cmakeFeature "TCL_LIBRARY" "${tcl}/lib/libtcl${stdenv.hostPlatform.extensions.sharedLibrary}")
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"-DCMAKE_CXX_FLAGS=-DBOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED"
(lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DBOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED")
];
# Resynthesis needs access to the Yosys binaries.
@@ -130,18 +128,22 @@ mkDerivation rec {
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/openroad -version
$out/bin/sta -version
runHook postInstallCheck
'';
meta = with lib; {
meta = {
description = "OpenROAD's unified application implementing an RTL-to-GDS flow";
homepage = "https://theopenroadproject.org";
license = licenses.bsd3;
maintainers = with maintainers; [
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
trepetti
hzeller
];
platforms = platforms.linux ++ platforms.darwin;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}
-2
View File
@@ -18497,8 +18497,6 @@ with pkgs;
qcsxcad = libsForQt5.qcsxcad;
};
openroad = libsForQt5.callPackage ../applications/science/electronics/openroad { };
qucs-s = qt6Packages.callPackage ../applications/science/electronics/qucs-s { };
xyce = callPackage ../applications/science/electronics/xyce { };