13 , cryptoSupport ? false
14 , pythonSupport ? libxml2.pythonSupport
18 stdenv.mkDerivation (finalAttrs: {
22 outputs = [ "bin" "dev" "out" "doc" "devdoc" ] ++ lib.optional pythonSupport "py";
26 url = "mirror://gnome/sources/libxslt/${lib.versions.majorMinor finalAttrs.version}/libxslt-${finalAttrs.version}.tar.xz";
27 hash = "sha256-hcpiysDUH8d9P2Az2p32/XPSDqL8GLCjYJ/7QRDhuus=";
39 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
41 ] ++ lib.optionals pythonSupport [
45 ] ++ lib.optionals cryptoSupport [
49 propagatedBuildInputs = [
57 (lib.withFeature pythonSupport "python")
58 (lib.optionalString pythonSupport "PYTHON=${python.pythonOnBuildForHost.interpreter}")
59 ] ++ lib.optionals (!cryptoSupport) [
63 enableParallelBuilding = true;
66 moveToOutput bin/xslt-config "$dev"
67 moveToOutput lib/xsltConf.sh "$dev"
68 '' + lib.optionalString pythonSupport ''
69 mkdir -p $py/nix-support
70 echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
71 moveToOutput ${python.sitePackages} "$py"
75 inherit pythonSupport;
77 updateScript = gnome.updateScript {
78 packageName = "libxslt";
79 versionPolicy = "none";
84 homepage = "https://gitlab.gnome.org/GNOME/libxslt";
85 description = "C library and tools to do XSL transformations";
86 license = licenses.mit;
87 platforms = platforms.all;
88 maintainers = with maintainers; [ jtojnar ];
89 broken = pythonSupport && !libxml2.pythonSupport; # see #73102 for why this is not an assert