From ec09b7dccf0f91b985b4663102945dec1c6c1c50 Mon Sep 17 00:00:00 2001 From: sev Date: Mon, 14 Oct 2024 18:35:51 -0500 Subject: [PATCH 1/1] zshenv: better perl setup, dont require local::lib --- etc/zsh/.zshenv | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/etc/zsh/.zshenv b/etc/zsh/.zshenv index 29f59e7..16bf106 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 -- 2.47.0