{"id":132,"date":"2022-07-18T21:31:26","date_gmt":"2022-07-18T21:31:26","guid":{"rendered":"https:\/\/blogs.gentoo.org\/gsoc\/?p=132"},"modified":"2022-07-18T21:31:26","modified_gmt":"2022-07-18T21:31:26","slug":"daily-blog-july-18-by-catcream","status":"publish","type":"post","link":"https:\/\/blogs.gentoo.org\/gsoc\/2022\/07\/18\/daily-blog-july-18-by-catcream\/","title":{"rendered":"Daily blog july 18 by Catcream"},"content":{"rendered":"<p>The first thing I did today was fixing my accountsservice patch, I used #ifndef on a function and it caused the package to not be buildable on glibc since #ifdef-checking only applies to macros, so the check was skipped causing fgetspent_r to be redefined and that caused an error. Accountsservice still needs a rewrite, since the program itself enumerates \/etc\/shadow which is wrong, but at the moment this fix is fine. Worth noting is that I also set up a glibc chroot to test building accountsservice, and I&#8217;ll continue testing patches on it going forward so I don&#8217;t make similar mistakes.<\/p>\n<p>I also learned that you can run ebuild *.ebuild [args&#8230;] as a user to make your local user owner of WORKDIR. I&#8217;ve always ran it as root and had perm issues even though I was in portage group and was stuck wondering what I could do instead of chown:ing.<\/p>\n<p>I then started with QtWebEngine, and spent the rest of the day fixing that. It&#8217;s a huge project with bundled libs inside bundled libs and properly upstreaming will be very hard. For example the bundled Chromium is at version 87, while the newest release is ~103. <\/p>\n<p>Just to show, here&#8217;s one of the first issues I came across:<br \/>\n<code>qtwebengine-5.15.5_p20220618\/src\/3rdparty\/chromium\/base\/third_party\/libevent\/event.c:42:10: fatal error: sys\/queue.h: No such file or directory<\/code><br \/>\nFixing it is pretty easy, either rewrite the code that uses sys\/queue.h, or attach a compatibility header (ugly). However, upstreaming this so it gets into QtWebEngine would be a nightmare. First get it into libevent. After that we need to get Chromium to use the newer libevent, and then finally wait for Qt to use the new Chromium release.<\/p>\n<p>For QtWebEngine I&#8217;ll try to just get it to build at first, and then see what patches make sense to send upstream and what can go into KDE&#8217;s Qt5PatchCollection. Because QMake is being phased out for CMake it doesn&#8217;t really make sense spending a lot of time upstreaming and polishing build system patches, therefore that can instead go to Qt5PatchCollection or ::gentoo if appropriate.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first thing I did today was fixing my accountsservice patch, I used #ifndef on a function and it caused the package to not be buildable on glibc since #ifdef-checking only applies to macros, so the check was skipped causing &hellip; <a href=\"https:\/\/blogs.gentoo.org\/gsoc\/2022\/07\/18\/daily-blog-july-18-by-catcream\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":177,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts\/132"}],"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\/177"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/comments?post=132"}],"version-history":[{"count":1,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts\/132\/revisions"}],"predecessor-version":[{"id":133,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts\/132\/revisions\/133"}],"wp:attachment":[{"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/media?parent=132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/categories?post=132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/tags?post=132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}