writers: add writeGuile[Bin] (#364531)
[NixPkgs.git] / pkgs / by-name / ro / robodoc / package.nix
bloba380bb6111cf9e1aa27e4d87fff32e6e91a6f865
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   autoreconfHook,
6 }:
8 stdenv.mkDerivation (finalAttrs: {
9   pname = "robodoc";
10   version = "4.99.44";
12   src = fetchFromGitHub {
13     owner = "gumpu";
14     repo = "ROBODoc";
15     rev = "v${finalAttrs.version}";
16     hash = "sha256-l3prSdaGhOvXmZfCPbsZJNocO7y20zJjLQpajRTJOqE=";
17   };
19   postConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
20     substituteInPlace Docs/makefile.am \
21       --replace 'man1_MANS = robodoc.1 robohdrs.1' 'man1_MANS ='
22   '';
24   nativeBuildInputs = [ autoreconfHook ];
26   hardeningDisable = [ "format" ];
28   meta = with lib; {
29     homepage = "https://github.com/gumpu/ROBODoc";
30     description = "Documentation Extraction Tool";
31     longDescription = ''
32       ROBODoc is program documentation tool. The idea is to include for every
33       function or procedure a standard header containing all sorts of
34       information about the procedure or function. ROBODoc extracts these
35       headers from the source file and puts them in a separate
36       autodocs-file. ROBODoc thus allows you to include the program
37       documentation in the source code and avoid having to maintain two separate
38       documents. Or as Petteri puts it: "robodoc is very useful - especially for
39       programmers who don't like writing documents with Word or some other
40       strange tool."
42       ROBODoc can format the headers in a number of different formats: HTML,
43       RTF, LaTeX, or XML DocBook. In HTML mode it can generate cross links
44       between headers. You can even include parts of your source code.
46       ROBODoc works with many programming languages: For instance C, Pascal,
47       Shell Scripts, Assembler, COBOL, Occam, Postscript, Forth, Tcl/Tk, C++,
48       Java -- basically any program in which you can use remarks/comments.
49     '';
50     license = with licenses; gpl3Plus;
51     maintainers = with maintainers; [ ];
52     platforms = platforms.all;
53   };