diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/expat/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/expat/default.nix | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/nixpkgs/pkgs/development/libraries/expat/default.nix b/nixpkgs/pkgs/development/libraries/expat/default.nix index 248e3774f4cd..27cbd38c0286 100644 --- a/nixpkgs/pkgs/development/libraries/expat/default.nix +++ b/nixpkgs/pkgs/development/libraries/expat/default.nix @@ -7,6 +7,7 @@ , haskellPackages , luaPackages , ocamlPackages +, testers }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -14,15 +15,24 @@ # cgit) that are needed here should be included directly in Nixpkgs as # files. -stdenv.mkDerivation rec { +let + version = "2.6.0"; + tag = "R_${lib.replaceStrings ["."] ["_"] version}"; +in +stdenv.mkDerivation (finalAttrs: { pname = "expat"; - version = "2.5.0"; + inherit version; src = fetchurl { - url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz"; - sha256 = "1gnwihpfz4x18rwd6cbrdggmfqjzwsdfh1gpmc0ph21c4gq2097g"; + url = with finalAttrs; "https://github.com/libexpat/libexpat/releases/download/${tag}/${pname}-${version}.tar.xz"; + hash = "sha256-y19ajqIR4cq9Wb4KkzpS48Aswyboak04fY0hjn7kej4="; }; + patches = [ + # Fix tests flakiness on some platforms (like aarch64-darwin), should be released in 2.6.1 + ./2.6.0-fix-tests-flakiness.patch + ]; + strictDeps = true; outputs = [ "out" "dev" ]; # TODO: fix referrers @@ -43,7 +53,7 @@ stdenv.mkDerivation rec { # CMake files incorrectly calculate library path from dev prefix # https://github.com/libexpat/libexpat/issues/501 postFixup = '' - substituteInPlace $dev/lib/cmake/expat-${version}/expat-noconfig.cmake \ + substituteInPlace $dev/lib/cmake/expat-${finalAttrs.version}/expat-noconfig.cmake \ --replace "$"'{_IMPORT_PREFIX}' $out ''; @@ -54,12 +64,17 @@ stdenv.mkDerivation rec { inherit (perlPackages) XMLSAXExpat XMLParser; inherit (luaPackages) luaexpat; inherit (ocamlPackages) ocaml_expat; + pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + }; }; meta = with lib; { + changelog = "https://github.com/libexpat/libexpat/blob/${tag}/expat/Changes"; homepage = "https://libexpat.github.io/"; description = "A stream-oriented XML parser library written in C"; platforms = platforms.all; license = licenses.mit; # expat version + pkgConfigModules = [ "expat" ]; }; -} +}) |