From f8e3fc18b60256244bec637822fd7e964b96d4f9 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 17 Sep 2025 16:01:00 +0100 Subject: [PATCH 1/4] microsoft-gsl: 4.0.0 -> 4.2.0 Fixes the build with CMake 4. Diff: https://github.com/Microsoft/GSL/compare/v4.0.0...v4.2.0 Co-authored-by: K900 --- pkgs/by-name/mi/microsoft-gsl/package.nix | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/mi/microsoft-gsl/package.nix b/pkgs/by-name/mi/microsoft-gsl/package.nix index 1ababa6047a5..232517d6663f 100644 --- a/pkgs/by-name/mi/microsoft-gsl/package.nix +++ b/pkgs/by-name/mi/microsoft-gsl/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, cmake, gtest, pkg-config, @@ -10,13 +9,13 @@ stdenv.mkDerivation rec { pname = "microsoft-gsl"; - version = "4.0.0"; + version = "4.2.0"; src = fetchFromGitHub { owner = "Microsoft"; repo = "GSL"; rev = "v${version}"; - hash = "sha256-cXDFqt2KgMFGfdh6NGE+JmP4R0Wm9LNHM0eIblYe6zU="; + hash = "sha256-NrnYfCCeQ50oHYFbn9vh5Z4mfyxc0kAM3qnzQdq9gyM="; }; nativeBuildInputs = [ @@ -25,17 +24,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ gtest ]; - # negate the `-Werror` flag as Microsoft doesn't build with clang - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error"; - - patches = [ - # nvcc doesn't recognize the "gsl" attribute namespace (microsoft/onnxruntime#13573) - # only affects nvcc - (fetchpatch { - url = "https://raw.githubusercontent.com/microsoft/onnxruntime/4bfa69def85476b33ccfaf68cf070f3fb65d39f7/cmake/patches/gsl/1064.patch"; - hash = "sha256-0jESA+VENWQms9HGE0jRiZZuWLJehBlbArxSaQbYOrM="; - }) - ]; + # C++17 required by latest gtest + env.NIX_CFLAGS_COMPILE = "-std=c++17"; doCheck = true; From 30164d395c5508284298856acb8a5006d483a0e1 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 17 Sep 2025 16:10:47 +0100 Subject: [PATCH 2/4] onnxruntime: drop unused `pytorch_clog` dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is apparently only used by old versions of XNNPACK, which we are not using in the first place. It doesn’t build with CMake 4. --- pkgs/by-name/on/onnxruntime/package.nix | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/pkgs/by-name/on/onnxruntime/package.nix b/pkgs/by-name/on/onnxruntime/package.nix index e6c0ee78a57f..ac3a8dbc6d82 100644 --- a/pkgs/by-name/on/onnxruntime/package.nix +++ b/pkgs/by-name/on/onnxruntime/package.nix @@ -8,7 +8,6 @@ cpuinfo, eigen, flatbuffers_23, - gbenchmark, glibcLocales, gtest, howard-hinnant-date, @@ -56,25 +55,6 @@ let hash = "sha256-pjwjrqq6dfiVsXIhbBtbolhiysiFlFTnx5XcX77f+C0="; }; - pytorch_clog = effectiveStdenv.mkDerivation { - pname = "clog"; - version = "3c8b153"; - src = "${cpuinfo.src}/deps/clog"; - - nativeBuildInputs = [ - cmake - gbenchmark - gtest - ]; - cmakeFlags = [ - (lib.cmakeBool "USE_SYSTEM_GOOGLEBENCHMARK" true) - (lib.cmakeBool "USE_SYSTEM_GOOGLETEST" true) - (lib.cmakeBool "USE_SYSTEM_LIBS" true) - # 'clog' tests set 'CXX_STANDARD 11'; this conflicts with our 'gtest'. - (lib.cmakeBool "CLOG_BUILD_TESTS" false) - ]; - }; - onnx = fetchFromGitHub { owner = "onnx"; repo = "onnx"; @@ -139,7 +119,6 @@ effectiveStdenv.mkDerivation rec { libpng nlohmann_json microsoft-gsl - pytorch_clog zlib ] ++ lib.optionals (lib.meta.availableOn effectiveStdenv.hostPlatform cpuinfo) [ From 4278df7785f57285a34565f92a60fa5b3bf35f7b Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 17 Sep 2025 16:10:47 +0100 Subject: [PATCH 3/4] onnxruntime: update `dlpack` pin This is the commit upstream is pinning, and contains a fix for CMake 4. --- pkgs/by-name/on/onnxruntime/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/on/onnxruntime/package.nix b/pkgs/by-name/on/onnxruntime/package.nix index ac3a8dbc6d82..c42ea8d90f08 100644 --- a/pkgs/by-name/on/onnxruntime/package.nix +++ b/pkgs/by-name/on/onnxruntime/package.nix @@ -72,8 +72,8 @@ let dlpack = fetchFromGitHub { owner = "dmlc"; repo = "dlpack"; - tag = "v0.6"; - hash = "sha256-YJdZ0cMtUncH5Z6TtAWBH0xtAIu2UcbjnVcCM4tfg20="; + rev = "5c210da409e7f1e51ddf445134a4376fdbd70d7d"; + hash = "sha256-YqgzCyNywixebpHGx16tUuczmFS5pjCz5WjR89mv9eI="; }; isCudaJetson = cudaSupport && cudaPackages.flags.isJetsonBuild; From ad66cc4d16483a77d860488e863b83e19989ff17 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 17 Sep 2025 16:53:54 +0100 Subject: [PATCH 4/4] onnxruntime: require macOS 13.3 Otherwise the build fails with the system libc++ changes. --- pkgs/by-name/on/onnxruntime/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/on/onnxruntime/package.nix b/pkgs/by-name/on/onnxruntime/package.nix index c42ea8d90f08..2964c8a1ac37 100644 --- a/pkgs/by-name/on/onnxruntime/package.nix +++ b/pkgs/by-name/on/onnxruntime/package.nix @@ -17,8 +17,9 @@ python3Packages, re2, zlib, - microsoft-gsl, protobuf, + microsoft-gsl, + darwinMinVersionHook, pythonSupport ? true, cudaSupport ? config.cudaSupport, ncclSupport ? config.cudaSupport, @@ -149,7 +150,10 @@ effectiveStdenv.mkDerivation rec { nccl ] ) - ); + ) + ++ lib.optionals effectiveStdenv.hostPlatform.isDarwin [ + (darwinMinVersionHook "13.3") + ]; nativeCheckInputs = [ gtest