X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/6bbeb5288dbdeb3ae1df1369db78515e4b9ab08c..024170a4eaed28d31833f95602369e9ccdf70a13:/etc/zsh/.zshenv diff --git a/etc/zsh/.zshenv b/etc/zsh/.zshenv index 29f59e7..7a923e9 100644 --- a/etc/zsh/.zshenv +++ b/etc/zsh/.zshenv @@ -294,11 +294,22 @@ if [[ ! -v GNUPGHOME ]] { } ## perl local lib -[[ ! -v PERL_LOCAL_LIB_ROOT && -v commands[perl] && - -d ${XDG_DATA_HOME:-~/.local/share}/perl5/lib/perl5 ]] && - eval $(perl -I${XDG_DATA_HOME:-~/.local/share}/perl5/lib/perl5 \ - -Mlocal::lib=${XDG_DATA_HOME:-~/.local/share}/perl5 2>/dev/null) - +if [[ ! -v PERL_LOCAL_LIB_ROOT && -v commands[perl] ]] { + _p5=${XDG_DATA_HOME:-~/.local/share}/perl5 + [[ -d $_p5 ]] || mkdir -p $_p5 + if [[ -f $_p5/lib/perl5/local/lib.pm ]] { + eval $(perl -I$_p5/lib/perl5 -Mlocal::lib=$_p5 2>/dev/null) + } else { + # emulate local::lib if not installed + path=($_p5/bin "${path[@]}") + export \ + PERL_MB_OPT="--install_base '$_p5'" \ + PERL_MM_OPT=INSTALL_BASE=$_p5 \ + PERL5LIB=$_p5/lib/perl5 \ + PERL_LOCAL_LIB_ROOT=$_p5${PERL_LOCAL_LIB_ROOT:+:$PERL_LOCAL_LIB_ROOT} + } + unset _p5 +} ## go if [[ -v commands[go] ]] { [[ ! -v GOPATH ]] && export GOPATH=${XDG_DATA_HOME:-~/.local/share}/go:~/go