python3Packages.kaleido: remove sbcl dependency (!!!)#454818
python3Packages.kaleido: remove sbcl dependency (!!!)#4548189999years wants to merge 1 commit intoNixOS:masterfrom
Conversation
This was adding |
|
Running nixpkgs-review. I've got a kaleido rewrite for 1.0 (which should be able to be built from source, yay!) in my backlog but as long as this doesn't cause any issues I'm happy to approve this now. kaleido is used by plotly, which is responsible for most of the rebuilds. IIRC the number is on the order of ~120 packages. |
True madness...especially when the sbcl cache is broken or busted This PR should be merged ( once it works correctly, etc ). |
SuperSandro2000
left a comment
There was a problem hiding this comment.
I am all for removing unused dependencies but I could not test the python module. If it still works as expected in a typical environment I would merge the PR.
|
@Pandapip1 are you running into any of the issues linked from here #444225 (review) or related in attempting to complete nixpkgs-review on this PR? I realize this PR is quite rightly removing the sbcl dep from the |
|
|
There was a problem hiding this comment.
Using the test figure export (python3Packages.kaleido.passthru.tests.kaleido)
Before:
After:
plotly does not compile; many test fails, e.g.
def _posix_spawn(self, args, executable, env, restore_signals, close_fds,
p2cread, p2cwrite,
c2pread, c2pwrite,
errread, errwrite):
"""Execute program using os.posix_spawn()."""
kwargs = {}
if restore_signals:
# See _Py_RestoreSignals() in Python/pylifecycle.c
sigset = []
for signame in ('SIGPIPE', 'SIGXFZ', 'SIGXFSZ'):
signum = getattr(signal, signame, None)
if signum is not None:
sigset.append(signum)
kwargs['setsigdef'] = sigset
file_actions = []
for fd in (p2cwrite, c2pread, errread):
if fd != -1:
file_actions.append((os.POSIX_SPAWN_CLOSE, fd))
for fd, fd2 in (
(p2cread, 0),
(c2pwrite, 1),
(errwrite, 2),
):
if fd != -1:
file_actions.append((os.POSIX_SPAWN_DUP2, fd, fd2))
if close_fds:
file_actions.append((os.POSIX_SPAWN_CLOSEFROM, 3))
if file_actions:
kwargs['file_actions'] = file_actions
> self.pid = os.posix_spawn(executable, args, env, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E FileNotFoundError: [Errno 2] No such file or directory: '/nix/store/y340wqfll2vby01m6scallhhn5xmy7zd-python3.13-kaleido-0.2.1/lib/python3.13/site-packages/kaleido/executable/kaleido'
/nix/store/cfapjd2rvqrpry4grb0kljnp8bvnvfxz-python3-3.13.8/lib/python3.13/subprocess.py:1801: FileNotFoundError
=========================== short test summary info ============================
FAILED tests/test_optional/test_kaleido/test_kaleido.py::test_kaleido_engine_to_image_returns_bytes - FileNotFoundError: [Errno 2] No such file or directory: '/nix/store/y340wqf...
FAILED tests/test_optional/test_kaleido/test_kaleido.py::test_kaleido_fulljson - FileNotFoundError: [Errno 2] No such file or directory: '/nix/store/y340wqf...
FAILED tests/test_optional/test_kaleido/test_kaleido.py::test_kaleido_engine_to_image - FileNotFoundError: [Errno 2] No such file or directory: '/nix/store/y340wqf...
FAILED tests/test_optional/test_kaleido/test_kaleido.py::test_kaleido_engine_write_image - FileNotFoundError: [Errno 2] No such file or directory: '/nix/store/y340wqf...
FAILED tests/test_optional/test_kaleido/test_kaleido.py::test_kaleido_engine_to_image_kwargs - FileNotFoundError: [Errno 2] No such file or directory: '/nix/store/y340wqf...
FAILED tests/test_optional/test_kaleido/test_kaleido.py::test_kaleido_engine_write_image_kwargs - FileNotFoundError: [Errno 2] No such file or directory: '/nix/store/y340wqf...
FAILED tests/test_optional/test_kaleido/test_kaleido.py::test_image_renderer - FileNotFoundError: [Errno 2] No such file or directory: '/nix/store/y340wqf...
FAILED tests/test_optional/test_kaleido/test_kaleido.py::test_bytesio - FileNotFoundError: [Errno 2] No such file or directory: '/nix/store/y340wqf...
= 8 failed, 3090 passed, 21 skipped, 191 deselected, 4 xfailed, 696 warnings in 128.27s (0:02:08) =
I can't remember exactly why I added all the dependencies that I did, but you've removed at least one that was needed for kaleido to install itself correctly.
Also, I discovered kaleido's Opened #455365passthru.tests.kaleido is missing itself as a dependency. I'll fix that in a seperate PR, or you could add kaleido to the nativeBuildInputs in this PR which I would accept.
I was using my nixpkgs-review-gha repository, so it was a set it and forget it deal. Given that there's no result, I'm guessing it timed out. EDIT: That's exactly what happened https://github.com/PandapipBot/nixpkgs-review-gha/actions/runs/18761593957/job/53527268738 |
|
Heads up: if you want to submit a minimal PR that just removes |
|
There is also an |
|
Apparently for tests to pass you do need bash as a build input, but nothing else is really necessary. For me the |
Yes, that's how I noticed it as well. My music library manager ( @sarahec Thanks for the @Pandapip1 Thanks for the manual verification, super helpful! I'll see if I can fix this quickly, but I don't think I'll be putting more than an hour or so of effort into it. |
This package was introduced in NixOS#339136, which attracted quite a bit of conversation. I don't have the energy to go through the conversations but it looks like some low-hanging fruit got overlooked. This package depends on `sbcl` (!!) in order to get `fontconfig` files for `dejavu` (!!!), which is ... already in the default `pkgs.fontconfig` config files. Also there was a bunch of crap in the `buildInputs` that wasn't needed (like `bash` and packages which are interpolated in the `postInstall`). I suspect that the `postInstall` is still pretty busted but this should at least get `sbcl` out of my closure.
bcc93a5 to
1e0ac80
Compare
@Pandapip1 Good idea, I've done that here: #456267 I think someone else will need to pick this PR up, as I don't have convenient access to a Linux box. |
This package was introduced in NixOS#339136, which attracted quite a bit of conversation. I don't have the energy to go through the conversations but it looks like some low-hanging fruit got overlooked. This package depends on `sbcl` (!!) in order to get `fontconfig` files for `dejavu` (!!!), which is ... already in the default `pkgs.fontconfig` config files. This is a stripped-down version of NixOS#454818 to (hopefully) expedite its merge.
This package was introduced in #339136, which attracted quite a bit of conversation. I don't have the energy to go through the conversations but it looks like some low-hanging fruit got overlooked. This package depends on
sbcl(!!) in order to getfontconfigfiles fordejavu(!!!), which is ... already in the defaultpkgs.fontconfigconfig files.Also there was a bunch of crap in the
buildInputsthat wasn't needed (likebashand packages which are interpolated in thepostInstall). I suspect that thepostInstallis still pretty busted but this should at least getsbclout of my closure.Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.Add a 👍 reaction to pull requests you find important.