From ca24865385c9df53d8a37fbff3560f6e9ee4461b Mon Sep 17 00:00:00 2001 From: Henner Zeller Date: Sat, 21 Dec 2024 21:20:20 -0800 Subject: [PATCH] openroad: unstable-2023-08-26 -> 2.0-unstable-2024-12-22 --- ...001-Disable-failing-regression-tests.patch | 83 ------------------- .../0002-Ignore-warning-on-stderr.patch | 41 --------- .../science/electronics/openroad/default.nix | 56 +++++++------ 3 files changed, 30 insertions(+), 150 deletions(-) delete mode 100644 pkgs/applications/science/electronics/openroad/0001-Disable-failing-regression-tests.patch delete mode 100644 pkgs/applications/science/electronics/openroad/0002-Ignore-warning-on-stderr.patch diff --git a/pkgs/applications/science/electronics/openroad/0001-Disable-failing-regression-tests.patch b/pkgs/applications/science/electronics/openroad/0001-Disable-failing-regression-tests.patch deleted file mode 100644 index e370bc860b5561..00000000000000 --- a/pkgs/applications/science/electronics/openroad/0001-Disable-failing-regression-tests.patch +++ /dev/null @@ -1,83 +0,0 @@ -From dc32aabd50d53aece41d968649b972ee667875bb Mon Sep 17 00:00:00 2001 -From: Tobias Mayer -Date: Sun, 27 Aug 2023 15:08:50 +0200 -Subject: [PATCH] Disable failing regression tests - ---- - src/drt/test/regression_tests.tcl | 6 +++--- - src/odb/test/regression_tests.tcl | 4 ++-- - src/par/test/regression_tests.tcl | 2 +- - src/pdn/test/regression_tests.tcl | 2 +- - src/rcx/test/regression_tests.tcl | 6 +++--- - 5 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/src/drt/test/regression_tests.tcl b/src/drt/test/regression_tests.tcl -index 11705562d..15546244a 100644 ---- a/src/drt/test/regression_tests.tcl -+++ b/src/drt/test/regression_tests.tcl -@@ -9,6 +9,6 @@ record_tests { - top_level_term - top_level_term2 - } --record_pass_fail_tests { -- gc_test --} -+#record_pass_fail_tests { -+# gc_test -+#} -diff --git a/src/odb/test/regression_tests.tcl b/src/odb/test/regression_tests.tcl -index b8e4f917a..7c6a0223a 100644 ---- a/src/odb/test/regression_tests.tcl -+++ b/src/odb/test/regression_tests.tcl -@@ -34,9 +34,9 @@ record_tests { - } - - record_pass_fail_tests { -- cpp_tests -+ #cpp_tests - dump_netlists - dump_netlists_withfill -- parser_unit_test -+ #parser_unit_test - } - -diff --git a/src/par/test/regression_tests.tcl b/src/par/test/regression_tests.tcl -index 9ff31fb12..63d5d0dae 100644 ---- a/src/par/test/regression_tests.tcl -+++ b/src/par/test/regression_tests.tcl -@@ -1,4 +1,4 @@ - record_tests { - read_part -- partition_gcd -+ #partition_gcd - } -diff --git a/src/pdn/test/regression_tests.tcl b/src/pdn/test/regression_tests.tcl -index 86c334f24..b695c490c 100644 ---- a/src/pdn/test/regression_tests.tcl -+++ b/src/pdn/test/regression_tests.tcl -@@ -10,7 +10,7 @@ record_tests { - max_width - min_spacing - widthtable -- design_width -+ #design_width - offgrid - - core_grid -diff --git a/src/rcx/test/regression_tests.tcl b/src/rcx/test/regression_tests.tcl -index 7070cc45f..72f348d96 100644 ---- a/src/rcx/test/regression_tests.tcl -+++ b/src/rcx/test/regression_tests.tcl -@@ -6,6 +6,6 @@ record_tests { - 45_gcd - names - } --record_pass_fail_tests { -- rcx_unit_test --} -+#record_pass_fail_tests { -+# rcx_unit_test -+#} --- -2.41.0 - diff --git a/pkgs/applications/science/electronics/openroad/0002-Ignore-warning-on-stderr.patch b/pkgs/applications/science/electronics/openroad/0002-Ignore-warning-on-stderr.patch deleted file mode 100644 index f0b0666789a79e..00000000000000 --- a/pkgs/applications/science/electronics/openroad/0002-Ignore-warning-on-stderr.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nicolas Benes -Date: Sun, 2 Apr 2023 04:57:17 +0200 -Subject: [PATCH] Ignore warning on stderr - -The following warning is written to stderr, which causes the overall -test to fail: - -``` -sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) -``` - -diff --git a/src/dst/test/cpp_tests.tcl b/src/dst/test/cpp_tests.tcl -index 9087c2c..63d0cb7 100644 ---- a/src/dst/test/cpp_tests.tcl -+++ b/src/dst/test/cpp_tests.tcl -@@ -4,7 +4,7 @@ set test_dir [pwd] - set openroad_dir [file dirname [file dirname [file dirname $test_dir]]] - set tests_path [file join $openroad_dir "build" "src" "dst" "test" "cpp"] - --set tests_list [split [exec sh -c "find $tests_path -maxdepth 1 -name 'Test*'"] \n] -+set tests_list [split [exec -ignorestderr sh -c "find $tests_path -maxdepth 1 -name 'Test*'"] \n] - - foreach test $tests_list { - set test_name [file tail $test] -diff --git a/src/odb/test/cpp_tests.tcl b/src/odb/test/cpp_tests.tcl -index 091d576..6811760 100644 ---- a/src/odb/test/cpp_tests.tcl -+++ b/src/odb/test/cpp_tests.tcl -@@ -4,7 +4,7 @@ set test_dir [pwd] - set openroad_dir [file dirname [file dirname [file dirname $test_dir]]] - set tests_path [file join $openroad_dir "build" "src" "odb" "test" "cpp"] - --set tests_list [split [exec sh -c "find $tests_path -maxdepth 1 -name 'Test*' ! -name '*.cmake'"] \n] -+set tests_list [split [exec -ignorestderr sh -c "find $tests_path -maxdepth 1 -name 'Test*' ! -name '*.cmake'"] \n] - - foreach test $tests_list { - set test_name [file tail $test] --- -2.38.4 - diff --git a/pkgs/applications/science/electronics/openroad/default.nix b/pkgs/applications/science/electronics/openroad/default.nix index 79890192ef1def..10ab39dcd0595b 100644 --- a/pkgs/applications/science/electronics/openroad/default.nix +++ b/pkgs/applications/science/electronics/openroad/default.nix @@ -2,7 +2,6 @@ lib, mkDerivation, fetchFromGitHub, - fetchpatch, bison, cmake, doxygen, @@ -10,19 +9,20 @@ git, python3, swig, - boost179, + boost180, cbc, # for clp cimg, clp, # for or-tools + cudd, eigen, glpk, lcov, lemon-graph, + libsForQt5, libjpeg, or-tools, pcre, pkg-config, - qtbase, re2, # for or-tools readline, spdlog, @@ -33,16 +33,24 @@ zlib, }: +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 { pname = "openroad"; - version = "unstable-2023-08-26"; + version = "2.0-unstable-2024-12-22"; src = fetchFromGitHub { owner = "The-OpenROAD-Project"; repo = "OpenROAD"; - rev = "6dba515c2aacd3fca58ef8135424884146efd95b"; + rev = "51302eb80b11576a01171d33452c362301d55143"; fetchSubmodules = true; - hash = "sha256-LAj7X+Vq0+H3tIo5zgyUuIjQwTj+2DLL18/KMJ/kf4A="; + hash = "sha256-xFeZo6GjKKee7fTrzN4TNNL8eeTDJXyQGPkIKU/WvIc="; }; nativeBuildInputs = [ @@ -56,43 +64,33 @@ mkDerivation rec { ]; buildInputs = [ - boost179 + boost180 cbc cimg clp + cudd eigen glpk lcov lemon-graph libjpeg - or-tools + or-tools-static pcre python3 - qtbase + libsForQt5.qtbase + libsForQt5.qtcharts + libsForQt5.qtsvg + libsForQt5.qtdeclarative re2 readline spdlog tcl - tclPackages.tcllib + tclPackages.tclreadline yosys xorg.libX11 zlib ]; - patches = [ - # https://github.com/The-OpenROAD-Project/OpenROAD/pull/3911 - (fetchpatch { - name = "openroad-fix-fmt-10.patch"; - url = "https://github.com/The-OpenROAD-Project/OpenROAD/commit/9396f07f28e0260cd64acfc51909f6566b70e682.patch"; - hash = "sha256-jy8K8pdhSswVz6V6otk8JAI7nndaFVMuKQ/4A3Kzwns="; - }) - # Upstream is not aware of these failures - ./0001-Disable-failing-regression-tests.patch - # This is an issue we experience in the sandbox, and upstream - # probably wouldn't mind merging this change, but no PR was opened. - ./0002-Ignore-warning-on-stderr.patch - ]; - postPatch = '' patchShebangs --build etc/find_messages.py ''; @@ -103,8 +101,12 @@ mkDerivation rec { # the regression tests so we can get by without building unit tests. "-DENABLE_TESTS=OFF" "-DUSE_SYSTEM_BOOST=ON" + "-DUSE_SYSTEM_ABC=OFF" + "-DUSE_SYSTEM_OPENSTA=OFF" "-DUSE_CIMG_LIB=ON" "-DOPENROAD_VERSION=${src.rev}" + "-DTCL_LIBRARY=${tcl}/lib/libtcl.so" + "-DTCL_HEADER=${tcl}/include/tcl.h" ]; # Resynthesis needs access to the Yosys binaries. @@ -127,8 +129,10 @@ mkDerivation rec { description = "OpenROAD's unified application implementing an RTL-to-GDS flow"; homepage = "https://theopenroadproject.org"; license = licenses.bsd3; - maintainers = with maintainers; [ trepetti ]; + maintainers = with maintainers; [ + trepetti + hzeller + ]; platforms = platforms.linux; - broken = true; # last successful build 2024-06-30 }; }