{"id":482,"date":"2023-06-25T16:12:08","date_gmt":"2023-06-25T16:12:08","guid":{"rendered":"https:\/\/blogs.gentoo.org\/gsoc\/?p=482"},"modified":"2023-06-25T16:12:08","modified_gmt":"2023-06-25T16:12:08","slug":"week-4-report-on-porting-gentoo-packages-to-modern-c","status":"publish","type":"post","link":"https:\/\/blogs.gentoo.org\/gsoc\/2023\/06\/25\/week-4-report-on-porting-gentoo-packages-to-modern-c\/","title":{"rendered":"Week 4 report on porting Gentoo packages to modern C"},"content":{"rendered":"<p>Hello all,<\/p>\n<p>This is my week 4 report on Modern C porting of Gentoo&#8217;s packages.<\/p>\n<p>Well nothing interesting to report this week, just following my proposal<br \/>\nand focused on -Wimplicit-int type of bug for the first half of the week<br \/>\nwhile moving to -Wimplicit-function-declaration.<\/p>\n<p>However, if you follow my PRs on github [1], you will notice that it<br \/>\nhappens I fix\/send patches bugs that are not per my proposal&#8217;s timeline.<br \/>\nThis happens because of multiple reasons, sometimes I randomly come<br \/>\nacross a bug that is requires some rather easy patch, some other times I<br \/>\ncome across a package that is not in the tracker listing bug and send in<br \/>\na patch. I&#8217;ve informed my mentor (Sam) about such situation, and he<br \/>\nacknowledged me taking bugs at random and diverting from my proposal<br \/>\nworkflow sometimes.<\/p>\n<p>As I keep solving bugs I&#8217;ve also set up a system with llvm profile which<br \/>\nI keep testing recent packages and my patches against. I do plan to at<br \/>\nleast make a desktop environment working on llvm profile. Currently I&#8217;ve<br \/>\ntried GNOME and Mate, both of them require some work, specially forcing<br \/>\nsome tools to GNU version compared to their LLVM counterpart. For<br \/>\nexample the gtk package currently cant be installed directly on llvm<br \/>\nprofile, it requires overriding the OBJCOPY to gnu objcopy from<br \/>\nllvm-objcopy and forcing the LD (or linker) to GNU bfd instead of lld<br \/>\nwhich is default linker in llvm. Not to mention there are bugs\/build<br \/>\nfailures occurring specifically when building with libcxx.<\/p>\n<p>Adhere to my proposal and work on more -Wimplicit-function-declaration<br \/>\nbugs.<\/p>\n<p>Hopefully I&#8217;ve have some spare time this week to do some more<br \/>\nexperiments on the llvm profile. Out of GNOME and Mate, the two desktop<br \/>\nenvironment I tested on the said profile, the mate meta package seems to<br \/>\nrequire less patches (only a couple of packages from the meta package)<br \/>\ncompared to GNOME. As in GNOME, Vala is still a blocker and another<br \/>\nimportant package (NetworkManager) is failing on llvm profile, most<br \/>\nprobably due to libcxx quirks.<\/p>\n<p>Till then, see yah!<\/p>\n<p>[1]: https:\/\/github.com\/gentoo\/gentoo\/pulls\/listout<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello all, This is my week 4 report on Modern C porting of Gentoo&#8217;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 &hellip; <a href=\"https:\/\/blogs.gentoo.org\/gsoc\/2023\/06\/25\/week-4-report-on-porting-gentoo-packages-to-modern-c\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":176,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,20],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts\/482"}],"collection":[{"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/users\/176"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/comments?post=482"}],"version-history":[{"count":1,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts\/482\/revisions"}],"predecessor-version":[{"id":483,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts\/482\/revisions\/483"}],"wp:attachment":[{"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/media?parent=482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/categories?post=482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/tags?post=482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}