summaryrefslogtreecommitdiff
path: root/.zshrc
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2022-09-05 21:39:07 +0300
committerSyndamia <kamen@syndamia.com>2022-09-05 21:39:07 +0300
commit1e46c55a4ccc31655b478ae4a1a97fc78545cbd7 (patch)
tree1119b07bf69401da30b64196f85e34249ddfb19d /.zshrc
parentfa15e45be968d6ffdef5eda1bb711d15286e1b1d (diff)
downloaddotfiles-1e46c55a4ccc31655b478ae4a1a97fc78545cbd7.tar
dotfiles-1e46c55a4ccc31655b478ae4a1a97fc78545cbd7.tar.gz
dotfiles-1e46c55a4ccc31655b478ae4a1a97fc78545cbd7.zip
Added pre-sync and post-sync function to sen command, for much improved funtoo gentoo overlay compatibility
Diffstat (limited to '.zshrc')
-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
# }}}