Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ghostscript_headless: init #204977

Merged
merged 3 commits into from
Dec 9, 2022
Merged

Conversation

roberth
Copy link
Member

@roberth roberth commented Dec 7, 2022

Description of changes

This reduces the build closure of many derivations that don't already need user interface or printing libraries.

I'm not 100% confident that a graphical ghostscript isn't necessary, but it is highly likely, and this seems to be the only way to find out. I've checked the project documentation and nixpkgs git blame for clues.

I'm not doing this through the NixOS no-x-libs overlay, because this should improve many packages that have no business having graphical libraries in their build closure, saving many rebuilds, regardless of whether the user wants to optimize for a non-graphical system configuration.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.05 Release Notes (or backporting 22.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@github-actions github-actions bot added 6.topic: python 6.topic: TeX Issues regarding texlive and TeX in general labels Dec 7, 2022
@roberth roberth added the 6.topic: closure size The final size of a derivation, including its dependencies label Dec 7, 2022
@ofborg ofborg bot added the 8.has: package (new) This PR adds a new package label Dec 7, 2022
@ofborg ofborg bot requested a review from veprbl December 7, 2022 11:43
The code and typical use case suggest that ghostscript is not used
graphically. Removing this dependency reduces the build closure of
many tools that use texlive for documentation.

If this needs to be reverted, please state the graphical use case
in a comment, so we don't make this mistake again.
matplotlib does not seem to use ghostscript in its graphical /
interactive capacity, based on quick scan through the docs and
github code search.

If this needs to be reverted, please state the graphical use case
in a comment, so we don't make this mistake again.
@roberth roberth force-pushed the init-ghostscript_headless branch from a9d5dca to 64c6e21 Compare December 7, 2022 11:51
@roberth roberth changed the base branch from master to staging December 7, 2022 11:51
Copy link
Member

@veprbl veprbl left a comment

Choose a reason for hiding this comment

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

Both texlive and matplotlib changes make sense to me.

@roberth roberth merged commit 7915b0f into NixOS:staging Dec 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: closure size The final size of a derivation, including its dependencies 6.topic: python 6.topic: TeX Issues regarding texlive and TeX in general 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 11-100 10.rebuild-linux: 501+ 10.rebuild-linux: 1001-2500
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants