User:Sam/Things which need contributions

This is a list of things that generally need contributions but I'm not necessarily interested in/have skills to work on/have enough time for: a good rule of thumb is "something everybody (maybe within a certain area) knows should be done, but isn't on their agenda any time soon".

It may be useful for e.g. giving to mentees to develop their skills, helping new contributors who don't know where to start (or what they can help with), or GSoC projects.

Tasks

 * Prefix
 * Get macOS Clang bootstrap working
 * Investigate glibc 2.34 bootstrap error - (done, thanks to slyfox's help & a similar issue nixpkgs hit)


 * PackageKit
 * Modernise the backend/support in PackageKit
 * Restore the PackageKit package to Gentoo


 * Package manager
 * GLEP 73 (automated enforcing of REQUIRED_USE constraints)
 * Needs a Portage implementation
 * Note that a stalled pkgcheck (not pkgcore) implementation exists
 * GLEP 62 (Optional runtime dependencies via runtime-switchable USE flags)
 * Needs a Portage implementation -
 * Play with immutable repositories
 * Jobserver integration
 * (in progress by syu! See https://github.com/gentoo/portage/pull/913)
 * Dependency resolver improvements
 * (in progress by syu! See https://github.com/gentoo/portage/pull/913)
 * Dependency resolver improvements


 * Build testing CI / related bits
 * Arguably there's already a lot going on in this space but coordination is needed to get something over the line and a PoC working for e.g. github PRs.
 * Bug reporting tool to capture build.log, config.log, emerge --info, etc, and offer to file a bug with this information (useful for automated tools in particular)


 * Making it easier for upstreams to test with Gentoo
 * Make a simple guide etc for upstreams to be able to quickly test with Gentoo (both in CI but also one-offs with e.g. a Dockerfile)
 * Example


 * Rust
 * Figure out exotic architecture support
 * is a tracker bug
 * Need to bootstrap Rust on arches via cross, but some arches lack support entirely (but that's beyond the scope of Gentoo unless feeling brave)
 * Contribute to pkgcraft, an experimental package manager for Gentoo written in Rust
 * Think about our Rust packaging approach (the status quo is likely the best/most sustainable model, though) -
 * Wire up mod_tls into Apache's httpd within Gentoo
 * Wire up rustls support into cURL within Gentoo
 * Make cargo-ebuild aware of crates which bundle libraries / automatically include the needed flags to turn off bundling
 * Work on wiki page / devmanual page (preferred?) to describe how to generally package Rust stuff (at least the common cases)
 * Work on wiki page / devmanual page (preferred?) to describe how to generally package Rust stuff (at least the common cases)


 * Go
 * Tool to automatically fetch and package mod vendors && tool to create go ebuilds similarly to cargo-ebuild
 * Work on wiki page / devmanual page (preferred?) to describe how to generally package Go stuff (at least the common cases)


 * Toolchain
 * Work on any remaining time_t bits
 * libatomic
 * Tracker bug:
 * See if we can get a standard libatomic check into e.g. Meson?
 * libdl: https://github.com/mesonbuild/meson/commit/b564e342219b9a453ae2c5857b5aa2bcc54511af
 * Add  to   for )? (done thanks to User:matoro!)
 * Investigate related for libatomic_ops (not always needed, depending on arch? check?)


 * LLVM
 * General help needed
 * Dedicated maintainer for (including: help with test failures, do periodic testing to check for upstream regressions)
 * Fixing tests for
 * Preparing and configuring a Gentoo buildbot for LLVM - see also
 * Someone is reportedly working on this - anyone still interested in this task is advised to contact them first


 * Java
 * Work on OpenJDK 17 compatibility in Gentoo
 * - covers all known bugs related to Java 17.
 * - covers all test failures specific to Java 17.
 * See also User:Sam/Portage_help/Java_unmasking for some background
 * Integrate JUnit 5 with Portage, either by continuing to work on an existing prototype or starting from scratch
 * Tracker bug
 * Reform eclass(es) to use  to declare which JVM(s) a package can be built with (like Python, Lua)
 * Figure out Maven support somehow
 * Past project idea for GSoC 2019
 * Tracker bug
 * Gentoo_Java_Packing_Policy
 * Figure out Gradle support somehow
 * Tracker bug (sort of)
 * Gentoo_Java_Packing_Policy


 * Ruby
 * Needs similar work to Java (embrace the Python, Lua eclass model)
 * More detail at User:Sam/Portage_help/Ruby_dependency_conflicts


 * Python / Science
 * Review scientific stack (numpy, scipy, pandas, ipython, jupyter, ...). These packages need a dedicated maintainer with interest in this space.
 * Review ebuilds, cleanup any hacks, especially involving blas/lapack
 * Fix test failures
 * Upstream patches