A Gentoo ebuild overlay. Focus areas: AMD Ryzen-AI / NPU tooling, ROCm
(typically a release ahead of ::gentoo), niche scientific physics
(SAXS / SANS / XAFS / electron microscopy / micromagnetism / Rietveld),
the DeaDBeeF plugin ecosystem, curated pf-sources (CVE-only patch
curation), and a small Python 2 preservation layer for legacy
scientific scripts.
eselect repository enable stuff
emerge --sync stuffAuto-mirrored on every push:
NPU-first LLM tooling for AMD Ryzen AI (XDNA2). Application layer plus the driver and runtime it needs:
sci-ml/fastflowlm— NPU-first LLM runtime (chat, model pull).sci-ml/lemonade— AMD Lemonade SDK.sci-ml/kokoros— Kokoro TTS server (Rust + Python).sci-ml/amd-gaia— AMD GAIA stack withapi / audio / eval / image / mcp / talk / uiUSE flags.dev-libs/xdna-driver,dev-libs/xrt-xdna,dev-util/xrt— NPU driver and the XDNA-extended Xilinx Runtime.
Backend-agnostic servers, model-swap proxy, CLI clients, and web UI.
Pairs with fastflowlm / lemonade above as well as vllm and any
other OpenAI-compatible endpoint:
sci-misc/llama-cpp— llama.cpp server / runtime. Bundled web UI provisioned at configure time (default on; disable withUSE=-webui).sci-misc/llama-swap— Go HTTP proxy that lifecycle-manages multiple inference backends and routes OpenAI/Anthropic-compatible requests to the right one. Optional embedded Svelte UI viaUSE=ui; vendored Go modules on extra-stuff.www-apps/hollama— Minimal chat UI (SvelteKit + Node, browser-localStorage state, no server-side persistence). Talks to Ollama natively and any OpenAI-compatible endpoint. systemd unit + openrc service files; loopback-only by default.dev-util/aichat— All-in-one LLM CLI (Chat-REPL, shell assistant, RAG, agents); multi-provider, single Rust binary.dev-util/rtk— "Rust Token Killer" CLI proxy that filters dev-command output (cargo, npm, pytest, …) before it reaches your LLM session, cutting token consumption.dev-util/argc— Bash CLI framework + Argcfile.sh task runner; infrastructure for sigoden's tooling cluster.
ASR, speaker diarization, and audio DSP packages:
app-accessibility/whisper-cpp— Whisper.cpp offline ASR.sci-ml/sherpa-onnx+sci-ml/sherpa-onnx-bin— Next-gen-Kaldi ONNX ASR / TTS / speaker-id (source build and prebuilt-wheel flavour).sci-ml/pyannote-audioplus thepyannote-{pipeline,metrics,database,core}chain andsci-ml/pyannoteai-sdk— speaker-diarization toolkit.sci-ml/torch-audiomentations+sci-ml/torch-pitch-shift+sci-ml/asteroid-filterbankssci-ml/julius— neural-net friendly audio DSP / augmentation building blocks.
General-purpose ML infrastructure not covered by ::gentoo,
pulled in alongside the speech stack above and broadly useful on
their own:
sci-ml/lightning+sci-ml/lightning-utilities— PyTorch Lightning training framework.sci-ml/torchmetrics— metric collection for PyTorch training loops.sci-ml/pytorch-metric-learning— embedding / metric-learning utilities.sci-ml/torchcodec— PyTorch video / audio decoder.sci-libs/onnxruntime1.26.0,sci-libs/dlpack,dev-cpp/safeint— the ONNX inference engine plus its in-memory tensor-exchange / overflow-safe-int building blocks.dev-python/optuna— hyperparameter optimization.
Local bumps of the ROCm 7.2 stable line
ahead of ::gentoo's 7.2.0:
dev-libs/rocm-{core,comgr,device-libs,opencl-runtime}, dev-libs/rccl,
dev-libs/hipother, dev-build/rocm-cmake,
dev-util/{hip,hipcc,hipify-clang,rocm-smi,rocminfo,rocm_bandwidth_test},
sci-libs/{hipBLAS,hipBLAS-common,hipBLASLt,hipCUB,hipFFT,hipRAND,hipSOLVER,hipSPARSE,hipsparselt,composable-kernel,miopen,rocBLAS,rocFFT,rocPRIM,rocRAND,rocSOLVER,rocSPARSE,rocThrust}.
dev-util/therock-bin is a
/opt-installed ROCm SDK that pulls AMD's nightly TheRock build for a
per-host AMDGPU_TARGETS. Coexists with the /usr ROCm above; an
nvchecker regex source on AMD's CDN tracks new nightlies.
A full HyperSpy ecosystem that is not in ::gentoo:
hyperspy, hyperspyui, hyperspy-gui-traitsui, hyperspy-gui-ipywidgets,
rosettasciio, emdfile, ncempy,
exspy, atomap,
pyxem,
py4dstem.
Packaging follows upstream's split into a core (hyperspy) plus GUI backends
and per-domain extensions (exspy for EELS/EDS, atomap for atomic-column
analysis, pyxem / py4dstem for 4D-STEM, ncempy/emdfile/rosettasciio
for I/O).
sci-physics/mantid— SANS reduction and analysis. Installs under/opt/mantidand keeps building against the current::gentooby carrying a few local deps (see Qt5 revivals below).sci-physics/sasview+dev-python/sasmodelsdev-python/bumps+dev-python/periodictable— SAS modeling and fitting.
sci-libs/ausaxs+dev-python/pyausaxs— AUSAXS solvent-scattering calculator and its Python bindings.sci-physics/xraylarch— XAFS analysis; modern replacement for the discontinuedifeffit.sci-physics/demeter— classic Athena/Artemis XAFS GUIs (Perl).
Twenty-six media-plugins/deadbeef-*
packages, covering audio format
support (opus, vgmstream, vfs-rar, archive-reader, bs2b),
visualization (spectrogram, musical-spectrum, vu-meter, dr-meter,
waveform-seekbar), playback/session control
(playback-order, playback-status, headerbar, quick-search, rating,
replaygain-control), file browsing (fb, bookmark-manager), desktop
integration (gnome, statusnotifier, discord-presence) and output
plumbing (jack, pulse2, stereo-widener, copy-info,
customizable-toolbar).
sci-physics/mumax (GPU finite-difference,
Go + CUDA), sci-physics/oommf (Tcl/Tk
reference implementation), and
sci-physics/vampire (atomistic spin
dynamics).
::gentoo removed Python 2 support in 2024. sci-visualization/gwyddion
2.x ships pygwy, Python 2 bindings used by user analysis scripts;
Gwyddion 3's GI bindings don't yet cover everything pygwy exposes, so
those scripts still need a py2 runtime. This overlay vendors a small
Python 2 surface to keep them working:
- Locally-vendored eclasses in
eclass/:distutils-r1_py2,python-r1_py2,python-single-r1_py2,python-utils-r1_py2. Inheriting one of these is the signal that a package is intentionally pinned to py2. - py2 forks of core libs under
dev-python/*-python2:numpy-python2,certifi-python2,setuptools-python2,setuptools_scm-python2,pycairo-python2. Named distinctly so they can coexist with the py3 versions from::gentoo. - py2-only legacy packages kept as-is:
pygobject-2.28.6,pygtk-2.24.0,unittest-or-fail.
Expected pkgcheck warnings from this corner (UnderscoreInUseFlag,
PythonMismatchedPackageName, RequiredUseDefaults) are suppressed globally
in metadata/pkgcheck.conf with a comment explaining why.
::gentoo last-rited the entire dev-qt:5 set on 2026-05-15
(bug #948836) and started treecleaning Qt5 consumers
(dev-python/pyqt5 went 2026-05-21). sci-physics/mantid and a few
other consumers will need Qt5 through 2026 at minimum, so this overlay
carries the full slot:5 set at v5.15.19-lts-lgpl with the
KDE Qt5 Patch Collection applied via
the local qt5-build.eclass.
- 23
dev-qt/*packages at 5.15.19 —linguist-tools,qtconcurrent,qtcore,qtdbus,qtdeclarative,qtgraphicaleffects,qtgui,qthelp,qtmultimedia,qtnetwork,qtopengl,qtprintsupport,qtquickcontrols,qtquickcontrols2,qtsql,qtsvg,qttest,qttranslations,qtwayland,qtwebchannel,qtwidgets,qtx11extras,qtxml. All keyworded~arch(qtwebchannel limited to~amd64 ~x86per upstream's narrower keyword history).dev-qt/qthelpanddev-qt/qtwebchannelkeep their pre-import 5.15.18 ebuilds alongside; the other 21 ship 5.15.19 only. dev-python/pyqt5+dev-python/pyqt5-sip— revived at PyPI-latest after::gentoo's treeclean.x11-libs/qscintilla-2.14.1-r1(the last Qt5-compatible slot), with=x11-libs/qscintilla-2.14.1-r2(Qt6-only) masked inprofiles/package.mask.- KDE Qt5 Patch Collection bundles mirrored to
extra-stuff as signed-tag-pinned
.tar.xzdistfiles; the eclass fans the SRC_URI out across the github / codeberg / gitlab raw URLs. profiles/package.unmaskoverrides::gentoo's baredev-qt/*:5masks so these ebuilds stay installable for overlay users.
Drop the mirror once mantid finishes its Qt6 port and the other consumers follow.
sci-libs/hdf4.2.16 / 4.3.1 — local bumps; 4.2.16 carries a gcc 15 build fix, 4.3.1 is ahead of::gentoo's 4.2.15-r2.x11-libs/gtk+-2.24.33-r99— gtk+:2 holdover for apps that still need it.dev-python/bokeh— 2.4.2 dropped, 3.4.1 and 3.9.0 kept with the deprecatedflakytest dep removed.dev-python/py4dstem0.14.18 — carries upstream PR #712 for numpy 2 compatibility.dev-python/cupy13.6.0 / 14.0.1 — ROCm USE flag dropped from 13.6.0 (cupy 13's HIP backend is incompatible with ROCm 7.x hipBLAS); cupy 14 dropped ROCm support entirely upstream.- Several
media-plugins/deadbeef-*plugins carry patches for DeaDBeeF's modernized C API.
- XMPP clients —
net-im/profanity,net-im/stabber,net-im/xmppconsole,dev-libs/libstrophe. - Collaborative editing —
app-editors/gobby,net-libs/libinfinity,acct-{group,user}/infinote. - Kernel / low-level —
sys-kernel/pf-sources,sys-kernel/pf-sources-extended(curated pf-patchset model on top of vanilla + Gentoo genpatches),sys-apps/dkms-gentoo,sys-kernel/kernel-cleaner. - Visualization —
sci-visualization/gwyddion,sci-visualization/gwyddion3. - Crystallography / atomistic —
sci-physics/bgmn,sci-physics/profex,sci-physics/prismatic,sci-libs/nexus,sci-libs/pycifrw. - SuiteSparse imports —
sci-libs/{amd,camd,cholmod,colamd,ccolamd,umfpack,suitesparseconfig}. - Retro / fun —
x11-terms/cool-retro-term,games-roguelike/adom,games-roguelike/dwarftherapist,games-misc/fortune-mod-lorquotes. - Niche tools —
dev-lang/tcc,dev-vcs/fossil,app-office/mytetra,app-misc/tudu,sys-fs/google-drive-ocamlfuse,app-text/pandoc-crossref-bin,app-portage/portconf(/etc/portagecleaner; forked to istitov + bumped to 2.0.0 in this overlay). - CUDA / generic ML inference —
dev-python/cuda-bindings,dev-python/cuda-python,dev-python/cuda-pathfinder,dev-python/cuda-tile-bin,dev-python/pycuda,dev-util/nvidia-cuda-toolkit,dev-python/vllm. - Masked but kept:
net-misc/ipx-utils(IPX removed from Linux in 4.18),app-portage/portopts(upstream dormant since 2014). Each mask inprofiles/package.maskcarries a comment explaining why and when it should lift.
- Thin manifests,
masters = gentooonly. Every package depends on::gentoobeing enabled. - Profiles under
profiles/follow standard PMS layout. - Patches live in
<category>/<package>/files/and are applied viaPATCHES=()orsrc_prepare(). - Commit messages use subject + body form (72-char subject, blank line, rationale). Single-line messages only for truly trivial edits.
metadata/pkgcheck.confdocuments which checks are suppressed and why (not just that they're suppressed).- CI runs
pkgcheck scanon every PR and push (delta only), plus a full repo scan every three days via scheduled workflow. URL-liveness checks (pkgcheck scan --net) are not part of CI; run them locally if you change an upstream URL. - Documentation —
CONTRIBUTING.md(house-style checklist, AI/LLM disclosure expectation),SECURITY.md(vulnerability reporting via GitHub private advisories),CODE_OF_CONDUCT.md. - News items —
eselect news readafteremerge --sync stuffsurfaces GLEP-42 announcements for migrations, mask windows, and CVE-sensitive notices. Items live inmetadata/news/. - Upstream version tracking —
scripts/nvchecker/holds the generatednvchecker.tomlplus a local-cron runner (run.sh) and the regenerator (generate.py). A weekly CI job at.github/workflows/nvchecker.ymlruns the same config against the tree as baseline and uploads a drift artifact.
Originally created by @megabaks; see the contributors list for everyone who has contributed since. Thank you.
Original packaging files — ebuilds, eclasses, metadata.xml, profiles, and
news items — are distributed under the GNU General Public License v2,
matching ::gentoo's per-file header convention and its
Copyright Policy (GLEP 76).
Patches that modify upstream code are derivative works of it and carry that
code's own license, as do the upstream sources themselves; the applicable
license is the one declared in each ebuild's LICENSE variable — e.g. the
dev-python/py4dstem numpy-2 patch is GPL-3 and the media-libs/opencv
patches are Apache-2.0, not GPL-2. This mirrors GLEP 76's Certificate of
Origin, under which a contribution "based upon previous work" is submitted
"under the same free software license" as that prior work.