From 9720de3f1f7f8ad28cf3fafbf1349037ce2895d6 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 19 Apr 2025 01:10:23 +0200 Subject: [PATCH 1/3] yosys: move to by-name --- .../compilers => by-name/yo}/yosys/fix-clang-build.patch | 0 .../compilers/yosys/default.nix => by-name/yo/yosys/package.nix} | 0 .../compilers => by-name/yo}/yosys/plugin-search-dirs.patch | 0 pkgs/{development/compilers => by-name/yo}/yosys/setup-hook.sh | 0 pkgs/top-level/all-packages.nix | 1 - 5 files changed, 1 deletion(-) rename pkgs/{development/compilers => by-name/yo}/yosys/fix-clang-build.patch (100%) rename pkgs/{development/compilers/yosys/default.nix => by-name/yo/yosys/package.nix} (100%) rename pkgs/{development/compilers => by-name/yo}/yosys/plugin-search-dirs.patch (100%) rename pkgs/{development/compilers => by-name/yo}/yosys/setup-hook.sh (100%) diff --git a/pkgs/development/compilers/yosys/fix-clang-build.patch b/pkgs/by-name/yo/yosys/fix-clang-build.patch similarity index 100% rename from pkgs/development/compilers/yosys/fix-clang-build.patch rename to pkgs/by-name/yo/yosys/fix-clang-build.patch diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/by-name/yo/yosys/package.nix similarity index 100% rename from pkgs/development/compilers/yosys/default.nix rename to pkgs/by-name/yo/yosys/package.nix diff --git a/pkgs/development/compilers/yosys/plugin-search-dirs.patch b/pkgs/by-name/yo/yosys/plugin-search-dirs.patch similarity index 100% rename from pkgs/development/compilers/yosys/plugin-search-dirs.patch rename to pkgs/by-name/yo/yosys/plugin-search-dirs.patch diff --git a/pkgs/development/compilers/yosys/setup-hook.sh b/pkgs/by-name/yo/yosys/setup-hook.sh similarity index 100% rename from pkgs/development/compilers/yosys/setup-hook.sh rename to pkgs/by-name/yo/yosys/setup-hook.sh diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 80a1ad392d14..cb029e151c62 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6139,7 +6139,6 @@ with pkgs; ); # prolog - yosys = callPackage ../development/compilers/yosys { }; yosys-bluespec = callPackage ../development/compilers/yosys/plugins/bluespec.nix { }; yosys-ghdl = callPackage ../development/compilers/yosys/plugins/ghdl.nix { }; yosys-synlig = callPackage ../development/compilers/yosys/plugins/synlig.nix { }; From 4d18d2d1ce3ab662c9d6214d6f4f5e6e0c9ac7db Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 10 Apr 2025 09:49:07 +0200 Subject: [PATCH 2/3] yosys: cleanup --- pkgs/by-name/yo/yosys/package.nix | 90 +++++++++++++++++++------------ 1 file changed, 57 insertions(+), 33 deletions(-) diff --git a/pkgs/by-name/yo/yosys/package.nix b/pkgs/by-name/yo/yosys/package.nix index 708d1fd40d10..9561e2a40523 100644 --- a/pkgs/by-name/yo/yosys/package.nix +++ b/pkgs/by-name/yo/yosys/package.nix @@ -1,24 +1,34 @@ { - stdenv, lib, - bison, - boost, + stdenv, fetchFromGitHub, + + # nativeBuildInputs + bison, flex, - gtkwave, - libffi, - makeWrapper, pkg-config, + + # propagatedBuildInputs + libffi, python3, readline, - symlinkJoin, tcl, - iverilog, zlib, + boost, + + # tests + gtkwave, + iverilog, + + # passthru + # plugins + symlinkJoin, yosys, + makeWrapper, yosys-bluespec, yosys-ghdl, yosys-symbiflow, + nix-update-script, enablePython ? true, # enable python binding }: @@ -73,11 +83,6 @@ let ghdl = yosys-ghdl; } // (yosys-symbiflow); - boost_python = boost.override { - enablePython = true; - python = python3; - }; - in stdenv.mkDerivation (finalAttrs: { pname = "yosys"; @@ -105,22 +110,39 @@ stdenv.mkDerivation (finalAttrs: { }; enableParallelBuilding = true; - nativeBuildInputs = [ - pkg-config - bison - flex - ]; - propagatedBuildInputs = [ - tcl - readline - libffi - zlib - (python3.withPackages ( - pp: with pp; [ - click - ] - )) - ] ++ lib.optional enablePython boost_python; + nativeBuildInputs = + [ + bison + flex + pkg-config + ] + ++ lib.optionals enablePython [ + (python3.withPackages ( + p: with p; [ + pip + setuptools + ] + )) + ]; + + propagatedBuildInputs = + [ + libffi + readline + tcl + zlib + ] + ++ lib.optionals enablePython [ + (python3.withPackages ( + pp: with pp; [ + click + ] + )) + (boost.override { + enablePython = true; + python = python3; + }) + ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; @@ -170,14 +192,16 @@ stdenv.mkDerivation (finalAttrs: { passthru = { inherit withPlugins allPlugins; + updateScript = nix-update-script { }; }; - meta = with lib; { + meta = { description = "Open RTL synthesis framework and tools"; homepage = "https://yosyshq.net/yosys/"; - license = licenses.isc; - platforms = platforms.all; - maintainers = with maintainers; [ + changelog = "https://github.com/YosysHQ/yosys/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.isc; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ shell thoughtpolice Luflosi From 5c40143e100d6b47dc03e6ce003ba256b0784520 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 10 Apr 2025 10:00:03 +0200 Subject: [PATCH 3/3] yosys: 0.51 -> 0.54 Diff: https://github.com/YosysHQ/yosys/compare/refs/tags/v0.51...refs/tags/v0.54 Changelog: https://github.com/YosysHQ/yosys/releases/tag/v0.54 --- pkgs/by-name/yo/yosys/fix-clang-build.patch | 14 +++++---- pkgs/by-name/yo/yosys/package.nix | 35 +++++++-------------- 2 files changed, 19 insertions(+), 30 deletions(-) diff --git a/pkgs/by-name/yo/yosys/fix-clang-build.patch b/pkgs/by-name/yo/yosys/fix-clang-build.patch index 05ba4fbc5929..63cec283ad65 100644 --- a/pkgs/by-name/yo/yosys/fix-clang-build.patch +++ b/pkgs/by-name/yo/yosys/fix-clang-build.patch @@ -1,18 +1,20 @@ +diff --git a/tests/cxxrtl/run-test.sh b/tests/cxxrtl/run-test.sh +index ee299fc82..595cd3f88 100755 --- a/tests/cxxrtl/run-test.sh +++ b/tests/cxxrtl/run-test.sh @@ -5,7 +5,7 @@ set -ex run_subtest () { local subtest=$1; shift - + - ${CC:-gcc} -std=c++11 -O2 -o cxxrtl-test-${subtest} -I../../backends/cxxrtl/runtime test_${subtest}.cc -lstdc++ + ${CXX:-gcc} -std=c++11 -O2 -o cxxrtl-test-${subtest} -I../../backends/cxxrtl/runtime test_${subtest}.cc -lstdc++ ./cxxrtl-test-${subtest} } - + @@ -14,4 +14,4 @@ run_subtest value_fuzz - + # Compile-only test. - ../../yosys -p "read_verilog test_unconnected_output.v; proc; clean; write_cxxrtl cxxrtl-test-unconnected_output.cc" + ../../yosys -p "read_verilog test_unconnected_output.v; select =*; proc; clean; write_cxxrtl cxxrtl-test-unconnected_output.cc" -${CC:-gcc} -std=c++11 -c -o cxxrtl-test-unconnected_output -I../../backends/cxxrtl/runtime cxxrtl-test-unconnected_output.cc +${CXX:-gcc} -std=c++11 -c -o cxxrtl-test-unconnected_output -I../../backends/cxxrtl/runtime cxxrtl-test-unconnected_output.cc diff --git a/tests/fmt/run-test.sh b/tests/fmt/run-test.sh @@ -21,7 +23,7 @@ index 998047f83..2a4a59f01 100644 +++ 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../../backends/cxxrtl/runtime ${subtest}_tb.cc -lstdc++ + ${CXX:-gcc} -std=c++11 -o yosys-${subtest} -I../../backends/cxxrtl/runtime ${subtest}_tb.cc -lstdc++ @@ -29,7 +31,7 @@ index 998047f83..2a4a59f01 100644 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../../backends/cxxrtl/runtime display_lm_tb.cc -lstdc++ diff --git a/pkgs/by-name/yo/yosys/package.nix b/pkgs/by-name/yo/yosys/package.nix index 9561e2a40523..f42939b2d906 100644 --- a/pkgs/by-name/yo/yosys/package.nix +++ b/pkgs/by-name/yo/yosys/package.nix @@ -14,7 +14,6 @@ readline, tcl, zlib, - boost, # tests gtkwave, @@ -86,13 +85,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "yosys"; - version = "0.51"; + version = "0.54"; src = fetchFromGitHub { owner = "YosysHQ"; repo = "yosys"; tag = "v${finalAttrs.version}"; - hash = "sha256-Y2Gf3CXd1em+4dlIo2+dwfZbqahM3kqG0rZUTjkIZak="; + hash = "sha256-yEAZvdBc+923a0OTtaCpTbrl33kcmvgwFlL5VEssHkQ="; fetchSubmodules = true; leaveDotGit = true; postFetch = '' @@ -110,20 +109,11 @@ stdenv.mkDerivation (finalAttrs: { }; enableParallelBuilding = true; - nativeBuildInputs = - [ - bison - flex - pkg-config - ] - ++ lib.optionals enablePython [ - (python3.withPackages ( - p: with p; [ - pip - setuptools - ] - )) - ]; + nativeBuildInputs = [ + bison + flex + pkg-config + ]; propagatedBuildInputs = [ @@ -131,24 +121,21 @@ stdenv.mkDerivation (finalAttrs: { readline tcl zlib - ] - ++ lib.optionals enablePython [ (python3.withPackages ( pp: with pp; [ click ] )) - (boost.override { - enablePython = true; - python = python3; - }) + ] + ++ lib.optionals enablePython [ + python3.pkgs.boost ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; patches = [ ./plugin-search-dirs.patch - ./fix-clang-build.patch # see https://github.com/YosysHQ/yosys/issues/2011 + ./fix-clang-build.patch ]; postPatch = ''