openroad: move to by-name, cleanup (#397602)
This commit is contained in:
+61
-59
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 { };
|
||||
|
||||
Reference in New Issue
Block a user