summary refs log tree commit diff
path: root/pkgs/tools/typesetting/rubber/default.nix
blob: 21d83dd1dd060f718879522dab5b5be10578746b (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
{ fetchurl, stdenv, python3Packages, texinfo }:

python3Packages.buildPythonApplication rec {
  name = "rubber-${version}";
  version = "1.5.1";

  src = fetchurl {
    url = "https://launchpad.net/rubber/trunk/${version}/+download/${name}.tar.gz";
    sha256 = "178dmrp0mza5gqjiqgk6dqs0c10s0c517pk6k9pjbam86vf47a1p";
  };

  nativeBuildInputs = [ texinfo ];

  # I couldn't figure out how to pass the proper parameter to disable pdf generation, so we
  # use sed to change the default
  preBuild = ''
    sed -i -r 's/pdf\s+= True/pdf = False/g' setup.py
  '';

  # the check scripts forces python2. If we need to use python3 at some point, we should use
  # the correct python
  checkPhase = ''
    sed -i 's|python=python3|python=${python3Packages.python.interpreter}|' tests/run.sh
    cd tests && ${stdenv.shell} run.sh
  '';

  meta = with stdenv.lib; {
    description = "Wrapper for LaTeX and friends";
    longDescription = ''
      Rubber is a program whose purpose is to handle all tasks related
      to the compilation of LaTeX documents.  This includes compiling
      the document itself, of course, enough times so that all
      references are defined, and running BibTeX to manage
      bibliographic references.  Automatic execution of dvips to
      produce PostScript documents is also included, as well as usage
      of pdfLaTeX to produce PDF documents.
    '';
    license = licenses.gpl2Plus;
    homepage = https://launchpad.net/rubber;
    maintainers = with maintainers; [ ttuegel peterhoeg ];
    platforms = platforms.unix;
  };
}