Skip to content

python3Packages.kaleido: remove sbcl dependency (!!!)#454818

Closed
9999years wants to merge 1 commit intoNixOS:masterfrom
9999years:wiggles/utoy
Closed

python3Packages.kaleido: remove sbcl dependency (!!!)#454818
9999years wants to merge 1 commit intoNixOS:masterfrom
9999years:wiggles/utoy

Conversation

@9999years
Copy link
Contributor

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 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.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 6.topic: python Python is a high-level, general-purpose programming language. labels Oct 23, 2025
@nix-owners nix-owners bot requested a review from Pandapip1 October 23, 2025 08:32
@9999years
Copy link
Contributor Author

10.rebuild-linux: 101-500

This was adding sbcl to how many packages!?

@Pandapip1
Copy link
Member

Pandapip1 commented Oct 23, 2025

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.

@cameronraysmith
Copy link
Member

cameronraysmith commented Oct 24, 2025

10.rebuild-linux: 101-500

This was adding sbcl to how many packages!?

True madness...especially when the sbcl cache is broken or busted
#444225 (review)
Spent a couple hours yesterday figuring out why I had to manually skip 200 (mostly pure) python packages in nixpkgs-review to avoid recompilation of sbcl!

This PR should be merged ( once it works correctly, etc ).

Copy link
Member

@SuperSandro2000 SuperSandro2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@cameronraysmith
Copy link
Member

cameronraysmith commented Oct 24, 2025

@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 python3Packages.kaleido package, but I wonder if the review is still attempting to induce sbcl recompilation, while the cache and build are likely still broken on darwin,
https://hydra.nixos.org/job/nixpkgs/trunk/sbcl.aarch64-darwin -->
https://hydra.nixos.org/build/310740111
for some other associated package and if that's blocking the completion of the review process. If so, I believe the sbcl cache should still be intact on linux platforms,
https://hydra.nixos.org/job/nixpkgs/trunk/sbcl.x86_64-linux -->
https://hydra.nixos.org/build/310740114
and hopefully not a blocker to review there ;)!

@sarahec
Copy link
Contributor

sarahec commented Oct 24, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 454818
Commit: bcc93a554d2db9a74520d637d1e9cfdf900a607b


aarch64-darwin

