0d3428cd75
Make default value of "pythonSupport" to depend configuration of libxml2, which only builds python support when shared libraries are enabled. This way libxslt can be built on pkgsStatic platform (albeit without python support) instead of refusing to build due "meta.broken". That allows to build statically some packages that depend on libxslt, but don't necessary need python support.
89 lines
2 KiB
Nix
89 lines
2 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchurl
|
|
, pkg-config
|
|
, autoreconfHook
|
|
, libxml2
|
|
, findXMLCatalogs
|
|
, gettext
|
|
, python
|
|
, ncurses
|
|
, libxcrypt
|
|
, libgcrypt
|
|
, cryptoSupport ? false
|
|
, pythonSupport ? libxml2.pythonSupport
|
|
, gnome
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "libxslt";
|
|
version = "1.1.37";
|
|
|
|
outputs = [ "bin" "dev" "out" "doc" "devdoc" ] ++ lib.optional pythonSupport "py";
|
|
outputMan = "bin";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
|
sha256 = "Oksn3IAnzNYUZyWVAzbx7FIJKPMg8UTrX6eZCuYSOrQ=";
|
|
};
|
|
|
|
strictDeps = true;
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
autoreconfHook
|
|
];
|
|
|
|
buildInputs = [
|
|
libxml2.dev libxcrypt
|
|
] ++ lib.optionals stdenv.isDarwin [
|
|
gettext
|
|
] ++ lib.optionals pythonSupport [
|
|
libxml2.py
|
|
python
|
|
ncurses
|
|
] ++ lib.optionals cryptoSupport [
|
|
libgcrypt
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
findXMLCatalogs
|
|
];
|
|
|
|
configureFlags = [
|
|
"--without-debug"
|
|
"--without-mem-debug"
|
|
"--without-debugger"
|
|
(lib.withFeature pythonSupport "python")
|
|
(lib.optionalString pythonSupport "PYTHON=${python.pythonForBuild.interpreter}")
|
|
] ++ lib.optionals (!cryptoSupport) [
|
|
"--without-crypto"
|
|
];
|
|
|
|
postFixup = ''
|
|
moveToOutput bin/xslt-config "$dev"
|
|
moveToOutput lib/xsltConf.sh "$dev"
|
|
'' + lib.optionalString pythonSupport ''
|
|
mkdir -p $py/nix-support
|
|
echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
|
|
moveToOutput ${python.sitePackages} "$py"
|
|
'';
|
|
|
|
passthru = {
|
|
inherit pythonSupport;
|
|
|
|
updateScript = gnome.updateScript {
|
|
packageName = pname;
|
|
versionPolicy = "none";
|
|
};
|
|
};
|
|
|
|
meta = with lib; {
|
|
homepage = "https://gitlab.gnome.org/GNOME/libxslt";
|
|
description = "A C library and tools to do XSL transformations";
|
|
license = licenses.mit;
|
|
platforms = platforms.all;
|
|
maintainers = with maintainers; [ eelco jtojnar ];
|
|
broken = pythonSupport && !libxml2.pythonSupport; # see #73102 for why this is not an assert
|
|
};
|
|
}
|