diff --git a/pkgs/by-name/ie/ieda/fix-cmake-require.patch b/pkgs/by-name/ie/ieda/fix-cmake-require.patch new file mode 100644 index 0000000000000..0810e40f6c085 --- /dev/null +++ b/pkgs/by-name/ie/ieda/fix-cmake-require.patch @@ -0,0 +1,96 @@ +diff --git a/src/operation/iPNP/CMakeLists.txt b/src/operation/iPNP/CMakeLists.txt +index b8f308a6e..4749d5024 100644 +--- a/src/operation/iPNP/CMakeLists.txt ++++ b/src/operation/iPNP/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.0) ++cmake_minimum_required(VERSION 3.5) + set (CMAKE_CXX_STANDARD 20) + + add_subdirectory(api) +diff --git a/src/third_party/pybind11/CMakeLists.txt b/src/third_party/pybind11/CMakeLists.txt +index 0d9320388..5b5967713 100644 +--- a/src/third_party/pybind11/CMakeLists.txt ++++ b/src/third_party/pybind11/CMakeLists.txt +@@ -5,7 +5,7 @@ + # All rights reserved. Use of this source code is governed by a + # BSD-style license that can be found in the LICENSE file. + +-cmake_minimum_required(VERSION 3.4) ++cmake_minimum_required(VERSION 3.5) + + # The `cmake_minimum_required(VERSION 3.4...3.22)` syntax does not work with + # some versions of VS that have a patched CMake 3.11. This forces us to emulate +diff --git a/src/third_party/pybind11/tests/CMakeLists.txt b/src/third_party/pybind11/tests/CMakeLists.txt +index 9beb268ed..417cd04d0 100644 +--- a/src/third_party/pybind11/tests/CMakeLists.txt ++++ b/src/third_party/pybind11/tests/CMakeLists.txt +@@ -5,7 +5,7 @@ + # All rights reserved. Use of this source code is governed by a + # BSD-style license that can be found in the LICENSE file. + +-cmake_minimum_required(VERSION 3.4) ++cmake_minimum_required(VERSION 3.5) + + # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with + # some versions of VS that have a patched CMake 3.11. This forces us to emulate +diff --git a/src/third_party/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt b/src/third_party/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +index f7d693998..2847142a4 100644 +--- a/src/third_party/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt ++++ b/src/third_party/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.4) ++cmake_minimum_required(VERSION 3.5) + + # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with + # some versions of VS that have a patched CMake 3.11. This forces us to emulate +diff --git a/src/third_party/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt b/src/third_party/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +index d7ca4db55..74322f598 100644 +--- a/src/third_party/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt ++++ b/src/third_party/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.4) ++cmake_minimum_required(VERSION 3.5) + project(test_installed_module CXX) + + # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with +diff --git a/src/third_party/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt b/src/third_party/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +index bc5e101f1..2d21a21de 100644 +--- a/src/third_party/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt ++++ b/src/third_party/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.4) ++cmake_minimum_required(VERSION 3.5) + + # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with + # some versions of VS that have a patched CMake 3.11. This forces us to emulate +diff --git a/src/third_party/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt b/src/third_party/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +index 58cdd7cfd..f9835f31e 100644 +--- a/src/third_party/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt ++++ b/src/third_party/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.4) ++cmake_minimum_required(VERSION 3.5) + + # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with + # some versions of VS that have a patched CMake 3.11. This forces us to emulate +diff --git a/src/third_party/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt b/src/third_party/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +index 01557c439..6d96cc3b3 100644 +--- a/src/third_party/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt ++++ b/src/third_party/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.4) ++cmake_minimum_required(VERSION 3.5) + + # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with + # some versions of VS that have a patched CMake 3.11. This forces us to emulate +diff --git a/src/third_party/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt b/src/third_party/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +index ba82fdee2..6f8e04429 100644 +--- a/src/third_party/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt ++++ b/src/third_party/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.4) ++cmake_minimum_required(VERSION 3.5) + + # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with + # some versions of VS that have a patched CMake 3.11. This forces us to emulate diff --git a/pkgs/by-name/ie/ieda/package.nix b/pkgs/by-name/ie/ieda/package.nix index 9efef4c1c61ed..b33a3cefa3716 100644 --- a/pkgs/by-name/ie/ieda/package.nix +++ b/pkgs/by-name/ie/ieda/package.nix @@ -21,39 +21,39 @@ gmp, python3, onnxruntime, + pkg-config, + curl, + onetbb, }: let rootSrc = stdenv.mkDerivation { pname = "iEDA-src"; - version = "2025-06-30"; + version = "2025-09-10"; src = fetchgit { url = "https://gitee.com/oscc-project/iEDA"; - rev = "689f172c726c3934d49577f09adb5b09804f11e5"; - sha256 = "sha256-JJePIn+NUScb+3o67vT31BoKHcfBuE9osV4SrcicFds="; + rev = "614a91b4d18ba7dc561315f2d5fdae4a5451f486"; + sha256 = "sha256-xn1hpnSyO+jauYYhlsKjBkkD3RJ1GqbHtnWRe/My1R0="; }; patches = [ # This patch is to fix the build error caused by the missing of the header file, # and remove some libs or path that they hard-coded in the source code. - # Should be removed after we upstream these changes. + # Due to the way they organized the source code, it's hard to upstream this patch. + # So we have to maintain this patch locally. (fetchpatch { - url = "https://github.com/Emin017/iEDA/commit/c17e42a3673afd9c7ace9374f85290a85354bb78.patch"; - hash = "sha256-xa1oSy3OZ5r0TigGywzpVPvpPnA7L6RIcNktfFen4AA="; + url = "https://github.com/Emin017/iEDA/commit/c6b642f3db6c156eaf4f1203612592c86e49e1b5.patch"; + hash = "sha256-L0bmW7kadmLLng9rZOT1NpvniBpuD8SUqCfeH2cCrdg="; }) - # This patch is to fix the compile error on the newer version of gcc/g++ - # We remove some forward declarations which are not allowed in newer versions of gcc/g++ - # Should be removed after we upstream these changes. + # Comment out the iCTS test cases that will fail due to some linking issues on aarch64-linux (fetchpatch { - url = "https://github.com/Emin017/iEDA/commit/f5464cc40a2c671c5d405f16b509e2fa8d54f7f1.patch"; - hash = "sha256-uVMV/CjkX9oLexHJbQvnEDOET/ZqsEPreI6EQb3Z79s="; + url = "https://github.com/Emin017/iEDA/commit/87c5dded74bc452249e8e69f4a77dd1bed7445c2.patch"; + hash = "sha256-1Hd0DYnB5lVAoAcB1la5tDlox4cuQqApWDiiWtqWN0Q="; }) + # Fix CMake version requirement to support newer CMake versions, + # Should be removed once upstream fixed it. + ./fix-cmake-require.patch ]; - postPatch = '' - # Comment out the iCTS test cases that will fail due to some linking issues on aarch64-linux - sed -i '17,28s/^/# /' src/operation/iCTS/test/CMakeLists.txt - ''; - dontBuild = true; dontFixup = true; installPhase = '' @@ -66,7 +66,7 @@ let in stdenv.mkDerivation { pname = "iEDA"; - version = "0-unstable-2025-06-30"; + version = "0.1.0-unstable-2025-09-10"; src = rootSrc; @@ -77,6 +77,7 @@ stdenv.mkDerivation { bison python3 tcl + pkg-config ]; cmakeFlags = [ @@ -108,6 +109,8 @@ stdenv.mkDerivation { gmp tcl zlib + curl + onetbb ]; postInstall = '' @@ -128,7 +131,7 @@ stdenv.mkDerivation { runHook postInstallCheck ''; - doInstallCheck = true; + doInstallCheck = !stdenv.hostPlatform.isAarch64; # Tests will fail on aarch64-linux, wait for upstream fix: https://github.com/microsoft/onnxruntime/issues/10038 enableParallelBuild = true;