392bca4c58
Header & library path constructions in CMake modules expect them to reside under the same prefix as the CMake files. This assumption doesn't work with our multiple outputs so we patch the library path to the correct output. Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
43 lines
1.3 KiB
Nix
43 lines
1.3 KiB
Nix
{ stdenv, fetchurl, lib }:
|
|
|
|
# Note: this package is used for bootstrapping fetchurl, and thus
|
|
# cannot use fetchpatch! All mutable patches (generated by GitHub or
|
|
# cgit) that are needed here should be included directly in Nixpkgs as
|
|
# files.
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "expat";
|
|
version = "2.4.1";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz";
|
|
sha256 = "sha256-zwMtDbqbkoY2VI4ysyei1msaq2PE9KE90TLC0dLy+2o=";
|
|
};
|
|
|
|
outputs = [ "out" "dev" ]; # TODO: fix referrers
|
|
outputBin = "dev";
|
|
|
|
configureFlags = lib.optional stdenv.isFreeBSD "--with-pic";
|
|
|
|
outputMan = "dev"; # tiny page for a dev tool
|
|
|
|
doCheck = true; # not cross;
|
|
|
|
preCheck = ''
|
|
patchShebangs ./configure ./run.sh ./test-driver-wrapper.sh
|
|
'';
|
|
|
|
# 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 \
|
|
--replace "$"'{_IMPORT_PREFIX}' $out
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://libexpat.github.io/";
|
|
description = "A stream-oriented XML parser library written in C";
|
|
platforms = platforms.all;
|
|
license = licenses.mit; # expat version
|
|
};
|
|
}
|