Skip to content

[Need Help] Updated: catppuccin-papirus-folders to latest (f83671d) #426978

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Sewer56
Copy link

@Sewer56 Sewer56 commented Jul 20, 2025

Updates catppuccin-papirus-folders from fcf9673 to f83671d (latest).

The most important change is the removal of the papirus-folders script from upstream.

Upstream now says fetch it from papirus-folders, so I'm doing an URL fetch on a specific commit (latest at time of writing) to ensure reproducability.

Need Help

In this PR I had to set dontFixup = true, which is likely undesirable.

Help is requested here. To the best of my awareness per nixpkgs docs, there are no binaries, man pages, etc. in build output, yet the fixup step locks up. Removing fixup doesn't seem like good practice. So help is requested.

More details here:

I'm not sure how to debug this, as I've only got 3 days experience with Nix(OS) (I haven't even set up my machine fully yet!!), so help would be appreciated.

Aside from that, works as expected, if fixup is skipped.

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: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle! labels Jul 20, 2025
@nix-owners nix-owners bot requested a review from rubyowo July 20, 2025 17:40
@nixpkgs-ci nixpkgs-ci bot added 9.needs: reviewer This PR currently has no reviewers requested and needs attention. and removed 9.needs: reviewer This PR currently has no reviewers requested and needs attention. labels Jul 20, 2025
Copy link
Contributor

@MattSturgeon MattSturgeon left a comment

Choose a reason for hiding this comment

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

Congratulations on your first nixpkgs PR! Looks good overall.

I'll try to find time to investigate the issue you pointed out with the fixup phase.

Comment on lines +71 to +72
cp ${papirus-folders-script} ./papirus-folders
chmod +x ./papirus-folders
Copy link
Contributor

Choose a reason for hiding this comment

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

Can use install -m to combine these into a single step.

However, we can also pass executable = true to fetchurl and directly run the downloaded file without copying it. See https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-fetchers-fetchurl

# Per instructions in the papirus-folders project.
# We fetch specific latest tested commit to ensure reproducibility.
papirus-folders-script = fetchurl {
url = "https://raw.githubusercontent.com/PapirusDevelopmentTeam/papirus-folders/0f838ee5679229e3a3e97e3b333c222c9e9615b4/papirus-folders";
Copy link
Contributor

Choose a reason for hiding this comment

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

To make it easier to update, we could define a rev binding in the let in block:

papirus-folders-rev = "0f838ee5679229e3a3e97e3b333c222c9e9615b4";
papirus-folders-script = fetchurl {
  url = "https://raw.githubusercontent.com/PapirusDevelopmentTeam/papirus-folders/${papirus-folders-rev}/papirus-folders";


postPatch = ''
# Copy the upstream papirus-folders script (pinned), per papirus-folders documentation
cp ${papirus-folders-script} ./papirus-folders
chmod +x ./papirus-folders
patchShebangs ./papirus-folders
Copy link
Contributor

Choose a reason for hiding this comment

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

Likewise, this can be done within fetchurl's postFetch script.

Although, I'm guessing a copy or symlink is still needed if this script is used later in the build. A symlink would be preferred, if possible.

Comment on lines +62 to +63
# This gets stuck on fixup for some reason. Please help.
dontFixup = true;
Copy link
Contributor

Choose a reason for hiding this comment

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

I can try and investigate. What errors were you seeing?

Copy link
Author

Choose a reason for hiding this comment

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

A lockup, described in:

It would run a find command during the fixup phase, which would not find anything; and thus the script would error out, but without showing an error in the end.

Unfortunately, verbose mode, nor --show-trace gave me any useful info here.

Copy link
Contributor

Choose a reason for hiding this comment

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

As per the general commit conventions and pkgs commit conventions, can you reword the commit to something like:

catppuccin-papirus-folders: 2023-08-02 -> 2024-08-06

From https://github.com/catppuccin/papirus-folders/commit/fcf96737fffc343a1bf129732c37d19f2d77fa5c
To https://github.com/catppuccin/papirus-folders/commit/f83671d17ea67e335b34f8028a7e6d78bca735d7

The most important change is the removal of the `papirus-folders` script from upstream.

Upstream now says “fetch it from papirus-folders.”

If there is a changelog, ideally we'd also link to it.

Copy link
Author

Choose a reason for hiding this comment

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

Does this imply squashing any amendments?
As the docs say Create one commit for each logical unit.

Copy link
Contributor

Choose a reason for hiding this comment

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

If those amendments are fixes for one of the other commits in the PR, then yes you'd squash them.

If it is a logically distinct change, then it's better not to squash. e.g. one commit has a fix for a pre-existing issue in the package and another commit updates to a new version.


postPatch = ''
# Copy the upstream papirus-folders script (pinned), per papirus-folders documentation
Copy link
Contributor

Choose a reason for hiding this comment

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

Personally, I would keep all explanation with the fetchurl bit; copying into the build directory is fairly self-explanatory.

@Sewer56
Copy link
Author

Sewer56 commented Jul 20, 2025

Will patch up after I get the rest of the machine set up (on NixOS).
Still got some work to be done, getting a fully functional dev environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants