From b82d963e7bc6a29e90b6a9a9dd70d6c068271e80 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Wed, 6 Sep 2023 10:19:25 +0200 Subject: [PATCH] yosys: 0.32 -> 0.33 https://github.com/YosysHQ/yosys/releases/tag/yosys-0.33 A patch needed to be adapted to fix this error on macOS: ``` + clang -std=c++11 -o yosys-always_full -I../.. always_full_tb.cc -lstdc++ In file included from always_full_tb.cc:1: In file included from ./yosys-always_full.cc:1: ../../backends/cxxrtl/cxxrtl.h:29:10: fatal error: 'cstddef' file not found #include ^~~~~~~~~ 1 error generated. make: *** [Makefile:885: test] Error 1 ``` --- pkgs/development/compilers/yosys/default.nix | 4 +-- .../compilers/yosys/fix-clang-build.patch | 28 +++++++++++++++++-- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix index 6ce2cc9f162e..ae7a653d7473 100644 --- a/pkgs/development/compilers/yosys/default.nix +++ b/pkgs/development/compilers/yosys/default.nix @@ -71,13 +71,13 @@ let in stdenv.mkDerivation rec { pname = "yosys"; - version = "0.32"; + version = "0.33"; src = fetchFromGitHub { owner = "YosysHQ"; repo = "yosys"; rev = "${pname}-${version}"; - hash = "sha256-ER61pIvXNjV74A9LwxeXDXoQFkVgqjdI9KiYQyOobk8="; + hash = "sha256-3MsWF161pqqeAbmeTlkQY6UpU4pq1WT0XXK9yciwt0M="; }; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/yosys/fix-clang-build.patch b/pkgs/development/compilers/yosys/fix-clang-build.patch index f44d60d7e6ec..e81ddefcd9cc 100644 --- a/pkgs/development/compilers/yosys/fix-clang-build.patch +++ b/pkgs/development/compilers/yosys/fix-clang-build.patch @@ -1,8 +1,8 @@ diff --git a/Makefile b/Makefile -index 86abc6958..a72f7b792 100644 +index fa95b7b70..4d15ed721 100644 --- a/Makefile +++ b/Makefile -@@ -187,7 +192,7 @@ endif +@@ -215,7 +215,7 @@ ABC_ARCHFLAGS += "-DABC_NO_RLIMIT" endif ifeq ($(CONFIG),clang) @@ -10,4 +10,26 @@ index 86abc6958..a72f7b792 100644 +CXX = clang++ LD = clang++ CXXFLAGS += -std=$(CXXSTD) -Os - ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H" + ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H -Wno-c++11-narrowing $(ABC_ARCHFLAGS)" +diff --git a/tests/fmt/run-test.sh b/tests/fmt/run-test.sh +index 914a72347..bc0b129d2 100644 +--- a/tests/fmt/run-test.sh ++++ b/tests/fmt/run-test.sh +@@ -51,7 +51,7 @@ test_cxxrtl () { + local subtest=$1; shift + + ../../yosys -p "read_verilog ${subtest}.v; proc; clean; write_cxxrtl -print-output std::cerr yosys-${subtest}.cc" +- ${CC:-gcc} -std=c++11 -o yosys-${subtest} -I../.. ${subtest}_tb.cc -lstdc++ ++ ${CXX:-gcc} -std=c++11 -o yosys-${subtest} -I../.. ${subtest}_tb.cc -lstdc++ + ./yosys-${subtest} 2>yosys-${subtest}.log + iverilog -o iverilog-${subtest} ${subtest}.v ${subtest}_tb.v + ./iverilog-${subtest} |grep -v '\$finish called' >iverilog-${subtest}.log +@@ -69,7 +69,7 @@ diff iverilog-always_full.log iverilog-always_full-1.log + + ../../yosys -p "read_verilog display_lm.v" >yosys-display_lm.log + ../../yosys -p "read_verilog display_lm.v; write_cxxrtl yosys-display_lm.cc" +-${CC:-gcc} -std=c++11 -o yosys-display_lm_cc -I../.. display_lm_tb.cc -lstdc++ ++${CXX:-gcc} -std=c++11 -o yosys-display_lm_cc -I../.. display_lm_tb.cc -lstdc++ + ./yosys-display_lm_cc >yosys-display_lm_cc.log + for log in yosys-display_lm.log yosys-display_lm_cc.log; do + grep "^%l: \\\\bot\$" "$log"