Fetching the latest programs, projects, and workspace data.

A flexible, source-based Linux distribution.
Showing 5 of 25 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: listout
Back in 1999, a new revision of the C standard removed several backward compatibility features. However, GCC still accepts these obsolete constructs by default. Support for these constructs is confusing to programmers and potentially affects GCC's ability to implement features from future C standards. But newer versions of compilers (for example Clang 16, expected March 2023) are planning on becoming significantly stricter with the C code they will accept or reject. This is a huge problem for the general Linux ecosystem. Even worse is that some of these failures are silent and lead to incorrect behaviour at runtime. Extra care must be taken to detect this and we must prioritize these cases because they're the most harmful. Also, in the coming years with C2x (likely C23), additional changes like removing certain depreciated prototypes will be made. All of these changes will affect Gentoo packages in the following ways: Lots of packages fail to build with these settings Sometimes packages build successfully but their ./configure scripts have mis-detected features or otherwise made the wrong conclusion about the system because they expect a test to succeed when it now fails.
Mentors: Student: Catcream
The goal of this project is to get a Gentoo Linux system running with LLVM libc in fullbuild mode as the system libc. The biggest hurdle here will be getting the Portage dependency Python to work, because it for example requires some math.h functions not yet included in LLVM libc to build. To work around this I will fudge in the missing parts, and later on in the project work on getting these upstreamed. Similar actions will be taken for other software too. My final goal is to get a simple terminal-based desktop running, as well as an experimental amd64/llvm-libc stage3 tarball for other interested users. As a side project I will also work on getting Crossdev to work with a pure LLVM toolchain by providing a means to compile the builtins library "compiler-rt" for foreign target triples. This will be used half way through my project when I switch focus from a "Linux from Scratch" approach into working with Crossdev. Deliverables: + Portage running on a llvm-libc/Linux system. + Basic utilities for a terminal-based desktop. + An experimental stage3 tarball for other users. + Documentation on Gentoo wiki and blog posts. + Being able to use Crossdev with the LLVM toolchain.
Mentors: Student: LabBrat
The project is about creating a tool that automatically updates Gentoo Linux. It will handle errors and send upgrade reports containing news and errors about the last upgrade via email, IRC chat or a mobile app. The project will greatly enhance Gentoo Linux user experience by automating and simplifying the mundane upgrading process, saving users' valuable time and improving security. Deliverables: system updater program, ebuild in one of the Gentoo's repositories and a push notification mobile app.
Mentors: Student: littlewu2508
ROCm open software platform, mostly serves as the famous “CUDA toolkit” for AMD GPUs, brings an open source solution for HPC/Hyperscale-class GPU computing. However, deploying ROCm could be challenging for users. Fortunately, Gentoo has packaged various components in ROCm, almost completing its infrastructure, yet many works still left to be done. This project aims at helping Gentoo users and developers to access ROCm, which includes creating a rocm.eclass to simplify ROCm related packaging, enabling rocm USE-flag for packages like TensorFlow, as well as fixing existing issues. Our goals fulfill the Gentoo philosophy of allowing user deploying ROCm as pleasantly and efficiently as possible.
Mentors: Student: Catcream
This project is about porting the KDE Plasma desktop to run with the musl libc implementation. Many libraries and applications use "glibc-isms" and therefore cannot compile with musl. This is because musl strives to be a standards-compliant libc implementation which, unlike glibc, doesn't add additional things outside of POSIX. This will be solved by patching out all glibc specific code in software and publishing these changes upstream, and also to the Gentoo repository so already stable software can compile with musl correctly, without waiting for upstream. My deliverables will be having the KDE Plasma desktop & most of the KDE Applications running correctly and passing tests. Documentation for developers wanting to port glibc software and documentation for users for using a Gentoo+musl system will also be added to the Gentoo wiki.