9bd437d4b4
We still ensure the old and new ones start, respectfully, with `a/` and `b/`. Use with `stripLen` to ensure tha the old `a/` and `/b` are gone if a new prefix is added.
54 lines
1.6 KiB
Nix
54 lines
1.6 KiB
Nix
{ stdenv, fetchurl, fetchpatch }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "pcre2-${version}";
|
|
version = "10.23";
|
|
src = fetchurl {
|
|
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
|
|
sha256 = "0vn5g0mkkp99mmzpissa06hpyj6pk9s4mlwbjqrjvw3ihy8rpiyz";
|
|
};
|
|
|
|
configureFlags = [
|
|
"--enable-pcre2-16"
|
|
"--enable-pcre2-32"
|
|
"--enable-jit"
|
|
];
|
|
|
|
patches = [
|
|
(fetchpatch {
|
|
name = "CVE-2017-7186-part1.patch";
|
|
url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_ucd.c?view=patch&r1=316&r2=670&sortby=date";
|
|
sha256 = "10yzglvbn7h06hg7zffr5zh378i5jihvx7d5gggkynws79vgwvfr";
|
|
stripLen = 2;
|
|
extraPrefix = "";
|
|
})
|
|
(fetchpatch {
|
|
name = "CVE-2017-7186-part2.patch";
|
|
url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_internal.h?view=patch&r1=600&r2=670&sortby=date";
|
|
sha256 = "1bggk7vd5hg0bjg96lj4h1lacmr6grq68dm6iz1n7vg3zf7virjn";
|
|
stripLen = 2;
|
|
extraPrefix = "";
|
|
})
|
|
(fetchpatch {
|
|
name = "CVE-2017-8786.patch";
|
|
url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2test.c?r1=692&r2=697&view=patch";
|
|
sha256 = "1c629nzrk4il2rfclwyc1a373q58m4q9ys9wr91zhl4skfk7x19b";
|
|
stripLen = 2;
|
|
extraPrefix = "";
|
|
})
|
|
];
|
|
|
|
outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
|
|
|
|
postFixup = ''
|
|
moveToOutput bin/pcre2-config "$dev"
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "Perl Compatible Regular Expressions";
|
|
homepage = http://www.pcre.org/;
|
|
license = licenses.bsd3;
|
|
maintainers = with maintainers; [ ttuegel ];
|
|
platforms = platforms.all;
|
|
};
|
|
}
|