!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1161 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org187 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
27 Nov 2025
@reckenrode:matrix.orgRandy Eckenrode We could possibly smuggle them in via the empty darwin.libSystem derivation. 20:41:59
28 Nov 2025
@reckenrode:matrix.orgRandy EckenrodeI’ve picked my Swift work back up. I’m trying to make the versioning of the LLVM fork more accurate to what Apple uses. The source is LLVM 19.1.5, but the version reported is 17.0.0. That’s probably going to make dealing with the overrides a lot of fun.16:27:47
@reckenrode:matrix.orgRandy Eckenrode

The new, scope-based LLVM is so much nicer to override. There’s still jank, but I don’t have to do anything to handle build vs. host vs. target packages.


(llvmPackages_19.override {
  officialRelease = {
    version = "19.1.5"; # From https://github.com/swiftlang/llvm-project/blob/swift-$swiftVersion-RELEASE/cmake/Modules/LLVMVersion.cmake
  };

  monorepoSrc = fetchFromGitHub {
    owner = "swiftlang";
    repo = "llvm-project";
    tag = "swift-${lib.getVersion swift}-RELEASE";
    hash = "sha256-DahdGT8VMBOXuwfhtXIJGFJmmhzzoQ6NdpU2CDs5B/s=";
  };

  otherSplices = generateSplicesForMkScope [
    "swiftPackages"
    "llvmPackages"
  ];
}).overrideScope
  (
    _: prev: {
      version = "17.0.0"; # From https://github.com/swiftlang/swift/blob/swift-$swiftVersion-RELEASE/utils/build_swift/build_swift/defaults.py#L51
    }
  )
17:26:02
@reckenrode:matrix.orgRandy Eckenrode *

The new, scope-based LLVM is so much nicer to override. There’s still jank, but I don’t have to do anything to handle build vs. host vs. target packages.

let
  swiftlangLlvmVersion = "17.0.0"; # From https://github.com/swiftlang/swift/blob/swift-$swiftVersion-RELEASE/utils/build_swift/build_swift/defaults.py#L51
  llvmVersion = "19.1.5"; # From https://github.com/swiftlang/llvm-project/blob/swift-$swiftVersion-RELEASE/cmake/Modules/LLVMVersion.cmake
in
(llvmPackages_19.override {
  officialRelease = { version = llvmVersion; };

  monorepoSrc = fetchFromGitHub {
    owner = "swiftlang";
    repo = "llvm-project";
    tag = "swift-${lib.getVersion swift}-RELEASE";
    hash = "sha256-DahdGT8VMBOXuwfhtXIJGFJmmhzzoQ6NdpU2CDs5B/s=";
  };

  otherSplices = generateSplicesForMkScope [
    "swiftPackages"
    "llvmPackages"
  ];
}).overrideScope
  (
    _: prev: {
      version = swiftlangLlvmVersion;
      release_version = llvmVersion;
    }
  )
17:30:48
@reckenrode:matrix.orgRandy EckenrodeThe weird version overrides are because of the way LLVM captures the version.17:31:14
@reckenrode:matrix.orgRandy EckenrodeI want the package version to match the one advertised by Swift. Ideally, I could it to build LLVM, but that would really break the patches.17:32:44
@reckenrode:matrix.orgRandy Eckenrode * 17:32:52
@reckenrode:matrix.orgRandy Eckenrode * 17:33:15
@reckenrode:matrix.orgRandy Eckenrode (This means the Swift clang will print 19.1.5 for its version instead of 17.0.0.) 17:34:26
@samasaur:matrix.orgsamasaurexciting!20:44:08
@samasaur:matrix.orgsamasaurdo let me know if i can help at all20:44:12
@sarahec:matrix.orgSarah Clark I have a weird build error that I'm trying to fix. python3Packages.torchtune crashes in importsCheckPhase when it imports python3Packages.sentencepiece on Darwin. I've confirmed that other python packages that depend on sentencepiece fail in the same way, but not if it's only used as a check dependency. The final weirdness: nix-build of sentencepiece picks up a prebuilt package, but calling it with --check shows a non-deterministic build. 21:05:19
@sarahec:matrix.orgSarah ClarkConsole.app is how I first depetermined its sentencepiece21:05:51
@sarahec:matrix.orgSarah Clark* Console.app is how I first determined it's sentencepiece that's failing21:07:08
@sarahec:matrix.orgSarah Clark
21:12:23
@sarahec:matrix.orgSarah Clark* error: derivation 'rj3n6mm11f90ssv0az0aplkiy9b2s48l-python3.13-sentencepiece-0.2.1.drv' may not be deterministic: outputs differ output '/nix/store/cpjk1gyzyz6j18jxfpsswdd0rggyzjah-python3.13-sentencepiece-0.2.1' differs21:12:29
@sarahec:matrix.orgSarah Clark *
error: derivation 'rj3n6mm11f90ssv0az0aplkiy9b2s48l-python3.13-sentencepiece-0.2.1.drv' may not be deterministic: outputs differ
         output '/nix/store/cpjk1gyzyz6j18jxfpsswdd0rggyzjah-python3.13-sentencepiece-0.2.1' differs
21:24:35
@reckenrode:matrix.orgRandy EckenrodeThat’s expected on Darwin.21:48:53
@sarahec:matrix.orgSarah ClarkThe non-deterministic build?22:03:27
@sarahec:matrix.orgSarah ClarkOr the sentencepiece crash? (In which case I would mark Darwin as a bad platform)22:03:52
@reckenrode:matrix.orgRandy EckenrodeThis.22:08:35

Show newer messages


Back to Room ListRoom Version: 6