FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 07-17-2010, 10:53 AM
Maciej Mrozowski
 
Default New eclass: autotools-utils.eclass

After gathering some feedback, after addressing reported issues, now I feel
it's ready for public consumption. especially when static-libs is being used
more and more often. It's purpose is to become standard eclass for autotools
build systems.

Brief description:
autotools-utils.eclass is autotools.eclass (so libtool.eclass) and base.eclass
(so eutils.eclass) wrapper providing all inherited features (it is guaranteed,
no need to additionally inherit any of those) along with econf arguments as
Bash array, out of source build with overridable build dir location, static
archives handling, libtool files removal, enable/disable debug handling. It's
modelled after cmake-utils and resembles it in many aspects for consistency.

Notable features:
- eautoreconf, eautomake, elibtoolize, eaclocal functions (from autotools)
- PATCHES and user patches support (from base)
- DOCS and HTML_DOCS arrays support (from base)
- myeconfargs - econf arguments as Bash array (usage like mycmakeargs in
cmake-utils, if used, needs to be defined just before autotools-
utils_src_configure call)
- out of source build (enabled by default) with overridable build dir location
- static archives handling (static-libs in IUSE)
- automatic removal of unnecessary static archives (usually for plugins,
determined by presence of shouldnotlink=yes libtool property)
- libtool files removal (static-libs in IUSE, determined by absence of
shouldnotlink=yes libtool property)
- enable/disable-debug handing (debug in IUSE)
- remove_libtool_files function to help override libtool removal behaviour
(you shouldn't need it, any usage or this function with parameter 'none' will
be reported and punished )

Restrictions:
- only >= EAPI-2 supported (this is intentional as src_prepare phase is
provided, EAPI-0,1 would mean providing src_unpack as well, which is
unacceptable for build system eclasses)

Attached two example ebuilds.
Refer to eclass manual page for details or more extensive example usage.

--
regards
MM
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

# @ECLASS: autotools-utils.eclass
# @MAINTAINER:
# Maciej Mrozowski <reavertm@gentoo.org>
# @BLURB: common ebuild functions for autotools-based packages
# @DESCRIPTION:
# autotools-utils.eclass is autotools.eclass(5) and base.eclass(5) wrapper
# providing all inherited features along with econf arguments as Bash array,
# out of source build with overridable build dir location, static archives
# handling, libtool files removal, enable/disable debug handling.
#
# @EXAMPLE:
# Typical ebuild using autotools-utils.eclass:
#
# @CODE
# EAPI="2"
#
# inherit autotools-utils
#
# DESCRIPTION="Foo bar application"
# HOMEPAGE="http://example.org/foo/"
# SRC_URI="mirror://sourceforge/foo/${P}.tar.bz2"
#
# LICENSE="LGPL-2.1"
# KEYWORDS=""
# SLOT="0"
# IUSE="debug doc examples qt4 static-libs tiff"
#
# CDEPEND="
# media-libs/libpng:0
# qt4? (
# x11-libs/qt-core:4
# x11-libs/qt-gui:4
# )
# tiff? ( media-libs/tiff:0 )
# "
# RDEPEND="${CDEPEND}
# !media-gfx/bar
# "
# DEPEND="${CDEPEND}
# doc? ( app-doc/doxygen )
# "
#
# # bug 123456
# AUTOTOOLS_IN_SOURCE_BUILD=1
#
# DOCS=(AUTHORS ChangeLog README "Read me.txt" TODO)
#
# PATCHES=(
# "${FILESDIR}/${P}-gcc44.patch" # bug 123458
# "${FILESDIR}/${P}-as-needed.patch"
# "${FILESDIR}/${P}-unbundle_libpng.patch"
# )
#
# src_configure() {
# myeconfargs=(
# $(use_with qt4)
# $(use_enable threads multithreading)
# $(use_with tiff)
# )
# autotools-utils_src_configure
# }
#
# src_compile() {
# autotools-utils_src_compile
# use doc && autotools-utils_src_compile docs
# }
#
# src_install() {
# use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/apidocs/html/")
# autotools-utils_src_install
# if use examples; then
# dobin "${AUTOTOOLS_BUILD_DIR}"/foo_example{1,2,3}
# || die 'dobin examples failed'
# fi
# }
#
# @CODE

# Keep variable names synced with cmake-utils and the other way around!

case ${EAPI:-0} in
2|3|4) ;;
*) DEPEND="EAPI-TOO-OLD" ;;
esac

