fork
Configure Feed
Select the types of activity you want to include in your feed.
lol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1{
2 lib,
3 stdenv,
4 fetchurl,
5 pkg-config,
6 autoreconfHook,
7 libxml2,
8 findXMLCatalogs,
9 gettext,
10 python3,
11 ncurses,
12 libgcrypt,
13 cryptoSupport ? false,
14 pythonSupport ? libxml2.pythonSupport,
15 gnome,
16}:
17
18stdenv.mkDerivation (finalAttrs: {
19 pname = "libxslt";
20 version = "1.1.43";
21
22 outputs = [
23 "bin"
24 "dev"
25 "out"
26 "doc"
27 "devdoc"
28 ] ++ lib.optional pythonSupport "py";
29 outputMan = "bin";
30
31 src = fetchurl {
32 url = "mirror://gnome/sources/libxslt/${lib.versions.majorMinor finalAttrs.version}/libxslt-${finalAttrs.version}.tar.xz";
33 hash = "sha256-Wj1rODylr8I1sXERjpD1/2qifp/qMwMGUjGm1APwGDo=";
34 };
35
36 strictDeps = true;
37
38 nativeBuildInputs = [
39 pkg-config
40 autoreconfHook
41 ];
42
43 buildInputs =
44 [
45 libxml2.dev
46 ]
47 ++ lib.optionals stdenv.hostPlatform.isDarwin [
48 gettext
49 ]
50 ++ lib.optionals pythonSupport [
51 libxml2.py
52 python3
53 ncurses
54 ]
55 ++ lib.optionals cryptoSupport [
56 libgcrypt
57 ];
58
59 propagatedBuildInputs = [
60 findXMLCatalogs
61 ];
62
63 configureFlags = [
64 (lib.withFeature pythonSupport "python")
65 (lib.optionalString pythonSupport "PYTHON=${python3.pythonOnBuildForHost.interpreter}")
66 (lib.withFeature cryptoSupport "crypto")
67 ];
68
69 enableParallelBuilding = true;
70
71 postFixup =
72 ''
73 moveToOutput bin/xslt-config "$dev"
74 moveToOutput lib/xsltConf.sh "$dev"
75 ''
76 + lib.optionalString pythonSupport ''
77 mkdir -p $py/nix-support
78 echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
79 moveToOutput ${python3.sitePackages} "$py"
80 '';
81
82 passthru = {
83 inherit pythonSupport;
84
85 updateScript = gnome.updateScript {
86 packageName = "libxslt";
87 versionPolicy = "none";
88 };
89 };
90
91 meta = with lib; {
92 homepage = "https://gitlab.gnome.org/GNOME/libxslt";
93 description = "C library and tools to do XSL transformations";
94 license = licenses.mit;
95 platforms = platforms.all;
96 maintainers = with maintainers; [ jtojnar ];
97 broken = pythonSupport && !libxml2.pythonSupport; # see #73102 for why this is not an assert
98 };
99})