✅ 375 packages built:
  • aider-chat-full
  • aider-chat-full.dist
  • aider-chat-with-help
  • aider-chat-with-help.dist
  • apkleaks
  • apkleaks.dist
  • beets (beetsPackages.beets, beetsPackages.beets-stable, python313Packages.beets)
  • beets.dist (beetsPackages.beets-stable.dist, beetsPackages.beets.dist, python313Packages.beets.dist)
  • beets.doc (beetsPackages.beets-stable.doc, beetsPackages.beets.doc, python313Packages.beets.doc)
  • beets.man (beetsPackages.beets-stable.man, beetsPackages.beets.man, python313Packages.beets.man)
  • checkov
  • checkov.dist
  • cve-bin-tool
  • cve-bin-tool.dist
  • das
  • das.dist
  • deeptools
  • deeptools.dist
  • flattenReferencesGraph
  • flattenReferencesGraph.dist
  • jadx
  • multiqc
  • multiqc.dist
  • pianotrans
  • pianotrans.dist
  • piper-tts
  • piper-tts.dist
  • prowler
  • prowler.dist
  • python312Packages.ax-platform
  • python312Packages.ax-platform.dist
  • python312Packages.beetcamp
  • python312Packages.beetcamp.dist
  • python312Packages.beets
  • python312Packages.beets.dist
  • python312Packages.beets.doc
  • python312Packages.beets.man
  • python312Packages.bumps
  • python312Packages.bumps.dist
  • python312Packages.chart-studio
  • python312Packages.chart-studio.dist
  • python312Packages.compressai
  • python312Packages.compressai.dist
  • python312Packages.dash
  • python312Packages.dash-bootstrap-components
  • python312Packages.dash-bootstrap-components.dist
  • python312Packages.dash-bootstrap-templates
  • python312Packages.dash-bootstrap-templates.dist
  • python312Packages.dash.dist
  • python312Packages.energyflow
  • python312Packages.energyflow.dist
  • python312Packages.experiment-utilities
  • python312Packages.experiment-utilities.dist
  • python312Packages.explorerscript
  • python312Packages.explorerscript.dist
  • python312Packages.fastai
  • python312Packages.fastai.dist
  • python312Packages.holistic-trace-analysis
  • python312Packages.holistic-trace-analysis.dist
  • python312Packages.hvplot
  • python312Packages.hvplot.dist
  • python312Packages.igraph
  • python312Packages.igraph.dist
  • python312Packages.intake
  • python312Packages.intake.dist
  • python312Packages.iplotx
  • python312Packages.iplotx.dist
  • python312Packages.itables
  • python312Packages.itables.dist
  • python312Packages.k-diffusion
  • python312Packages.k-diffusion.dist
  • python312Packages.kaleido
  • python312Packages.kaleido.dist
  • python312Packages.kmapper
  • python312Packages.kmapper.dist
  • python312Packages.leidenalg
  • python312Packages.leidenalg.dist
  • python312Packages.librosa
  • python312Packages.librosa.dist
  • python312Packages.llama-cloud-services
  • python312Packages.llama-cloud-services.dist
  • python312Packages.llama-index
  • python312Packages.llama-index-cli
  • python312Packages.llama-index-cli.dist
  • python312Packages.llama-index-core
  • python312Packages.llama-index-core.dist
  • python312Packages.llama-index-embeddings-gemini
  • python312Packages.llama-index-embeddings-gemini.dist
  • python312Packages.llama-index-embeddings-google
  • python312Packages.llama-index-embeddings-google.dist
  • python312Packages.llama-index-embeddings-huggingface
  • python312Packages.llama-index-embeddings-huggingface.dist
  • python312Packages.llama-index-embeddings-ollama
  • python312Packages.llama-index-embeddings-ollama.dist
  • python312Packages.llama-index-embeddings-openai
  • python312Packages.llama-index-embeddings-openai.dist
  • python312Packages.llama-index-graph-stores-nebula
  • python312Packages.llama-index-graph-stores-nebula.dist
  • python312Packages.llama-index-graph-stores-neo4j
  • python312Packages.llama-index-graph-stores-neo4j.dist
  • python312Packages.llama-index-graph-stores-neptune
  • python312Packages.llama-index-graph-stores-neptune.dist
  • python312Packages.llama-index-indices-managed-llama-cloud
  • python312Packages.llama-index-indices-managed-llama-cloud.dist
  • python312Packages.llama-index-legacy
  • python312Packages.llama-index-legacy.dist
  • python312Packages.llama-index-llms-ollama
  • python312Packages.llama-index-llms-ollama.dist
  • python312Packages.llama-index-llms-openai
  • python312Packages.llama-index-llms-openai-like
  • python312Packages.llama-index-llms-openai-like.dist
  • python312Packages.llama-index-llms-openai.dist
  • python312Packages.llama-index-multi-modal-llms-openai
  • python312Packages.llama-index-multi-modal-llms-openai.dist
  • python312Packages.llama-index-node-parser-docling
  • python312Packages.llama-index-node-parser-docling.dist
  • python312Packages.llama-index-readers-database
  • python312Packages.llama-index-readers-database.dist
  • python312Packages.llama-index-readers-file
  • python312Packages.llama-index-readers-file.dist
  • python312Packages.llama-index-readers-json
  • python312Packages.llama-index-readers-json.dist
  • python312Packages.llama-index-readers-llama-parse
  • python312Packages.llama-index-readers-llama-parse.dist
  • python312Packages.llama-index-readers-s3
  • python312Packages.llama-index-readers-s3.dist
  • python312Packages.llama-index-readers-twitter
  • python312Packages.llama-index-readers-twitter.dist
  • python312Packages.llama-index-readers-txtai
  • python312Packages.llama-index-readers-txtai.dist
  • python312Packages.llama-index-readers-weather
  • python312Packages.llama-index-readers-weather.dist
  • python312Packages.llama-index-vector-stores-chroma
  • python312Packages.llama-index-vector-stores-chroma.dist
  • python312Packages.llama-index-vector-stores-google
  • python312Packages.llama-index-vector-stores-google.dist
  • python312Packages.llama-index-vector-stores-milvus
  • python312Packages.llama-index-vector-stores-milvus.dist
  • python312Packages.llama-index-vector-stores-qdrant
  • python312Packages.llama-index-vector-stores-qdrant.dist
  • python312Packages.llama-index.dist
  • python312Packages.llama-parse
  • python312Packages.llama-parse.dist
  • python312Packages.mlcroissant
  • python312Packages.mlcroissant.dist
  • python312Packages.neurokit2
  • python312Packages.neurokit2.dist
  • python312Packages.niaarm
  • python312Packages.niaarm.dist
  • python312Packages.optuna
  • python312Packages.optuna-dashboard
  • python312Packages.optuna-dashboard.dist
  • python312Packages.optuna.dist
  • python312Packages.piano-transcription-inference
  • python312Packages.piano-transcription-inference.dist
  • python312Packages.plotly
  • python312Packages.plotly.dist
  • python312Packages.pyannote-audio
  • python312Packages.pyannote-audio.dist
  • python312Packages.pyannote-pipeline
  • python312Packages.pyannote-pipeline.dist
  • python312Packages.pymatgen
  • python312Packages.pymatgen.dist
  • python312Packages.reflex
  • python312Packages.reflex-chakra
  • python312Packages.reflex-chakra.dist
  • python312Packages.reflex.dist
  • python312Packages.resampy
  • python312Packages.resampy.dist
  • python312Packages.sasmodels
  • python312Packages.sasmodels.dist
  • python312Packages.scikit-tda
  • python312Packages.scikit-tda.dist
  • python312Packages.skrl
  • python312Packages.skrl.dist
  • python312Packages.spacy
  • python312Packages.spacy-curated-transformers
  • python312Packages.spacy-curated-transformers.dist
  • python312Packages.spacy-loggers
  • python312Packages.spacy-loggers.dist
  • python312Packages.spacy-lookups-data
  • python312Packages.spacy-lookups-data.dist
  • python312Packages.spacy-transformers
  • python312Packages.spacy-transformers.dist
  • python312Packages.spacy.dist
  • python312Packages.sumo
  • python312Packages.sumo.dist
  • python312Packages.synergy
  • python312Packages.synergy.dist
  • python312Packages.textacy
  • python312Packages.textacy.dist
  • python312Packages.textnets
  • python312Packages.textnets.dist
  • python312Packages.torch-audiomentations
  • python312Packages.torch-audiomentations.dist
  • python312Packages.torchcrepe
  • python312Packages.torchcrepe.dist
  • python312Packages.torchlibrosa
  • python312Packages.torchlibrosa.dist
  • python312Packages.wandb
  • python312Packages.wandb.dist
  • python312Packages.whisperx
  • python312Packages.whisperx.dist
  • python313Packages.ax-platform
  • python313Packages.ax-platform.dist
  • python313Packages.beetcamp
  • python313Packages.beetcamp.dist
  • python313Packages.bumps
  • python313Packages.bumps.dist
  • python313Packages.chart-studio
  • python313Packages.chart-studio.dist
  • python313Packages.compressai
  • python313Packages.compressai.dist
  • python313Packages.dash
  • python313Packages.dash-bootstrap-components
  • python313Packages.dash-bootstrap-components.dist
  • python313Packages.dash-bootstrap-templates
  • python313Packages.dash-bootstrap-templates.dist
  • python313Packages.dash.dist
  • python313Packages.energyflow
  • python313Packages.energyflow.dist
  • python313Packages.experiment-utilities
  • python313Packages.experiment-utilities.dist
  • python313Packages.explorerscript
  • python313Packages.explorerscript.dist
  • python313Packages.fastai
  • python313Packages.fastai.dist
  • python313Packages.holistic-trace-analysis
  • python313Packages.holistic-trace-analysis.dist
  • python313Packages.hvplot
  • python313Packages.hvplot.dist
  • python313Packages.igraph
  • python313Packages.igraph.dist
  • python313Packages.intake
  • python313Packages.intake.dist
  • python313Packages.iplotx
  • python313Packages.iplotx.dist
  • python313Packages.itables
  • python313Packages.itables.dist
  • python313Packages.k-diffusion
  • python313Packages.k-diffusion.dist
  • python313Packages.kaleido
  • python313Packages.kaleido.dist
  • python313Packages.kmapper
  • python313Packages.kmapper.dist
  • python313Packages.leidenalg
  • python313Packages.leidenalg.dist
  • python313Packages.librosa
  • python313Packages.librosa.dist
  • python313Packages.llama-cloud-services
  • python313Packages.llama-cloud-services.dist
  • python313Packages.llama-index
  • python313Packages.llama-index-cli
  • python313Packages.llama-index-cli.dist
  • python313Packages.llama-index-core
  • python313Packages.llama-index-core.dist
  • python313Packages.llama-index-embeddings-gemini
  • python313Packages.llama-index-embeddings-gemini.dist
  • python313Packages.llama-index-embeddings-google
  • python313Packages.llama-index-embeddings-google.dist
  • python313Packages.llama-index-embeddings-huggingface
  • python313Packages.llama-index-embeddings-huggingface.dist
  • python313Packages.llama-index-embeddings-ollama
  • python313Packages.llama-index-embeddings-ollama.dist
  • python313Packages.llama-index-embeddings-openai
  • python313Packages.llama-index-embeddings-openai.dist
  • python313Packages.llama-index-graph-stores-neo4j
  • python313Packages.llama-index-graph-stores-neo4j.dist
  • python313Packages.llama-index-graph-stores-neptune
  • python313Packages.llama-index-graph-stores-neptune.dist
  • python313Packages.llama-index-indices-managed-llama-cloud
  • python313Packages.llama-index-indices-managed-llama-cloud.dist
  • python313Packages.llama-index-legacy
  • python313Packages.llama-index-legacy.dist
  • python313Packages.llama-index-llms-ollama
  • python313Packages.llama-index-llms-ollama.dist
  • python313Packages.llama-index-llms-openai
  • python313Packages.llama-index-llms-openai-like
  • python313Packages.llama-index-llms-openai-like.dist
  • python313Packages.llama-index-llms-openai.dist
  • python313Packages.llama-index-multi-modal-llms-openai
  • python313Packages.llama-index-multi-modal-llms-openai.dist
  • python313Packages.llama-index-node-parser-docling
  • python313Packages.llama-index-node-parser-docling.dist
  • python313Packages.llama-index-readers-database
  • python313Packages.llama-index-readers-database.dist
  • python313Packages.llama-index-readers-file
  • python313Packages.llama-index-readers-file.dist
  • python313Packages.llama-index-readers-json
  • python313Packages.llama-index-readers-json.dist
  • python313Packages.llama-index-readers-llama-parse
  • python313Packages.llama-index-readers-llama-parse.dist
  • python313Packages.llama-index-readers-s3
  • python313Packages.llama-index-readers-s3.dist
  • python313Packages.llama-index-readers-twitter
  • python313Packages.llama-index-readers-twitter.dist
  • python313Packages.llama-index-readers-txtai
  • python313Packages.llama-index-readers-txtai.dist
  • python313Packages.llama-index-readers-weather
  • python313Packages.llama-index-readers-weather.dist
  • python313Packages.llama-index-vector-stores-chroma
  • python313Packages.llama-index-vector-stores-chroma.dist
  • python313Packages.llama-index-vector-stores-google
  • python313Packages.llama-index-vector-stores-google.dist
  • python313Packages.llama-index-vector-stores-milvus
  • python313Packages.llama-index-vector-stores-milvus.dist
  • python313Packages.llama-index-vector-stores-qdrant
  • python313Packages.llama-index-vector-stores-qdrant.dist
  • python313Packages.llama-index.dist
  • python313Packages.llama-parse
  • python313Packages.llama-parse.dist
  • python313Packages.mlcroissant
  • python313Packages.mlcroissant.dist
  • python313Packages.neurokit2
  • python313Packages.neurokit2.dist
  • python313Packages.niaarm
  • python313Packages.niaarm.dist
  • python313Packages.optuna
  • python313Packages.optuna-dashboard
  • python313Packages.optuna-dashboard.dist
  • python313Packages.optuna.dist
  • python313Packages.piano-transcription-inference
  • python313Packages.piano-transcription-inference.dist
  • python313Packages.plotly
  • python313Packages.plotly.dist
  • python313Packages.pyannote-audio
  • python313Packages.pyannote-audio.dist
  • python313Packages.pyannote-pipeline
  • python313Packages.pyannote-pipeline.dist
  • python313Packages.reflex
  • python313Packages.reflex-chakra
  • python313Packages.reflex-chakra.dist
  • python313Packages.reflex.dist
  • python313Packages.resampy
  • python313Packages.resampy.dist
  • python313Packages.sasmodels
  • python313Packages.sasmodels.dist
  • python313Packages.scikit-tda
  • python313Packages.scikit-tda.dist
  • python313Packages.skrl
  • python313Packages.skrl.dist
  • python313Packages.spacy
  • python313Packages.spacy-curated-transformers
  • python313Packages.spacy-curated-transformers.dist
  • python313Packages.spacy-loggers
  • python313Packages.spacy-loggers.dist
  • python313Packages.spacy-lookups-data
  • python313Packages.spacy-lookups-data.dist
  • python313Packages.spacy-transformers
  • python313Packages.spacy-transformers.dist
  • python313Packages.spacy.dist
  • python313Packages.synergy
  • python313Packages.synergy.dist
  • python313Packages.textacy
  • python313Packages.textacy.dist
  • python313Packages.torch-audiomentations
  • python313Packages.torch-audiomentations.dist
  • python313Packages.torchcrepe
  • python313Packages.torchcrepe.dist
  • python313Packages.torchlibrosa
  • python313Packages.torchlibrosa.dist
  • python313Packages.wandb
  • python313Packages.wandb.dist
  • whisperx (python313Packages.whisperx)
  • whisperx.dist (python313Packages.whisperx.dist)
  • quark-engine
  • quark-engine.dist
  • theharvester
  • theharvester.dist
  • tts
  • tts.dist
  • whisper-ctranslate2
  • whisper-ctranslate2.dist
  • wyoming-piper
  • wyoming-piper.dist

