summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/python')
-rw-r--r--dev-lang/python/ChangeLog8
-rw-r--r--dev-lang/python/Manifest21
-rw-r--r--dev-lang/python/files/digest-python-2.5_rc16
-rw-r--r--dev-lang/python/files/python-config-2.44
-rw-r--r--dev-lang/python/files/python-updater-r1322
-rw-r--r--dev-lang/python/python-2.5_rc1.ebuild319
6 files changed, 0 insertions, 680 deletions
diff --git a/dev-lang/python/ChangeLog b/dev-lang/python/ChangeLog
deleted file mode 100644
index 976a3e3..0000000
--- a/dev-lang/python/ChangeLog
+++ /dev/null
@@ -1,8 +0,0 @@
-* Removed st_flags patch
-* Added sqlite USE flag
-* Added webbrowser to the skipped_tests because of sandbox violation.
-* Ported some of the patches to 2.5
-
-
-2.4
-* Fix collisions between slotted version with idle \ No newline at end of file
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
deleted file mode 100644
index 2c33959..0000000
--- a/dev-lang/python/Manifest
+++ /dev/null
@@ -1,21 +0,0 @@
-AUX python-config-2.4 179 RMD160 087417fb7080be00cf62381d5e16fb4e4cb4538f SHA1 3ffffc6e4f4c7b774135f2635601b92a5b13e259 SHA256 86b87546be79ee6027df70046b33808b64921eea71618c81810e6b1280604221
-MD5 d74e7f0fd47f00e8b3fe7ca36b7eb629 files/python-config-2.4 179
-RMD160 087417fb7080be00cf62381d5e16fb4e4cb4538f files/python-config-2.4 179
-SHA256 86b87546be79ee6027df70046b33808b64921eea71618c81810e6b1280604221 files/python-config-2.4 179
-AUX python-updater-r1 8780 RMD160 e4e11a2f39d704bd91d6c78be1dd1cce024575af SHA1 4a7871d51f0d3c3dfafc823d26c46105573e3fb4 SHA256 5c2479244ebf6521d6ff833923058d56c793d55b60a3fcc3e5264b0b71119d46
-MD5 cfed36069ba81aebdae8f7e547b65d0a files/python-updater-r1 8780
-RMD160 e4e11a2f39d704bd91d6c78be1dd1cce024575af files/python-updater-r1 8780
-SHA256 5c2479244ebf6521d6ff833923058d56c793d55b60a3fcc3e5264b0b71119d46 files/python-updater-r1 8780
-DIST Python-2.5c1.tar.bz2 9355537 RMD160 664f132bfa442657737c8ae3360160c05e748e3f SHA1 ad487ae0917f1f02ce492ca2ad7e12f5795fd53f SHA256 f54e9ed517f7015737547db3188701e0384d9b4c4b59723073b164a3f2873908
-DIST python-gentoo-patches-2.5.tar.bz2 5183 RMD160 89098f891a76a1ada98352b275d46e4c53086fe3 SHA1 983496edff67af25cb522103f56026ba3a4392bb SHA256 4ea6e5e6a4c43e7e550dbe363d0a3486e74259875b3079a73452f12791d9349f
-EBUILD python-2.5_rc1.ebuild 10546 RMD160 505a1afa318dca3107c13a5f8b79b2de603e9f1c SHA1 98321a4d965c837d7d395ff79c3c8fc1d77d9c84 SHA256 c2eb2c3a8ed894b5665aa3985e6443f4b703f96416caac76679e85759b79e081
-MD5 48cb9af7121dbff5a500f9a30ee026ea python-2.5_rc1.ebuild 10546
-RMD160 505a1afa318dca3107c13a5f8b79b2de603e9f1c python-2.5_rc1.ebuild 10546
-SHA256 c2eb2c3a8ed894b5665aa3985e6443f4b703f96416caac76679e85759b79e081 python-2.5_rc1.ebuild 10546
-MISC ChangeLog 211 RMD160 77886c696f38431ca65222471d628e94ae12ae11 SHA1 756e398275bb53d8eb725c9608b068595643a54a SHA256 4652602442c2b23d1d4c43b4bb142d67828e5f24db2b70a42d40b71f0e457f95
-MD5 248a8252a6fd542dc45bf366f34393de ChangeLog 211
-RMD160 77886c696f38431ca65222471d628e94ae12ae11 ChangeLog 211
-SHA256 4652602442c2b23d1d4c43b4bb142d67828e5f24db2b70a42d40b71f0e457f95 ChangeLog 211
-MD5 85f90f241285cf7235887ee97ba01a40 files/digest-python-2.5_rc1 518
-RMD160 9ca0c5c113e8532ef98265057c8e4f1250d8b50a files/digest-python-2.5_rc1 518
-SHA256 90e07d345ac2c58e919434d059e0fce8166426a370500f83c8de9603aa82bcee files/digest-python-2.5_rc1 518
diff --git a/dev-lang/python/files/digest-python-2.5_rc1 b/dev-lang/python/files/digest-python-2.5_rc1
deleted file mode 100644
index 2f6173c..0000000
--- a/dev-lang/python/files/digest-python-2.5_rc1
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 1e8a7a7c6fe14003e325c14b335f3d6c Python-2.5c1.tar.bz2 9355537
-RMD160 664f132bfa442657737c8ae3360160c05e748e3f Python-2.5c1.tar.bz2 9355537
-SHA256 f54e9ed517f7015737547db3188701e0384d9b4c4b59723073b164a3f2873908 Python-2.5c1.tar.bz2 9355537
-MD5 7d2d7f83bb38d7ce57a6b149df0cbdce python-gentoo-patches-2.5.tar.bz2 5183
-RMD160 89098f891a76a1ada98352b275d46e4c53086fe3 python-gentoo-patches-2.5.tar.bz2 5183
-SHA256 4ea6e5e6a4c43e7e550dbe363d0a3486e74259875b3079a73452f12791d9349f python-gentoo-patches-2.5.tar.bz2 5183
diff --git a/dev-lang/python/files/python-config-2.4 b/dev-lang/python/files/python-config-2.4
deleted file mode 100644
index db91332..0000000
--- a/dev-lang/python/files/python-config-2.4
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/python
-import distutils.sysconfig, string
-print "-lpython2.4 -lm -L/usr/lib/python2.4/config",string.join(string.split(distutils.sysconfig.get_config_var("MODLIBS")))
-
diff --git a/dev-lang/python/files/python-updater-r1 b/dev-lang/python/files/python-updater-r1
deleted file mode 100644
index b72a91a..0000000
--- a/dev-lang/python/files/python-updater-r1
+++ /dev/null
@@ -1,322 +0,0 @@
-#!/bin/sh
-#
-# A bit of hackery to update everything that is humanly possible
-# that maybe related to an older version of python. This script can
-# be run as many times as you like. It will log the results in
-# /tmp/python-updater.log
-#
-# OLD_PY_VER = old python version we are upgrading from
-# NEW_PY_VER = new python version we are upgrading to
-# PKGS_EXCEPTIONS = packages that should NOT be re-emerged for any reason
-# PKGS_MANUAL = packages that should be re-emerged even if they don't
-# fit the criteria (eg. ones that have python compiled
-# statically) - FIXME
-#
-# Runtime Variables:
-#
-# PKGS_TO_REMERGE = list of packages we deem to need re-emerging
-# PKGS_OK = list of packages that should be merged without any problems
-# PKGS_MISSING = list of packages that are installed, but cannot be merged
-# because they have been pruned from portage
-# PKGS_MASKED = list of packages that are installed, but masked.
-#
-
-NEW_PY_VER=$(python -V 2>&1 | sed 's:Python \([0-9]*\.[0-9]*\).*$:\1:')
-
-PKGS_EXCEPTIONS="dev-lang/python sys-apps/portage"
-PKGS_MANUAL="app-office/gnumeric app-office/dia x11-libs/vte"
-LOGFILE="/var/log/python-updater.log"
-
-# portage variables
-PKG_DBDIR=/var/db/pkg
-PORTDIR=`portageq portdir`
-PORTDIR_OVERLAYS=`portageq portdir_overlay`
-
-PRETEND=0
-PKGS_TO_REMERGE=""
-PKGS_COUNT_REMERGE=0
-PORTAGE_PYTHON="/usr/bin/python"
-
-# load the gentoo-style info macros, but hack to get around
-# it thinking this is an rc script
-EBUILD="1"
-source /sbin/functions.sh
-
-
-
-for old in 2.5 2.4 2.3 2.2 2.1; do
- if [ "${old}" != "${NEW_PY_VER}" ]; then
- if [ -e /usr/bin/python${old} ] ; then
- OLD_PY_VER=${old}
- break;
- fi
- fi
-done
-
-
-if [ -z "${OLD_PY_VER}" ] ; then
- eerror "Can't determine any previous Python version(s)."
- exit 1
-fi
-
-
-# misc helper functions
-eloginfo() {
- einfo $*
- DATESTRING=`date +"%Y/%m/%d %H:%M:%S"`
- echo "${DATESTRING} - ${*}" >> ${LOGFILE}
-}
-
-elogecho() {
- echo -n " "
- echo $*
- DATESTRING=`date +"%Y/%m/%d %H:%M:%S"`
- echo "${DATESTRING} - ${*}" >> ${LOGFILE}
-}
-
-elogerr() {
- eerror $*
- DATESTRING=`date +"%Y/%m/%d %H:%M:%S"`
- echo "${DATESTRING} ! ${*}" >> ${LOGFILE}
-}
-
-elog() {
- DATESTRING=`date +"%Y/%m/%d %H:%M:%S"`
- echo "${DATESTRING} - ${*}" >> ${LOGFILE}
-}
-
-
-usage() {
- echo "usage: python-updater [-h|-p|-o X.X|-n X.X]"
- echo " -h help"
- echo " -p pretend (don't do anything)"
- echo " -o X.X set old python version to upgrade from [default: ${OLD_PY_VER}]"
- echo " -n X.X set new python version to upgrade to [default: ${NEW_PY_VER}]"
-}
-
-#
-# Sanity check
-#
-
-if [ -z "${PORTDIR}" ]; then
- eerror "Unable to proceed. Can not find PORTDIR. Make sure the command:"
- eerror " "
- eerror " portageq portdir"
- eerror " "
- eerror "returns a value. If it doesn't, make sure you have updated to"
- eerror "latest portage version."
- eerror " "
- eerror "Report bugs to http://bugs.gentoo.org/"
- exit 1
-fi
-
-if [ ! -f ${LOGFILE} ]; then
- if ! touch ${LOGFILE} 2>&1 > /dev/null; then
- ewarn "Logging disabled due to permissions"
- LOGFILE=/dev/null
- fi
-elif [ ! -w ${LOGFILE} -o ! -L ${LOGFILE} ]; then
- ewarn "Logging disabled due to permissions"
- LOGFILE=/dev/null
-fi
-
-#
-#
-# Command Line Parsing
-#
-#
-while [ -n "$1" ]; do
- case "$1" in
- -h)
- usage
- exit 0
- ;;
- -p)
- PRETEND=1
- ;;
- -o)
- shift
- OLD_PY_VER="$1"
- ;;
- -n)
- shift
- NEW_PY_VER="$1"
- ;;
- *)
- usage
- echo "unrecognised option: $1"
- ;;
- esac
- shift
-done
-
-#
-# Test where portage is, in python2.2 or somewhere else?
-#
-for py in /usr/bin/python /usr/bin/python${OLD_PY_VER} /usr/bin/python${NEW_PY_VER}; do
- if ${py} -c "import portage"; then
- PORTAGE_PYTHON=${py}
- break;
- fi
-done
-
-#
-#
-# Find all packages that have installed something in
-# /usr/lib/python${OLD_PY_VER}
-#
-#
-OLD_MODULES_DIRS="/usr/lib/python${OLD_PY_VER} /usr/lib32/python${OLD_PY_VER} /usr/lib64/python${OLD_PY_VER}"
-OLD_INCLUDE_DIR=/usr/include/python${OLD_PY_VER}
-
-eloginfo "Starting Python Updater from ${OLD_PY_VER} to ${NEW_PY_VER} :"
-eloginfo "Searching for packages with files in ${OLD_MODULES_DIRS} .."
-
-# iterate thru all the installed package's contents
-for content in `find ${PKG_DBDIR} -name CONTENTS`; do
- # extract the category, package name and package version
- CATPKGVER=$(echo ${content} | sed "s:${PKG_DBDIR}/\(.*\)/CONTENTS:\1:")
-
- # exclude packages that are an exception, like portage and python itself.
- exception=0
- for exp in ${PKGS_EXCEPTIONS}; do
- if [ -n "$(echo ${CATPKGVER} | grep ${exp})" ]; then
- exception=1
- break;
- fi
- done
-
- if [ ${exception} = 1 ]; then
- continue;
- fi
-
- for OLD_MODULES_DIR in ${OLD_MODULES_DIRS}; do
- if fgrep "${OLD_MODULES_DIR}" ${content} > /dev/null; then
- PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}"
- elogecho "Adding to list: ${CATPKGVER}"
- elif fgrep "${OLD_INCLUDE_DIR}" ${content} > /dev/null; then
- PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}"
- fi
- done
-done
-
-# now we have to do each emerge seperately because if an installed version
-# does not have the corresponding ebuild in portage, then it will bail.
-
-eloginfo "Calculating Upgrade Package List .."
-
-PKGS_OK=""
-PKGS_MASKED=""
-PKGS_MISSING=""
-
-MASKED_STRING="been masked"
-MISSING_STRING="there are no masked or unmasked ebuilds to satisfy"
-
-for pkg in ${PKGS_TO_REMERGE}; do
- emerge_output="$(emerge -p \=$pkg 2>&1)"
- if $(echo "${emerge_output}" | grep "${MASKED_STRING}" > /dev/null); then
- PKGS_MASKED="${PKGS_MASKED} $pkg"
- elogecho "$pkg is masked"
- elif $(echo "${emerge_output}" | grep "${MISSING_STRING}" > /dev/null); then
- PKGS_MISSING="${PKGS_MISSING} $pkg"
- elogecho "$pkg is missing from portage"
- else
- PKGS_OK="${PKGS_OK} $pkg"
- PKGS_COUNT_REMERGE=$((PKGS_COUNT_REMERGE + 1))
- fi
-done
-
-#
-# Use my super dumb package reordering algorithm that works most of the time
-#
-
-eloginfo "Re-ordering packages to merge .."
-
-PKGS_OK_SORTED="$(${PORTAGE_PYTHON} ${PORTDIR}/dev-lang/python/files/depreorder-topsort.py ${PKGS_OK} | xargs)"
-
-eloginfo "Preparing to merge these packages in this order:"
-for pkg in $PKGS_OK_SORTED; do
- elogecho "$pkg"
-done
-
-# we emerge each package seperately to ensure we know exactly which ones might
-# cause an error, and then report it at the end
-
-COUNT=1
-PKGS_FAILED=""
-if [ "${PRETEND}" != "1" ]; then
- for pkg in ${PKGS_OK_SORTED}; do
- eloginfo "Starting to merge ($COUNT/$PKGS_COUNT_REMERGE) $pkg .."
- if ! emerge --oneshot --nodeps =$pkg; then
- PKGS_FAILED="${PKGS_FAILED} $pkg"
- elogerr "Failed merging $pkg ($COUNT/$PKGS_COUNT_REMERGE)!"
- fi
- COUNT=$((COUNT+1))
- done
-fi
-
-# final output stuff
-OUTPUT_PKGS_MASKED=""
-for pkg in ${PKGS_MASKED}; do OUTPUT_PKGS_MASKED="${OUTPUT_PKGS_MASKED} \=$pkg"; done
-OUTPUT_PKGS_MISSING=""
-for pkg in ${PKGS_MISSING}; do OUTPUT_PKGS_MISSING="${OUTPUT_PKGS_MISSING} $pkg"; done
-OUTPUT_PKGS_FAILED=""
-for pkg in ${PKGS_FAILED}; do OUTPUT_PKGS_FAILED="${OUTPUT_PKGS_FAILED} \=$pkg"; done
-
-if [ -n "${PKGS_FAILED}" -o -n "${PKGS_MISSING}" -o -n "${PKGS_MASKED}" ]; then
- echo
- ewarn "************************************************************"
- ewarn "* Packages that still need to be manually emerged : *"
- ewarn "************************************************************"
- if [ -n "${OUTPUT_PKGS_MASKED}" ]; then
- echo
- ewarn " Masked Packages:"
- ewarn " ----------------"
- ewarn " Unmask the following packages (at your own risk) and "
- ewarn " emerge them using this command after removing the '-p'"
- ewarn " parameter."
- echo
- ewarn " emerge -p ${OUTPUT_PKGS_MASKED}"
- echo
- fi
- if [ -n "${OUTPUT_PKGS_MISSING}" ]; then
- echo
- ewarn " Missing Packages:"
- ewarn " -----------------"
- ewarn " These packages need to be updated because their versions do"
- ewarn " not exist in portage anymore."
- echo
- for x in ${OUTPUT_PKGS_MISSING}; do
- echo " ${x}"
- done
- fi
- if [ -n "${OUTPUT_PKGS_FAILED}" ]; then
- echo
- ewarn " Failed Packaged:"
- ewarn " ----------------"
- ewarn " These packages have failed and need to be re-emerged again."
- ewarn " Alternatively, try re-running this script again to see if it"
- ewarn " can be fixed."
- echo
- ewarn " emerge -p ${OUTPUT_PKGS_FAILED}"
- echo
- fi
-
- elog "Python update completed with errors."
- elog "Masked Packages:"
- for x in ${PKGS_MASKED}; do
- elog $x
- done
- elog "Missing Packages:"
- for x in ${PKGS_MISSING}; do
- elog $x
- done
- elog "Failed Packages:"
- for x in ${PKGS_FAILED}; do
- elog $x
- done
- elog "Update script completed."
-else
- eloginfo "Python update completed successfully."
-fi
-
diff --git a/dev-lang/python/python-2.5_rc1.ebuild b/dev-lang/python/python-2.5_rc1.ebuild
deleted file mode 100644
index 2d8c5df..0000000
--- a/dev-lang/python/python-2.5_rc1.ebuild
+++ /dev/null
@@ -1,319 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.4.3-r1.ebuild,v 1.12 2006/07/20 17:25:17 blubb Exp $
-
-# NOTE about python-portage interactions :
-# - Do not add a pkg_setup() check for a certain version of portage
-# in dev-lang/python. It _WILL_ stop people installing from
-# Gentoo 1.4 images.
-
-inherit eutils autotools flag-o-matic python multilib versionator toolchain-funcs alternatives
-
-# we need this so that we don't depends on python.eclass
-PYVER_MAJOR=$(get_major_version)
-PYVER_MINOR=$(get_version_component_range 2)
-PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"
-
-MY_PV=${PV/_rc/c}
-MY_P="Python-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language."
-HOMEPAGE="http://www.python.org/"
-SRC_URI="http://www.python.org/ftp/python/${PYVER}/${MY_P}.tar.bz2
- http://dev.gentoo.org/~liquidx/files/python-gentoo-patches-${PYVER}.tar.bz2"
-
-LICENSE="PSF-2.2"
-SLOT="2.5"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-IUSE="ncurses gdbm ssl readline tk berkdb bootstrap ipv6 build ucs2 sqlite doc nocxx"
-
-# NOTE: dev-python/{elementtree,celementtree,pysqlite,ctypes,cjkcodecs}
-# do not conflict with the ones in python proper. - liquidx
-
-DEPEND=">=sys-libs/zlib-1.1.3
- !build? (
- sqlite? ( !=dev-python/pysqlite-2*
- >=dev-db/sqlite-3 )
- tk? ( >=dev-lang/tk-8.0 )
- ncurses? ( >=sys-libs/ncurses-5.2
- readline? ( >=sys-libs/readline-4.1 ) )
- berkdb? ( >=sys-libs/db-3.1 )
- gdbm? ( sys-libs/gdbm )
- ssl? ( dev-libs/openssl )
- doc? ( =dev-python/python-docs-${PV}* )
- dev-libs/expat
- )"
-
-# NOTE: The dev-python/python-fchksum RDEPEND is needed so that this python
-# provides the functionality expected from previous pythons.
-
-# NOTE: python-fchksum is only a RDEPEND and not a DEPEND since we don't need
-# it to compile python. We just need to ensure that when we install
-# python, we definitely have fchksum support. - liquidx
-
-# NOTE: changed RDEPEND to PDEPEND to resolve bug 88777. - kloeri
-
-PDEPEND="${DEPEND} dev-python/python-fchksum"
-PROVIDE="virtual/python"
-
-# confcache breaks a dlopen check, causing python to not support
-# loading .so files - marienz
-RESTRICT="confcache"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- # unnecessary termcap dep in readline (#79013)
- epatch "${WORKDIR}/${PYVER}/2.5-readline.patch"
- # db4.2 support
- epatch "${WORKDIR}/${PYVER}/2.4.3-db4.patch"
-
- # adds support for PYTHON_DONTCOMPILE shell environment to
- # supress automatic generation of .pyc and .pyo files - liquidx (08 Oct 03)
- epatch "${WORKDIR}/${PYVER}/2.4-gentoo_py_dontcompile.patch"
- epatch "${WORKDIR}/${PYVER}/2.4-disable_modules_and_ssl.patch"
- epatch "${WORKDIR}/${PYVER}/2.5-mimetypes_gentoo_apache.patch"
-
- # prepends /usr/lib/portage/pym to sys.path
- epatch "${WORKDIR}/${PYVER}/2.4-add_portage_search_path.patch"
-
- epatch "${WORKDIR}/${PYVER}/2.5-libdir.patch"
- sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
- Lib/distutils/command/install.py \
- Lib/distutils/sysconfig.py \
- Lib/site.py \
- Makefile.pre.in \
- Modules/Setup.dist \
- Modules/getpath.c \
- setup.py || die
-
- # fix os.utime() on hppa. utimes it not supported but unfortunately reported as working - gmsoft (22 May 04)
- # PLEASE LEAVE THIS FIX FOR NEXT VERSIONS AS IT'S A CRITICAL FIX !!!
- [ "${ARCH}" = "hppa" ] && sed -e 's/utimes //' -i ${S}/configure
-
- if tc-is-cross-compiler ; then
- epatch "${WORKDIR}/${PYVER}/2.4.1-crosscompile.patch"
- fi
-
- # fix gentoo/obsd problems (bug 117261)
- epatch "${WORKDIR}/${PYVER}/2.4.3-gentoo_obsd.patch"
-
- eautoreconf
-}
-
-src_configure() {
- # disable extraneous modules with extra dependencies
- if use build; then
- export PYTHON_DISABLE_MODULES="readline pyexpat dbm gdbm bsddb _curses _curses_panel _tkinter _sqlite3"
- export PYTHON_DISABLE_SSL=1
- else
- use gdbm \
- || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} gdbm"
- use berkdb \
- || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} dbm bsddb"
- use readline \
- || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} readline"
- use tk \
- || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _tkinter"
- use ncurses \
- || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _curses _curses_panel"
- use sqlite \
- || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _sqlite3"
- use ssl \
- || export PYTHON_DISABLE_SSL=1
- export PYTHON_DISABLE_MODULES
- echo $PYTHON_DISABLE_MODULES
- fi
-}
-
-src_compile() {
- filter-flags -malign-double
-
- # Seems to no longer be necessary
- #[ "${ARCH}" = "amd64" ] && append-flags -fPIC
- [ "${ARCH}" = "alpha" ] && append-flags -fPIC
-
- # http://bugs.gentoo.org/show_bug.cgi?id=50309
- if is-flag -O3; then
- is-flag -fstack-protector-all && replace-flags -O3 -O2
- use hardened && replace-flags -O3 -O2
- fi
-
- export OPT="${CFLAGS}"
-
- local myconf
- #if we are creating a new build image, we remove the dependency on g++
- if use build && ! use bootstrap || use nocxx ; then
- myconf="--with-cxx=no"
- fi
-
- # super-secret switch. don't use this unless you know what you're
- # doing. enabling UCS2 support will break your existing python
- # modules
- use ucs2 \
- && myconf="${myconf} --enable-unicode=ucs2" \
- || myconf="${myconf} --enable-unicode=ucs4"
-
- src_configure
-
- if tc-is-cross-compiler ; then
- OPT="-O1" CFLAGS="" LDFLAGS="" CC="" \
- ./configure --with-cxx=no || die "cross-configure failed"
- emake python Parser/pgen || die "cross-make failed"
- mv python hostpython
- mv Parser/pgen Parser/hostpgen
- make distclean
- sed -i \
- -e '/^HOSTPYTHON/s:=.*:=./hostpython:' \
- -e '/^HOSTPGEN/s:=.*:=./Parser/hostpgen:' \
- Makefile.pre.in || die
- fi
-
- # export CXX so it ends up in /usr/lib/python2.x/config/Makefile
- tc-export CXX
- # set LINKCC to prevent python from being linked to libstdc++.so
- export LINKCC="\$(PURIFY) \$(CC)"
- econf \
- --with-fpectl \
- --enable-shared \
- `use_enable ipv6` \
- --infodir='${prefix}'/share/info \
- --mandir='${prefix}'/share/man \
- --with-threads \
- --with-libc='' \
- ${myconf} || die
- emake || die "Parallel make failed"
-}
-
-src_install() {
- dodir /usr
- src_configure
- make DESTDIR="${D}" altinstall maninstall || die
-
- mv ${D}/usr/bin/python${PYVER}-config ${D}/usr/bin/python-config-${PYVER}
-
- # Fix slotted collisions
- mv ${D}/usr/bin/pydoc ${D}/usr/bin/pydoc${PYVER}
- mv ${D}/usr/bin/idle ${D}/usr/bin/idle${PYVER}
- mv ${D}/usr/share/man/man1/python.1 \
- ${D}/usr/share/man/man1/python${PYVER}.1
- rm -f ${D}/usr/bin/smtpd.py
-
- # install python-updater in /usr/sbin
- newsbin ${FILESDIR}/python-updater-r1 python-updater
-
- # While we're working on the config stuff... Let's fix the OPT var
- # so that it doesn't have any opts listed in it. Prevents the problem
- # with compiling things with conflicting opts later.
- dosed -e 's:^OPT=.*:OPT=-DNDEBUG:' \
- /usr/$(get_libdir)/python${PYVER}/config/Makefile
-
- if use build ; then
- rm -rf ${D}/usr/$(get_libdir)/python${PYVER}/{test,encodings,email,lib-tk,bsddb/test}
- else
- use elibc_uclibc && rm -rf ${D}/usr/$(get_libdir)/python${PYVER}/{test,bsddb/test}
- use berkdb || rm -rf ${D}/usr/$(get_libdir)/python${PYVER}/bsddb
- use tk || rm -rf ${D}/usr/$(get_libdir)/python${PYVER}/lib-tk
- fi
-
- prep_ml_includes usr/include/python${PYVER}
-
- # The stuff below this line extends from 2.1, and should be deprecated
- # in 2.3, or possibly can wait till 2.4
-
- # seems like the build do not install Makefile.pre.in anymore
- # it probably shouldn't - use DistUtils, people!
- insinto /usr/$(get_libdir)/python${PYVER}/config
- doins ${S}/Makefile.pre.in
-}
-
-pkg_postrm() {
- python_makesym
- alternatives_auto_makesym "/usr/bin/idle" "idle[0-9].[0-9]"
- alternatives_auto_makesym "/usr/bin/pydoc" "pydoc[0-9].[0-9]"
- alternatives_auto_makesym "/usr/share/man/man1/python.1.gz" \
- "python[0-9].[0-9].1.gz"
- alternatives_auto_makesym "/usr/bin/python-config" \
- "python-config-[0-9].[0-9]"
-
- python_mod_cleanup /usr/lib/python${PYVER}
- [[ "$(get_libdir)" == "lib" ]] || \
- python_mod_cleanup /usr/$(get_libdir)/python${PYVER}
-}
-
-pkg_postinst() {
- local myroot
- myroot=$(echo $ROOT | sed 's:/$::')
-
- python_makesym
- alternatives_auto_makesym "/usr/bin/idle" "idle[0-9].[0-9]"
- alternatives_auto_makesym "/usr/bin/pydoc" "pydoc[0-9].[0-9]"
- alternatives_auto_makesym "/usr/bin/python-config" \
- "python-config-[0-9].[0-9]"
- alternatives_auto_makesym "/usr/share/man/man1/python.1.gz" \
- "python[0-9].[0-9].1.gz"
-
- python_mod_optimize
- python_mod_optimize -x site-packages \
- -x test ${myroot}/usr/lib/python${PYVER}
- [[ "$(get_libdir)" == "lib" ]] || \
- python_mod_optimize -x site-packages \
- -x test ${myroot}/usr/$(get_libdir)/python${PYVER}
-
-
- # workaround possible python-upgrade-breaks-portage situation
- if [ ! -f ${myroot}/usr/lib/portage/pym/portage.py ]; then
- if [ -f ${myroot}/usr/lib/python2.3/site-packages/portage.py ]; then
- einfo "Working around possible python-portage upgrade breakage"
- mkdir -p ${myroot}/usr/lib/portage/pym
- cp ${myroot}/usr/lib/python2.4/site-packages/{portage,xpak,output,cvstree,getbinpkg,emergehelp,dispatch_conf}.py ${myroot}/usr/lib/portage/pym
- python_mod_optimize ${myroot}/usr/lib/portage/pym
- fi
- fi
-
- echo
- ewarn
- ewarn "If you have just upgraded from an older version of python you will"
- ewarn "need to run:"
- ewarn
- ewarn "/usr/sbin/python-updater"
- ewarn
- ewarn "This will automatically rebuild all the python dependent modules"
- ewarn "to run with python-${PYVER}."
- ewarn
- ewarn "Your original Python is still installed and can be accessed via"
- ewarn "/usr/bin/python2.x."
- ewarn
- ebeep 5
-}
-
-src_test() {
- # PYTHON_DONTCOMPILE=1 breaks test_import
- unset PYTHON_DONTCOMPILE
-
- #skip all tests that fail during emerge but pass without emerge:
- #(See bug# 67970)
- local skip_tests="distutils global mimetools minidom mmap strptime subprocess syntax tcl time urllib urllib2 webbrowser"
-
- for test in ${skip_tests} ; do
- mv ${S}/Lib/test/test_${test}.py ${T}
- done
-
- # rerun failed tests in verbose mode (regrtest -w)
- EXTRATESTOPTS="-w" make test || die "make test failed"
-
- for test in ${skip_tests} ; do
- mv ${T}/test_${test}.py ${S}/Lib/test/test_${test}.py
- done
-
- einfo "Portage skipped the following tests which aren't able to run from emerge:"
- for test in ${skip_tests} ; do
- einfo "test_${test}.py"
- done
-
- einfo "If you'd like to run them, you may:"
- einfo "cd /usr/lib/python${PYVER}/test"
- einfo "and run the tests separately."
-}