Merge pull request #255175 from nbraud/fetchDebianPatch/extension

fetchDebianPatch: do not assume `.patch` extension (v2)
This commit is contained in:
Weijia Wang 2023-09-15 07:49:33 +02:00 committed by GitHub
commit cc82ad6eef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 26 deletions

View file

@ -86,7 +86,7 @@ Most other fetchers return a directory rather than a single file.
## `fetchDebianPatch` {#fetchdebianpatch} ## `fetchDebianPatch` {#fetchdebianpatch}
A wrapper around `fetchpatch`, which takes: A wrapper around `fetchpatch`, which takes:
- `patch` and `hash`: the patch's filename without the `.patch` suffix, - `patch` and `hash`: the patch's filename,
and its hash after normalization by `fetchpatch` ; and its hash after normalization by `fetchpatch` ;
- `pname`: the Debian source package's name ; - `pname`: the Debian source package's name ;
- `version`: the upstream version number ; - `version`: the upstream version number ;
@ -110,7 +110,7 @@ buildPythonPackage rec {
(fetchDebianPatch { (fetchDebianPatch {
inherit pname version; inherit pname version;
debianRevision = "5"; debianRevision = "5";
name = "Add-quotes-to-SOAPAction-header-in-SoapClient"; name = "Add-quotes-to-SOAPAction-header-in-SoapClient.patch";
hash = "sha256-xA8Wnrpr31H8wy3zHSNfezFNjUJt1HbSXn3qUMzeKc0="; hash = "sha256-xA8Wnrpr31H8wy3zHSNfezFNjUJt1HbSXn3qUMzeKc0=";
}) })
]; ];

View file

@ -1,8 +1,8 @@
{ lib, fetchpatch }: { lib, fetchpatch }:
lib.makeOverridable ( lib.makeOverridable (
{ pname, version, debianRevision ? null, patch, hash, { pname, version, debianRevision ? null, area ? "main",
area ? "main", name ? "${patch}.patch" }: patch, name ? patch, hash }:
let let
inherit (lib.strings) hasPrefix substring; inherit (lib.strings) hasPrefix substring;
prefix = prefix =
@ -14,6 +14,6 @@ lib.makeOverridable (
inherit name hash; inherit name hash;
url = url =
"https://sources.debian.org/data/${area}/${prefix}/" "https://sources.debian.org/data/${area}/${prefix}/"
+ "${pname}/${versionString}/debian/patches/${patch}.patch"; + "${pname}/${versionString}/debian/patches/${patch}";
} }
) )

View file

