{"id":72,"date":"2022-07-09T17:49:46","date_gmt":"2022-07-09T17:49:46","guid":{"rendered":"https:\/\/blogs.gentoo.org\/gsoc\/?p=72"},"modified":"2022-07-09T17:49:46","modified_gmt":"2022-07-09T17:49:46","slug":"musl-support-expansion-for-supporting-gnome-desktop-part-3","status":"publish","type":"post","link":"https:\/\/blogs.gentoo.org\/gsoc\/2022\/07\/09\/musl-support-expansion-for-supporting-gnome-desktop-part-3\/","title":{"rendered":"Musl support expansion for supporting GNOME desktop [part 3]"},"content":{"rendered":"<p>Now the GNOME desktop can be emerged on musl profile. The installation of the full GNOME desktop on musl was quite<br \/>\nuneventful. I didn\u2019t come across anything that would require patching. However,<br \/>\none thing I\u2019ve noticed is that GNOME on musl doesn\u2019t seem to work very well with<br \/>\n-wayland flag turned on globally. So if you do plan on running GNOME on musl,<br \/>\nmake sure to have +wayland. Other than that I don\u2019t think there\u2019s much to add.<\/p>\n<p>Other than that one can now install the MATE desktop, which comes very close to<br \/>\nGNOME 2, on musl too. It was a part of my proposal, and with a couple of spare<br \/>\nhours at hand, I decided to try to emerge the mate meta-package. I did face two<br \/>\nissues which are patched [1][2] and one of the patches has been submitted<br \/>\nupstream[3]. The two packages that needed patching for getting MATE to install<br \/>\nwere mate-power-manager and mate-sensors-applet.<\/p>\n<p>The package mate-power-manager needed two patches, the header file execinfo.h is<br \/>\nnot available in musl and hence need to be surrounded in include guards so that<br \/>\nit\u2019s only included in ulibc and glibc systems, secondly there were some debug<br \/>\nbacktrace functions that too needed to be run on only ulibc and glibc system<br \/>\nhence similar to the execinfo patch, I surrounded those instances of the<br \/>\nfunction in include guards. Funnily, the mate-sensors-applet package needed some<br \/>\ninclude guards to be removed. There were include guards around stdio.h and<br \/>\nlocal.h, for some reason the `ifdef` condition around local.h was getting<br \/>\nevaluated as false on musl, resulting in local.h not being included which in<br \/>\nturn resulted in the build failing. A similar issue was reported earlier[4] but<br \/>\nwas unfortunately never patched.<\/p>\n<p>However, I didn\u2019t get much time to test MATE desktop so some run time bugs can<br \/>\nbe expected.<\/p>\n<p>For the next week, I\u2019ll begin testing MATE and maybe set up GRS so that other<br \/>\npeople and mentors can reproduce my environment easily (thanks to blueness).<\/p>\n<p>Hope this is a concise report for Week 3. I\u2019ll update the blog as soon as the<br \/>\nblog site comes up again, it\u2019s down for now. Till then, see ya.<\/p>\n<p>[1]: <a href=\"https:\/\/github.com\/gentoo\/gentoo\/pull\/26198\">https:\/\/github.com\/gentoo\/gentoo\/pull\/26198<\/a><br \/>\n[2]: <a href=\"https:\/\/github.com\/gentoo\/gentoo\/pull\/26197\">https:\/\/github.com\/gentoo\/gentoo\/pull\/26197<\/a><br \/>\n[3]: <a href=\"https:\/\/github.com\/mate-desktop\/mate-sensors-applet\/pull\/128\">https:\/\/github.com\/mate-desktop\/mate-sensors-applet\/pull\/128<\/a><br \/>\n[4]: <a href=\"https:\/\/github.com\/mate-desktop\/mate-sensors-applet\/issues\/123\">https:\/\/github.com\/mate-desktop\/mate-sensors-applet\/issues\/123<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now the GNOME desktop can be emerged on musl profile. The installation of the full GNOME desktop on musl was quite uneventful. I didn\u2019t come across anything that would require patching. However, one thing I\u2019ve noticed is that GNOME on &hellip; <a href=\"https:\/\/blogs.gentoo.org\/gsoc\/2022\/07\/09\/musl-support-expansion-for-supporting-gnome-desktop-part-3\/\">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":[7],"tags":[11,10,13],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts\/72"}],"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=72"}],"version-history":[{"count":2,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts\/72\/revisions"}],"predecessor-version":[{"id":74,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/posts\/72\/revisions\/74"}],"wp:attachment":[{"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/media?parent=72"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/categories?post=72"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/gsoc\/wp-json\/wp\/v2\/tags?post=72"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}