Just some cheap fixes while flag-o-matic.eclass causes cache-regen anyway.
See also: https://github.com/gentoo/gentoo/pull/20207

- Add inherit guard
- Fix some eclassdoc
- Minor cleanup

---
 eclass/gnustep-base.eclass | 65 ++++++++++++++++++++------------------
 1 file changed, 34 insertions(+), 31 deletions(-)

diff --git a/eclass/gnustep-base.eclass b/eclass/gnustep-base.eclass
index 6cd9f532a55..c343dbb5c6b 100644
--- a/eclass/gnustep-base.eclass
+++ b/eclass/gnustep-base.eclass
@@ -1,16 +1,27 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: gnustep-base.eclass
 # @MAINTAINER:
 # GNUstep Herd <[email protected]>
-# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7
 # @BLURB: Internal handling of GNUstep pacakges
 # @DESCRIPTION:
 # Inner gnustep eclass, should only be inherited directly by gnustep-base
 # packages
 
-inherit eutils flag-o-matic
+if [[ -z ${_GNUSTEP_BASE_ECLASS} ]]; then
+_GNUSTEP_BASE_ECLASS=1
+
+inherit flag-o-matic
+
+EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_install 
pkg_postinst
+
+case ${EAPI:-0} in
+       [0-4]) die "gnustep-base.eclass: EAPI ${EAPI} is too old." ;;
+       [5-7]) inherit eutils ;;
+       *) die "EAPI ${EAPI} is not supported by gnustep-base.eclass." ;;
+esac
 
 # IUSE variables across all GNUstep packages
 # "debug": enable code for debugging
@@ -40,13 +51,6 @@ gnustep-base_pkg_setup() {
        filter-flags -fomit-frame-pointer
 }
 
-gnustep-base_src_unpack() {
-       unpack ${A}
-       cd "${S}"
-
-       gnustep-base_src_prepare
-}
-
 gnustep-base_src_prepare() {
        if [[ -f ./GNUmakefile ]] ; then
                # Kill stupid includes that are simply overdone or useless on 
normal
@@ -63,22 +67,18 @@ gnustep-base_src_prepare() {
                eend $?
        fi
 
-       ! has ${EAPI:-0} 0 1 2 3 4 5 && default
+       ! has ${EAPI:-0} 5 && default
 }
 
 gnustep-base_src_configure() {
        egnustep_env
        if [[ -x ./configure ]] ; then
-               econf || die "configure failed"
+               econf
        fi
 }
 
 gnustep-base_src_compile() {
        egnustep_env
-       case ${EAPI:-0} in
-               0|1) gnustep-base_src_configure ;;
-       esac
-
        egnustep_make
 }
 
@@ -105,6 +105,8 @@ gnustep-base_pkg_postinst() {
        elog "  ${SCRIPT_PATH}/config-${PN}.sh"
 }
 
+# @FUNCTION: egnustep_env
+# @DESCRIPTION:
 # Clean/reset an ebuild to the installed GNUstep environment
 egnustep_env() {
        # Get additional variables
@@ -113,9 +115,9 @@ egnustep_env() {
        # Makefiles path
        local GS_MAKEFILES
        if [[ -d ${EPREFIX}/usr/share/GNUstep/Makefiles ]]; then
-               GS_MAKEFILES=${EPREFIX}/usr/share/GNUstep/Makefiles
+               GS_MAKEFILES="${EPREFIX}"/usr/share/GNUstep/Makefiles
        else
-               GS_MAKEFILES=${GNUSTEP_PREFIX}/System/Library/Makefiles
+               GS_MAKEFILES="${GNUSTEP_PREFIX}"/System/Library/Makefiles
        fi
        if [[ -f ${GS_MAKEFILES}/GNUstep.sh ]] ; then
                # Reset GNUstep variables
@@ -130,7 +132,6 @@ egnustep_env() {
                                -i "${WORKDIR}"/GNUstep.conf || die 
"GNUstep.conf sed failed"
                fi
 
-
                if [[ ! -d ${EPREFIX}/usr/share/GNUstep/Makefiles ]]; then
                        # Set rpath in ldflags when available
                        case ${CHOST} in
@@ -159,8 +160,7 @@ egnustep_env() {
                        && GS_ENV=( "${GS_ENV[@]}" "debug=yes" ) \
                        || GS_ENV=( "${GS_ENV[@]}" "debug=no" )
 
-               if has_version "gnustep-base/gnustep-make[libobjc2]";
-               then
+               if has_version "gnustep-base/gnustep-make[libobjc2]"; then
                        # Set clang for packages that do not respect 
gnustep-make
                        # settings (gnustep-base's configure for example)
                        export CC=clang CXX=clang CPP="clang -E" LD="clang"
@@ -171,36 +171,42 @@ egnustep_env() {
        die "gnustep-make not installed!"
 }
 
+# @FUNCTION: egnustep_make
+# @DESCRIPTION:
 # Make utilizing GNUstep Makefiles
 egnustep_make() {
        if [[ -f ./Makefile || -f ./makefile || -f ./GNUmakefile ]] ; then
-               emake ${*} "${GS_ENV[@]}" all || die "package make failed"
+               emake ${*} "${GS_ENV[@]}" all
                return 0
        fi
        die "no Makefile found"
 }
 
+# @FUNCTION: egnustep_install
+# @DESCRIPTION:
 # Make-install utilizing GNUstep Makefiles
 egnustep_install() {
        if [[ ! -d ${EPREFIX}/usr/share/GNUstep/Makefiles ]]; then
                # avoid problems due to our "weird" prefix, make sure it exists
-               mkdir -p "${D}"${GNUSTEP_SYSTEM_TOOLS}
+               mkdir -p "${D}"${GNUSTEP_SYSTEM_TOOLS} || die
        fi
        if [[ -f ./[mM]akefile || -f ./GNUmakefile ]] ; then
-               emake ${*} "${GS_ENV[@]}" install || die "package install 
failed"
+               emake ${*} "${GS_ENV[@]}" install
                return 0
        fi
        die "no Makefile found"
 }
 
+# @FUNCTION: egnustep_doc
+# @DESCRIPTION:
 # Make and install docs using GNUstep Makefiles
 egnustep_doc() {
        if [[ -d "${S}"/Documentation ]] ; then
                # Check documentation presence
                pushd "${S}"/Documentation || die
                if [[ -f ./[mM]akefile || -f ./GNUmakefile ]] ; then
-                       emake "${GS_ENV[@]}" all || die "doc make failed"
-                       emake "${GS_ENV[@]}" install || die "doc install failed"
+                       emake "${GS_ENV[@]}" all
+                       emake "${GS_ENV[@]}" install
                fi
                popd || die
        fi
@@ -258,12 +264,9 @@ EOF
        if [[ -d ${EPREFIX}/usr/share/GNUstep/Makefiles ]]; then
                exeinto /usr/bin
        else
-               exeinto ${GNUSTEP_SYSTEM_TOOLS#${EPREFIX}}/Gentoo
+               exeinto "${GNUSTEP_SYSTEM_TOOLS#${EPREFIX}}"/Gentoo
        fi
        doexe "${T}"/${cfile}
 }
 
-case ${EAPI:-0} in
-       0|1) EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install 
pkg_postinst ;;
-       *) EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile 
src_install pkg_postinst ;;
-esac
+fi
-- 
2.31.1

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to