summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.zshrc33
1 files changed, 32 insertions, 1 deletions
diff --git a/.zshrc b/.zshrc
index 8705998..ed31fa7 100644
--- a/.zshrc
+++ b/.zshrc
@@ -77,7 +77,7 @@ device="desktop" # can be either "desktop" (default when empty), "server" or "an
if [[ -x "$(command -v emerge)" ]]; then
alias seq="sudo emerge --quiet-build -v"
alias sep="sudo emerge -pv"
- alias sen="sudo ego sync && sudo emerge --quiet-build -vuDN @world"
+ alias sen="pre-sync && sudo ego sync && post-sync && sudo emerge --quiet-build -vuDN @world"
alias seN="sudo emerge --quiet-build -vuDN @world"
alias seNp="sudo emerge --quiet-build -pvuDN @world"
alias ses="sudo emerge -s"
@@ -86,6 +86,37 @@ device="desktop" # can be either "desktop" (default when empty), "server" or "an
alias seC="sudo emerge -C"
alias secp="sudo emerge -cp"
alias seCp="sudo emerge -Cp"
+
+ pre-sync() {
+ echo '(.zshrc) Running pre-sync function...'
+
+ # Since in post-sync I change the EAPI of a lot of the ebuilds,
+ # the overlay can't be synced properly
+ _pwd=$(pwd)
+ cd /var/db/repos/gentoo
+ sudo git reset --hard
+ cd $_pwd
+
+ echo '(.zshrc) pre-sync finished! :}'
+ }
+
+ post-sync() {
+ echo '(.zshrc) Running post-sync function...'
+
+ # Fixes the elusive
+ # "!!! Repository name or alias 'gentoo', defined for repository 'core-kit', overrides existing alias or repository."
+ # error when enabling gentoo overlay
+ sudo sed -i 's/aliases = gentoo/#aliases = gentoo/g' /var/git/meta-repo/kits/core-kit/metadata/layout.conf
+
+ # In the gentoo overlay, most packages don't actually use EAPI 8 specific features, so
+ # they can safely be rolled back to EAPI 7 (funtoo's portage doesn't support EAPI 8 yet).
+ # However, there are still some that do need EAPI 8, so they should be left alone.
+ # Since I'm incredibly lazy, for now, this is how I'm gonna do it.
+ find '/var/db/repos/gentoo' -type f -name "*.ebuild" ! -path "*dev-qt*" ! -path "*kde-frameworks*" ! -path "*kde-plasma*" \
+ | xargs sudo sed -i 's/EAPI=8/EAPI=7/g'
+
+ echo '(.zshrc) post-sync finished! :]'
+ }
fi
# }}}