- Add EAPI conditional - Drop unnecessary die statements - Use sed instead of cat, to preserve indentation of output
Signed-off-by: Ulrich Müller <u...@gentoo.org> --- eclass/wrapper.eclass | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/eclass/wrapper.eclass b/eclass/wrapper.eclass index 399c7cc269d4..8d3d273d81c6 100644 --- a/eclass/wrapper.eclass +++ b/eclass/wrapper.eclass @@ -1,59 +1,64 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: wrapper.eclass # @MAINTAINER: # base-sys...@gentoo.org +# @SUPPORTED_EAPIS: 5 6 7 8 # @BLURB: create a shell wrapper script +case ${EAPI} in + 5|6|7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + if [[ -z ${_WRAPPER_ECLASS} ]]; then _WRAPPER_ECLASS=1 # @FUNCTION: make_wrapper # @USAGE: <wrapper> <target> [chdir] [libpaths] [installpath] # @DESCRIPTION: # Create a shell wrapper script named wrapper in installpath # (defaults to the bindir) to execute target (default of wrapper) # by first optionally setting LD_LIBRARY_PATH to the colon-delimited # libpaths followed by optionally changing directory to chdir. make_wrapper() { local wrapper=$1 bin=$2 chdir=$3 libdir=$4 path=$5 local tmpwrapper="${T}/tmp.wrapper.${wrapper##*/}" - has "${EAPI:-0}" 0 1 2 && local EPREFIX="" ( echo '#!/bin/sh' if [[ -n ${libdir} ]] ; then local var if [[ ${CHOST} == *-darwin* ]] ; then var=DYLD_LIBRARY_PATH else var=LD_LIBRARY_PATH fi - cat <<-EOF + sed 's/^X//' <<-EOF || die if [ "\${${var}+set}" = "set" ] ; then - export ${var}="\${${var}}:${EPREFIX}${libdir}" + X export ${var}="\${${var}}:${EPREFIX}${libdir}" else - export ${var}="${EPREFIX}${libdir}" + X export ${var}="${EPREFIX}${libdir}" fi EOF fi [[ -n ${chdir} ]] && printf 'cd "%s" &&\n' "${EPREFIX}${chdir}" # We don't want to quote ${bin} so that people can pass complex # things as ${bin} ... "./someprog --args" printf 'exec %s "$@"\n' "${bin/#\//${EPREFIX}/}" ) > "${tmpwrapper}" chmod go+rx "${tmpwrapper}" if [[ -n ${path} ]] ; then ( exeopts -m 0755 exeinto "${path}" newexe "${tmpwrapper}" "${wrapper}" ) || die else - newbin "${tmpwrapper}" "${wrapper}" || die + newbin "${tmpwrapper}" "${wrapper}" fi } fi -- 2.35.1