inherit autotools base

EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test

# @ECLASS-VARIABLE: AUTOTOOLS_BUILD_DIR
# @DESCRIPTION:
# Build directory, location where all autotools generated files should be
# placed. For out of source builds it defaults to ${WORKDIR}/${P}_build.

# @ECLASS-VARIABLE: AUTOTOOLS_IN_SOURCE_BUILD
# @DESCRIPTION:
# Set to enable in-source build.

# @ECLASS-VARIABLE: ECONF_SOURCE
# @DESCRIPTION:
# Specify location of autotools' configure script. By default it uses ${S}.

# @ECLASS-VARIABLE: myeconfargs
# @DESCRIPTION:
# Optional econf arguments as Bash array. Should be defined before calling src_configure.
# @CODE
# src_configure() {
# myeconfargs=(
# --disable-readline
# --with-confdir="/etc/nasty foo confdir/"
# $(use_enable debug cnddebug)
# $(use_enable threads multithreading)
# )
# autotools-utils_src_configure
# }
# @CODE

# Determine using IN or OUT source build
_check_build_dir() {
: ${ECONF_SOURCE:=${S}}
if [[ -n ${AUTOTOOLS_IN_SOURCE_BUILD} ]]; then
AUTOTOOLS_BUILD_DIR="${ECONF_SOURCE}"
else
: ${AUTOTOOLS_BUILD_DIR:=${WORKDIR}/${P}_build}
fi
echo ">>> Working in BUILD_DIR: "$AUTOTOOLS_BUILD_DIR""
}

# @FUNCTION: remove_libtool_files
# @USAGE: [all|none]
# @DESCRIPTION:
# Determines unnecessary libtool files (.la) and libtool static archives (.a)
# and removes them from installation image.
# To unconditionally remove all libtool files, pass 'all' as argument.
# To leave all libtool files alone, pass 'none' as argument.
# Unnecessary static archives are removed in any case.
#
# In most cases it's not necessary to manually invoke this function.
# See autotools-utils_src_install for reference.
remove_libtool_files() {
debug-print-function ${FUNCNAME} "$@"

local f
for f in $(find "${D}" -type f -name '*.la'); do
# Keep only .la files with shouldnotlink=yes - likely plugins
local shouldnotlink=$(sed -ne '/^shouldnotlink=yes$/p' "${f}")
if [[ "$1" == 'all' || -z ${shouldnotlink} ]]; then
if [[ "$1" != 'none' ]]; then
echo "Removing unnecessary ${f}"
rm -f "${f}"
fi
fi
# Remove static libs we're not supposed to link against
if [[ -n ${shouldnotlink} ]]; then
local remove=${f/%.la/.a}
[[ "${f}" != "${remove}" ]] || die 'regex sanity check failed'
echo "Removing unnecessary ${remove}"
rm -f "${remove}"
fi
done
}

# @FUNCTION: autotools-utils_src_prepare
# @DESCRIPTION:
# The src_prepare function.
#
# Supporting PATCHES array and user patches. See base.eclass(5) for reference.
autotools-utils_src_prepare() {
debug-print-function ${FUNCNAME} "$@"

base_src_prepare
}