@sarahec
Copy link
Contributor

sarahec commented Oct 24, 2025

python3Packages.plotly failures

x86_64-linux

> 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...

See @Pandapip1's comment below

aarch64-darwin

This looks for osascript which isn't accessible for nixpkgs.

tests/test_plot.py::test_plot[plotly-psnr-rgb] - BrokenPipeError: [Errno 32] Broken pipe

Disable this test path on Darwin, please. See #455368

Copy link
Member

@Pandapip1 Pandapip1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using the test figure export (python3Packages.kaleido.passthru.tests.kaleido)

Before:

figure

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 passthru.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. Opened #455365

@Pandapip1
Copy link
Member

Pandapip1 commented Oct 24, 2025

@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 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

@Pandapip1
Copy link
Member

Pandapip1 commented Oct 25, 2025

Superseded by #455432 #455432 is currently stalled on a working chromium on darwin.

@Pandapip1
Copy link
Member

Pandapip1 commented Oct 27, 2025

Heads up: if you want to submit a minimal PR that just removes cl-dejavu from buildInputs and line 86 commented out with an additional comment stating it was removed for sbcl reasons (or update this PR with the reduced scope), I'm 90% sure that was a mistake during packaging can be safely removed, and I'd be happy to approve it as I continue to work on #455432 / chromium packaging for darwin.