@ -28,17 +28,17 @@ buildPythonPackage rec {
debianRevision = "5"; debianRevision = "5";
} // args)) [ } // args)) [
# Merged upstream: f5f96210e1483f81cb5c582a6619e3ec4b473027 # Merged upstream: f5f96210e1483f81cb5c582a6619e3ec4b473027
{ patch = "Add-quotes-to-SOAPAction-header-in-SoapClient"; { patch = "Add-quotes-to-SOAPAction-header-in-SoapClient.patch";
hash = "sha256-xA8Wnrpr31H8wy3zHSNfezFNjUJt1HbSXn3qUMzeKc0="; } hash = "sha256-xA8Wnrpr31H8wy3zHSNfezFNjUJt1HbSXn3qUMzeKc0="; }
# Merged upstream: ad03a21cafab982eed321553c4bfcda1755182eb # Merged upstream: ad03a21cafab982eed321553c4bfcda1755182eb
{ patch = "fix-httplib2-version-check"; { patch = "fix-httplib2-version-check.patch";
hash = "sha256-zUeF3v0N/eMyRVRH3tQLfuUfMKOD/B/aqEwFh/7HxH4="; } hash = "sha256-zUeF3v0N/eMyRVRH3tQLfuUfMKOD/B/aqEwFh/7HxH4="; }
{ patch = "reorder-type-check-to-avoid-a-TypeError"; { patch = "reorder-type-check-to-avoid-a-TypeError.patch";
hash = "sha256-2p5Cqvh0SPfJ8B38wb/xq7jWGYgpI9pavA6qkMUb6hA="; } hash = "sha256-2p5Cqvh0SPfJ8B38wb/xq7jWGYgpI9pavA6qkMUb6hA="; }
# Merged upstream: 033e5899e131a2c1bdf7db5852f816f42aac9227 # Merged upstream: 033e5899e131a2c1bdf7db5852f816f42aac9227
{ patch = "Support-integer-values-in-maxOccurs-attribute"; { patch = "Support-integer-values-in-maxOccurs-attribute.patch";
hash = "sha256-IZ0DP7io+ihcnB5547cR53FAdnpRLR6z4J5KsNrkfaI="; } hash = "sha256-IZ0DP7io+ihcnB5547cR53FAdnpRLR6z4J5KsNrkfaI="; }
{ patch = "PR204"; { patch = "PR204.patch";
hash = "sha256-JlxeTnKDFxvEMFBthZsaYRbNOoBvLJhBnXCRoiL/nVw="; } hash = "sha256-JlxeTnKDFxvEMFBthZsaYRbNOoBvLJhBnXCRoiL/nVw="; }
] ++ [ ./stringIO.patch ]; ] ++ [ ./stringIO.patch ];

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fetchpatch { lib, stdenv, fetchurl, fetchDebianPatch
, autoconf, gtkmm3, glib, pdftk, pkg-config, wrapGAppsHook , autoconf, gtkmm3, glib, pdftk, pkg-config, wrapGAppsHook
}: }:
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}/${pname}-${version}.tar.gz"; url = "mirror://sourceforge/${pname}/${pname}-${version}/${pname}-${version}.tar.gz";
sha256 = "sha256-Hu4Pk9voyc75+f5OwKEOCkXKjN5nzWzv+izmyEN1Lz0="; hash = "sha256-Hu4Pk9voyc75+f5OwKEOCkXKjN5nzWzv+izmyEN1Lz0=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -20,23 +20,24 @@ stdenv.mkDerivation rec {
]; ];
patches = let patches = let
fetchDebianPatch = {name, sha256}: fetchpatch { fetchDebianPatch' = args: fetchDebianPatch ({
url = "https://salsa.debian.org/debian/pdfchain/raw/2d29107756a3194fb522bdea8e9b9e393b15a8f3/debian/patches/${name}"; inherit pname;
inherit name sha256; version = "1:0.4.4.2";
}; debianRevision = "2";
} // args);
in in
[ [
(fetchDebianPatch { (fetchDebianPatch' {
name = "fix_crash_on_startup"; patch = "fix_crash_on_startup";
sha256 = "sha256-1UyMHHGrmUIFhY53ILdMMsyocSIbcV6CKQ7sLVNhNQw="; hash = "sha256-1UyMHHGrmUIFhY53ILdMMsyocSIbcV6CKQ7sLVNhNQw=";
}) })
(fetchDebianPatch { (fetchDebianPatch' {
name = "fix_desktop_file"; patch = "fix_desktop_file";
sha256 = "sha256-L6lhUs7GqVN1XOQO6bbz6BT29n4upsJtlHCAIGzk1Bw="; hash = "sha256-L6lhUs7GqVN1XOQO6bbz6BT29n4upsJtlHCAIGzk1Bw=";
}) })
(fetchDebianPatch { (fetchDebianPatch' {
name = "fix_spelling"; patch = "fix_spelling";
sha256 = "sha256-sOUUslPfcOo2K3zuaLcux+CNdgfWM0phsfe6g4GUFes="; hash = "sha256-sOUUslPfcOo2K3zuaLcux+CNdgfWM0phsfe6g4GUFes=";
}) })
]; ];
@ -51,6 +52,6 @@ stdenv.mkDerivation rec {
homepage = "https://pdfchain.sourceforge.io"; homepage = "https://pdfchain.sourceforge.io";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ hqurve ]; maintainers = with maintainers; [ hqurve ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }