!rWxyQqNqMUDLECdsIf:blad.is

Poetry2nix

310 Members
https://github.com/nix-community/poetry2nix56 Servers

Load older messages


SenderMessageTime
29 Nov 2023
@k900:0upti.meK900Ideally you'd run it as part of your normal Python build15:59:16
@k900:0upti.meK900Probably with a Poetry plugin15:59:30
@benbot:matrix.orgBenBotI'll look into that then. From a quick google search last night, I didn't see an easy way to run a make command or anything like that during poetry's build. But i'm no poetry expert, so i may have missed it16:00:35
@k900:0upti.meK900There isn't16:02:07
@benbot:matrix.orgBenBot this seems like a huge limitation then :(
I'm having a similar issue with an elixir flake. No way to generate protobuf modules before running the mixRelease function in nix
16:02:58
@k900:0upti.meK900Well16:03:08
@k900:0upti.meK900You can do it in Nix16:03:10
@k900:0upti.meK900And then copy in the files16:03:13
@benbot:matrix.orgBenBot

Yeah, that's the hack i have now.

Generate the files in a package named proto then use the $out from that as the projectDir for mkPoetryApplication.

It's weirder for elixir since I need to install a remote dep (a protoc plugin) to generate the modules

16:04:32
@benbot:matrix.orgBenBot

Is there any reason the derivation that mkPoetryApplication returns doesn't have override or overrideAttrs on it?

I feel like just prepending a make python-proto command to the buildPhase would be really simple

16:05:23
@k900:0upti.meK900 It should have overridePythonAttrs 16:06:08
@k900:0upti.meK900But also if you're doing that, you're basically making your thing not buildable without Nix16:06:20
@k900:0upti.meK900Which may or may not be a problem for you16:06:24
@benbot:matrix.orgBenBot I'm okay with that. Currently my build process is a very hacky dockerfile, so anything is better than that 😅
Plus it's just an additional make command
16:07:30
@benbot:matrix.orgBenBot let me try that overridePythonAttrs 16:07:47
@benbot:matrix.orgBenBot
In reply to @k900:0upti.me
It should have overridePythonAttrs
       at /nix/store/wzjdajqfi4v7agn3s8hszvg0z8lkbnpw-source/flake.nix:40:21:

           39|           };
           40|           default = nn.mkPoetryApplication ({
             |                     ^
           41|             buildInputs = [ self.packages.${system}.proto ];

       error: attribute 'overridePythonAttrs' missing

doesn't seem like it :(

16:09:45
@benbot:matrix.orgBenBot
          default = nn.mkPoetryApplication ({
            buildInputs = [ self.packages.${system}.proto ];
            projectDir = "${self.packages.${system}.proto}";
            preferWheels = true;
          }).overridePythonAttrs (old: { buildPhase = "asdf"; });

16:10:14
@k900:0upti.meK900 I'm pretty sure you're doing nn.mkPoetryApplication ({}).overrideAttrs 16:10:14
@k900:0upti.meK900Yes16:10:17
@benbot:matrix.orgBenBot:016:10:29
@k900:0upti.meK900 Where you want (nn.mkPoetryApplication {}).overrideAttrs 16:10:29
@benbot:matrix.orgBenBot:facepalm:16:11:35
@benbot:matrix.orgBenBot

overrideAttrs AND overridePythonAttrs both work now

I guess i'm still pretty fuzzy on the ( and ) semantics in nix

16:12:04
@k900:0upti.meK900Function application doesn't need spaces16:15:11
@k900:0upti.meK900 So you can do foo bar instead of foo(bar) 16:15:22
@k900:0upti.meK900 But foo (bar) is parsed as foo bar 16:15:37
@k900:0upti.meK900 So foo(bar).baz is parsed as foo (bar.baz), not foo(bar).baz 16:15:52
@benbot:matrix.orgBenBotahhh, that's what's tripping me up16:16:10
1 Dec 2023
@ilpianista:kde.org@ilpianista:kde.org joined the room.08:30:32
@ilpianista:kde.org@ilpianista:kde.org'morning, I just upgraded to 23.11 and now I got the error about poetry2nix not being anymore in nixpkgs. Does this means that I've to switch my project to flakes to use poetry2nix? because I don't get how to fix my default.nix file to keep it working without flakes (I'm not against them, but I haven't explored them yet). Thanks!08:31:20

Show newer messages


Back to Room ListRoom Version: 6