nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 fetchpatch,
6 autoreconfHook,
7}:
8
9stdenv.mkDerivation (finalAttrs: {
10 pname = "robodoc";
11 version = "4.99.44";
12
13 src = fetchFromGitHub {
14 owner = "gumpu";
15 repo = "ROBODoc";
16 tag = "v${finalAttrs.version}";
17 hash = "sha256-l3prSdaGhOvXmZfCPbsZJNocO7y20zJjLQpajRTJOqE=";
18 };
19
20 patches = [
21 (fetchpatch {
22 name = "troff_generator-fix";
23 url = "https://github.com/gumpu/ROBODoc/commit/0f8b35c42523810415bec70bb2200d2ecb41c82f.patch?index=full";
24 hash = "sha256-Pbuc1gHrOeHbR4QT/dZ8wP+vqYQlilayjCGKOJP5wvk=";
25 })
26 ];
27
28 postConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
29 substituteInPlace Docs/makefile.am \
30 --replace-fail 'man1_MANS = robodoc.1 robohdrs.1' 'man1_MANS ='
31 '';
32
33 nativeBuildInputs = [ autoreconfHook ];
34
35 hardeningDisable = [ "format" ];
36
37 meta = {
38 homepage = "https://github.com/gumpu/ROBODoc";
39 description = "Documentation Extraction Tool";
40 longDescription = ''
41 ROBODoc is program documentation tool. The idea is to include for every
42 function or procedure a standard header containing all sorts of
43 information about the procedure or function. ROBODoc extracts these
44 headers from the source file and puts them in a separate
45 autodocs-file. ROBODoc thus allows you to include the program
46 documentation in the source code and avoid having to maintain two separate
47 documents. Or as Petteri puts it: "robodoc is very useful - especially for
48 programmers who don't like writing documents with Word or some other
49 strange tool."
50
51 ROBODoc can format the headers in a number of different formats: HTML,
52 RTF, LaTeX, or XML DocBook. In HTML mode it can generate cross links
53 between headers. You can even include parts of your source code.
54
55 ROBODoc works with many programming languages: For instance C, Pascal,
56 Shell Scripts, Assembler, COBOL, Occam, Postscript, Forth, Tcl/Tk, C++,
57 Java -- basically any program in which you can use remarks/comments.
58 '';
59 license = lib.licenses.gpl3Plus;
60 maintainers = [ ];
61 platforms = lib.platforms.all;
62 mainProgram = "robodoc";
63 };
64})