# @FUNCTION: autotools-utils_src_configure
# @DESCRIPTION:
# The src_configure function. For out of source build it creates build
# directory and runs econf there. Configuration parameters defined
# in myeconfargs are passed here to econf. Additionally following USE
# flags are known:
#
# IUSE="debug" passes --disable-debug/--enable-debug to econf respectively.
#
# IUSE="static-libs" passes --enable-shared and either --disable-static/--enable-static
# to econf respectively.
autotools-utils_src_configure() {
debug-print-function ${FUNCNAME} "$@"

# Common args
local econfargs=()

# Handle debug found in IUSE
if has debug ${IUSE//+}; then
econfargs+=($(use_enable debug))
fi

# Handle static-libs found in IUSE, disable them by default
if has static-libs ${IUSE//+}; then
econfargs+=(
--enable-shared
$(use_enable static-libs static)
)
fi

# Append user args
econfargs+=(${myeconfargs[@]})

_check_build_dir
mkdir -p "${AUTOTOOLS_BUILD_DIR}" || die "mkdir '${AUTOTOOLS_BUILD_DIR}' failed"
pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null
base_src_configure "${econfargs[@]}"
popd > /dev/null
}

# @FUNCTION: autotools-utils_src_compile
# @DESCRIPTION:
# The autotools src_compile function, invokes emake in specified AUTOTOOLS_BUILD_DIR.
autotools-utils_src_compile() {
debug-print-function ${FUNCNAME} "$@"

_check_build_dir
pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null
base_src_compile "$@"
popd > /dev/null
}

# @FUNCTION: autotools-utils_src_install
# @DESCRIPTION:
# The autotools src_install function. Runs emake install, unconditionally
# removes unnecessary static libs (based on shouldnotlink libtool property)
# and removes unnecessary libtool files when static-libs USE flag is defined
# and unset.
#
# DOCS and HTML_DOCS arrays are supported. See base.eclass(5) for reference.
autotools-utils_src_install() {
debug-print-function ${FUNCNAME} "$@"

_check_build_dir
pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null
base_src_install
popd > /dev/null

# Remove libtool files and unnecessary static libs
local args
has static-libs ${IUSE//+} && ! use static-libs || args='none'
remove_libtool_files ${args}
}

# @FUNCTION: autotools-utils_src_test
# @DESCRIPTION:
# The autotools src_test function. Runs emake check in build directory.
autotools-utils_src_test() {
debug-print-function ${FUNCNAME} "$@"

_check_build_dir
pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null
# Run default src_test as defined in ebuild.sh
default_src_test
popd > /dev/null
}
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-libs/plib/plib-1.8.5.ebuild,v 1.6 2009/12/26 16:59:50 armin76 Exp $

EAPI=2

WANT_AUTOCONF=2.5
WANT_AUTOMAKE=1.9
inherit autotools-utils

DESCRIPTION="multimedia library used by many games"
HOMEPAGE="http://plib.sourceforge.net/"
SRC_URI="http://plib.sourceforge.net/dist/${P}.tar.gz"

LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86"
IUSE="static-libs"

RDEPEND="
media-libs/libsdl
virtual/glut
virtual/opengl
"
DEPEND="${RDEPEND}"

PATCHES=(
"${FILESDIR}/${P}-shared-libs.patch"
)

DOCS=(AUTHORS ChangeLog KNOWN_BUGS NOTICE README TODO-1.6 TODO-2.0 TODO_AFTER135)

src_prepare() {
autotools-utils_src_prepare
eautoreconf
}
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-libs/libgadu/libgadu-1.9.0-r1.ebuild,v 1.6 2010/07/08 17:41:24 ranger Exp $

EAPI="2"

MY_P="${P/_/-}"

inherit autotools-utils

DESCRIPTION="This library implements the client side of the Gadu-Gadu protocol"
HOMEPAGE="http://toxygen.net/libgadu/"
SRC_URI="http://toxygen.net/libgadu/files/${MY_P}.tar.gz"

LICENSE="LGPL-2.1"
KEYWORDS="alpha amd64 hppa ia64 ~mips ~ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
SLOT="0"
IUSE="doc ssl static-libs threads"

COMMON_DEPEND="
ssl? ( >=dev-libs/openssl-0.9.6m )
"
DEPEND="${COMMON_DEPEND}
doc? ( app-doc/doxygen )
"
RDEPEND="${COMMON_DEPEND}
!=net-im/kadu-0.6.0.2
!=net-im/kadu-0.6.0.1
"

S="${WORKDIR}/${MY_P}"

PATCHES=(
"${FILESDIR}/${P}-memleak.patch"
)

AUTOTOOLS_IN_SOURCE_BUILD=1

DOCS=(AUTHORS ChangeLog NEWS README)

src_configure() {
myeconfargs=(
$(use_with ssl openssl)
$(use_with threads pthread)
)
autotools-utils_src_configure
}

src_install() {
use doc && HTML_DOCS=(docs/html/)
autotools-utils_src_install
}
 
Old 07-17-2010, 11:03 AM
Petteri Räty
 
Default New eclass: autotools-utils.eclass

On 07/17/2010 01:53 PM, Maciej Mrozowski wrote:
> After gathering some feedback, after addressing reported issues, now I feel
> it's ready for public consumption. especially when static-libs is being used
> more and more often. It's purpose is to become standard eclass for autotools
> build systems.
>
> Brief description:
> autotools-utils.eclass is autotools.eclass (so libtool.eclass) and base.eclass
> (so eutils.eclass) wrapper providing all inherited features (it is guaranteed,
> no need to additionally inherit any of those) along with econf arguments as
> Bash array, out of source build with overridable build dir location, static
> archives handling, libtool files removal, enable/disable debug handling. It's
> modelled after cmake-utils and resembles it in many aspects for consistency.
>

Maybe choose some other name. For me -utils in an eclass name means a
set of helper functions. I would name it so the name reflects that it's
meant to be used as the main build system provider.

Regards,
Petteri
 
Old 07-17-2010, 11:32 AM
Maciej Mrozowski
 
Default New eclass: autotools-utils.eclass

On Saturday 17 of July 2010 13:03:33 Petteri Räty wrote:
> On 07/17/2010 01:53 PM, Maciej Mrozowski wrote:
> > After gathering some feedback, after addressing reported issues, now I
> > feel it's ready for public consumption. especially when static-libs is
> > being used more and more often. It's purpose is to become standard
> > eclass for autotools build systems.
> >
> > Brief description:
> > autotools-utils.eclass is autotools.eclass (so libtool.eclass) and
> > base.eclass (so eutils.eclass) wrapper providing all inherited features
> > (it is guaranteed, no need to additionally inherit any of those) along
> > with econf arguments as Bash array, out of source build with overridable
> > build dir location, static archives handling, libtool files removal,
> > enable/disable debug handling. It's modelled after cmake-utils and
> > resembles it in many aspects for consistency.
>
> Maybe choose some other name. For me -utils in an eclass name means a
> set of helper functions. I would name it so the name reflects that it's
> meant to be used as the main build system provider.

It's for consistency with existing cmake-utils.eclass, which is main cmake
buildsystem provider (no idea why it wasn't called just 'cmake' by initial
commiters). Unfortunately autotools name is already taken and extending
autotools so much (adding new defined phases) is not possible (nor is
renaming) as far as I understand.

--
regards
MM
 
Old 07-17-2010, 11:56 PM
Alexis Ballier
 
Default New eclass: autotools-utils.eclass

case ${EAPI:-0} in
2|3|4) ;;
*) DEPEND="EAPI-TOO-OLD" ;;
esac

why not:

case ${EAPI:-0} in
0|1) DEPEND="EAPI-TOO-OLD" ;;
esac

