tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
openroad: unstable-2022-07-19 -> unstable-2023-03-31
Nicolas Benes
2 years ago
c59f6c75
a074c7c3
+123
-7
3 changed files
expand all
collapse all
unified
split
pkgs
applications
science
electronics
openroad
0001-Fix-string-formatting-in-tests.patch
0002-Ignore-warning-on-stderr.patch
default.nix
+53
pkgs/applications/science/electronics/openroad/0001-Fix-string-formatting-in-tests.patch
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2
+
From: Nicolas Benes <nbenes.gh@xandea.de>
3
+
Date: Sun, 2 Apr 2023 01:24:51 +0200
4
+
Subject: [PATCH] Fix string formatting in tests
5
+
6
+
Hide the decimal point and digits after the decimal point when they are
7
+
not needed.
8
+
9
+
diff --git a/src/par/test/partition_gcd.ok b/src/par/test/partition_gcd.ok
10
+
index 6c40c14..b9a42f6 100644
11
+
--- a/src/par/test/partition_gcd.ok
12
+
+++ b/src/par/test/partition_gcd.ok
13
+
@@ -9,7 +9,7 @@
14
+
========================================
15
+
[INFO] Partitioning parameters****
16
+
[PARAM] Number of partitions = 2
17
+
-[PARAM] UBfactor = 1.0
18
+
+[PARAM] UBfactor = 1
19
+
[PARAM] Vertex dimensions = 1
20
+
[PARAM] Hyperedge dimensions = 1
21
+
========================================
22
+
@@ -118,7 +118,7 @@ After Hyperedge Reduction : num_vertices = 137, num_hyperedges = 251
23
+
[V-Refine] Level 2 :: 207, 301, 154.65254
24
+
[V-Refine] Level 3 :: 312, 370, 154.65254
25
+
[V-Refine] Level 4 :: 469, 451, 154.65254
26
+
-[INFO] V-cycle refinement 1 delta cost 0.0
27
+
+[INFO] V-cycle refinement 1 delta cost 0
28
+
=========================================
29
+
[STATUS] Running FC multilevel coarsening
30
+
=========================================
31
+
@@ -133,7 +133,7 @@ After Hyperedge Reduction : num_vertices = 137, num_hyperedges = 251
32
+
[V-Refine] Level 2 :: 207, 301, 154.65254
33
+
[V-Refine] Level 3 :: 312, 370, 154.65254
34
+
[V-Refine] Level 4 :: 469, 451, 154.65254
35
+
-[INFO] V-cycle refinement 2 delta cost 0.0
36
+
+[INFO] V-cycle refinement 2 delta cost 0
37
+
[Cutcost of partition : 154.65254]
38
+
[Vertex balance of block_0 : 0.59249 ( 327.17993 )
39
+
[Vertex balance of block_1 : 0.40751 ( 225.03609 )
40
+
diff --git a/src/pdn/test/design_width.ok b/src/pdn/test/design_width.ok
41
+
index 381dca1..a102974 100644
42
+
--- a/src/pdn/test/design_width.ok
43
+
+++ b/src/pdn/test/design_width.ok
44
+
@@ -9,5 +9,5 @@
45
+
[INFO ODB-0130] Created 54 pins.
46
+
[INFO ODB-0131] Created 406 components and 1816 component-terminals.
47
+
[INFO ODB-0133] Created 361 nets and 1004 connections.
48
+
-[ERROR PDN-0185] Insufficient width (14.04 um) to add straps on layer M8 in grid "Core" with total strap width 6.0 um and offset 10.0 um.
49
+
+[ERROR PDN-0185] Insufficient width (14.04 um) to add straps on layer M8 in grid "Core" with total strap width 6 um and offset 10 um.
50
+
PDN-0185
51
+
--
52
+
2.38.4
53
+
+41
pkgs/applications/science/electronics/openroad/0002-Ignore-warning-on-stderr.patch
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2
+
From: Nicolas Benes <nbenes.gh@xandea.de>
3
+
Date: Sun, 2 Apr 2023 04:57:17 +0200
4
+
Subject: [PATCH] Ignore warning on stderr
5
+
6
+
The following warning is written to stderr, which causes the overall
7
+
test to fail:
8
+
9
+
```
10
+
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
11
+
```
12
+
13
+
diff --git a/src/dst/test/cpp_tests.tcl b/src/dst/test/cpp_tests.tcl
14
+
index 9087c2c..63d0cb7 100644
15
+
--- a/src/dst/test/cpp_tests.tcl
16
+
+++ b/src/dst/test/cpp_tests.tcl
17
+
@@ -4,7 +4,7 @@ set test_dir [pwd]
18
+
set openroad_dir [file dirname [file dirname [file dirname $test_dir]]]
19
+
set tests_path [file join $openroad_dir "build" "src" "dst" "test" "cpp"]
20
+
21
+
-set tests_list [split [exec sh -c "find $tests_path -maxdepth 1 -name 'Test*'"] \n]
22
+
+set tests_list [split [exec -ignorestderr sh -c "find $tests_path -maxdepth 1 -name 'Test*'"] \n]
23
+
24
+
foreach test $tests_list {
25
+
set test_name [file tail $test]
26
+
diff --git a/src/odb/test/cpp_tests.tcl b/src/odb/test/cpp_tests.tcl
27
+
index 091d576..6811760 100644
28
+
--- a/src/odb/test/cpp_tests.tcl
29
+
+++ b/src/odb/test/cpp_tests.tcl
30
+
@@ -4,7 +4,7 @@ set test_dir [pwd]
31
+
set openroad_dir [file dirname [file dirname [file dirname $test_dir]]]
32
+
set tests_path [file join $openroad_dir "build" "src" "odb" "test" "cpp"]
33
+
34
+
-set tests_list [split [exec sh -c "find $tests_path -maxdepth 1 -name 'Test*' ! -name '*.cmake'"] \n]
35
+
+set tests_list [split [exec -ignorestderr sh -c "find $tests_path -maxdepth 1 -name 'Test*' ! -name '*.cmake'"] \n]
36
+
37
+
foreach test $tests_list {
38
+
set test_name [file tail $test]
39
+
--
40
+
2.38.4
41
+
+29
-7
pkgs/applications/science/electronics/openroad/default.nix
···
9
, python3
10
, swig4
11
, boost17x
0
12
, cimg
0
13
, eigen
0
0
14
, lcov
15
, lemon-graph
16
, libjpeg
0
17
, pcre
0
18
, qtbase
0
19
, readline
20
, spdlog
21
, tcl
···
27
28
mkDerivation rec {
29
pname = "openroad";
30
-
version = "unstable-2022-07-19";
31
32
src = fetchFromGitHub {
33
owner = "The-OpenROAD-Project";
34
repo = "OpenROAD";
35
-
rev = "2610b3953ef62651825d89fb96917cf5d20af0f1";
36
fetchSubmodules = true;
37
-
sha256 = "sha256-BP0JSnxl1XyqHzDY4eITaGHevqd+rbjWZy/LAfDfELs=";
38
};
39
40
nativeBuildInputs = [
···
43
doxygen
44
flex
45
git
0
46
swig4
47
];
48
49
buildInputs = [
50
boost17x
0
51
cimg
0
52
eigen
0
53
lcov
54
lemon-graph
55
libjpeg
0
56
pcre
57
python3
58
qtbase
0
59
readline
60
spdlog
61
tcl
···
65
zlib
66
];
67
0
0
0
0
0
68
postPatch = ''
69
patchShebangs --build etc/find_messages.py
70
'';
···
74
"-DUSE_SYSTEM_BOOST=ON"
75
"-DUSE_CIMG_LIB=ON"
76
"-DOPENROAD_VERSION=${src.rev}"
0
0
0
0
77
];
78
79
# Resynthesis needs access to the Yosys binaries.
80
qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ yosys ]}" ];
0
0
81
82
# Upstream uses vendored package versions for some dependencies, so regression testing is prudent
83
# to see if there are any breaking changes in unstable that should be vendored as well.
84
-
doCheck = false; # Disabled pending upstream release with fix for rcx log file creation.
85
checkPhase = ''
86
-
# Regression tests must be run from the project root not from within the CMake build directory.
87
-
cd ..
88
-
test/regression
89
'';
90
91
doInstallCheck = true;
···
9
, python3
10
, swig4
11
, boost17x
12
+
, cbc # for clp
13
, cimg
14
+
, clp # for or-tools
15
, eigen
16
+
, glpk
17
+
, gtest
18
, lcov
19
, lemon-graph
20
, libjpeg
21
+
, or-tools
22
, pcre
23
+
, pkg-config
24
, qtbase
25
+
, re2 # for or-tools
26
, readline
27
, spdlog
28
, tcl
···
34
35
mkDerivation rec {
36
pname = "openroad";
37
+
version = "unstable-2023-03-31";
38
39
src = fetchFromGitHub {
40
owner = "The-OpenROAD-Project";
41
repo = "OpenROAD";
42
+
rev = "cd03c5cf8a8eb78c0e07fe33a56b8e9d64672efe";
43
fetchSubmodules = true;
44
+
hash = "sha256-BWUvFCuWKWQpifErpak03J+A7ni0jZWIrCMhMdKIbD0=";
45
};
46
47
nativeBuildInputs = [
···
50
doxygen
51
flex
52
git
53
+
pkg-config
54
swig4
55
];
56
57
buildInputs = [
58
boost17x
59
+
cbc
60
cimg
61
+
clp
62
eigen
63
+
glpk
64
lcov
65
lemon-graph
66
libjpeg
67
+
or-tools
68
pcre
69
python3
70
qtbase
71
+
re2
72
readline
73
spdlog
74
tcl
···
78
zlib
79
];
80
81
+
patches = [
82
+
./0001-Fix-string-formatting-in-tests.patch
83
+
./0002-Ignore-warning-on-stderr.patch
84
+
];
85
+
86
postPatch = ''
87
patchShebangs --build etc/find_messages.py
88
'';
···
92
"-DUSE_SYSTEM_BOOST=ON"
93
"-DUSE_CIMG_LIB=ON"
94
"-DOPENROAD_VERSION=${src.rev}"
95
+
96
+
# 2023-03-31: see discussion on fmt workaround in
97
+
# https://github.com/The-OpenROAD-Project/OpenROAD/pull/2696
98
+
"-DCMAKE_CXX_FLAGS=-DFMT_DEPRECATED_OSTREAM"
99
];
100
101
# Resynthesis needs access to the Yosys binaries.
102
qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ yosys ]}" ];
103
+
104
+
checkInputs = [ gtest ];
105
106
# Upstream uses vendored package versions for some dependencies, so regression testing is prudent
107
# to see if there are any breaking changes in unstable that should be vendored as well.
108
+
doCheck = true;
109
checkPhase = ''
110
+
../test/regression
0
0
111
'';
112
113
doInstallCheck = true;