opam-repository icon indicating copy to clipboard operation
opam-repository copied to clipboard

Add Frama-Clang package

Open vprevosto opened this issue 2 years ago • 4 comments

Introducing at last an opam package for the Frama-Clang plug-in of Frama-C

vprevosto avatar Oct 07 '22 13:10 vprevosto

In order to have the package be installed in the debian-10 docker image, I have manually installed libclang-cpp13-dev and libclang-13-dev @thierry-martinez I was wondering why conf-libclang.13 only installs the latter for Ubuntu 22.04 and only libclang-dev for other distributions of the Debian family? [side question: would it make sense to include the former as well?]

vprevosto avatar Oct 10 '22 14:10 vprevosto

In order to have the package be installed in the debian-10 docker image, I have manually installed libclang-cpp13-dev

You probably need to create a conf-libclang-cpp13 package and add a dependency to it. Alternatively, you could include the clang-cpp13-dev library to the existing conf-libclang but that would make coarser packages and you should check with @thierry-martinez about that.

raphael-proust avatar Oct 13 '22 13:10 raphael-proust

In order to have the package be installed in the debian-10 docker image, I have manually installed libclang-cpp13-dev

You probably need to create a conf-libclang-cpp13 package and add a dependency to it. Alternatively, you could include the clang-cpp13-dev library to the existing conf-libclang but that would make coarser packages and you should check with @thierry-martinez about that.

Well, I can't create a conf-libclang-cpp13. At best conf-libclang-cpp.13, with the same versioning issues as libclang itself. Moreover, this will be very specific to debian and its derivatives (arch installs everything in a single package for instance, and this is the distribution I use daily. I'm not extremely familiar with debian, and their packaging policy with respect to llvm/clang seems quite hard to follow from the outside).

vprevosto avatar Oct 13 '22 15:10 vprevosto

Moreover, this will be very specific to debian and its derivatives (arch installs everything in a single package for instance, and this is the distribution I use daily

In that case I think that you could modify the conf-libclang's debian entry. Currently it has these depexts packages: ["libclang-dev" "llvm-dev"] and it could have the cpp one.

raphael-proust avatar Oct 14 '22 07:10 raphael-proust

Sorry for answering so late: for all version V, conf-libclang.V ensures that libclang is installed with version at most V. The situation depends on the OS: on some OSes, the libclang-dev default package is more recent than V (typically, on recent Ubuntus), so conf-libclang.V installs libclang-V-dev; on other OSes, the libclang-dev package is older than V (typically, on Debian stable), so conf-libclang.V installs libclang-dev to have the last version distributed by the OS. (Of course, this is supposed to be adapted to follow distribution updates; I don't know a perfect solution.) This behavior is motivated by the fact that a given version of clangml works with all versions of libclang up to a given upperbound.

thierry-martinez avatar Nov 19 '22 08:11 thierry-martinez

I restarted the debian job now that #22442 has been merged.

raphael-proust avatar Nov 21 '22 11:11 raphael-proust

Please accept my apologies for not having followed up with this PR as I should have (especially after the merge of #22694).

Anyway, the point of this PR is rather moot right now, as two versions of Frama-C have been released since, and Frama-Clang 0.0.13 won't compile with Frama-C 27. I'm closing this PR and will focus (hoping to have more time to devote on that than last year) on making #24344 fit for merging.

vprevosto avatar Sep 01 '23 11:09 vprevosto