@Pandapip1 Pandapip1 mentioned this pull request Oct 27, 2025
@sebastian-zm
Copy link

There is also an ls -s that should probably be an ln -s

@sebastian-zm
Copy link

Apparently for tests to pass you do need bash as a build input, but nothing else is really necessary. For me the nix-build -A python3Packages.kaleido.passthru.tests.kaleido passes with adding bash as build input and substituting the ls -s with an ln -s

@9999years
Copy link
Contributor Author

True madness...especially when the sbcl cache is broken or busted
#444225 (review)
Spent a couple hours yesterday figuring out why I had to manually skip 200 (mostly pure) python packages in nixpkgs-review to avoid recompilation of sbcl!

Yes, that's how I noticed it as well. My music library manager (pkgs.beets) started building sbcl from source!!

@sarahec Thanks for the nixpkgs-review run, especially on Linux, which is a bit annoying for me to access.

@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.
@9999years
Copy link
Contributor Author

Heads up: if you want to submit a minimal PR that just removes cl-dejavu from buildInputs and line 86 commented out with an additional comment stating it was removed for sbcl reasons (or update this PR with the reduced scope), I'm 90% sure that was a mistake during packaging can be safely removed, and I'd be happy to approve it as I continue to work on #455432 / chromium packaging for darwin.

@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.

@9999years 9999years closed this Oct 27, 2025
@9999years 9999years deleted the wiggles/utoy branch October 27, 2025 18:24
9999years added a commit to 9999years/nixpkgs that referenced this pull request Oct 27, 2025
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: python Python is a high-level, general-purpose programming language. 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants