!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

229 Members
75 Servers

Load older messages


SenderMessageTime
20 Mar 2025
@emilazy:matrix.orgemily then in that case it might be good, but in the current architecture we have it's better to have libiconv in stdenv than to try and get through 5,000 patches to add libiconv to deps lists because "it's needed on OpenBSD" 21:18:54
@emilazy:matrix.orgemilysince people will never reliably get it right if it only breaks on an obscure platform, and having (perceived-as-)noise in a package only required for one platform annoys people21:19:12
@Ericson2314:matrix.orgJohn Ericsonwhat is the darwin situation?21:19:16
@emilazy:matrix.orgemily we add Apple's libiconv to stdenv 21:19:24
@emilazy:matrix.orgemilywe didn't use to, but we do as of the recent rewrite21:19:29
@Ericson2314:matrix.orgJohn Ericson:/21:19:38
@emilazy:matrix.orgemily there was a lot of ++ lib.optionals stdenv.isDarwin [ libiconv ] before, which isn't even correct 21:19:41
@Ericson2314:matrix.orgJohn Ericsonwe have "avoid mass rebuild" perverse incentive21:20:01
@Ericson2314:matrix.orgJohn Ericsonit is easy to just bloat things more and more 21:20:06
@emilazy:matrix.orgemilynothing to do with mass rebuilds21:20:13
@emilazy:matrix.orgemily we rewrote the entire stdenv 21:20:20
@emilazy:matrix.orgemily FWIW, Apple's libiconv is effectively part of the system library on macOS insofar as they only compilation environments they ship have direct access to it 21:20:24
@emilazy:matrix.orgemily there's never a case where you could be compiling software for macOS in any normal way and not have libiconv right there 21:20:37
@emilazy:matrix.orgemily you do need -liconv, and we explicitly don't inject that 21:20:51
@emilazy:matrix.orgemilybuild systems have to get that right, which they mosly do21:20:56
@emilazy:matrix.orgemily* build systems have to get that right, which they mostly do21:20:57
@Ericson2314:matrix.orgJohn Ericsonas we were discussing before with compiler-rt21:20:59
@Ericson2314:matrix.orgJohn Ericsonlibc is just a bad layer of abstraction21:21:07
@Ericson2314:matrix.orgJohn Ericsonand it's very viral21:21:10
@Ericson2314:matrix.orgJohn Ericsonit is frustrating21:21:27
@emilazy:matrix.orgemilyI think us establishing some baseline API that gets offered for C programs even if it has to be composed out of multiple packages is not really the worst thing in the world21:22:15
@emilazy:matrix.orgemilyeven if we had everything perfectly factored out into totally orthogonal pieces on every platform, I think people would be unhappy about writing 50 lines of boilerplate for libraries that are "always there" in every single package21:22:46
@emilazy:matrix.orgemilystuff like factoring out autotools assumptions is much higher-value IMO21:22:55
@Ericson2314:matrix.orgJohn Ericsonthere should be some baseline API21:23:25
@Ericson2314:matrix.orgJohn Ericsonbut "repeating the boilerplate is annoying" is rather a slipperly slope21:23:37
@Ericson2314:matrix.orgJohn Ericsonbecause adding more stuff always cuts more downstream dependenices21:23:49
@Ericson2314:matrix.orgJohn Ericsonno disagreement21:24:05
@Ericson2314:matrix.orgJohn Ericsonwhat I mean by mass rebuild is I guess is more just changing hte foundations21:24:30
@Ericson2314:matrix.orgJohn Ericsonand then fixing all the packages21:24:33
@Ericson2314:matrix.orgJohn Ericsonfew people want to do that21:24:37

Show newer messages


Back to Room ListRoom Version: 9