From 48d920f1c393cb7694f55ae957a510b86e53a382 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 18 Jan 2026 09:36:11 +0000 Subject: [PATCH 1/4] halide: move to by-name --- .../halide/default.nix => by-name/ha/halide/package.nix} | 5 ++++- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) rename pkgs/{development/compilers/halide/default.nix => by-name/ha/halide/package.nix} (98%) diff --git a/pkgs/development/compilers/halide/default.nix b/pkgs/by-name/ha/halide/package.nix similarity index 98% rename from pkgs/development/compilers/halide/default.nix rename to pkgs/by-name/ha/halide/package.nix index ccd585f1ce4e..fcf4f8f3c00b 100644 --- a/pkgs/development/compilers/halide/default.nix +++ b/pkgs/by-name/ha/halide/package.nix @@ -1,6 +1,6 @@ { stdenv, - llvmPackages, + llvmPackages_19, lib, fetchFromGitHub, cmake, @@ -26,6 +26,9 @@ }: assert blas.implementation == "openblas" && lapack.implementation == "openblas"; +let + llvmPackages = llvmPackages_19; +in stdenv.mkDerivation (finalAttrs: { pname = "halide"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 80b277b69884..67b82c140480 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2777,10 +2777,6 @@ with pkgs; haste-client = callPackage ../tools/misc/haste-client { }; - halide = callPackage ../development/compilers/halide { - llvmPackages = llvmPackages_19; - }; - hareThirdParty = recurseIntoAttrs (callPackage ./hare-third-party.nix { }); hdf5 = callPackage ../tools/misc/hdf5 { From 72e9dcb8dd1e64fcbd7fccf1d1e922885a315a2f Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 18 Jan 2026 09:38:40 +0000 Subject: [PATCH 2/4] halide: cleanup --- pkgs/by-name/ha/halide/package.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ha/halide/package.nix b/pkgs/by-name/ha/halide/package.nix index fcf4f8f3c00b..7e914264c848 100644 --- a/pkgs/by-name/ha/halide/package.nix +++ b/pkgs/by-name/ha/halide/package.nix @@ -1,7 +1,7 @@ { + lib, stdenv, llvmPackages_19, - lib, fetchFromGitHub, cmake, fetchpatch2, @@ -72,18 +72,18 @@ stdenv.mkDerivation (finalAttrs: { ''; cmakeFlags = [ - "-DWITH_PYTHON_BINDINGS=${if pythonSupport then "ON" else "OFF"}" + (lib.cmakeBool "WITH_PYTHON_BINDINGS" pythonSupport) (lib.cmakeBool "WITH_TESTS" doCheck) (lib.cmakeBool "WITH_TUTORIALS" doCheck) # Disable performance tests since they may fail on busy machines - "-DWITH_TEST_PERFORMANCE=OFF" + (lib.cmakeBool "WITH_TEST_PERFORMANCE" false) # Disable fuzzing tests -- this has become the default upstream after the # v16 release (See https://github.com/halide/Halide/commit/09c5d1d19ec8e6280ccbc01a8a12decfb27226ba) # These tests also fail to compile on Darwin because of some missing command line options... - "-DWITH_TEST_FUZZ=OFF" + (lib.cmakeBool "WITH_TEST_FUZZ" false) # Disable FetchContent and use versions from nixpkgs instead - "-DHalide_USE_FETCHCONTENT=OFF" - "-DHalide_WASM_BACKEND=${if wasmSupport then "wabt" else "OFF"}" + (lib.cmakeBool "Halide_USE_FETCHCONTENT" false) + (lib.cmakeFeature "Halide_WASM_BACKEND" (if wasmSupport then "wabt" else "OFF")) (lib.cmakeBool "Halide_LLVM_SHARED_LIBS" wasmSupport) ]; @@ -161,6 +161,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "C++ based language for image processing and computational photography"; homepage = "https://halide-lang.org"; + changelog = "https://github.com/halide/Halide/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ From b17f16978d4079d014067ee7428950dc15e93a9c Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 18 Jan 2026 09:39:07 +0000 Subject: [PATCH 3/4] halide: 19.0.0 -> 21.0.0 Diff: https://github.com/halide/Halide/compare/v19.0.0...v21.0.0 Changelog: https://github.com/halide/Halide/releases/tag/v21.0.0 --- pkgs/by-name/ha/halide/package.nix | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/pkgs/by-name/ha/halide/package.nix b/pkgs/by-name/ha/halide/package.nix index 7e914264c848..3285c7d3f548 100644 --- a/pkgs/by-name/ha/halide/package.nix +++ b/pkgs/by-name/ha/halide/package.nix @@ -1,10 +1,9 @@ { lib, stdenv, - llvmPackages_19, + llvmPackages, fetchFromGitHub, cmake, - fetchpatch2, flatbuffers, libffi, libpng, @@ -26,35 +25,18 @@ }: assert blas.implementation == "openblas" && lapack.implementation == "openblas"; -let - llvmPackages = llvmPackages_19; -in stdenv.mkDerivation (finalAttrs: { pname = "halide"; - version = "19.0.0"; + version = "21.0.0"; src = fetchFromGitHub { owner = "halide"; repo = "Halide"; tag = "v${finalAttrs.version}"; - hash = "sha256-0SFGX4G6UR8NS4UsdFOb99IBq2/hEkr/Cm2p6zkIh/8="; + hash = "sha256-A5EnZgXc9+L+bzWHftaL74nHmP8Jf0rnT5KJAAWvKis="; }; - patches = [ - # The following two patches fix cmake/HalidePackageConfigHelpers.cmake to - # support specifying an absolute library install path (which is what Nix - # does when "lib" is included as a separate output) - (fetchpatch2 { - url = "https://github.com/halide/Halide/commit/ac2cd23951aff9ac3b765e51938f1e576f1f0ee9.diff?full_index=1"; - hash = "sha256-JTktOTSyReDUEHTaPPMoi+/K/Gzg39i6MI97cO3654k="; - }) - (fetchpatch2 { - url = "https://github.com/halide/Halide/commit/59f4fff30f4ab628da9aa7e5f77a7f1bb218a779.diff?full_index=1"; - hash = "sha256-yOzE+1jai1w1GQisLYfu8F9pbTE/bYg0MTLq8rPXdGk="; - }) - ]; - postPatch = '' substituteInPlace src/runtime/CMakeLists.txt --replace-fail \ '-isystem "''${VulkanHeaders_INCLUDE_DIR}"' \ @@ -104,6 +86,10 @@ stdenv.mkDerivation (finalAttrs: { "anderson2021_test_apps_autoscheduler" "correctness_cross_compilation" "correctness_simd_op_check_hvx" + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + # Failed Required regular expression not found + "mullapudi2016_histogram" ]; dontUseNinjaCheck = true; From cca086b8035345e8f32ab239b46ad69024885ee3 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 18 Jan 2026 21:02:00 +0000 Subject: [PATCH 4/4] halide: disable on darwin (compilation fails) --- pkgs/by-name/ha/halide/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/ha/halide/package.nix b/pkgs/by-name/ha/halide/package.nix index 3285c7d3f548..adb1918eefc4 100644 --- a/pkgs/by-name/ha/halide/package.nix +++ b/pkgs/by-name/ha/halide/package.nix @@ -156,5 +156,10 @@ stdenv.mkDerivation (finalAttrs: { twesterhout ]; broken = !stdenv.buildPlatform.canExecute stdenv.hostPlatform; + badPlatforms = [ + # Build fails on darwin: + # FAILED: [code=133] test/autoschedulers/anderson2021/anderson2021_demo.h + lib.systems.inspect.patterns.isDarwin + ]; }; })