# $Id$ # simulate the old behavior if [[ -z ${MAGE_PYTHON_EXEC} ]] then MAGE_PYTHON_EXEC="python" SDEPEND="${SDEPEND} >= dev-lang/python-2.7" fi # get the major.minor current installed python version # -> ex 2.4 mget-python-version() { local pyver # pyver="$(${MAGE_PYTHON_EXEC} -V 2>&1 | cut -d' ' -f2 | cut -d. -f1-2)" pyver=$(${MAGE_PYTHON_EXEC} -c "import sys ; print (sys.version[:3])") [[ -z ${pyver} ]] && return 1 echo "${pyver}" return 0 } mget-python-libdir() { local pylib pylib=$(${MAGE_PYTHON_EXEC} -c 'from distutils import sysconfig; print (sysconfig.get_python_lib())') [[ -z ${pylib} ]] && return 1 echo "${pylib}" return 0 } mget-python-includedir() { local pyinc pyinc=$(${MAGE_PYTHON_EXEC} -c 'from distutils import sysconfig; print (sysconfig.get_python_inc())') [[ -z ${pyinc} ]] && return 1 echo "${pyinc}" return 0 } # fallback functions to support old smage scripts, dropped in near future get_python_version() { echo -e "${COLYELLOW}Warning: get_python_version() is depcrecated, please use mget-python-version() instead${COLDEFAULT}" >&2 mget-python-version } get_python_libdir() { echo -e "${COLYELLOW}Warning: get_python_libdir() is depcrecated, please use mget-python-libdir() instead${COLDEFAULT}" >&2 mget-python-libdir } get_python_includedir() { echo -e "${COLYELLOW}Warning: get_python_includedir() is depcrecated, please use mget-python-includedir() instead${COLDEFAULT}" >&2 mget-python-includedir } python_src_prepare() { munpack ${SRCFILE} || die } python_docompile() { if [[ -e setup.py ]] then ${MAGE_PYTHON_EXEC} setup.py build $@ || die elif [[ -e waf ]] then ${MAGE_PYTHON_EXEC} waf configure --prefix=/usr --libdir=/usr/$(mlibdir) $@ || die ${MAGE_PYTHON_EXEC} waf build $@ || die elif [[ -e configure ]] then if [[ ${MULTILIB_BUILD} = true ]] && [[ ! -z $(typeset -f oldmconfigure) ]] && [[ ! -z $(typeset -f oldmmake) ]] then oldmconfigure $@ || die oldmmake || die else mconfigure $@ || die mmake || die fi elif [[ -e install.py ]] then echo "install.py found - nothing to compile here." else mmake || die fi } python_doinstall() { if [[ -e setup.py ]] then ${MAGE_PYTHON_EXEC} setup.py install --no-compile --root ${BINDIR} $@ || die elif [[ -e waf ]] then ${MAGE_PYTHON_EXEC} waf install --destdir=${BINDIR} $@ || die elif [[ -e install.py ]] then ${MAGE_PYTHON_EXEC} install.py --prefix=/usr --files-only --destdir=${BINDIR} $@ || die else if [[ ${MULTILIB_BUILD} = true ]] && [[ ! -z $(typeset -f oldmconfigure) ]] && [[ ! -z $(typeset -f oldmmake) ]] then oldmmake DESTDIR=${BINDIR} install || die else mmake DESTDIR=${BINDIR} install || die fi fi } python_src_compile() { cd ${SRCDIR} python_docompile $@ || die } python_multilib_src_compile() { local abi local saved_SRCDIR="${SRCDIR}" for abi in ${MULTILIB_ABIS} do SRCDIR="${saved_SRCDIR}-${abi}/${SRCSUBDIR}" cd ${SRCDIR} abi-${abi} python_docompile $@ || die done SRCDIR="${saved_SRCDIR}" } python_src_check() { return 0 } python_src_install() { cd ${SRCDIR} python_doinstall $@ || die local i for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ FAQ LICENSE NEWS README TODO do if [ -f ${SRCDIR}/${i} ] then minstalldocs ${i} || die fi done } python_multilib_src_install() { local abi local saved_SRCDIR="${SRCDIR}" for abi in ${MULTILIB_ABIS} do SRCDIR="${saved_SRCDIR}-${abi}/${SRCSUBDIR}" cd ${SRCDIR} abi-${abi} python_doinstall $@ || die local i for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ FAQ LICENSE NEWS README TODO do if [ -f ${SRCDIR}/${i} ] then oldminstalldocs ${i} || die fi done done SRCDIR="${saved_SRCDIR}" } export_inherits python src_prepare src_check if [[ ${MULTILIB_BUILD} = true ]] then export_inherits python_multilib src_compile src_install else export_inherits python src_compile src_install fi