#!/bin/zsh

grep -q "gentoo" /etc/os-release || return

lesswrap eix -F
alias eud="emerge -vabuDUN -j4 --keep-going world"
alias fetchlog="tail -f /var/log/emerge-fetch.log"
alias emerge="noglob sudo -i emerge"

fetchrestricted() {
	for file in "$@"; do
		mv "$file" /var/portage/distfiles/
		chown portage:portage /var/portage/distfiles/${file:t}
		chmod 664 /var/portage/distfiles/${file:t}
	done
}

gpo-get() {
	if [[ -z "$2" ]]; then
		echo "Usage: gpo-get <category> <url>"
		return
	fi
	cd /var/portage/overlay
	name=$(curl -sI "$2" | awk -F\" '/^Content-Disposition/ { print $2 }')
	basename="${name//-[0-9]*}"
	mkdir -p "$1/${basename}"
	curl "$2" > "$1/${basename}/$name"
	cd "$1/${basename}"
	ebuild $name digest
}

nolto() {
	pkgenvconf $1 nolto nolto
}

notmpfs() {
	pkgenvconf $1 notmpfs notmpfs
}

noaggressive() {
	pkgenvconf $1 noaggressive noaggressive
}

nographite() {
	pkgenvconf $1 nographite nographite
}

onlysafe() {
	pkgenvconf $1 onlysafe onlysafe
}

cflags_reset() {
	if [ -n "$1" ]; then
		for i in \
		  /etc/portage/package.env/noaggressive \
		  /etc/portage/package.env/nographite \
		  /etc/portage/package.env/nolto; do
			  sed -i "/$1/d" $i;
		done
	fi
}

pkgenvconf() {
	ltoline="$1 $2.conf"
	echo -e '\e[1mInsert following line into package.env/'$2'?\e[0m'
	echo "$ltoline"
	echo "Looking for matching lines..."
	grep $1 /etc/portage/package.env/$3
	echo -e -n '\e[1m[y/n] \e[0m'
	read answer
	case "$answer" in
		yes|y|YES|Yes|Really|"why not")
	echo "$ltoline" | sudo tee -a /etc/portage/package.env/$3
	;;
	*) ;;
	esac
}