blob: 28737253af5e72a21666a850593b1ffad48aaead (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
{ lib, stdenv, substituteAll, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }:
let
common = { pname, sha256, suffix ? "" }: let
legacySuffix = if suffix == "-nons" then "" else "-ns";
self = stdenv.mkDerivation rec {
inherit pname;
version = "1.79.2";
src = fetchurl {
url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${version}/docbook-xsl${suffix}-${version}.tar.bz2";
inherit sha256;
};
patches = [
# Prevent a potential stack overflow
# https://github.com/docbook/xslt10-stylesheets/pull/37
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/docbook-style-xsl/raw/e3ae7a97ed1d185594dd35954e1a02196afb205a/f/docbook-style-xsl-non-recursive-string-subst.patch";
sha256 = "0lrjjg5kpwwmbhkxzz6i5zmimb6lsvrrdhzc2qgjmb3r6jnsmii3";
stripLen = "1";
})
# Fix reproducibility by respecting generate.consistent.ids in indexes
# https://github.com/docbook/xslt10-stylesheets/pull/88
# https://sourceforge.net/p/docbook/bugs/1385/
(fetchpatch {
url = "https://github.com/docbook/xslt10-stylesheets/commit/07631601e6602bc49b8eac3aab9d2b35968d3e7a.patch";
sha256 = "0igfhcr6hzcydqsnjsd181h5yl3drjnrwdmxcybr236m8255vkq3";
stripLen = "1";
})
# Add legacy sourceforge.net URIs to the catalog
(substituteAll {
src = ./catalog-legacy-uris.patch;
inherit legacySuffix suffix version;
})
];
propagatedBuildInputs = [ findXMLCatalogs ];
dontBuild = true;
installPhase = ''
dst=$out/share/xml/${pname}
mkdir -p $dst
rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh tools Makefile tests extensions webhelp
mv * $dst/
# Backwards compatibility. Will remove eventually.
mkdir -p $out/xml/xsl
ln -s $dst $out/xml/xsl/docbook
# More backwards compatibility
ln -s $dst $out/share/xml/docbook-xsl${legacySuffix}
'';
passthru.dbtoepub = writeScriptBin "dbtoepub"
''
#!${bash}/bin/bash
exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@"
'';
meta = {
homepage = "http://wiki.docbook.org/topic/DocBookXslStylesheets";
description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats";
maintainers = [ lib.maintainers.eelco ];
platforms = lib.platforms.all;
};
};
in self;
in {
docbook-xsl-nons = common {
pname = "docbook-xsl-nons";
suffix = "-nons";
sha256 = "00i1hdyxim8jymv2dz68ix3wbs5w6isxm8ijb03qk3vs1g59x2zf";
};
docbook-xsl-ns = common {
pname = "docbook-xsl-ns";
sha256 = "0wd33z41kdsybyx3ay21w6bdlmgpd9kyn3mr5y520lsf8km28r9i";
};
}
|