Opened 8 years ago

Last modified 3 years ago

#51123 new request

request: port:libclang-XY

Reported by: RJVB (René Bertin) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia), larryv (Lawrence Velázquez)
Port: clang

Description

This is going to be a bit of a vague request.

On Ubuntu, there's an almost standalone package for libclang that depends only on libllvm. I know of at least 1 port (currently in draft) that would benefit from the existence of a port that allows to install only libclang with its dependencies rather than a full clang+llvm installation (KDevelop's C/C++ parser uses libclang). What I don't know is how many other (potential) ports are in the same situation, but I do think that the interest for a minimal libclang port is increased by the fact that libclang provides a stable ABI.

The way I understand it, that means that it is hardly necessary to couple a port for software like KDevelop to a fixed version of the full clang+llvm toolchain. Instead, it could depend on the minimal supported libclang version *by default*, allowing users to install that variant (and libclang-3.5, in this example), regardless of the clang+llvm toolchain version they use otherwise (or whether they even have need for installing an additional toolchain).

MacPorts doesn't have the capability to create multiple packages off a single build, so I guess the likelihood of a port:libclang depends on how expensive it is to build just that component. On the other hand, most people would be installing this from binary packages, and anyone building the dependent packages like kdevelop from source would still need the full clang+llvm toolchain

(IOW, kdevelop would have depends_build port:clang-x.y and depends_lib path:libexec/llvm-x.y/lib/libclang.dylib:libclang-x.y)

Change History (2)

comment:1 Changed 4 years ago by kencu (Ken)

Cc: kencu added

comment:2 Changed 3 years ago by kencu (Ken)

Cc: kencu removed
Note: See TracTickets for help on using tickets.