Open jensfriisnielsen opened 2 months ago
This should probably go the same route as #1723 and add sphinx-theme-builder to nixpkgs
@jensfriisnielsen thank you for drafting the package for sphinx-theme-builder. I got it to build but then I got stuck building the theme itself. The problem is that sphinx-theme-builder tries to get nodejs dependencies during buildtime of the theme, resulting in errors like
error: builder for '/nix/store/67wn06qb00bdbncwckgncnns83cfysab-python3.12-furo-2024.8.6.drv' failed with exit code 1;
last 25 log lines:
> URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
> error: nodeenv-creation-failed
>
> × Failed to create a `nodeenv`
> ╰─> See above for failure output from the underlying tooling.
>
> hint: A `urllib.error.HTTPError` indicates that the issue is related to the
> network or the availability of NodeJS release files. It may mean the node
> version that this tool is trying to fetch is no longer available, for
> example if there is no compatible NodeJS binary for the operating system.
> link: https://sphinx-theme-builder.rtfd.io/errors/#nodeenv-creation-failed
> error: subprocess-exited-with-error
>
> × Building wheel for furo (pyproject.toml) did not run successfully.
> │ exit code: 1
> ╰─> See above for output.
>
> note: This error originates from a subprocess, and is likely not a problem with pip.
> full command: /nix/store/h3i0acpmr8mrjx07519xxmidv8mpax4y-python3-3.12.5/bin/python3.12 /nix/store/gam79wgc54sn8yyw2xkrqkf93v5lwaz1-python3.12-pip-24.0/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /build/tmpxn20qkcn
> cwd: /build/furo-2024.8.6
> Building wheel for furo (pyproject.toml) ... error
> ERROR: Failed building wheel for furo
> Failed to build furo
> ERROR: Failed to build one or more wheels
Each theme has a package.json. sphinx-theme-builder then pulls the dependencies using nodeenv
. I'm not sure how we could handle this. We'd need to vendor the js dependencies somehow.
I gotta admit this has been stuck due to my lack of time and competencies.
Thank you for testing it out and reporting here though @Lykos153 . That is helpful. :+1:
Describe the issue
I want to build the pydata-sphinx-theme but I can't.
Either I get the
ModuleNotFoundError: No module named 'sphinx_theme_builder'
or I include as per edge-case documentation and get error:error: attribute 'sphinx-theme-builder' missing
My limited understanding and nix-noobieness gut-feeling tells me that it is because pydata-sphinx-theme uses a build-system sphinx-theme-builder that is unknown to poetry2nix
Additional context
flake.nix
:pyproject.toml
:poetry.lock
: