On Sat, 15 Dec 2012 12:42:02 +0100 Tiziano Müller wrote: > Am Freitag, den 14.12.2012, 23:08 +0100 schrieb Michał Górny: > > --- > > gx86/dev-libs/boost/boost-1.52.0-r5.ebuild | 47 ++++++++++-------------------- > > 1 file changed, 15 insertions(+), 32 deletions(-) > > > > diff --git a/gx86/dev-libs/boost/boost-1.52.0-r5.ebuild b/gx86/dev-libs/boost/boost-1.52.0-r5.ebuild > > index 87c7561..10bd293 100644 > > --- a/gx86/dev-libs/boost/boost-1.52.0-r5.ebuild > > +++ b/gx86/dev-libs/boost/boost-1.52.0-r5.ebuild > > @@ -3,11 +3,9 @@ > > # $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.52.0-r4.ebuild,v 1.1 2012/11/22 03:37:58 flameeyes Exp $ > > > > EAPI="5" > > -PYTHON_DEPEND="python? *" > > -SUPPORT_PYTHON_ABIS="1" > > -RESTRICT_PYTHON_ABIS="*-jython *-pypy-*" > > +PYTHON_COMPAT=( python{2_5,2_6,2_7,3_1,3_2,3_3} ) > > > > -inherit flag-o-matic multilib multiprocessing python toolchain-funcs versionator > > +inherit flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator > > > > MY_P=${PN}_$(replace_all_version_separators _) > > > > @@ -24,6 +22,7 @@ IUSE="debug doc icu +nls mpi python static-libs +threads tools" > > RDEPEND="icu? ( >=dev-libs/icu-3.6:= ) > > !icu? ( virtual/libiconv ) > > mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) ) > > + python? ( ${PYTHON_DEPS} ) > > sys-libs/zlib > > !app-admin/eselect-boost" > > DEPEND="${RDEPEND} > > @@ -50,7 +49,7 @@ create_user-config.jam() { > > fi > > > > if use python; then > > - python_configuration="using python : $(python_get_version) ;" > > + python_configuration="using python : ${EPYTHON#python} ;" > > can you please repeat why there is no EPYTHONV variable? There wasn't one, I didn't want to introduce it myself. The root of the problem is that there are multiple kinds of 'Python version' and people usually have no idea which one they want. In this particular case, boost wants the suffix of python libraries which is specific to CPython. Scrambling it from EPYTHON is the simplest thing to do here. But I'll take a second look at python_configuration because of your earlier comments. > > > fi > > > > cat > user-config.jam << __EOF__ > > @@ -60,12 +59,6 @@ ${python_configuration} > > __EOF__ > > } > > > > -pkg_setup() { > > - if use python; then > > - python_pkg_setup > > - fi > > -} > > - > > src_prepare() { > > epatch \ > > "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \ > > @@ -129,7 +122,7 @@ src_compile() { > > create_user-config.jam > > > > ejam ${OPTIONS} \ > > - $(use python && echo --python-buildid=${PYTHON_ABI}) \ > > + $(use python && echo --python-buildid=${EPYTHON#python}) \ > > || die "Building of Boost libraries failed" > > > > if use python; then > > @@ -143,7 +136,7 @@ src_compile() { > > > > local dir > > for dir in ${PYTHON_DIRS}; do > > - mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed" > > + mv ${dir} ${dir}-${EPYTHON} || die > > Do we loose something by having an explicit error message? > Please leave it there (dito for all the other cases) Well, we lose readability when ebuild has 120-character long lines. > > > done > > > > if use mpi; then > > @@ -158,12 +151,12 @@ src_compile() { > > fi > > fi > > > > - mv stage/lib/mpi.so stage/lib/mpi.so-${PYTHON_ABI} || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${PYTHON_ABI}' failed" > > + mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} || die > > fi > > fi > > } > > if use python; then > > - python_execute_function building > > + python_foreach_impl building > > else > > building > > fi > > @@ -184,19 +177,19 @@ src_install () { > > if use python; then > > local dir > > for dir in ${PYTHON_DIRS}; do > > - cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed" > > + cp -pr ${dir}-${EPYTHON} ${dir} || die > > done > > > > if use mpi; then > > - cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed" > > - cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed" > > + cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" || die > > + cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so || die > > fi > > fi > > > > ejam ${OPTIONS} \ > > --includedir="${D}usr/include" \ > > --libdir="${D}usr/$(get_libdir)" \ > > - $(use python && echo --python-buildid=${PYTHON_ABI}) \ > > + $(use python && echo --python-buildid=${EPYTHON#python}) \ > > install || die "Installation of Boost libraries failed" > > > > if use python; then > > @@ -222,10 +215,12 @@ else: > > del sys > > EOF > > fi > > + > > + python_optimize > > fi > > } > > if use python; then > > - python_execute_function installation > > + python_foreach_impl installation > > else > > installation > > fi > > @@ -320,18 +315,6 @@ pkg_preinst() { > > done > > } > > > > -pkg_postinst() { > > - if use mpi && use python; then > > - python_mod_optimize boost > > - fi > > -} > > - > > -pkg_postrm() { > > - if use mpi && use python; then > > - python_mod_cleanup boost > > - fi > > -} > > - > > # the tests will never fail because these are not intended as sanity > > # tests at all. They are more a way for upstream to check their own code > > # on new compilers. Since they would either be completely unreliable > > > -- Best regards, Michał Górny