!rWxyQqNqMUDLECdsIf:blad.is

Poetry2nix

324 Members
https://github.com/nix-community/poetry2nix62 Servers

Load older messages


SenderMessageTime
6 Nov 2023
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howbut is there no way to relax the deps like there is with nixpkgs infra?20:32:59
@k900:0upti.meK900If you're already in that repo, you can just update the constraint20:33:22
@k900:0upti.meK900 If you're not, you can use pythonRelaxDepsHook 20:33:30
@matthewcroughan:defenestrate.itmatthewcroughan - nix.how
python3.11-gradio-client> no configure script, doing nothing
python3.11-gradio-client> building
python3.11-gradio-client> Executing pipBuildPhase
python3.11-gradio-client> Creating a wheel...
python3.11-gradio-client> WARNING: The directory '/homeless-shelter/.cache/pip' or its parent directory is not owned or is not writable
python3.11-gradio-client> Processing /build/gradio_client-0.6.1
python3.11-gradio-client>   Running command Preparing metadata (pyproject.toml)
python3.11-gradio-client>   Traceback (most recent call last):
python3.11-gradio-client>     File "/nix/store/z41lyyssxy1gza6ngn44q036k213c9gm-python3.11-pip-23.2.1/lib/python3.11/site-packages/pip/
python3.11-gradio-client>       main()
python3.11-gradio-client>     File "/nix/store/z41lyyssxy1gza6ngn44q036k213c9gm-python3.11-pip-23.2.1/lib/python3.11/site-packages/pip/
python3.11-gradio-client>       json_out['return_val'] = hook(**hook_input['kwargs'])
python3.11-gradio-client>                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
python3.11-gradio-client>     File "/nix/store/z41lyyssxy1gza6ngn44q036k213c9gm-python3.11-pip-23.2.1/lib/python3.11/site-packages/pip/
python3.11-gradio-client>       whl_basename = backend.build_wheel(metadata_directory, config_settings)
python3.11-gradio-client>                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
python3.11-gradio-client>     File "/nix/store/rralcg7v1b4x03ll78r4s84c475xaygm-python3.11-hatchling-1.18.0/lib/python3.11/site-package
python3.11-gradio-client>       return os.path.basename(next(builder.build(wheel_directory, ['standard'])))
python3.11-gradio-client>                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
python3.11-gradio-client>     File "/nix/store/rralcg7v1b4x03ll78r4s84c475xaygm-python3.11-hatchling-1.18.0/lib/python3.11/site-package
python3.11-gradio-client>       self.metadata.validate_fields()
python3.11-gradio-client>     File "/nix/store/rralcg7v1b4x03ll78r4s84c475xaygm-python3.11-hatchling-1.18.0/lib/python3.11/site-packages/hatchling/metadata/core.py", line 243, in validate_fields
python3.11-gradio-client>       _ = self.version
python3.11-gradio-client>           ^^^^^^^^^^^^
python3.11-gradio-client>     File "/nix/store/rralcg7v1b4x03ll78r4s84c475xaygm-python3.11-hatchling-1.18.0/lib/python3.11/site-packages/hatchling/metadata/core.py", line 128, in version
python3.11-gradio-client>       self._version = self._get_version()
python3.11-gradio-client>                       ^^^^^^^^^^^^^^^^^^^
python3.11-gradio-client>     File "/nix/store/rralcg7v1b4x03ll78r4s84c475xaygm-python3.11-hatchling-1.18.0/lib/python3.11/site-packages/hatchling/metadata/core.py", line 222, in _get_version
python3.11-gradio-client>       core_metadata = self.core
python3.11-gradio-client>                       ^^^^^^^^^
python3.11-gradio-client>     File "/nix/store/rralcg7v1b4x03ll78r4s84c475xaygm-python3.11-hatchling-1.18.0/lib/python3.11/site-packages/hatchling/metadata/core.py", line 166, in core
python3.11-gradio-client>       metadata_hooks = self.hatch.metadata.hooks
python3.11-gradio-client>                        ^^^^^^^^^^^^^^^^^^^^^^^^^
python3.11-gradio-client>     File "/nix/store/rralcg7v1b4x03ll78r4s84c475xaygm-python3.11-hatchling-1.18.0/lib/python3.11/site-packages/hatchling/metadata/core.py", line 1544, in hooks
python3.11-gradio-client>       raise UnknownPluginError(message)
python3.11-gradio-client>   hatchling.plugin.exceptions.UnknownPluginError: Unknown metadata hook: requirements_txt
20:37:45
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howAnd now my favourite part, patching out random lines for no apparent reason because who knows how hatchling works 20:37:58
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howI have had to do this, so often, just removing lines that don't effect the build at all20:38:15
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howah no, nixpkgs has this https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/gradio/client.nix#L8C3-L8C2520:39:14
@matthewcroughan:defenestrate.itmatthewcroughan - nix.how K900 ⚡️: okay so in this case, there is a drv in nixpkgs. But the poetry overrides don't use it. And I can't just use the one from nixpkgs due to collision/mismatch in dependency graph. 20:40:05
@k900:0upti.meK900No, that's false20:40:11
@k900:0upti.meK900The poetry overrides do use it20:40:16
@k900:0upti.meK900I know because I wrote that fucking code and please don't tell me what it doesn't do20:40:31
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howI did a ctrl + f for gradio in github.com/nix-community/poetry2nix/blob/master/overrides/default.nix20:40:37
@k900:0upti.meK900So?20:40:46
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howSo where is it if it exists, and I am not sure why you think I am telling you what your code does or doesn't do.20:41:03
@k900:0upti.meK900It is here: https://github.com/nix-community/poetry2nix/blob/master/default.nix#L233-L28520:43:19
@k900:0upti.meK900 Any poetry2nix overrides are applied on top of nixpkgs overrides 20:43:27
@matthewcroughan:defenestrate.itmatthewcroughan - nix.how oh, so it's always being overlayed on top? 20:44:10
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howinvisibly by the code you just linked 20:44:37
@k900:0upti.meK900Yes, and it's not "invisible"20:45:08
@k900:0upti.meK900It is very much visible in the very code I just linked20:45:16
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howI mean, can you forgive me for being confused by it?20:45:16
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howthere is a few thousand line overrides file, I thought it was all manual20:45:35
@k900:0upti.meK900 No, that is all on top of what nixpkgs does 20:45:57
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howso has it happened before that there was no nix package, but only a poetry2nix automated derivation, and then nixpkgs added a drv, and it broke poetry2nix?20:46:41
@k900:0upti.meK900Yes20:47:14
@k900:0upti.meK900It has also happened that nixpkgs updated fixups for a package and that caused issues20:47:28
@k900:0upti.meK900This is kind of unavoidable unless we want to encode historical knowledge into nixpkgs20:47:43
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howWhy might I need to add nativeBuildInputs that nixpkgs already has?20:51:02
@matthewcroughan:defenestrate.itmatthewcroughan - nix.how
                gradio = super.gradio-client.overridePythonAttrs
                  (
                    old: {
                      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ super.hatch-requirements-txt super.hatch-fancy-pypi-readme ];
                    }
                  );
                gradio-client = super.gradio-client.overridePythonAttrs
                  (
                    old: {
                      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ super.hatch-requirements-txt super.hatch-fancy-pypi-readme ];
                    }
                  );

20:51:06
@matthewcroughan:defenestrate.itmatthewcroughan - nix.howAs an example, I have gradio, gradio-client, but nixpkgs already has these nativeBuildInputs, I'm having to add them back in20:51:23

Show newer messages


Back to Room ListRoom Version: 6