!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

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

Load older messages


SenderMessageTime
27 Nov 2025
@reckenrode:matrix.orgRandy EckenrodeIf there’s a way we can make it available automatically in dev shells, we can do that to improve the UX. Otherwise, it can be in the stdenv because it would pull a bunch of Python deps into the bootstrap.20:12:56
@samasaur:matrix.orgsamasaurisn't llvm-manpages just an issue for cctools?20:20:50
@samasaur:matrix.orgsamasaur like the API manpages are from the SDK an dseem like they were just rm'd 20:21:04
@reckenrode:matrix.orgRandy EckenrodeIf any of the source releases have them, they’re usually included in the build.20:33:51
@samasaur:matrix.orgsamasaur but for like. man write in a dev shell 20:36:49
@samasaur:matrix.orgsamasaur it looks in $DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man 20:37:48
@samasaur:matrix.orgsamasaurwhich doesn't exist in our current SDKs, but feels like it pretty easily could, since we download manpages as part of the SDK20:40:06
@samasaur:matrix.orgsamasaurunless what's downloaded still needs to be built and that build requires llvm-manpages20:40:31
@samasaur:matrix.orgsamasaur* unless what's downloaded still needs to be built and that build requires llvm-manpages?20:40:33
@reckenrode:matrix.orgRandy EckenrodeNo, they’re removed to limit what we’re distributing from the SDK to headers and stubs since those are arguably necessary for interoperability. Most of those man pages should be obtainable from the source releases.20:41:31
@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

Show newer messages


Back to Room ListRoom Version: 6