[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    [gentoo-dev] [PATCH] wrapper.eclass: Drop support for EAPIs 0 to 4
From:       Ulrich Müller <ulm () gentoo ! org>
Date:       2022-03-31 7:40:37
Message-ID: 20220331074037.11095-1-ulm () gentoo ! org
[Download RAW message or body]

- Add EAPI conditional
- Drop unnecessary die statements
- Use sed instead of cat, to preserve indentation of output

Signed-off-by: Ulrich Müller <ulm@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-system@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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic