From 6face696cb30a9e1ee9f03d54f97b3ef7e17a688 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 16 Feb 2026 13:57:45 +0500 Subject: [PATCH] build-all - use cmake arg instead of a patch to disable ExpToCasExe --- nix/build-all.py | 20 +++++++++---------- nix/patches/occt/no_ExpToCasExe.patch | 22 +++++++++------------ nix/patches/occt/no_ExpToCasExe_7_7_2.patch | 13 ------------ nix/patches/occt/no_ExpToCasExe_7_8_1.patch | 13 ------------ nix/patches/occt/no_ExpToCasExe_7_9_1.patch | 13 ------------ 5 files changed, 18 insertions(+), 63 deletions(-) delete mode 100644 nix/patches/occt/no_ExpToCasExe_7_7_2.patch delete mode 100644 nix/patches/occt/no_ExpToCasExe_7_8_1.patch delete mode 100644 nix/patches/occt/no_ExpToCasExe_7_9_1.patch diff --git a/nix/build-all.py b/nix/build-all.py index fb9f38a45b..4faed1b54a 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -955,21 +955,18 @@ if "swig" in targets: ) if USE_OCCT and "occ" in targets: - patches = [] + occt_args: "list[str]" = [] + patches: "list[str]" = [] if OCCT_VERSION < "7.4": patches.append("./patches/occt/enable-exception-handling.patch") - if OCCT_VERSION == "7.7.1": + # Skip ExpToCasExe as we don't need it and it requires additional dependencies. + # Before 7.7.2 ExpToCasExe is part of DataExchange, DETools doesn't exist yet. + # Since we do need DataExchange (used for IgesSerializer), we use a patch to skip only ExpToCasExe. + if "7.7.2" > OCCT_VERSION >= "7.7": patches.append("./patches/occt/no_ExpToCasExe.patch") - - if OCCT_VERSION == "7.7.2": - patches.append("./patches/occt/no_ExpToCasExe_7_7_2.patch") - - if OCCT_VERSION == "7.8.1": - patches.append("./patches/occt/no_ExpToCasExe_7_8_1.patch") - - if OCCT_VERSION == "7.9.1": - patches.append("./patches/occt/no_ExpToCasExe_7_9_1.patch") + elif OCCT_VERSION >= "7.7.2": + occt_args.append("-DBUILD_MODULE_DETools=OFF") if "wasm" in flags: patches.append("./patches/occt/no_em_js.patch") @@ -990,6 +987,7 @@ if USE_OCCT and "occ" in targets: f"-DUSE_GLES2=OFF", f"-DCMAKE_POLICY_VERSION_MINIMUM=3.5", *MAC_CROSS_COMPILE_INTEL_ARGS, + *occt_args, ], download_url="https://github.com/Open-Cascade-SAS/OCCT", download_name="occt", diff --git a/nix/patches/occt/no_ExpToCasExe.patch b/nix/patches/occt/no_ExpToCasExe.patch index 6e10f2a9fb..2f99845925 100644 --- a/nix/patches/occt/no_ExpToCasExe.patch +++ b/nix/patches/occt/no_ExpToCasExe.patch @@ -1,13 +1,9 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fd17283f77..6cecf9dad3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -826,6 +826,8 @@ if (EMSCRIPTEN) - list (REMOVE_ITEM BUILD_TOOLKITS ExpToCasExe) - endif() - -+list (REMOVE_ITEM BUILD_TOOLKITS ExpToCasExe) -+ - # bison - if (BUILD_YACCLEX) - OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/bison") +--- a/adm/MODULES ++++ b/adm/MODULES +@@ -3,5 +3,5 @@ ModelingData TKG2d TKG3d TKGeomBase TKBRep + ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing + Visualization TKService TKV3d TKOpenGl TKOpenGles TKMeshVS TKIVtk TKD3DHost + ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF +-DataExchange TKXDE TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh TKXDECascade TKExpress ExpToCasExe ++DataExchange TKXDE TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh TKXDECascade TKExpress + Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE diff --git a/nix/patches/occt/no_ExpToCasExe_7_7_2.patch b/nix/patches/occt/no_ExpToCasExe_7_7_2.patch deleted file mode 100644 index 8b9f924e83..0000000000 --- a/nix/patches/occt/no_ExpToCasExe_7_7_2.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1bacca1a48..11f931ad39 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -820,6 +820,8 @@ else() - OCCT_CHECK_AND_UNSET ("3RDPARTY_DOT_EXECUTABLE") - endif() - -+list (REMOVE_ITEM BUILD_TOOLKITS ExpToCasExe) -+ - # bison - if (BUILD_YACCLEX) - OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/bison") diff --git a/nix/patches/occt/no_ExpToCasExe_7_8_1.patch b/nix/patches/occt/no_ExpToCasExe_7_8_1.patch deleted file mode 100644 index 63d6fd3206..0000000000 --- a/nix/patches/occt/no_ExpToCasExe_7_8_1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 86905287dc..9d0bce984c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -828,6 +828,8 @@ else() - OCCT_CHECK_AND_UNSET ("3RDPARTY_DOT_EXECUTABLE") - endif() - -+list (REMOVE_ITEM BUILD_TOOLKITS ExpToCasExe) -+ - # bison - if (BUILD_YACCLEX) - OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/bison") diff --git a/nix/patches/occt/no_ExpToCasExe_7_9_1.patch b/nix/patches/occt/no_ExpToCasExe_7_9_1.patch deleted file mode 100644 index abe2b20ef9..0000000000 --- a/nix/patches/occt/no_ExpToCasExe_7_9_1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 34300d41ad..09b2e0d45f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -721,6 +721,8 @@ else() - OCCT_CHECK_AND_UNSET ("3RDPARTY_DOT_EXECUTABLE") - endif() - -+list (REMOVE_ITEM BUILD_TOOLKITS ExpToCasExe) -+ - # bison - if (BUILD_YACCLEX) - list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/bison")