I run a local overlay called funroll ⇗.
Below I'll explain how I...
Instead of syncing from Git, I sync from my own machine. It's a weird intermediary method I find convenient for developing.
/etc/portage/repos.conf/funroll.conf
[funroll]
location = /var/db/repos/funroll
sync-type = git
sync-uri = /home/user/git/overlay-funroll
"Gentoo overlays must mark themselves with ~amd64" blah blah blah blah
/etc/portage/package.accept_keywords/overlays
*/*::guru ~amd64
*/*::funroll ~amd64
*/*::gentoo-zh
*/*::benzene-overlay
Though the wiki describes making your own overlay ⇗, I actually used a different method versus the wiki.
That is, I made an ebuild skeleton git repo on my local user then synced from that.
# Prepare a git repository
mkdir overlay-funroll
cd overlay-funroll
git init
# Manually set up repo skeleton stuff
mkdir metadata profiles
echo funroll > profiles/repo_name
echo 8 > profiles/eapi
cat >> metadata/layout.conf << EOF
masters = gentoo
thin-manifests = true
sign-manifests = false
EOF
# say hi to the world
nvim README.md
# save changes
git add --all
git commit -m init
TODO: Finish writing this section
https://devmanual.gentoo.org/general-concepts/manifest/
https://devmanual.gentoo.org/ebuild-writing/variables/index.html
https://devmanual.gentoo.org/ebuild-writing/functions/
pkgdev manifest -m
Ebuild devs need stuff like pkgcheck, cargo license, pycargoebuild, metagen, blah blah
/etc/portage/package.accept_keywords/ebuild-dev
dev-util/cargo-license ~amd64
I work with Rust often so I need a way to cache stuff lol
I use dev-util/sccache
/etc/portage/package.accept_keywords/ebuild-dev
dev-util/sccache ~amd64
/etc/sandbox.d/20sccache
# Allow write access to sccache cache directory
SANDBOX_WRITE="/var/cache/sccache/"
/etc/portage/env/sccache-enabled
# when you're working on some kind of
# `ebuild abc/defg merge`
# you will need to add it to package.env :)
RUSTC_WRAPPER=/usr/bin/sccache
SCCACHE_DIR=/var/cache/sccache
SCCACHE_MAX_FRAME_LENGTH=104857600