!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

899 Members
For people hacking on the Nix package manager itself191 Servers

Load older messages


SenderMessageTime
26 Aug 2021
@gytis-ivaskevicius:matrix.orgGytis IvaskeviciusAlso not related but nomination or two would be nice here as well ๐Ÿ˜€ https://github.com/NixOS/rfcs/pull/9517:57:37
@Ericson2314:matrix.orgJohn Ericson Gytis Ivaskevicius feel free to bow out, but do note the first thing I would do in such meetings is try to explain the thing and make things clearer โ€” not go straight into to deciding what we want to do with it. 18:02:02
@sternenseemann:systemli.orgsterni John Ericson: btw I noticed today that string context can't track dependencies on just derivations via string context without any outputs, I feel like that would be a required change for your thing to work 18:03:00
@sternenseemann:systemli.orgsterni i. e. context { "/my.drv" = { outputs = []; }; } is just reduced to context { } 18:03:34
@sternenseemann:systemli.orgsterniwait path = true maybe it works18:04:07
@sternenseemann:systemli.orgsterninvm18:04:37
@tomberek:matrix.orgtomberek

Not sure where to post this, but i thought here would be good:
I've often wished for being able to chop up a mkDerivation into individual phases as derivations. Something like this would create more derivations, but they would be snapshot'd between phases. Eventually you can do something like filterSource on the configurePhase such that it doesn't have to be re-run for most changes to upstream.

chopIntoPhases = drv:  
  patchPhase = ... # drv built until patchPhase completes 
  configurePhase = ... # derivation that depends on "patchPhase" and performs a configurePhase"
... and so on
18:11:15
@gytis-ivaskevicius:matrix.orgGytis IvaskeviciusI gave it some thought a while back and I feel like there are better alternatives. What usecases do you have in mind?18:14:05
@gytis-ivaskevicius:matrix.orgGytis IvaskeviciusThe real solution here is some sort of posix pipe with Nix which would allow to snapshot /build18:14:46
@tomberek:matrix.orgtomberekOne would be when iterating on tests. No need to re-do a very expensive compilePhase.18:14:55
@tomberek:matrix.orgtomberekThere are some packages for which the configurePhase is more expensive than anything else18:15:18
@gytis-ivaskevicius:matrix.orgGytis Ivaskeviciusdevshell should take care of most of it?18:15:31
@gytis-ivaskevicius:matrix.orgGytis Ivaskeviciuswhat I would like to see is some better integration18:15:51
@gytis-ivaskevicius:matrix.orgGytis Ivaskeviciusstdenv rewrite anyone? with derivation splits and more ;)18:18:03
@tomberek:matrix.orgtomberekyeah, that works as well. But having these be proper derivations is nice. Nix would handle the bookkeeping and i feel would be more robust than a shell. I don't think this should be applied by default everywhere, but in some cases it'd be nice.18:18:19
@sternenseemann:systemli.orgsterninot really feasible without improving evaluation performance18:18:40
@gytis-ivaskevicius:matrix.orgGytis Ivaskeviciusactually i have not tried it but i may have perfect solution in mind18:19:08
@gytis-ivaskevicius:matrix.orgGytis Ivaskevicius lets say we are building package abc and it fails 18:19:18
@sternenseemann:systemli.orgsterni * not really feasible without improving evaluation performance imo18:19:21
@gytis-ivaskevicius:matrix.orgGytis Ivaskevicius

nix build nixpkgs#abc --keep-failed

package fails
cd /tmp/failed/package/dir && nix develop nixpkgs#abc

18:20:06
@gytis-ivaskevicius:matrix.orgGytis Ivaskevicius *

nix build nixpkgs#abc --keep-failed

package fails

cd /tmp/failed/package/dir && nix develop nixpkgs#abc

18:20:11
@gytis-ivaskevicius:matrix.orgGytis IvaskeviciusAnd I would imagine/hope that you would be able to just execute check phase18:20:29
@gytis-ivaskevicius:matrix.orgGytis Ivaskeviciuswill need to give it a shot sometime18:20:46
@gytis-ivaskevicius:matrix.orgGytis Ivaskeviciusalso if this works one could write up a little script with overlayfs to reenter that devshell environment inc ase it corrupts the state18:22:18
@gytis-ivaskevicius:matrix.orgGytis Ivaskevicius(like without rebuild)18:22:22
27 Aug 2021
@tomberek:matrix.orgtomberekanyone have thoughts on nix/5163? I'm not certain it is sound.02:11:57
@gilganix:matrix.org-(๐•‚eloฯ„)- left the room.04:16:00
28 Aug 2021
@trofi:matrix.orgtrofiWould it make sense to move nix's build system to something more standard? (say, automake). Build failures like https://github.com/NixOS/nix/issues/5184 and https://github.com/NixOS/nix/issues/3087 are surprising to observe for a project that tries hard to maintain clean prefixed installs for other packages.08:52:04
@qyliss:fairydust.spaceAlyssa Rosstrofi: it was automake previously, and that was replaced with the current build system09:46:37
@qyliss:fairydust.spaceAlyssa Rossif it gets replaced by anything it'll probably be meson, see https://github.com/NixOS/nix/pull/316009:48:13

Show newer messages


Back to Room ListRoom Version: 6