- 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


Reply via email to