Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Nov 2018 08:09:41 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 233492] textproc/castxml - patch to declare libxml2 dependency,  support multiple LLVM versions (no flavors yet), and support manual-page generation during build
Message-ID:  <bug-233492-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D233492

            Bug ID: 233492
           Summary: textproc/castxml - patch to declare libxml2
                    dependency, support multiple LLVM versions (no flavors
                    yet), and support manual-page generation during build
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: yuri@freebsd.org
          Reporter: sean.p.champ@gmail.com
             Flags: maintainer-feedback?(yuri@freebsd.org)
          Assignee: yuri@freebsd.org

Created attachment 199534
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D199534&action=
=3Dedit
Unified diff - textproc/castxml Makefile, pkg-plist

CastXML provides a method for representation of functional declarations and
type declarations for C and C++ software -- possibly also Objective-C -- in=
 an
XML model. Although the XML model used in CastXML does not provide any form=
al
schema, but it may -- in effect -- serve as a normal grammar, albeit expres=
sed
in XML syntax.

CastXML uses LLVM and libxml2. CastXML may also use the sphinx-build tool f=
rom
the textproc/py-sphinx port for generating the castxml manual page. The man=
ual
page would be generated from a source document in Restructured Text format,=
 at
build time.

This patch provides an update for the textproc/castxml port such that allows
for selecting exactly one LLVM distribution to use, in a range from LLVM 4 =
up
to llvm-devel. LLVM 3.5 and LLVM 3.8 have not been supported in this patch.

This patch does not provide any integration with the newer flavors system in
FreeBSD ports. I hope that I may be able to provide a patch shortly, such t=
hat
would use the flavors system and would allow for multiple concurrent CastXML
installations, each using a distinct LLVM distribution.

This patch also updates the port, such as to allow for using py-sphinx to
generate the castxml(1) manual page, during build time.

Lastly, this patch updates the port such as to explicitly declare the
dependency on libxml2. Noting that the dependency is managed via CMake in t=
he
CastXML build, the declaration for the build dependency onto libxml2 -- in =
the
patched Makefile -- makes reference to the file, libxml2-config.cmake. For =
the
runtime dependency, it makes reference to libxml2.so

Things that this patch does not address, with regards to CastXML distributi=
on
in the ports system:

* Flavors. If I may understand the flavor system correctly, it should be
possible to build and install multiple CastXML packages, such that each
installed CastXML package would depend on a specific LLVM version, of those
supported. Perhaps this may be somehow analogous to how so many Python ports
may simultaneously support building and packaging for e.g Python 2.7 and Py=
thon
3 distributions, each from a single source port.=20

* There have been a couple of changesets at the CastXML source repository -
https://github.com/castxml/castxml - such that this port may be updated in =
the
port's GH_TAGNAME and distinfo fields. This patch does not provide such
updates.

* There's a test subdirectory provided in the distsrc filesystem for the
CastXML port. As yet, this port does not provide any integration with any
manner of a testing framework in the ports system. Pursuant to supporting
CastXML development, perhaps it may be helpful to support any unit testing
system used in CastXML, during the port build. Also, it might be nice to be
able to include some example code with the port. Perhaps the testing code m=
ight
also serve to represent such example code.

* Doxygen. It should be possible to produce an optional DoxyGen representat=
ion
of the CastXML source code, during the port build. Theoretically, the Doxyg=
en
representation may be provided optionally in HTML and PDF editions, for pur=
pose
of reference.

* Integration with editor tools - e.g Eclipse IDE or anyone's favorite
console-mode text editor. Perhaps this may be more to the matter of CastXML
development, though.

HTH

- Sean

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-233492-7788>