?

Alexis.
 
Old 07-18-2010, 12:58 AM
Brian Harring
 
Default New eclass: autotools-utils.eclass

On Sun, Jul 18, 2010 at 02:56:05AM +0300, Alexis Ballier wrote:
> case ${EAPI:-0} in
> 2|3|4) ;;
> *) DEPEND="EAPI-TOO-OLD" ;;
> esac
>
> why not:
>
> case ${EAPI:-0} in
> 0|1) DEPEND="EAPI-TOO-OLD" ;;
> esac

Do not go adding invalid DEPEND like that. Make the eclass die
instead.

Seriously, and this is a general rant based on several years of
people adding stupid shit without considering the fallout:

Whatever great new little trick you can think of for stuff like
this... it's wrong. Use the mechanisms that exist. If policy
forbids it, fix the policy, don't come up w/ "clever" hacks around
it. Fix the core issue instead.

Wouldn't surprise me if portage would accept this and run with it,
blowing up at emerge time instead. Pkgcore and paludis however will
give you the finger *very* quickly since that's not a valid atom.
Don't piss on our parties w/ 'clever' tricks, do the right thing and
use a die.

People will move their ass a helluva lot quicker when their ebuild
breaks than when bones has to go yelling both at the eclass author,
and the devs in question about missing deps.

Do not add this to the tree.
~harring
 
Old 07-18-2010, 01:54 AM
"Jorge Manuel B. S. Vicetto"
 
Default New eclass: autotools-utils.eclass

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 18-07-2010 00:58, Brian Harring wrote:
> On Sun, Jul 18, 2010 at 02:56:05AM +0300, Alexis Ballier wrote:
>> case ${EAPI:-0} in
>> 2|3|4) ;;
>> *) DEPEND="EAPI-TOO-OLD" ;;
>> esac
>>
>> why not:
>>
>> case ${EAPI:-0} in
>> 0|1) DEPEND="EAPI-TOO-OLD" ;;
>> esac

Alexis,

the problem with your alternative is that it's "too clever" and won't
die/kill/stop the processing of the eclass for newer EAPIs that at any
point in time no one can be sure will be compatible with the current
eclass design.
That's why it has been agreed that eclasses should specifically list all
supported EAPI versions and die/kill/stop on all other EAPI versions.

