Skip to content
Snippets Groups Projects
  • Eelco Dolstra's avatar
    9d2669d2
    * Added a utility that can be used to produce nice HTML pages from Nix · 9d2669d2
    Eelco Dolstra authored
      build logs.  The program `log2xml' converts a Nix build log (read
      from standard input) into XML file that can then be converted to
      XHTML by the `log2html.xsl' stylesheet.  The CSS stylesheet
      `logfile.css' is necessary to make it look good.
    
      This is primarily useful if the log file has a *tree structure*,
      i.e., that sub-tasks such as the various phases of a build (unpack,
      configure, make, etc.) or recursive invocations of Make are
      represented as such.  While a log file is in principle an
      unstructured plain text file, builders can communicate this tree
      structure to `log2xml' by using escape sequences:
    
      - "\e[p" starts a new nesting level; the first line following the
        escape code is the header;
    
      - "\e[q" ends the current nesting level.
    
      The generic builder in nixpkgs (not yet committed) uses this.  It
      shouldn't be to hard to patch GNU Make to speak this protocol.
    
      Further improvements to the generated HTML pages are to allow
      collapsing/expanding of subtrees, and to abbreviate store paths (but
      to show the full path by hovering the mouse over it).
      
    9d2669d2
    History
    * Added a utility that can be used to produce nice HTML pages from Nix
    Eelco Dolstra authored
      build logs.  The program `log2xml' converts a Nix build log (read
      from standard input) into XML file that can then be converted to
      XHTML by the `log2html.xsl' stylesheet.  The CSS stylesheet
      `logfile.css' is necessary to make it look good.
    
      This is primarily useful if the log file has a *tree structure*,
      i.e., that sub-tasks such as the various phases of a build (unpack,
      configure, make, etc.) or recursive invocations of Make are
      represented as such.  While a log file is in principle an
      unstructured plain text file, builders can communicate this tree
      structure to `log2xml' by using escape sequences:
    
      - "\e[p" starts a new nesting level; the first line following the
        escape code is the header;
    
      - "\e[q" ends the current nesting level.
    
      The generic builder in nixpkgs (not yet committed) uses this.  It
      shouldn't be to hard to patch GNU Make to speak this protocol.
    
      Further improvements to the generated HTML pages are to allow
      collapsing/expanding of subtrees, and to abbreviate store paths (but
      to show the full path by hovering the mouse over it).