Skip to content

fetchFromSavannah: update url#427024

Merged
philiptaron merged 1 commit intomasterfrom
unknown repository
Jul 20, 2025
Merged

fetchFromSavannah: update url#427024
philiptaron merged 1 commit intomasterfrom
unknown repository

Conversation

@ghost
Copy link

@ghost ghost commented Jul 20, 2025

Savannah now uses mirror servers, so the link has to be updated accordingly on our end.

  1. https://savannah.gnu.org/news/?id=10777
  2. https://lists.gnu.org/archive/html/savannah-users/2025-05/msg00002.html

To test:

Invalidate the hash of packages that call fetchFromSavannah which include but may not be limited to "emacs" "ruby" "grub2" "gnucap" "c-intro-and-ref" "nmh" and "mescc-tools" using lib.fakeHash

Build the package and check if the download completes and the hashes are equal.

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.

@nix-owners nix-owners bot requested a review from philiptaron July 20, 2025 22:09
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. 6.topic: fetch Fetchers (e.g. fetchgit, fetchsvn, ...) labels Jul 20, 2025
@philiptaron philiptaron merged commit 66280fd into NixOS:master Jul 20, 2025
26 of 30 checks passed
@jonhermansen
Copy link
Member

Thank you!

There are also a lot of packages that rely on git.savannah.gnu.org but don't use fetchFromSavannah, I wonder if they should be changed too.

@ghost
Copy link
Author

ghost commented Jul 20, 2025

@jonhermansen

Looking at the naive grep output of git.savannah.gnu.org a lot of Savannah projects are fetched using a mirror mirror://gnu/${pname}/${pname}-${version}.tar.xz"; which seems suspiciously #409110 shaped. But some are not. I'll look into submitting another PR to replace the non-mirror ones that use fetchGit or are Emacs.

@ghost ghost deleted the update-savannah-url branch July 20, 2025 22:37
@ghost
Copy link
Author

ghost commented Jul 20, 2025

Perhaps a follow up to not using snapshots and converting fetchFromSavannah to fetchFromCGit as it seems like the savannah admins are going to do away with snapshots and have already done for some packages. Some GNU savannah packages also aren't deterministic (like nmh) and I don't know if it's because they were snapshots and not fetched from git.

Or maybe we should just be using mirror://gnu for Savannah packages from now on? I think this is a bigger rabbit hole than I previously thought.

@philiptaron
Copy link
Contributor

philiptaron commented Jul 20, 2025

I look forward to result of the research you're doing. Making things consistent in nixpkgs about how we use Savannah would be net good. Since most things from Savannah are cached on cache.nixos.org it doesn't matter what the method of acquisition is very much, in my mind, because almost all users will instead pull it from c.n.o.

The determinism questions are quite relevant though.

@ghost ghost mentioned this pull request Aug 22, 2025
13 tasks
jian-lin added a commit to linj-fork/nixpkgs that referenced this pull request Aug 27, 2025
This commit re-apply a019344 with
fixes and minor improvements.

Refs: NixOS#427024 NixOS#435964
Co-authored-by: Lin Jian <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: fetch Fetchers (e.g. fetchgit, fetchsvn, ...) 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants