Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions pkgs/by-name/ie/ieda/fix-cmake-require.patch
Original file line number Diff line number Diff line change
@@ -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
39 changes: 21 additions & 18 deletions pkgs/by-name/ie/ieda/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ''
Expand All @@ -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;

Expand All @@ -77,6 +77,7 @@ stdenv.mkDerivation {
bison
python3
tcl
pkg-config
];

cmakeFlags = [
Expand Down Expand Up @@ -108,6 +109,8 @@ stdenv.mkDerivation {
gmp
tcl
zlib
curl
onetbb
];

postInstall = ''
Expand All @@ -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;

Expand Down
Loading