gchristensen changed the topic of #nixos-dev to: NixOS Development (#nixos for questions) | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | 18.09 release managers: vcunat and samueldr | https://logs.nix.samueldr.com/nixos-dev
pie___ has joined #nixos-dev
pie__ has quit [Remote host closed the connection]
jtojnar has quit [Quit: jtojnar]
drakonis has joined #nixos-dev
aszlig has quit [Quit: Kerneling down for reboot NOW.]
aszlig has joined #nixos-dev
sir_guy_carleton has joined #nixos-dev
drakonis has quit [Quit: WeeChat 2.3]
pie__ has joined #nixos-dev
pie___ has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 250 seconds]
orivej has joined #nixos-dev
Synthetica has quit [Quit: Connection closed for inactivity]
sir_guy_carleton has quit [Quit: WeeChat 2.2]
lassulus_ has joined #nixos-dev
lassulus has quit [Ping timeout: 246 seconds]
lassulus_ is now known as lassulus
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #nixos-dev
ciil has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 250 seconds]
ciil has joined #nixos-dev
orivej has joined #nixos-dev
orivej has quit [Ping timeout: 245 seconds]
<zimbatm> > Ayelet FISHBACH: Being patient is basically more important than having a high IQ for being successful in life
<{^_^}> error: syntax error, unexpected ':', expecting ')', at (string):214:16
<zimbatm> ^ from the freakonomics link
<zimbatm> good thing I am bone-headed :p
__Sander__ has joined #nixos-dev
v0|d has quit [Ping timeout: 268 seconds]
orivej has joined #nixos-dev
orivej has quit [Ping timeout: 240 seconds]
<Profpatsch> zimbatm: There’s this theory that the more your IQ deviates from the norm (100) the less happy you are.
<Profpatsch> zimbatm: There’s this theory that the more your IQ deviates from the norm (100) the less happy you are.
<Profpatsch> oops
<zimbatm> I think this only works on the upper side of the scale
<zimbatm> very stupid people don't realize how stupid they are :)
<zimbatm> the good news is that this can be fixed with enough alcohol intake :p
orivej has joined #nixos-dev
Synthetica has joined #nixos-dev
orivej has quit [Ping timeout: 268 seconds]
{`-`} has joined #nixos-dev
drakonis has quit [Ping timeout: 250 seconds]
drakonis has joined #nixos-dev
orivej has joined #nixos-dev
disasm has quit [Ping timeout: 268 seconds]
disasm has joined #nixos-dev
fadenb has quit [Ping timeout: 250 seconds]
orivej has quit [Ping timeout: 245 seconds]
__Sander__ has quit [Quit: Konversation terminated!]
asymmetric has joined #nixos-dev
tilpner has joined #nixos-dev
phreedom_ has quit [Read error: Connection reset by peer]
phreedom has joined #nixos-dev
orivej has joined #nixos-dev
fadenb has joined #nixos-dev
orivej has quit [Ping timeout: 250 seconds]
drakonis has quit [Quit: WeeChat 2.3]
asymmetric_ has joined #nixos-dev
asymmetric has quit [Ping timeout: 252 seconds]
sir_guy_carleton has joined #nixos-dev
drakonis has joined #nixos-dev
disasm_ has joined #nixos-dev
<bennofs[m]> should a package eval successfully even on platforms not in meta.platforms?
disasm has quit [Ping timeout: 250 seconds]
<LnL> yes IMHO
<gchristensen> yes
<gchristensen> do you think otherwise/
<bennofs[m]> well I thought about doing something like src = srcs.${stdenv.hostPlatform.system} but that'd break if the platform is not in srcs
<bennofs[m]> also what is considered "one package" for the purposes of meta.platform? My guess would be that even if I have different "flavours" of the same package in different files (for example a darwin and a linux file) then both should have "meta.platforms" set to "darwin" + "linux" ?
<LnL> src.${platform} or throw "platform not supported" is fine since meta.platforms still evaluates, but assert platform; stdenv.mkDerivation is annoying/bad
<bennofs[m]> ok. wasn't exactly sure how lazy stdenv.mkDerivation is
<LnL> yeah it's lavzy, some stuff even fails with null type errors if you allow unsupported platforms
orivej has joined #nixos-dev
<bennofs[m]> is there some guidance on what platform values to use? For example, right now I am not sure whether to use `stdenv.hostPlatform.uname.processor` or `stdenv.hostPlatform.parsed.cpu.name`
<bennofs[m]> or maybe something else
<gchristensen> anyone have a link to where nix connects to / builds on remote SSH stores, + where nix reads those requests and acts on them?
asymmetric_ has quit [Ping timeout: 250 seconds]
<bennofs[m]> hmm nix-build --system "aarch64-linux" looks like it tries to build a derivation on my local system (getting exec format error for the builder = bash for aarch64).
<gchristensen> I don't think --system is a thing? but --arg system aarch64-linux ... or maybe --argstr
<bennofs[m]> --system appears to be a thing, but perhaps it overrides what nix things local system is
<gchristensen> huh
<bennofs[m]> hmm it behaves the same as --option system 'aarch64-linux'
<bennofs[m]> still doesn't explain why nix tries to build a derivation that has platform = "aarch64-linux" and system = "aarch64-linux" on my local x86_64 laptop...
<bennofs[m]> wait what why does nix-store --realise on that .drv path do something different than nix-build...
<bennofs[m]> ah i guess option system does really override what nix things the local system is
<bennofs[m]> I need "pretend to be aarch64-linux for evaluation only but then build as if you are x86_64-linux (using remote builders)`
disasm_ has quit [Read error: Connection reset by peer]
<bennofs[m]> in other words, is there a short form for: nix-store --realise (nix-instantiate -A adoptopenjdk-hotspot-bin-11 --option system 'aarch64-linux') ?
disasm has joined #nixos-dev
<gchristensen> nix-build . -A adoptopenjdk-hotspot-bin-11 --arg system aarch64-linux
<bennofs[m]> ah right, with argstr it works
<bennofs[m]> thx!
drakonis has quit [Quit: WeeChat 2.3]
<thoughtpolice> I still don't quite get why we have like 5 different JDKs. :| One of these days I'd like to just nuke OracleJDK and see if some of the others can be deprecated.
<thoughtpolice> (I do know e.g. Azul JDK is used in some places due to some strictly technical deficiencies in the openjdk package, which could be fixed. I think the Darwin-specific JDK could also go, in the future)
<bennofs[m]> thoughtpolice: adoptopenjdk already comes with 2 versions, one using hotspot and the other using openj9, either of which might make sense to use so providing both sounds like a good idea to me?
<bennofs[m]> also we probably need at least 2 versions since openjdk requires java for bootstrapping, so if we need a binary build (except if we go the trouble of bootstrapping from source, but this requires going through multiple openjdk versions and other java vms + classlibs as well)
<thoughtpolice> We already have self-contained Nix bootstrapping binaries, but those aren't exposed to users (I actually generated the current ones, in fact). That's not really a problematic case though; it's that the JDK is rather complex to package (which has ramifications for things like feature support and security updates), and until recently there was a sort of segmentation of features/support in each expression that made managing things
<thoughtpolice> complicated.
<thoughtpolice> Like, if you have two packages that "ostensibly" are the same thing in Nix, two versions of OpenJDK, but they're packaged differently or have various features, then things overrides can fail spuriously is a very bad user experience. In other words, no two JDKs are quite interchangeable (for various reasons) but this isn't exposed/abstracted in any meaningful way, which is a poor user experience.
<thoughtpolice> There's an argument that "having more options is always good, therefore 5 openjdks is better than 1" but in isolation it's not very robust. For example, I would be much more willing to accept "AdoptOpenJDK's J9 JIT makes my app 20% faster" instead of "The J9 thing is just cool to have because it's different".
<bennofs[m]> from reading I gather that openj9 uses significantly less memory than hotspot
<thoughtpolice> Luckily I think there's less of a reason to keep a lot of the other variants around these days. Oracle JDK will eventually get incinerated, JDK 11 has all of its features. JDK 8 will be on its way out. Fixing some of the deficiencies in the mainline package means we can get rid of Azul, too, I think (which is just OpenJDK with a slightly different support model, essentially, and largely exists as a workaround)
orivej has quit [Ping timeout: 250 seconds]
disasm has quit [Ping timeout: 250 seconds]
<gchristensen> cannot build on 'ssh://grahamc@127.0.0.1': serialised integer 2333820375184338765 is too large for type 'j'
<gchristensen> this is my favorite. error
disasm has joined #nixos-dev
<gchristensen> samueldr: would it be tricky with the zhf script to produce a summary of builds by architecture? count of successes, failures per
<samueldr> no
<samueldr> well
<samueldr> probably not?
<gchristensen> hmm
<samueldr> BUT, there's still the main issue of failed dependencies not resolving right
<samueldr> (as in: hydra says X failed while Y failed)
sir_guy_carleton has quit [Quit: WeeChat 2.2]
sir_guy_carleton has joined #nixos-dev
<gchristensen> hmm
<gchristensen> I should figre out how to get this data
apaul1729 has joined #nixos-dev
<gchristensen> it'll get us some more hardware and people.
<samueldr> since you don't need the culprit of the failures, it's probably fine