This is a revbump of aspell-dict.eclass, in order to bring it up to EAPI 6 
standards.
Comment here or on https://github.com/gentoo/gentoo/pull/4237

--- eclass/aspell-dict.eclass
+++ eclass/aspell-dict-r1.eclass
@@ -1,77 +1,89 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-# @ECLASS: aspell-dict.eclass
+# @ECLASS: aspell-dict-r1.eclass
 # @MAINTAINER:
 # maintainer-nee...@gentoo.org
 # @AUTHOR:
 # Original author: Seemant Kulleen
+#      -r1 author: David Seifert
 # @BLURB: An eclass to streamline the construction of ebuilds for new aspell 
dicts
 # @DESCRIPTION:
-# The aspell-dict eclass is designed to streamline the construction of
+# The aspell-dict-r1 eclass is designed to streamline the construction of
 # ebuilds for the new aspell dictionaries (from gnu.org) which support
 # aspell-0.50. Support for aspell-0.60 has been added by Sergey Ulanov.
 
 # @ECLASS-VARIABLE: ASPELL_LANG
 # @REQUIRED
 # @DESCRIPTION:
-# Which language is the dictionary for? It's used for the DESCRIPTION of the
-# package.
+# Pure cleartext string that is included into DESCRIPTION. This is the name
+# of the language, for instance "Hungarian". Needs to be defined before
+# inheriting the eclass.
+
+# @ECLASS-VARIABLE: ASPELL_VERSION
+# @DESCRIPTION:
+# What major version of aspell is this dictionary for? Valid values are 5, 6 
or undefined.
+# This value is used to construct SRC_URI and *DEPEND strings. If defined to 6,
+# >=app-text/aspell-0.60 will be added to DEPEND and RDEPEND, otherwise,
+# >=app-text/aspell-0.50 is added to DEPEND and RDEPEND. If the value is to be 
overridden,
+# it needs to be overridden before inheriting the eclass.
+
+case ${EAPI:-0} in
+       [0-5])
+               die "aspell-dict-r1.eclass is banned in EAPI ${EAPI:-0}"
+               ;;
+       6)
+               ;;
+       *)
+               die "Unknown EAPI ${EAPI:-0}"
+               ;;
+esac
 
-# @ECLASS-VARIABLE: ASPOSTFIX
-# @REQUIRED
-# @DESCRIPTION:
-# What major version of aspell is this dictionary for?
+EXPORT_FUNCTIONS src_configure src_install
 
-case ${EAPI} in
-       0|1) EXPORT_FUNCTIONS src_compile src_install ;;
-       *) EXPORT_FUNCTIONS src_configure src_compile src_install ;;
-esac
+if [[ ! ${_ASPELL_DICT_R1} ]]; then
+
+# aspell packages have an idiosyncratic versioning scheme, that is
+# the last separating version separator is replaced by a '-'.
+_ASPELL_P=aspell${ASPELL_VERSION}-${PN/aspell-/}-${PV%.*}-${PV##*.}
+
+# @ECLASS-VARIABLE: ASPELL_SPELLANG
+# @DESCRIPTION:
+# Short (readonly) form of the language code, generated from ${PN}
+# For instance, 'aspell-hu' yields the value 'hu'.
+readonly ASPELL_SPELLANG=${PN/aspell-/}
+S="${WORKDIR}/${_ASPELL_P}"
 
-#MY_P=${PN}-${PV%.*}-${PV#*.*.}
-MY_P=${P%.*}-${PV##*.}
-MY_P=aspell${ASPOSTFIX}-${MY_P/aspell-/}
-SPELLANG=${PN/aspell-/}
-S="${WORKDIR}/${MY_P}"
 DESCRIPTION="${ASPELL_LANG} language dictionary for aspell"
 HOMEPAGE="http://aspell.net";
-SRC_URI="mirror://gnu/aspell/dict/${SPELLANG}/${MY_P}.tar.bz2"
+SRC_URI="mirror://gnu/aspell/dict/${ASPELL_SPELLANG}/${_ASPELL_P}.tar.bz2"
+unset _ASPELL_P
 
 IUSE=""
 SLOT="0"
 
-if [ x${ASPOSTFIX} = x6 ] ; then
-       RDEPEND=">=app-text/aspell-0.60"
-       DEPEND="${RDEPEND}"
-else
-       RDEPEND=">=app-text/aspell-0.50"
-       DEPEND="${RDEPEND}"
-fi
+_ASPELL_MAJOR_VERSION=${ASPELL_VERSION:-5}
+[[ ${_ASPELL_MAJOR_VERSION} != [56] ]] && die "{ASPELL_VERSION} is not a valid 
version"
 
-# @FUNCTION: aspell-dict_src_configure
-# @DESCRIPTION:
-# The aspell-dict src_configure function which is exported.
-aspell-dict_src_configure() {
+RDEPEND=">=app-text/aspell-0.${_ASPELL_MAJOR_VERSION}0"
+DEPEND="${RDEPEND}"
+unset _ASPELL_MAJOR_VERSION
+
+# @FUNCTION: aspell-dict-r1_src_configure
+# @DESCRIPTION:
+# The aspell-dict-r1 src_configure function which is exported.
+aspell-dict-r1_src_configure() {
+       # non-autoconf based script, cannot be used with econf
        ./configure || die
 }
 
-# @FUNCTION: aspell-dict_src_compile
+# @FUNCTION: aspell-dict-r1_src_install
 # @DESCRIPTION:
-# The aspell-dict src_compile function which is exported.
-aspell-dict_src_compile() {
-       case ${EAPI} in
-               0|1) aspell-dict_src_configure ;;
-       esac
-       emake || die
+# The aspell-dict-r1 src_install function which is exported.
+aspell-dict-r1_src_install() {
+       default
+       [[ -s info ]] && dodoc info
 }
 
-# @FUNCTION: aspell-dict_src_install
-# @DESCRIPTION:
-# The aspell-dict src_install function which is exported.
-aspell-dict_src_install() {
-       make DESTDIR="${D}" install || die
-
-       for doc in README info ; do
-               [ -s "$doc" ] && dodoc $doc
-       done
-}
+_ASPELL_DICT_R1=1
+fi

Reply via email to