* [gentoo-dev] Review: aspell-dict-r1.eclass
@ 2017-03-19 21:22 David Seifert
2017-03-20 14:27 ` William Hubbs
2017-04-01 10:48 ` David Seifert
0 siblings, 2 replies; 4+ messages in thread
From: David Seifert @ 2017-03-19 21:22 UTC (permalink / raw
To: gentoo-dev
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-needed@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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-dev] Review: aspell-dict-r1.eclass
2017-03-19 21:22 [gentoo-dev] Review: aspell-dict-r1.eclass David Seifert
@ 2017-03-20 14:27 ` William Hubbs
2017-03-20 18:03 ` Mike Gilbert
2017-04-01 10:48 ` David Seifert
1 sibling, 1 reply; 4+ messages in thread
From: William Hubbs @ 2017-03-20 14:27 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 258 bytes --]
Hi David,
I'm curious, why the revbump?
If all other eapis are staying in the eclass and the support is
identical, you don't need to create a new eclass, and there is a lot
less work involved in updating the ebuilds that inherit it. :-)
Thanks,
William
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-dev] Review: aspell-dict-r1.eclass
2017-03-20 14:27 ` William Hubbs
@ 2017-03-20 18:03 ` Mike Gilbert
0 siblings, 0 replies; 4+ messages in thread
From: Mike Gilbert @ 2017-03-20 18:03 UTC (permalink / raw
To: Gentoo Dev
On Mon, Mar 20, 2017 at 10:27 AM, William Hubbs <williamh@gentoo.org> wrote:
> Hi David,
>
> I'm curious, why the revbump?
>
> If all other eapis are staying in the eclass and the support is
> identical, you don't need to create a new eclass, and there is a lot
> less work involved in updating the ebuilds that inherit it. :-)
He's making the eclass die for any EAPI other than 6. This breaks
backward compatibility.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-dev] Review: aspell-dict-r1.eclass
2017-03-19 21:22 [gentoo-dev] Review: aspell-dict-r1.eclass David Seifert
2017-03-20 14:27 ` William Hubbs
@ 2017-04-01 10:48 ` David Seifert
1 sibling, 0 replies; 4+ messages in thread
From: David Seifert @ 2017-04-01 10:48 UTC (permalink / raw
To: gentoo-dev
On Sun, 2017-03-19 at 22:22 +0100, David Seifert wrote:
> 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
Merged.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-04-01 10:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-19 21:22 [gentoo-dev] Review: aspell-dict-r1.eclass David Seifert
2017-03-20 14:27 ` William Hubbs
2017-03-20 18:03 ` Mike Gilbert
2017-04-01 10:48 ` David Seifert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox