easytier: 2.1.1 -> 2.1.2 (#376259)
[NixPkgs.git] / pkgs / by-name / li / linuxdoc-tools / package.nix
blob34bb2d847575132e0075d8e3ed3adcee0b11fecf
2   stdenv,
3   lib,
4   makeWrapper,
5   fetchFromGitLab,
6   perl,
7   flex,
8   gnused,
9   coreutils,
10   which,
11   opensp,
12   groff,
13   texliveMedium,
14   texinfo,
15   withLatex ? false,
18 stdenv.mkDerivation rec {
19   pname = "linuxdoc-tools";
20   version = "0.9.85";
22   src = fetchFromGitLab {
23     owner = "agmartin";
24     repo = "linuxdoc-tools";
25     rev = version;
26     hash = "sha256-8nsCfcxqVt16br6Vhk8tW3cxJMJFSZYX2g3MjO7JoT4=";
27   };
29   outputs = [
30     "out"
31     "man"
32     "doc"
33   ];
35   configureFlags = [
36     ("--enable-docs=txt info lyx html rtf" + lib.optionalString withLatex " pdf")
37   ];
39   LEX = "flex";
41   postInstall = ''
42     wrapProgram $out/bin/linuxdoc \
43       --prefix PATH : "${
44         lib.makeBinPath [
45           groff
46           opensp
47         ]
48       }:$out/bin" \
49       --prefix PERL5LIB : "$out/share/linuxdoc-tools/"
50   '';
52   doInstallCheck = true;
54   installCheckPhase = ''
55     pushd doc/example
56     substituteInPlace Makefile \
57       --replace "COMMAND=linuxdoc" "COMMAND=$out/bin/linuxdoc" \
58       ${lib.optionalString (!withLatex) "--replace '.tex .dvi .ps .pdf' ''"}
59     make
60     popd
61   '';
63   nativeBuildInputs = [
64     flex
65     which
66     makeWrapper
67   ];
69   buildInputs = [
70     opensp
71     groff
72     texinfo
73     perl
74     gnused
75     coreutils
76   ] ++ lib.optionals withLatex [ texliveMedium ];
78   meta = with lib; {
79     description = "Toolset for processing LinuxDoc DTD SGML files";
80     longDescription = ''
81       A collection of text formatters which understands a LinuxDoc DTD SGML
82       source file. Each formatter (or "back-end") renders the source file into
83       a variety of output formats, including HTML, TeX, DVI, PostScript, plain
84       text, and groff source in manual-page format. The linuxdoc suite is
85       provided for backward compatibility, because there are still many useful
86       documents written in LinuxDoc DTD sgml source.
87     '';
88     homepage = "https://gitlab.com/agmartin/linuxdoc-tools";
89     license = with licenses; [
90       gpl3Plus
91       mit
92       sgmlug
93     ];
94     platforms = platforms.linux;
95     maintainers = with maintainers; [ p-h ];
96   };