Hi,

I would like to import woboq_codebrowser, a HTML generator from C, C++
source code. It is based on LLVM.

Homepage: https://woboq.com/codebrowser.html
Example usage: https://code.woboq.org/ (with Qt, GLibc, LLVM, Boost, GCC, Linux)

>From pkg/DESCR:
        The generator generates static HTML pages that can be served by any web
        server. It can be run automatically manually or with a hook on your
        version control or CI system.

        It functions as the source code indexer (using libclang). In contrast to
        other solutions (LXR, OpenGrok) it semantically analyzes the code as a
        compile step.

        The generation is a two-step process: First is a compile step that
        creates a .h.html and .cpp.html (and some other) files from the syntax
        tree (AST) of the source source. The second step generates an index.html
        for each directory.

        A server-side database or CGI script are currently not needed, so it is
        easy to host. Your normal HTML5 web browser is the source code navigator
        (from your local machine or your network).



First, it is dual licenced: Commercial or CC-BY-NC-SA 3.0. It
means the licence does not allow to use the code browser
to assist the development of your commercial software:
https://github.com/woboq/woboq_codebrowser#licence-information

I mentioned it in pkg/DESCR and in pkg/README to ensure user will be
aware of it.



Regarding the port itself:

- does the category "devel" is the right one ? It could be "www" ou
  "textproc" too.

- the programs (code generator and index generator) are C++ and are
  linked against LLVM-7.so. As it is using "MODULES += lang/clang", I do
  not mention any preference in COMPILER. Is it right ?

- for LLVM-7.so dependency, I added devel/llvm explicitly in RUN_DEPENDS.

- the port version is "2.1pl0" : the official 2.1 (from Jul 26, 2017)
  doesn't build against LLVM 7. There are commits in master branch to
  support it, so I targeted the latest commit in master branch (Mar 26, 2019).

  It is still versioned as "2.1" in code source, so the port has
  "2.1 patchlevel 0", and we could increment the patchlevel if we target a
  new commit still in 2.1, or switch to 2.2 when released.

- I included in pkg/README the way to use it on OpenBSD kernel as some
  gymnastic is required (the input list of files to consider is JSON as
  required by clang tooling).

- I also added pledge(2) and unveil(2) to the programs. There are restricted
  to basic filesystem operations (readonly), with only write capability on
  output directory.

Comments or OK to import it ?

Thanks.
-- 
Sebastien Marie

Attachment: woboq_codebrowser.tgz
Description: application/tar-gz

Reply via email to