libxml2: 2.9.14 → 2.10.0

- Massive cleanups
- CVE-2022-2309
- More security fixes
- Removal of outdated development manpage libxml.3

https://gitlab.gnome.org/GNOME/libxml2/-/compare/v2.9.14...v2.10.0

- Python detection is broken by `strictDeps` for unknown reasons.
- Also replaced `moveToOutput` with more declarative `outputMan`.
This commit is contained in:
Jan Tojnar 2022-08-18 00:47:23 +00:00
parent 556884e365
commit 1c93ab362b

View file

@ -1,6 +1,7 @@
{ stdenv
, lib
, fetchurl
, fetchpatch
, zlib
, pkg-config
, autoreconfHook
@ -21,15 +22,16 @@
stdenv.mkDerivation rec {
pname = "libxml2";
version = "2.9.14";
version = "2.10.0";
outputs = [ "bin" "dev" "out" "man" "doc" ]
outputs = [ "bin" "dev" "out" "doc" ]
++ lib.optional pythonSupport "py"
++ lib.optional (enableStatic && enableShared) "static";
outputMan = "bin";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0";
sha256 = "LdMxEOp3hnbeFL6kmZ7hFzxMpV1f8UUryiJOBvAVJZU=";
};
patches = [
@ -45,9 +47,18 @@ stdenv.mkDerivation rec {
# https://github.com/NixOS/nixpkgs/pull/63174
# https://github.com/NixOS/nixpkgs/pull/72342
./utf8-xmlErrorFuncHandler.patch
];
strictDeps = true;
# Fix PostgreSQL tests
# https://gitlab.gnome.org/GNOME/libxml2/-/issues/397
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/libxml2/-/commit/4ad71c2d72beef0d10cf75aa417db10d77846f75.patch";
sha256 = "gubGDhBhHNYdEty+sFQFd3pSWB9isN5AjD//ksujGQk=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/libxml2/-/commit/5b2d07a72670513e41b481a9d922c983a64027ca.patch";
sha256 = "7jYvMW6bgImXubbaWpQhrIw3xBBnaNn+iJt3EQiW3yU=";
})
];
nativeBuildInputs = [
pkg-config
@ -88,6 +99,7 @@ stdenv.mkDerivation rec {
installFlags = lib.optionals pythonSupport [
"pythondir=\"${placeholder "py"}/${python.sitePackages}\""
"pyexecdir=\"${placeholder "py"}/${python.sitePackages}\""
];
enableParallelBuilding = true;
@ -110,7 +122,6 @@ stdenv.mkDerivation rec {
postFixup = ''
moveToOutput bin/xml2-config "$dev"
moveToOutput lib/xml2Conf.sh "$dev"
moveToOutput share/man/man1 "$bin"
'' + lib.optionalString (enableStatic && enableShared) ''
moveToOutput lib/libxml2.a "$static"
'';