Week 4 report on porting Gentoo packages to modern C

Hello all,

This is my week 4 report on Modern C porting of Gentoo’s packages.

Well nothing interesting to report this week, just following my proposal
and focused on -Wimplicit-int type of bug for the first half of the week
while moving to -Wimplicit-function-declaration.

However, if you follow my PRs on github [1], you will notice that it
happens I fix/send patches bugs that are not per my proposal’s timeline.
This happens because of multiple reasons, sometimes I randomly come
across a bug that is requires some rather easy patch, some other times I
come across a package that is not in the tracker listing bug and send in
a patch. I’ve informed my mentor (Sam) about such situation, and he
acknowledged me taking bugs at random and diverting from my proposal
workflow sometimes.

As I keep solving bugs I’ve also set up a system with llvm profile which
I keep testing recent packages and my patches against. I do plan to at
least make a desktop environment working on llvm profile. Currently I’ve
tried GNOME and Mate, both of them require some work, specially forcing
some tools to GNU version compared to their LLVM counterpart. For
example the gtk package currently cant be installed directly on llvm
profile, it requires overriding the OBJCOPY to gnu objcopy from
llvm-objcopy and forcing the LD (or linker) to GNU bfd instead of lld
which is default linker in llvm. Not to mention there are bugs/build
failures occurring specifically when building with libcxx.

Adhere to my proposal and work on more -Wimplicit-function-declaration

Hopefully I’ve have some spare time this week to do some more
experiments on the llvm profile. Out of GNOME and Mate, the two desktop
environment I tested on the said profile, the mate meta package seems to
require less patches (only a couple of packages from the meta package)
compared to GNOME. As in GNOME, Vala is still a blocker and another
important package (NetworkManager) is failing on llvm profile, most
probably due to libcxx quirks.

Till then, see yah!

[1]: https://github.com/gentoo/gentoo/pulls/listout

This entry was posted in 2023 GSoC, Modern C Package Porting. Bookmark the permalink.

Leave a Reply

Your email address will not be published.