!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

229 Members
73 Servers

Load older messages


SenderMessageTime
13 Dec 2024
@rosscomputerguy:matrix.orgTristan Ross toolschain, cc, linker, and bintools 22:31:50
@rosscomputerguy:matrix.orgTristan Ross My hope is to make nixpkgs more flexible with possible options and ways you can tune it or modify the compilation. 22:40:59
@rosscomputerguy:matrix.orgTristan RossWe have the ability to make it possible so why not have it as an actual feature.22:41:17
@rosscomputerguy:matrix.orgTristan RossImproving the UX on changing the compilers might be the first thing before I start work towards a pure LLVM Linux toolchain.22:41:54
@rosscomputerguy:matrix.orgTristan Ross * Improving the UX on changing the compilers might be the first thing before I start work towards a pure LLVM Linux bootstrap.22:42:06
@rosscomputerguy:matrix.orgTristan Rosshttps://github.com/NixOS/nixpkgs/pull/36505723:58:40
14 Dec 2024
@rosscomputerguy:matrix.orgTristan Ross Randy Eckenrode: I get a Darwin CI failure with infinite recursion and I'm not familiar enough with Darwin to fix it. Any ideas? 00:15:03
@rosscomputerguy:matrix.orgTristan RossOh, I fixed it00:19:50
@rosscomputerguy:matrix.orgTristan Ross I accidentally used *Platform.cc instead of *Platform.toolchain 00:20:15
@rosscomputerguy:matrix.orgTristan RossSo it must've included a dependency badly in the wrong stage00:20:33
@reckenrode:matrix.orgRandy EckenrodeI would rather the stdenv not have compilers than to double down by wiring more compiler assumptions into it.00:26:26
@rosscomputerguy:matrix.orgTristan RossI'm not sure I understand what you mean.00:32:01
@rosscomputerguy:matrix.orgTristan Rosshttps://github.com/NixOS/nixpkgs/pull/364050 we probably should get this done05:56:15
@truby:matrix.orgtruby I managed to get my environment with libcxxStdenv and C++ dependencies built with libc++ working, but I had a few issues that I think might need fixing; I am not sure why I have to specify clang-scan-deps here like this, and can't just use llvmPackages.clang-tools. I've had this issue before when switching to a newer GCC version too (that the wrong gcc stdlib is selected).
Also, cmake can't find clang-scan-deps automatically, I have to pass -DCMAKE_CXX_COMPILER_CLANG_SCAN_DEPS=clang-scan-deps, even though it's on my path. Not sure why exactly that's happening.
14:49:55
@truby:matrix.orgtrubyAnyone got ideas here? I mean at least it works now, so I'm happy with that 😄14:50:29
@reckenrode:matrix.orgRandy Eckenrode
In reply to @rosscomputerguy:matrix.org
I'm not sure I understand what you mean.
Maybe I’m misunderstanding, but is the proposal to change compiler by specifying it in the attrset (e.g., cc = "clang")?
14:52:42
@reckenrode:matrix.orgRandy Eckenrode In general, I don’t like how C is given a privileged position in the stdenv. I would rather that you have to add, e.g., autotoolsHook to build an autotools package just like you would one using Meson or CMake or cargo or whatever. 14:53:50
@rosscomputerguy:matrix.orgTristan Ross
In reply to @reckenrode:matrix.org
Maybe I’m misunderstanding, but is the proposal to change compiler by specifying it in the attrset (e.g., cc = "clang")?
Yeah, that's how you can switch out the compiler. But you can change the toolchain using the toolchain attribute. The idea is to prevent things from not applying right in pkgs/stdenv/cross/default.nix. Before, it would depend on the order of the if statements. Now, since it's like an enum it would work better. Stacking different pkgs* works better now because of the changes.
14:57:55
@rosscomputerguy:matrix.orgTristan Ross
In reply to @reckenrode:matrix.org
In general, I don’t like how C is given a privileged position in the stdenv. I would rather that you have to add, e.g., autotoolsHook to build an autotools package just like you would one using Meson or CMake or cargo or whatever.
I'm not sure how we can have an stdenv without including CC for C packages. Including it probably makes the amount of copying and passing less because there are less duplicate lines.
14:59:27
@reckenrode:matrix.orgRandy Eckenrode
In reply to @rosscomputerguy:matrix.org
I'm not sure how we can have an stdenv without including CC for C packages. Including it probably makes the amount of copying and passing less because there are less duplicate lines.
It’s propagated by the autotoolsHook that you add?
18:25:08
@rosscomputerguy:matrix.orgTristan RossNot everything uses autotools18:25:35
@reckenrode:matrix.orgRandy EckenrodeThat’s an example. Meson, CMake, whatever. Default stdenv should be the same as stdenvNoCC.18:26:19
@reckenrode:matrix.orgRandy EckenrodeExplicit over implicit dependencies.18:26:30
@rosscomputerguy:matrix.orgTristan RossWe probably could experiment in the future with going stdenvNoCC by default.18:27:23
@rosscomputerguy:matrix.orgTristan RossBut it's probably not an important thing to do right now.18:27:44
@reckenrode:matrix.orgRandy EckenrodeYeah. I’d also want to look at some of the proposals for handling cross-compilation.18:29:00
@reckenrode:matrix.orgRandy EckenrodeThere’s too much magic happening right now, which is the thing I dislike. As soon as the magic stops working (or can’t be used), it gets harder to do the right thing.18:29:54
@reckenrode:matrix.orgRandy EckenrodeMy only concern with making it easier to swap out tooling is support burden. I assume this is aimed at package authors not users?18:31:41
@reckenrode:matrix.orgRandy EckenrodeBecause I absolutely do not want to waste time supporting users who want to build their Darwin packages with weird compilers/linkers/etc.18:32:16
@rosscomputerguy:matrix.orgTristan RossThe switching out of compilers in the PR I made is primarily intended for LLVM and Linux.18:36:16

Show newer messages


Back to Room ListRoom Version: 9