[continued from previous message]
declare -x BINPKG_GPG_SIGNING_BASE_COMMAND="/usr/bin/flock /run/lock/portage-binpkg-gpg.lock /usr/bin/gpg --sign --armor [PORTAGE_CONFIG]"
declare -x BINPKG_GPG_SIGNING_DIGEST="SHA512"
declare -x BINPKG_GPG_VERIFY_BASE_COMMAND="/usr/bin/gpg --verify --batch --no-tty --no-auto-check-trustdb --status-fd 2 [PORTAGE_CONFIG] [SIGNATURE]"
declare -x BINPKG_GPG_VERIFY_GPG_HOME="/etc/portage/gnupg"
declare -x BOOTSTRAP_USE="unicode pkg-config split-usr xml python_targets_python3_12 python_single_target_python3_12 multilib zstd cet systemd sysv-utils udev"
declare -x BROWSER="firefox"
declare -x CALLIGRA_FEATURES=""
declare -x CAMERAS=""
declare -x CBUILD="x86_64-pc-linux-gnu"
declare -x CC="x86_64-pc-linux-gnu-gcc"
declare -x CCL_DEFAULT_DIRECTORY="/usr/lib64/clozurecl"
declare -x CFLAGS="-march=native -O2 -pipe"
declare -x CFLAGS_amd64="-m64"
declare -x CFLAGS_default
declare -x CFLAGS_x32="-mx32"
declare -x CFLAGS_x86="-m32 -mfpmath=sse"
declare -x CGO_CFLAGS="-march=native -O2 -pipe"
declare -x CGO_CPPFLAGS=""
declare -x CGO_CXXFLAGS="-march=native -O2 -pipe"
declare -x CGO_LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" declare -x CHOST="x86_64-pc-linux-gnu"
declare -x CHOST_amd64="x86_64-pc-linux-gnu"
declare -x CHOST_default="x86_64-pc-linux-gnu"
declare -x CHOST_x32="x86_64-pc-linux-gnux32"
declare -x CHOST_x86="i686-pc-linux-gnu"
declare -x COLLECTD_PLUGINS=""
declare -x COLORFGBG="default;default;0"
declare -x COMMON_FLAGS="-march=native -O2 -pipe"
declare -x CPU_FLAGS_ARM=""
declare -x CPU_FLAGS_PPC=""
declare -x CPU_FLAGS_X86=""
declare -x CTARGET_default="x86_64-pc-linux-gnu"
declare -x CURL_QUIC=""
declare -x CURL_SSL=""
declare -x CXX="x86_64-pc-linux-gnu-g++"
declare -x CXXFLAGS="-march=native -O2 -pipe"
declare -x DEBUGBUILD="1"
declare -x DEFAULT_ABI="amd64"
declare -x DEFINED_PHASES=" compile install unpack"
declare DEPEND="dev-lang/go "
declare DESCRIPTION="Execute scripts on IMAP mailbox changes using IDLE, golang version."
declare -x DESKTOP_SESSION="Xsession"
declare -x DESKTOP_STARTUP_ID="i3/urxvt/2068-0-lain_TIME12238"
declare -x DIROPTIONS="-m0755"
declare -x EAPI="8"
declare -x ELIBC="glibc"
declare -x ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
declare -- EPOCHREALTIME="1731826517.858173"
declare -- EPOCHSECONDS="1731826517"
declare -x EXEOPTIONS="-m0755"
declare -x FCFLAGS="-march=native -O2 -pipe"
declare -x FETCHCOMMAND_SSH="bash -c \"x=\\\${2#
ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\
\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
declare -x FFLAGS="-march=native -O2 -pipe"
declare -x FFTOOLS=""
declare -x GCC_SPECS=""
declare -x GDMSESSION="Xsession"
declare -x GDM_LANG="en_US.utf8"
declare -x GO111MODULE="on"
declare -x GOARCH="amd64"
declare -x GOCACHE="/var/tmp/portage/net-mail/goimapnotify-2.4/temp/go-build" declare -x GOFLAGS="-buildmode=pie -buildvcs=false -modcacherw -v -x -p=12" declare -x GOMODCACHE="/var/tmp/portage/net-mail/goimapnotify-2.4/work/go-mod" declare -x GPG_TTY="not a tty"
declare -x GPG_VERIFY_GROUP_DROP="nogroup"
declare -x GPG_VERIFY_USER_DROP="nobody"
declare -x GPSD_PROTOCOLS=""
declare -x GRUB_PLATFORMS=""
declare -x GSETTINGS_BACKEND="dconf"
declare -x GTK_MODULES="canberra-gtk-module"
declare -x GUILE_SINGLE_TARGET=""
declare -x GUILE_TARGETS=""
declare HOMEPAGE="
https://gitlab.com/shackra/goimapnotify"
declare -x HSTR_CONFIG="hicolor"
declare -x HSTR_TIOCSTI="n"
declare -x I3SOCK="/run/user/1000/i3/ipc-socket.2068"
declare IDEPEND=""
declare -x INHERITED=" multiprocessing toolchain-funcs multilib flag-o-matic go-env go-module systemd"
declare -x INPUT_DEVICES=""
declare -x INSOPTIONS="-m0644"
declare IUSE="systemd "
declare -x IUSE_EFFECTIVE="abi_x86_64 alpha amd64 amd64-linux arm arm64 arm64-macos elibc_Darwin elibc_SunOS elibc_bionic elibc_glibc elibc_mingw elibc_musl hppa kernel_Darwin kernel_SunOS kernel_linux loong m68k mips ppc ppc-macos ppc64 ppc64-linux
prefix prefix-guest prefix-stack riscv s390 sparc systemd x64-macos x64-solaris x86 x86-linux"
declare -x IUSE_IMPLICIT="abi_x86_64 prefix prefix-guest prefix-stack"
declare -x JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
declare -x JAVA_HOME="/etc/java-config-2/current-system-vm"
declare -x JDK_HOME="/etc/java-config-2/current-system-vm"
declare -x KERNEL="linux"
declare -x KERNEL_ABI="amd64"
declare -x KEYWORDS="~amd64"
declare -x L10N=""
declare -x LANG="en_US.utf8"
declare -x LCD_DEVICES=""
declare -x LC_COLLATE="C"
declare -x LC_MESSAGES="C.utf8"
declare -x LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" declare -x LDFLAGS_amd64="-m elf_x86_64"
declare -x LDFLAGS_default
declare -x LDFLAGS_x32="-m elf32_x86_64"
declare -x LDFLAGS_x86="-m elf_i386"
declare -x LEX="flex"
declare -x LIBDIR_amd64="lib64"
declare -x LIBDIR_default="lib"
declare -x LIBDIR_x32="libx32"
declare -x LIBDIR_x86="lib"
declare -x LIBGUESTFS_PATH="/usr/share/guestfs/appliance/"
declare -x LIBOPTIONS="-m0644"
declare -x LIBREOFFICE_EXTENSIONS=""
declare -x LICENSE="GPL-3+"
declare -x LLVM_SLOT=""
declare -x LLVM_TARGETS=""
declare -x LUA_SINGLE_TARGET=""
declare -x LUA_TARGETS=""
declare -x MAIL="/var/mail/whiteman808"
declare -x MAKEOPTS=" -j12"
declare -x MANPAGER="less -R --use-color -Dd+r -Du+b"
declare -x MANROFFOPT="-P -c"
declare -x MOTD_SHOWN="pam"
declare -x MOZ_GMP_PATH="/usr/lib64/nsbrowser/plugins/gmp-gmpopenh264/system-installed"
declare -x MULTILIB_ABIS="amd64 x86"
declare -x MULTILIB_STRICT_DENY="64-bit.*shared object"
declare -x MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib"
declare -x MULTILIB_STRICT_EXEMPT="(perl5|gcc|binutils|eclipse-3|debug|portage|udev|systemd|clang|python-exec|llvm)"
declare -x NGINX_MODULES_HTTP=""
declare -x NGINX_MODULES_MAIL=""
declare -x NGINX_MODULES_STREAM=""
declare -x NPM_CONFIG_GLOBALCONFIG="/etc/npm/npmrc"
declare -x OFFICE_IMPLEMENTATION=""
declare -x OPENMPI_FABRICS=""
declare -x OPENMPI_OFED_FEATURES=""
declare -x OPENMPI_RM=""
declare -x P9K_SSH="0"
declare -x P9K_TTY="old"
declare -x PATH="/usr/lib/portage/python3.12/ebuild-helpers/xattr:/usr/lib/portage/python3.12/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/18/bin"
declare PDEPEND=""
declare -x PERL_FEATURES=""
declare -x PHP_TARGETS=""
declare -x PKG_CONFIG="x86_64-pc-linux-gnu-pkg-config"
declare -x PORTAGE_COMPRESSION_COMMAND="zstd -T12"
declare -a PORTAGE_DOCOMPRESS=([0]="/usr/share/doc" [1]="/usr/share/info" [2]="/usr/share/man")
declare -x PORTAGE_DOCOMPRESS_SIZE_LIMIT="128"
declare -a PORTAGE_DOCOMPRESS_SKIP=([0]="/usr/share/doc/goimapnotify-2.4/html") declare -a PORTAGE_DOSTRIP=()
declare -a PORTAGE_DOSTRIP_SKIP=()
declare -x PORTAGE_REPO_REVISIONS="{\"gentoo\": \"53077633bcf79d74ab25227baf9c2912c6ffdcc5\"}"
declare -x POSTGRES_TARGETS=""
declare -x PROFILE_ONLY_VARIABLES="ARCH ELIBC IUSE_IMPLICIT KERNEL USE_EXPAND_IMPLICIT USE_EXPAND_UNPREFIXED USE_EXPAND_VALUES_ARCH USE_EXPAND_VALUES_ELIBC USE_EXPAND_VALUES_KERNEL"
declare -- PROPERTIES=""
declare -x PYTHONDOCS_3_13="/usr/share/doc/python-docs-3.13.0/html/library" declare -x PYTHONDONTWRITEBYTECODE="1"
declare -x PYTHON_SINGLE_TARGET=""
declare -x PYTHON_TARGETS=""
declare -- QA_FLAGS_IGNORED=".*"
declare -x QEMU_SOFTMMU_TARGETS=""
declare -x QEMU_USER_TARGETS=""
declare -x QT_STYLE_OVERRIDE="kvantum"
declare RDEPEND="systemd? ( sys-apps/systemd ) "
declare REPOSITORY
declare REQUIRED_USE=""
declare RESTRICT="strip"
declare -x RESUMECOMMAND_SSH="bash -c \"x=\\\${2#
ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP \\\"\\\${host}:/\\\${x#*/}
\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
declare -x RUBY_TARGETS=""
declare -x R_HOME="/usr/lib64/R"
declare -x S="/var/tmp/portage/net-mail/goimapnotify-2.4/work/goimapnotify-2.4" declare -x SANDBOX_DEBUG="0"
declare -x SANDBOX_DENY=""
declare -x SANDBOX_METHOD="any"
declare -x SANDBOX_PREDICT="/var/tmp/portage/net-mail/goimapnotify-2.4/homedir:/dev/crypto:/var/cache/man:/dev/random:/proc/self/coredump_filter:/dev/random:/proc/self/coredump_filter:/dev/random:/proc/self/coredump_filter:/var/cache/fontconfig"
declare -x SANDBOX_READ="/:/var/tmp/portage"
declare -x SANDBOX_VERBOSE="1"
declare -x SANDBOX_WRITE=":/dev/console:/dev/fd:/dev/full:/dev/null:/dev/ptmx:/dev/pts/:/dev/pty:/dev/shm:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/proc/self/fd:/tmp/:/usr/lib/cf:/usr/lib/conftest:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/
conftest:/usr/tmp/:/usr/tmp/cf:/usr/tmp/conftest:/var/tmp/:/var/tmp/portage:/var/tmp/portage/net-mail/goimapnotify-2.4/homedir/.bash_history"
declare -x SANE_BACKENDS=""
declare -x SBCL_HOME="/usr/lib64/sbcl"
declare -x SBCL_SOURCE_ROOT="/usr/lib64/sbcl/src"
declare -x SHELL="/bin/zsh"
declare -x SLOT="0"
declare -i SRANDOM="2191298271"
declare SRC_URI="
https://gitlab.com/shackra/goimapnotify/-/archive/2.4/goimapnotify-2.4.tar.bz2"
declare -x SYMLINK_LIB="no"
declare -x TERM_PROGRAM="tmux"
declare -x TERM_PROGRAM_VERSION="3.4"
declare -x TMUX="/tmp/tmux-1000/default,2884,0"
declare -x TMUX_PANE="%12"
declare -x TMUX_PLUGIN_MANAGER_PATH="/home/whiteman808/.tmux/plugins/"
declare -x TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
declare -x USE="abi_x86_64 amd64 elibc_glibc kernel_linux systemd"
declare -x USERLAND="GNU"
declare -x USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL"
declare -x USE_EXPAND_UNPREFIXED="ARCH"
declare -x USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-linux arm arm64 arm64-macos hppa loong m68k mips ppc ppc64 ppc64-linux ppc-macos riscv s390 sparc x64-macos x64-solaris x86 x86-linux"
declare -x USE_EXPAND_VALUES_ELIBC="bionic Darwin glibc mingw musl SunOS" declare -x USE_EXPAND_VALUES_KERNEL="Darwin linux SunOS"
declare -x UWSGI_PLUGINS=""
declare -x VIDEO_CARDS=""
declare -x VIRSH_DEFAULT_CONNECT_URI="qemu:///system"
declare -x VISUAL="emacs -nw"
declare -x VOICEMAIL_STORAGE=""
declare -x WINDOWID="18874377"
declare -x XDG_CONFIG_DIRS="/etc/xdg"
declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share"
declare -x XDG_GREETER_DATA_DIR="/var/lib/lightdm-data/whiteman808"
declare -x XDG_SEAT="seat0"
declare -x XDG_SEAT_PATH="/org/freedesktop/DisplayManager/Seat0"
declare -x XDG_SESSION_CLASS="user"
declare -x XDG_SESSION_DESKTOP="Xsession"
declare -x XDG_SESSION_ID="1"
declare -x XDG_SESSION_PATH="/org/freedesktop/DisplayManager/Session0"
declare -x XDG_SESSION_TYPE="x11"
declare -x XDG_VTNR="7"
declare -x XTABLES_ADDONS=""
declare -- _FLAG_O_MATIC_ECLASS="1"
declare -- _GOMODULE_GOPROXY_BASEURI="mirror://goproxy/"
declare -A _GOMODULE_GOSUM_REVERSE_MAP
declare -- _GO_ENV_ECLASS="1"
declare -- _GO_MODULE_ECLASS="1"
declare -- _MULTILIB_ECLASS="1"
declare -- _MULTIPROCESSING_ECLASS="1"
declare -x _P9K_SSH_TTY="/dev/pts/12"
declare -x _P9K_TTY="/dev/pts/12"
declare -- _SYSTEMD_ECLASS="1"
declare -- _TOOLCHAIN_FUNCS_ECLASS="1"
declare -x __E_DESTTREE="/usr"
declare -x __E_DOCDESTTREE=""
declare -x __E_EXEDESTTREE=""
declare -x __E_INSDESTTREE=""
declare -x ac_cv_c_undeclared_builtin_options="none needed"
declare -x enable_year2038="no"
declare -x gl_cv_compiler_check_decl_option="-Werror=implicit-function-declaration"
declare -x gl_cv_func_getcwd_path_max="yes"
__eapi6_src_install ()
{
if [[ -f Makefile || -f GNUmakefile || -f makefile ]]; then
emake DESTDIR="${D}" install;
fi;
einstalldocs
}
__eapi6_src_prepare ()
{
if ___is_indexed_array_var PATCHES; then
[[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}";
else
if [[ -n ${PATCHES} ]]; then
eapply ${PATCHES};
fi;
fi;
eapply_user
}
__eapi7_ver_compare ()
{
local va=${1} vb=${2} a an al as ar b bn bl bs br re LC_ALL=C;
re="^([0-9]+(\.[0-9]+)*)([a-z]?)((_(alpha|beta|pre|rc|p)[0-9]*)*)(-r[0-9]+)?$";
[[ ${va} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${va}";
an=${BASH_REMATCH[1]};
al=${BASH_REMATCH[3]};
as=${BASH_REMATCH[4]};
ar=${BASH_REMATCH[7]};
[[ ${vb} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${vb}";
bn=${BASH_REMATCH[1]};
bl=${BASH_REMATCH[3]};
bs=${BASH_REMATCH[4]};
br=${BASH_REMATCH[7]};
__eapi7_ver_compare_int "${an%%.*}" "${bn%%.*}" || return;
while [[ ${an} == *.* && ${bn} == *.* ]]; do
an=${an#*.};
bn=${bn#*.};
a=${an%%.*};
b=${bn%%.*};
if [[ ${a} == 0* || ${b} == 0* ]]; then
[[ ${a} =~ 0+$ ]] && a=${a%"${BASH_REMATCH[0]}"};
[[ ${b} =~ 0+$ ]] && b=${b%"${BASH_REMATCH[0]}"};
[[ ${a} > ${b} ]] && return 3;
[[ ${a} < ${b} ]] && return 1;
else
__eapi7_ver_compare_int "${a}" "${b}" || return;
fi;
done;
[[ ${an} == *.* ]] && return 3;
[[ ${bn} == *.* ]] && return 1;
[[ ${al} > ${bl} ]] && return 3;
[[ ${al} < ${bl} ]] && return 1;
as=${as#_}${as:+_};
bs=${bs#_}${bs:+_};
while [[ -n ${as} && -n ${bs} ]]; do
a=${as%%_*};
b=${bs%%_*};
if [[ ${a%%[0-9]*} == "${b%%[0-9]*}" ]]; then
__eapi7_ver_compare_int "${a##*[a-z]}" "${b##*[a-z]}" || return;
else
[[ ${a%%[0-9]*} == p ]] && return 3;
[[ ${b%%[0-9]*} == p ]] && return 1;
[[ ${a} > ${b} ]] && return 3 || return 1;
fi;
as=${as#*_};
bs=${bs#*_};
done;
if [[ -n ${as} ]]; then
[[ ${as} == p[_0-9]* ]] && return 3 || return 1;
else
if [[ -n ${bs} ]]; then
[[ ${bs} == p[_0-9]* ]] && return 1 || return 3;
fi;
fi;
__eapi7_ver_compare_int "${ar#-r}" "${br#-r}" || return;
return 2
}
__eapi7_ver_compare_int ()
{
local a=$1 b=$2 d=$(( ${#1}-${#2} ));
if [[ ${d} -gt 0 ]]; then
printf -v b "%0${d}d%s" 0 "${b}";
else
if [[ ${d} -lt 0 ]]; then
printf -v a "%0$(( -d ))d%s" 0 "${a}";
fi;
fi;
[[ ${a} > ${b} ]] && return 3;
[[ ${a} == "${b}" ]]
}
__eapi7_ver_parse_range ()
{
local range=${1};
local max=${2};
[[ ${range} == [0-9]* ]] || die "${FUNCNAME}: range must start with a number";
start=${range%-*};
[[ ${range} == *-* ]] && end=${range#*-} || end=${start};
if [[ -n ${end} ]]; then
[[ ${start} -le ${end} ]] || die "${FUNCNAME}: end of range must be >= start";
[[ ${end} -le ${max} ]] || end=${max};
else
end=${max};
fi
}
__eapi7_ver_split ()
{
local v=${1} LC_ALL=C;
comp=();
local s c;
while [[ -n ${v} ]]; do
s=${v%%[a-zA-Z0-9]*};
v=${v:${#s}};
[[ ${v} == [0-9]* ]] && c=${v%%[^0-9]*} || c=${v%%[^a-zA-Z]*};
v=${v:${#c}};
comp+=("${s}" "${c}");
done
}
__eapi8_src_prepare ()
{
local f;
if ___is_indexed_array_var PATCHES; then
[[ ${#PATCHES[@]} -gt 0 ]] && eapply -- "${PATCHES[@]}";
else
if [[ -n ${PATCHES} ]]; then
eapply -- ${PATCHES};
fi;
fi;
eapply_user
}
_clang_fullversion ()
{
local ver="$1";
shift;
set -- $($(tc-getCPP "$@") -E -P - <<< "__clang_major__ __clang_minor__ __clang_patchlevel__");
eval echo "${ver}"
}
_filter-hardened ()
{
local f;
for f in "$@";
do
case "${f}" in
-fPIC | -fpic | -fPIE | -fpie | -Wl,pie | -pie)
if ! gcc-specs-pie && ! tc-enables-pie; then
continue;
fi;
if ! is-flagq -nopie && ! is-flagq -no-pie; then
if test-flags -nopie > /dev/null; then
append-flags -nopie;
else
append-flags -no-pie;
fi;
fi
;;
-fstack-protector | -fstack-protector-strong)
if ! gcc-specs-ssp && ! tc-enables-ssp && ! tc-enables-ssp-strong; then
continue;
fi;
is-flagq -fno-stack-protector || append-flags $(test-flags -fno-stack-protector)
;;
-fstack-protector-all)
if ! gcc-specs-ssp-to-all && ! tc-enables-ssp-all; then
continue;
fi;
is-flagq -fno-stack-protector-all || append-flags $(test-flags -fno-stack-protector-all)
;;
-fno-strict-overflow)
gcc-specs-nostrict || continue;
is-flagq -fstrict-overflow || append-flags $(test-flags -fstrict-overflow)
;;
-D_GLIBCXX_ASSERTIONS | -D_LIBCPP_ENABLE_ASSERTIONS | -D_LIBCPP_ENABLE_HARDENED_MODE)
tc-enables-cxx-assertions || continue;
append-cppflags -U_GLIBCXX_ASSERTIONS -U_LIBCPP_ENABLE_ASSERTIONS -U_LIBCPP_ENABLE_HARDENED_MODE
;;
-D_FORTIFY_SOURCE=*)
tc-enables-fortify-source || continue;
append-cppflags -U_FORTIFY_SOURCE
;;
esac;
done
}
_filter-var ()
{
local f x var=$1 new=();
shift;
for f in ${!var};
do
for x in "$@";
do
[[ ${f} == ${x} ]] && continue 2;
done;
new+=("${f}");
done;
export ${var}="${new[*]}"
}
_gcc-install-dir ()
{
echo "$(LC_ALL=C $(tc-getCC) -print-search-dirs 2> /dev/null | awk '$1=="install:" {print $2}')"
}
_gcc-specs-directive_raw ()
{
local cc=$(tc-getCC);
local specfiles=$(LC_ALL=C ${cc} -v 2>&1 | awk '$1=="Reading" {print $NF}');
${cc} -dumpspecs 2> /dev/null | cat - ${specfiles} | awk -v directive=$1 'BEGIN { pspec=""; spec=""; outside=1 }
$1=="*"directive":" { pspec=spec; spec=""; outside=0; next }
outside || NF==0 || ( substr($1,1,1)=="*" && substr($1,length($1),1)==":" ) { outside=1; next }
spec=="" && substr($0,1,1)=="+" { spec=pspec " " substr($0,2); next }
{ spec=spec $0 }
END { print spec }';
return 0
}
_gcc-specs-exists ()
{
[[ -f $(_gcc-install-dir)/$1 ]]
}
_gcc_fullversion ()
{
local ver="$1";
shift;
set -- $($(tc-getCPP "$@") -E -P - <<< "__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__");
eval echo "${ver}"
}
_get_all_makeopts ()
{
echo "${MAKEOPTS} ${GNUMAKEFLAGS} ${MAKEFLAGS}"
}
_go-module_gosum_synthesize_files ()
{
local target=$1;
local version=$2;
cat > "${target}/${version}.info" <<-EOF
{
"Version": "${version}",
"shortName": "${version}",
"Name": "${version}"
}
EOF
listfile="${target}"/list;
if ! grep -sq -x -e "${version}" "${listfile}" 2> /dev/null; then
echo "${version}" >> "${listfile}";
fi
}
_go-module_src_unpack_gosum ()
{
debug-print-function ${FUNCNAME} "$@";
if [[ ! -n ${_GO_MODULE_SET_GLOBALS_CALLED} ]]; then
die "go-module_set_globals must be called in global scope";
fi;
local goproxy_dir="${GOPROXY/file:\/\//}";
mkdir -p "${goproxy_dir}" || die;
local f;
local goproxy_mod_dir;
for f in ${A};
do
goproxy_mod_path="${_GOMODULE_GOSUM_REVERSE_MAP["${f}"]}";
if [[ -n "${goproxy_mod_path}" ]]; then
debug-print-function "Populating go proxy for ${goproxy_mod_path}";
goproxy_mod_dir=$(dirname "${goproxy_dir}"/"${goproxy_mod_path}");
mkdir -p "${goproxy_mod_dir}" || die;
ln -sf "${DISTDIR}"/"${f}" "${goproxy_dir}/${goproxy_mod_path}" || die "Failed to ln";
local v=${goproxy_mod_path};
v="${v%.mod}";
v="${v%.zip}";
v="${v//*\/}";
_go-module_gosum_synthesize_files "${goproxy_mod_dir}" "${v}";
else
unpack "$f";
fi;
done;
_go-module_src_unpack_verify_gosum
}
_go-module_src_unpack_verify_gosum ()
{
debug-print-function ${FUNCNAME} "$@";
if [[ ! -n ${_GO_MODULE_SET_GLOBALS_CALLED} ]]; then
die "go-module_set_globals must be called in global scope";
fi;
cd "${S}" || die "cd failed";
einfo "Tidying go.mod/go.sum";
nonfatal ego mod tidy > /dev/null
}
_is_flagq ()
{
local x var="$1[*]";
for x in ${!var};
do
[[ ${x} == $2 ]] && return 0;
done;
return 1
}
_setup-allowed-flags ()
{
ALLOWED_FLAGS=(-pipe -O '-O[123szg]' '-mcpu=*' '-march=*' '-mtune=*' '-mfpmath=*' -flto '-flto=*' -fno-lto '-fstack-protector*' -fstack-clash-protection '-fcf-protection=*' -fbounds-check -fbounds-checking -fno-PIE -fno-pie -nopie -no-pie -fharden-
compares -fharden-conditional-branches -fharden-control-flow-redundancy -fno-harden-control-flow-redundancy -fhardcfr-skip-leaf -fhardcfr-check-exceptions -fhardcfr-check-returning-calls '-fhardcfr-check-noreturn-calls=*' '-mindirect-branch=*' -mindirect-
branch-register '-mfunction-return=*' -mretpoline '-mharden-sls=*' '-mbranch-protection=*' -fno-unit-at-a-time -fno-strict-overflow '-fsanitize*' '-fno-sanitize*' -g '-g[0-9]' -ggdb '-ggdb[0-9]' -gdwarf '-gdwarf-*' -gstabs -gstabs+ -gz -glldb '-fdebug-
default-version=*' -fno-diagnostics-color '-fmessage-length=*' -fno-ident -fpermissive -frecord-gcc-switches -frecord-command-line '-fdiagnostics*' '-fplugin*' '-W*' -w '-[DUILR]*' '-Wl,*' '-fuse-ld=*');
ALLOWED_FLAGS+=('-fno-stack-protector*' '-fabi-version=*' -fno-strict-aliasing -fno-bounds-check -fno-bounds-checking -fstrict-overflow -fno-omit-frame-pointer '-fno-builtin*' -mno-omit-leaf-frame-pointer);
ALLOWED_FLAGS+=('-mregparm=*' -mno-app-regs -mapp-regs -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-avx -mno-aes -mno-pclmul -mno-sse4a -mno-3dnow -mno-popcnt -mno-abm -mips1 -mips2 -mips3 -mips4 -mips32 -
mips64 -mips16 -mplt -msoft-float -mno-soft-float -mhard-float -mno-hard-float '-mfpu=*' -mieee -mieee-with-inexact '-mschedule=*' -mfloat-gprs -mspe -mno-spe -mtls-direct-seg-refs -mno-tls-direct-seg-refs -mflat -mno-flat -mno-faster-structs -mfaster-
structs -m32 -m64 -mx32 '-mabi=*' -mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 '-mcmodel=*' -mstack-bias -mno-stack-bias -msecure-plt '-m*-toc' '-mfloat-abi=*' '-mtls-dialect=*' -mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400 -mfix-r10000 -
mno-fix-r10000 '-mr10k-cache-barrier=*' -mthumb -marm -ffixed-x18 -mstrict-align -mvector-strict-align -mno-fma4 -mno-movbe -mno-xop -mno-lwp -mno-fsgsbase -mno-rdrnd -mno-f16c -mno-bmi -mno-tbm -mno-avx2 -mno-bmi2 -mno-fma -mno-lzcnt -mno-fxsr -mno-hle -
mno-rtm -mno-xsave -mno-xsaveopt -mno-avx512cd -mno-avx512er -mno-avx512f -mno-avx512pf -mno-sha -mevex512 -mno-evex512);
ALLOWED_FLAGS+=(-mstackrealign '-mpreferred-stack-boundary=*' '-mincoming-stack-boundary=*');
ALLOWED_FLAGS+=('--unwindlib=*' '--rtlib=*' '--stdlib=*')
}
_systemd_get_dir ()
{
[[ ${#} -eq 2 ]] || die "Usage: ${FUNCNAME} <variable-name> <fallback-directory>";
local variable=${1} fallback=${2} d;
local -x PKG_CONFIG_FDO_SYSROOT_RULES=1;
if $(tc-getPKG_CONFIG) --exists systemd; then
d=$($(tc-getPKG_CONFIG) --variable="${variable}" systemd) || die;
else
d="${EPREFIX}${fallback}";
fi;
echo "${d}"
}
_systemd_unprefix ()
{
local d=$("${@}");
echo "${d#"${EPREFIX}"}"
}
_tc-getPROG ()
{
local tuple=$1;
local v var vars=$2;
local prog=($3);
var=${vars%% *};
for v in ${vars};
do
if [[ -n ${!v} ]]; then
export ${var}="${!v}";
echo "${!v}";
return 0;
fi;
done;
local search=;
[[ -n $4 ]] && search=$(type -p $4-${prog[0]});
[[ -z ${search} && -n ${!tuple} ]] && search=$(type -p ${!tuple}-${prog[0]});
[[ -n ${search} ]] && prog[0]=${search##*/};
export ${var}="${prog[*]}";
echo "${!var}"
}
_tc-has-openmp ()
{
local base="${T}/test-tc-openmp";
cat <<-EOF > "${base}.c"
#include <omp.h>
int main(void) {
int nthreads, tid, ret = 0;
#pragma omp parallel private(nthreads, tid)
{
tid = omp_get_thread_num();
nthreads = omp_get_num_threads();
ret += tid + nthreads;
}
return ret;
}
EOF
$(tc-getCC "$@") -fopenmp "${base}.c" -o "${base}" >&/dev/null;
local ret=$?;
rm -f "${base}"*;
return ${ret}
}
_test-flag-PROG ()
{
local comp=$1;
local lang=$2;
shift 2;
if [[ -z ${comp} ]]; then
return 1;
fi;
if [[ -z $1 ]]; then
return 1;
fi;
comp=($(tc-get${comp}));
if ! type -p ${comp[0]} > /dev/null; then
return 1;
fi;
local in_src in_ext cmdline_extra=();
case "${lang}" in
c)
in_ext='c';
in_src='int main(void) { return 0; }';
cmdline_extra+=(-xc -c)
;;
c++)
in_ext='cc';
in_src='int main(void) { return 0; }';
cmdline_extra+=(-xc++ -c)
;;
f77)
in_ext='f';
in_src=' end';
cmdline_extra+=(-xf77 -c)
;;
f95)
in_ext='f90';
in_src='end';
cmdline_extra+=(-xf95 -c)
;;
c+ld)
in_ext='c';
in_src='int main(void) { return 0; }';
if is-ldflagq -fuse-ld=*; then
fuse_ld_value=$(get-flag -fuse-ld=*);
cmdline_extra+=(${fuse_ld_value});
fi;
cmdline_extra+=(-xc)
;;
esac;
local test_in=${T}/test-flag.${in_ext};
local test_out=${T}/test-flag.exe;
printf "%s\n" "${in_src}" > "${test_in}" || die "Failed to create '${test_in}'";
local cmdline=("${comp[@]}" -Werror "$@" "${cmdline_extra[@]}" "${test_in}" -o "${test_out}");
"${cmdline[@]}" &> /dev/null
}
_test-flags-PROG ()
{
local comp=$1;
local flags=();
local x;
shift;
[[ -z ${comp} ]] && return 1;
while (( $# )); do
case "$1" in
--param | -B)
if test-flag-${comp} "$1" "$2"; then
flags+=("$1" "$2");
fi;
shift 2
;;
*)
if test-flag-${comp} "$1"; then
flags+=("$1");
fi;
shift 1
;;
esac;
done;
echo "${flags[*]}";
[[ ${#flags[@]} -gt 0 ]]
}
all-flag-vars ()
{
echo {ADA,C,CPP,CXX,CCAS,F,FC,LD}FLAGS
}
append-atomic-flags ()
{
test-flags-CCLD "-latomic" &> /dev/null || return;
append-libs "-Wl,--push-state,--as-needed,-latomic,--pop-state"
}
append-cflags ()
{
[[ $# -eq 0 ]] && return 0;
export CFLAGS+=" $*";
return 0
}
append-cppflags ()
{
[[ $# -eq 0 ]] && return 0;
export CPPFLAGS+=" $*";
return 0
}
append-cxxflags ()
{
[[ $# -eq 0 ]] && return 0;
export CXXFLAGS+=" $*";
return 0
}
append-fflags ()
{
[[ $# -eq 0 ]] && return 0;
export FFLAGS+=" $*";
export FCFLAGS+=" $*";
return 0
}
append-flags ()
{
[[ $# -eq 0 ]] && return 0;
case " $* " in
*' '-[DIU]*)
eqawarn 'Please use append-cppflags for preprocessor flags'
;;
*' '-L* | *' '-Wl,*)
eqawarn 'Please use append-ldflags for linker flags'
;;
esac;
append-cflags "$@";
append-cxxflags "$@";
append-fflags "$@";
return 0
}
append-ldflags ()
{
[[ $# -eq 0 ]] && return 0;
local flag;
for flag in "$@";
do
[[ ${flag} == -l* ]] && eqawarn "Appending a library link instruction (${flag}); libraries to link to should not be passed through LDFLAGS";
done;
export LDFLAGS="${LDFLAGS} $*";
return 0
}
append-lfs-flags ()
{
[[ $# -ne 0 ]] && die "append-lfs-flags takes no arguments";
append-cppflags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
}
append-libs ()
{
[[ $# -eq 0 ]] && return 0;
local flag;
for flag in "$@";
do
if [[ -z "${flag// }" ]]; then
eqawarn "Appending an empty argument to LIBS is invalid! Skipping.";
continue;
fi;
case $flag in
-[lL]*)
export LIBS="${LIBS} ${flag}"
;;
-*)
eqawarn "Appending non-library to LIBS (${flag}); Other linker flags should be passed via LDFLAGS";
export LIBS="${LIBS} ${flag}"
;;
*)
export LIBS="${LIBS} -l${flag}"
;;
esac;
done;
return 0
}
clang-fullversion ()
{
_clang_fullversion '$1.$2.$3' "$@"
}
clang-major-version ()
{
_clang_fullversion '$1' "$@"
}
clang-micro-version ()
{
_clang_fullversion '$3' "$@"
}
clang-minor-version ()
{
_clang_fullversion '$2' "$@"
}
clang-version ()
{
_clang_fullversion '$1.$2' "$@"
}
eapply ()
{
local failed patch_cmd=patch;
local -x LC_COLLATE=POSIX;
type -P gpatch > /dev/null && patch_cmd=gpatch;
function _eapply_patch ()
{
local f=${1};
local prefix=${2};
ebegin "${prefix:-Applying }${f##*/}";
local all_opts=(-p1 -f -g0 --no-backup-if-mismatch "${patch_options[@]}");
if ${patch_cmd} "${all_opts[@]}" --dry-run -s -F0 < "${f}" &> /dev/null; then
all_opts+=(-s -F0);
fi;
${patch_cmd} "${all_opts[@]}" < "${f}";
failed=${?};
if ! eend "${failed}"; then
__helpers_die "patch -p1 ${patch_options[*]} failed with ${f}";
fi
};
local patch_options=() files=();
local i found_doublehyphen;
for ((i = 1; i <= ${#@}; ++i ))
do
if [[ ${@:i:1} == -- ]]; then
patch_options=("${@:1:i-1}");
files=("${@:i+1}");
found_doublehyphen=1;
break;
fi;
done;
if [[ -z ${found_doublehyphen} ]]; then
for ((i = 1; i <= ${#@}; ++i ))
do
if [[ ${@:i:1} != -* ]]; then
patch_options=("${@:1:i-1}");
files=("${@:i}");
break;
fi;
done;
for i in "${files[@]}";
do
if [[ ${i} == -* ]]; then
die "eapply: all options must be passed before non-options";
fi;
done;
fi;
if [[ ${#files[@]} -eq 0 ]]; then
die "eapply: no files specified";
fi;
local f;
for f in "${files[@]}";
do
if [[ -d ${f} ]]; then
function _eapply_get_files ()
{
local LC_ALL=POSIX;
local prev_shopt=$(shopt -p nullglob);
shopt -s nullglob;
local f;
for f in "${1}"/*;
do
if [[ ${f} == *.diff || ${f} == *.patch ]]; then
files+=("${f}");
fi;
done;
${prev_shopt}
};
local files=();
_eapply_get_files "${f}";
[[ ${#files[@]} -eq 0 ]] && die "No *.{patch,diff} files in directory ${f}";
einfo "Applying patches from ${f} ...";
local f2;
for f2 in "${files[@]}";
do
_eapply_patch "${f2}" ' ';
[[ ${failed} -ne 0 ]] && return "${failed}";
done;
else
_eapply_patch "${f}";
[[ ${failed} -ne 0 ]] && return "${failed}";
fi;
done;
return 0
}
eapply_user ()
{
[[ ${EBUILD_PHASE} == prepare ]] || die "eapply_user() called during invalid phase: ${EBUILD_PHASE}";
local tagfile=${T}/.portage_user_patches_applied;
[[ -f ${tagfile} ]] && return;
>> "${tagfile}";
local basedir=${PORTAGE_CONFIGROOT%/}/etc/portage/patches;
local columns=${COLUMNS:-0};
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)