[kde-freebsd] cmake-doc port

Raphael Kubo da Costa rakuco at FreeBSD.org
Fri Mar 25 12:40:22 UTC 2016

Ralf Nolden <nolden at kde.org> writes:

> Hi,
> as shortly discussed on IRC, the following is a cmake-doc port based on cmake-
> gui to generate the HTML and Qt Creator documentation files:
> https://share.kde.org/index.php/s/koJJxxzg1NWL4mc

Hi Ralf,

I've committed devel/cmake-doc to area51 in r12174, and will add it to
the ports tree soon, thanks for working on it.

I have a few comments and suggestions for your future patches:

- There was a Makefile and a Makefile.works, and neither was completely
  working (with a Poudriere build) on its own. Please ship only one
  Makefile next time ;)

- The apply_qthelp_css_workaround.cmake patch was doing the wrong thing.
  That file is basically doing the equivalent of sed/patch with CMake: it
  reads some files, replaces some imports with actual file contents and
  generates a final file. Instead of removing one of the files being
  read, the patch needs to adjust the name of the generated file so that
  it can be found (I guess Sphinx changed the name of that CSS a while

- There is no reason to add %%PORTDOCS%% to pkg-plist. This port is only
  shipping documentation, so I don't see why make the entire contents of
  the package optional.

- The port does not ship any architecture-dependent file, so NO_ARCH=yes
  can be added to the Makefile.

- devel/cmake itself is not required by cmake-docs at runtime. Using
  USES=cmake:outsource is enough (we only need CMake in order to build
  this port, and the "outsource" part does an out-of-source build that
  is recommended).

- I strongly suggest you set up Poudriere: `make configure' was not
  passing in Poudriere, so it looks like you were testing with
  additional dependencies installed in your system. For example
  qcollectiongenerator is generally not in $PATH so you have to pass

- Utilities/Sphinx's CMakeLists.txt can be used standalone without the
  rest of CMake. By setting CMAKE_SOURCE_PATH and doing it, the
  configuration process takes a less time (there is no need to check for
  a ton of functions and libraries since no code will be built) and also
  avoids requiring additional dependencies not needed for documentation
  (especially in the tests).
  It also makes it possible to drop the patch for that CMakeLists.txt
  that you imported from devel/cmake-gui and the pre-install target.

- As far as I can see, qt5-help is only needed at build-time to generate
  the qch file, so you need USE_QT5=help_build, not USE_QT5=help.

More information about the kde-freebsd mailing list