Skip to content

Commit

Permalink
fetchpatch2: init
Browse files Browse the repository at this point in the history
allows us to use the new features of patchutils without having to reset
all fetchpatch hashes in nixpkgs

NixOS#32084
  • Loading branch information
Artturin committed Jul 20, 2022
1 parent b9da0d3 commit 4187709
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 12 deletions.
7 changes: 2 additions & 5 deletions pkgs/build-support/fetchpatch/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,8 @@
# often change with updating of git or cgit.
# stripLen acts as the -p parameter when applying a patch.

{ lib, fetchurl, buildPackages }:
let
# 0.3.4 would change hashes: https://github.com/NixOS/nixpkgs/issues/25154
patchutils = buildPackages.patchutils_0_3_3;
in
{ lib, fetchurl, patchutils }:

{ relative ? null
, stripLen ? 0
, extraPrefix ? null
Expand Down
10 changes: 7 additions & 3 deletions pkgs/build-support/fetchpatch/tests.nix
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
{ testers, fetchpatch, ... }:

let
isFetchpatch2 = fetchpatch.version == 2;
in

{
simple = testers.invalidateFetcherByDrvHash fetchpatch {
url = "https://github.com/facebook/zstd/pull/2724/commits/e1f85dbca3a0ed5ef06c8396912a0914db8dea6a.patch";
sha256 = "sha256-PuYAqnJWAE+L9bsroOnnBGJhERW8LHrGSLtIEkKU9vg=";
sha256 = if isFetchpatch2 then "sha256-01BrkHLye4KOdqCw3tv7AJzIF6578pl2fl270TJFTmw=" else "sha256-PuYAqnJWAE+L9bsroOnnBGJhERW8LHrGSLtIEkKU9vg=";
};

relative = testers.invalidateFetcherByDrvHash fetchpatch {
url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
relative = "include";
sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4=";
sha256 = if isFetchpatch2 then "sha256-1TtmuKeNIl/Yp+sfzBMR8Ue78tPIgjqGgjasa5IN52o=" else "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4=";
};

full = testers.invalidateFetcherByDrvHash fetchpatch {
Expand All @@ -19,6 +23,6 @@
extraPrefix = "foo/bar/";
excludes = [ "foo/bar/bernoulli_no_atomic_mp.cpp" ];
revert = true;
sha256 = "sha256-+UKmEbr2rIAweCav/hR/7d4ZrYV84ht/domTrHtm8sM=";
sha256 = if isFetchpatch2 then "sha256-+UKmEbr2rIAweCav/hR/7d4ZrYV84ht/domTrHtm8sM=" else "sha256-+UKmEbr2rIAweCav/hR/7d4ZrYV84ht/domTrHtm8sM=";
};
}
1 change: 1 addition & 0 deletions pkgs/test/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ with pkgs;

fetchurl = callPackages ../build-support/fetchurl/tests.nix { };
fetchpatch = callPackages ../build-support/fetchpatch/tests.nix { };
fetchpatch2 = callPackages ../build-support/fetchpatch/tests.nix { fetchpatch = fetchpatch2; };
fetchzip = callPackages ../build-support/fetchzip/tests.nix { };
fetchgit = callPackages ../build-support/fetchgit/tests.nix { };
fetchFirefoxAddon = callPackages ../build-support/fetchfirefoxaddon/tests.nix { };
Expand Down
18 changes: 14 additions & 4 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -691,10 +691,20 @@ with pkgs;

broadlink-cli = callPackage ../tools/misc/broadlink-cli {};

fetchpatch = callPackage ../build-support/fetchpatch { }
// {
tests = pkgs.tests.fetchpatch;
};
fetchpatch = callPackage ../build-support/fetchpatch {
# 0.3.4 would change hashes: https://github.com/NixOS/nixpkgs/issues/25154
patchutils = buildPackages.patchutils_0_3_3;
} // {
tests = pkgs.tests.fetchpatch;
version = 1;
};

fetchpatch2 = callPackage ../build-support/fetchpatch {
patchutils = buildPackages.patchutils_0_4_2;
} // {
tests = pkgs.tests.fetchpatch2;
version = 2;
};

fetchs3 = callPackage ../build-support/fetchs3 { };

Expand Down

0 comments on commit 4187709

Please sign in to comment.