> Do not go adding invalid DEPEND like that. Make the eclass die
> instead.

Brian,

this is being used in the tree already.
IIRC, since the introduction of EAPI-2 in the tree, there were a few
solutions present to the dev ml and the one agreed by people was the
abuse of depend to have the PM fail on dependency resolution instead of
calling die on an eclass - which iirc is / was forbidden by PMS.
We can discuss the correctness of this use, but please take into account
it's already being used so until we have such a discussion we can't
"forbid" its use.

grep EAPI-TOO-OLD $(portageq portdir)/eclass/*
/home/gentoo-cvs/gentoo-x86/eclass/kde4-functions.eclass: *)
DEPEND="EAPI-TOO-OLD" ;;
/home/gentoo-cvs/gentoo-x86/eclass/poppler.eclass:has 2 ${EAPI} ||
DEPEND="EAPI-TOO-OLD"
/home/gentoo-cvs/gentoo-x86/eclass/virtuoso.eclass: *)
DEPEND='EAPI-TOO-OLD' ;;

> Seriously, and this is a general rant based on several years of
> people adding stupid shit without considering the fallout:
>
> Whatever great new little trick you can think of for stuff like
> this... it's wrong. Use the mechanisms that exist. If policy
> forbids it, fix the policy, don't come up w/ "clever" hacks around
> it. Fix the core issue instead.
>
> Wouldn't surprise me if portage would accept this and run with it,
> blowing up at emerge time instead. Pkgcore and paludis however will
> give you the finger *very* quickly since that's not a valid atom.
> Don't piss on our parties w/ 'clever' tricks, do the right thing and
> use a die.
>
> People will move their ass a helluva lot quicker when their ebuild
> breaks than when bones has to go yelling both at the eclass author,
> and the devs in question about missing deps.
>
> Do not add this to the tree.

See above that this is already in the tree and has been for a few months
(years?)

> ~harring

- --
Regards,

Jorge Vicetto (jmbsvicetto) - jmbsvicetto at gentoo dot org
Gentoo- forums / Userrel / Devrel / KDE / Elections
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJMQl7jAAoJEC8ZTXQF1qEPQuIQANWeUwpZFN fsY6wkDWCOI+xR
p4sYPRiHStY4nCJ6IZ/DGvBNnrvo+KDn3P5vT9uHT4x50cE5bYeyz4l+DCjXYtCp
ey7rGL3P7l9vNtf6Vg7+8imaGbgGnr2mZQ8Pmn1ZWXaYW8i2e5 yyTeUpvqH3TH2v
ASKYIg5VlS3MeiP2unOQfuLXqRDcyXxMPnG6xj3pl2PpGMT3X+ rAAkLDqGKRcZJj
7uA0oVUdjWM5HTKqZKYRbYpLo5veawVC+FMR4Z4DA6yhgtYsUQ +mTYnfjGgavCah
KU881TUaZQajDSXVK4m1V8q8Zg0ge0vjeXN15CPhPFfnSyCqf6 GbkPZE7OjizJdu
vA8uoYjEMNXTAnE+TS1h18I+Cs3rL8CA+sxbHZgING5cfg8Dtf RRW02zJzicaLxP
tIlotZpefEKWrTBKPrfGjhk0Te/IjvUAyLfx77Q5qqKxihBxy9T0DSe7TA0Azwkk
B9eW9Cn1UeoHeV1M+/kD4oXna+d66rOHLXP7LerQjm7ZqII5MwGRA7yC7RhGDyvO
oCsOCii9iuBR5n+qc8dvlN9oYyrVuDE22a4LsBGSXIse9Z8C1f BayUwYTkbAJLA0
uKqYvElfvJoH9hjJud01iQtQ7GxTEdlT0HaeV085Tvq6D/eoK1U+tGlTeFZXNkFb
+6R9ncUuA0AeKcfVvJ2P
=8vjx
-----END PGP SIGNATURE-----
 
Old 07-18-2010, 02:28 AM
Brian Harring
 
Default New eclass: autotools-utils.eclass

On Sun, Jul 18, 2010 at 01:54:43AM +0000, Jorge Manuel B. S. Vicetto wrote:
> this is being used in the tree already.

Doesn't make it right

> IIRC, since the introduction of EAPI-2 in the tree, there were a few
> solutions present to the dev ml and the one agreed by people was the
> abuse of depend to have the PM fail on dependency resolution instead of
> calling die on an eclass - which iirc is / was forbidden by PMS.

PMS has no such restriction as far as I know (or can grep for).
Regardless, if PMS *did* forbid die's in eclass global scope... pretty
much it's there already (including for when EAPI isn't at the correct
value).

Basically, a die can be dealt with better than broken atom's-
DEPEND=eapi-too-old definitely conflicts w/ PMS (invalid atom), if die
does in this case... the lesser of two evils is die.

If PMS doesn't conflict (which I'm pretty sure it doesn't), then that
leaves die as the proper approach.


> We can discuss the correctness of this use, but please take into account
> it's already being used so until we have such a discussion we can't
> "forbid" its use.

Yes we can. The fact it slipped in via 3 places that no one noticed
doesn't mean it's now considerable acceptable. This is part of what
triggered my rant- the tree is large and vast, sometimes monsters
manage to get added and lurk for a while. That doesn't make them
defacto standard however.

At the time of it's addition, it was invalid from the parsing
standpoint- it shouldn't have been added in the first place because of
that.

As for converting it to die, that can be done _now_ without fallout-
if anything was triggering that codepath bones should've been
complaining about it (yet to hear any such complaints).

~harring
 
Old 07-19-2010, 04:23 PM
Maciej Mrozowski
 
Default New eclass: autotools-utils.eclass

On Sunday 18 of July 2010 03:54:43 Jorge Manuel B. S. Vicetto wrote:

> grep EAPI-TOO-OLD $(portageq portdir)/eclass/*
> /home/gentoo-cvs/gentoo-x86/eclass/kde4-functions.eclass: *)
> DEPEND="EAPI-TOO-OLD" ;;
> /home/gentoo-cvs/gentoo-x86/eclass/poppler.eclass:has 2 ${EAPI} ||
> DEPEND="EAPI-TOO-OLD"
> /home/gentoo-cvs/gentoo-x86/eclass/virtuoso.eclass: *)
> DEPEND='EAPI-TOO-OLD' ;;

status quo should be challenged occasionally.

Fixed autotools-utils.eclass, kde4-functions.eclass, virtuoso.eclass
case ${EAPI:-0} in
2|3|4) ;;
- *) DEPEND="EAPI-TOO-OLD" ;;
+ *) die "EAPI=${EAPI} is not supported" ;;
esac

Remaining poppler.eclass is not used anymore and probably subject to remove.

--
regards
MM
 
Old 07-19-2010, 04:26 PM
Ciaran McCreesh
 
Default New eclass: autotools-utils.eclass

On Mon, 19 Jul 2010 18:23:36 +0200
Maciej Mrozowski <reavertm@gmail.com> wrote:
> status quo should be challenged occasionally.
>
> Fixed autotools-utils.eclass, kde4-functions.eclass, virtuoso.eclass
> case ${EAPI:-0} in
> 2|3|4) ;;
> - *)
> DEPEND="EAPI-TOO-OLD" ;;
> + *) die "EAPI=${EAPI} is not
> supported" ;;
> esac

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?r1=1.18&r2=1.19&

This was changed for a reason. Did you find out what that reason was
before reverting it?

--
Ciaran McCreesh
 
Old 07-19-2010, 07:05 PM
Francesco R
 
Default New eclass: autotools-utils.eclass

2010/7/19 Ciaran McCreesh <ciaran.mccreesh@googlemail.com>

On Mon, 19 Jul 2010 18:23:36 +0200

Maciej Mrozowski <reavertm@gmail.com> wrote:

> status quo should be challenged occasionally.

>

> Fixed autotools-utils.eclass, kde4-functions.eclass, virtuoso.eclass

> *case ${EAPI:-0} in

> * * * * 2|3|4) ;;

> - * * * *)

> DEPEND="EAPI-TOO-OLD" ;;

> + * * * *) die "EAPI=${EAPI} is not

> supported" ;;

> esac



http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?r1=1.18&r2=1.19&




This was changed for a reason. Did you find out what that reason was

before reverting it?
*the comment for that commit is:"Update kde4 eclasses from kde-testing. Mostly minor sinc. Introduce support for stable koffice2"
So, since the reason it's not mentioned, the reason is not existent.
</could_not_resist>*



--

Ciaran McCreesh
 

Thread Tools




All times are GMT. The time now is 06:41 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org