diff options
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/python/Manifest | 10 | ||||
-rw-r--r-- | dev-lang/python/files/linux2.patch | 24 | ||||
-rw-r--r-- | dev-lang/python/files/pydoc.conf | 7 | ||||
-rwxr-xr-x | dev-lang/python/files/pydoc.init | 29 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.4.4-test-cross.patch | 19 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.5-cross-printf.patch | 34 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.6-chflags-cross.patch | 59 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.6-test-cross.patch | 19 | ||||
-rw-r--r-- | dev-lang/python/files/python-3.2-argparse.patch | 23 | ||||
-rw-r--r-- | dev-lang/python/files/python-3.2-soname_typo.patch | 51 | ||||
-rw-r--r-- | dev-lang/python/files/python-config-2.4-r1 | 58 | ||||
-rw-r--r-- | dev-lang/python/files/xml-use_pyxml.patch | 42 | ||||
-rw-r--r-- | dev-lang/python/metadata.xml | 10 | ||||
-rw-r--r-- | dev-lang/python/python-2.6.7-r2.ebuild | 398 | ||||
-rw-r--r-- | dev-lang/python/python-2.7.1-r1.ebuild | 366 | ||||
-rw-r--r-- | dev-lang/python/python-2.7.2-r2.ebuild | 409 | ||||
-rw-r--r-- | dev-lang/python/python-3.1.3-r1.ebuild | 340 | ||||
-rw-r--r-- | dev-lang/python/python-3.2-r2.ebuild | 372 |
18 files changed, 0 insertions, 2270 deletions
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest deleted file mode 100644 index 19415b4..0000000 --- a/dev-lang/python/Manifest +++ /dev/null @@ -1,10 +0,0 @@ -DIST Python-2.6.7.tar.bz2 11084667 RMD160 513e84a7cb76ca876e3803bb03ed558bd0378063 SHA1 5d35eb746e85fb3deaff8518448137c9b9fb6daa SHA256 4502c1a064ce68416188005662c0269d31175b855502f64c6dfa8f51226a0e5c -DIST Python-2.7.1.tar.bz2 11722546 RMD160 3ce59305f6cd3fb320a53771d0ea01ec0687005f SHA1 fbe1894322ff91b80726e269c97454f4129fc2a3 SHA256 80e387bcf57eae8ce26726753584fd63e060ec11682d1145af921e85fd612292 -DIST Python-2.7.2.tar.bz2 11754834 RMD160 c3bf4f09b7c429a4d9f4cc251c795304cd5232c5 SHA1 417bdeea77abfaf1b9257fc6b4a04aaa209f4547 SHA256 5057eb067eb5b5a6040dbd0e889e06550bde9ec041dadaa855ee9490034cbdab -DIST Python-3.1.3.tar.bz2 9875464 RMD160 730f3b8eb1a41f1b7c469fc81be734bb802cb9f9 SHA1 aeadf1eb7f450aab77a8972c042bc5f49bcf2288 SHA256 77f6f41a51be4ca85d83670405c8281dd1237bb00d8be8a7560cb3ccdf5558cb -DIST Python-3.2.tar.xz 8877208 RMD160 25e958dbb17223d6c2060520e0921e6d9c9f7906 SHA1 55a3a9d39f31563370d0c494373bb6d38e4d1a00 SHA256 38a3de4ed38e92e1c3dd81e230caf6569d41bf8df6537d099541a6d3dca1b132 -DIST python-gentoo-patches-2.6.7.tar.bz2 15173 RMD160 0ffb5eb49d463f54e3398973603dd9ead0ab2f9a SHA1 7590bc2dc31ee2c1f6cd04968393137fa43c59f4 SHA256 dcaca7d0a5f266c41c72a3047db24d23e675ce4a0ac9196dae42d7892d5edb33 -DIST python-gentoo-patches-2.7.1-r1.tar.bz2 13384 RMD160 d79de2520244a8b9c5de61c9bc591a4e538a7736 SHA1 72a0b75ab891ee20041a65dc2642ee6cf40642be SHA256 cc9b4239a3276c6fd447e3bb3ab8a2f94fbc49e08bb5b20ba5f05b4becda2bf8 -DIST python-gentoo-patches-2.7.2.tar.bz2 14485 RMD160 6b66705d61b525d0089326ddb700ad3c5ad6e23e SHA1 94fc9b00cc7e7c60cce41640dc09fd2395a5c5d9 SHA256 29616ce50244c0f7c85b903dcb939d656bfd9d5e8a930d90bff6cf878f3ac5a5 -DIST python-gentoo-patches-3.1.3-r1.tar.bz2 13730 RMD160 73f922d850e464e589c7a3cfb8f755d36167d156 SHA1 9228b63c980b80dd7e8dd9e0276c29af18692e33 SHA256 f23056436b298ed0ff9823b52902aaaa63eae0c4585a4a19e47571685127631e -DIST python-gentoo-patches-3.2.tar.bz2 11826 RMD160 8d450939f3f2f7f5c779b8701097fcf92909c36b SHA1 bdc922a4b94bbb616dbf702e913f74984ad8bda5 SHA256 43799206ed8c81936e3b3e68e8c562334b346652d30383c5b7b93fe9741ad0db diff --git a/dev-lang/python/files/linux2.patch b/dev-lang/python/files/linux2.patch deleted file mode 100644 index c341423..0000000 --- a/dev-lang/python/files/linux2.patch +++ /dev/null @@ -1,24 +0,0 @@ -http://hg.python.org/cpython/rev/c816479f6aaf/ -diff --git a/configure b/configure ---- a/configure -+++ b/configure -@@ -2995,6 +2995,7 @@ then - MACHDEP="$ac_md_system$ac_md_release" - - case $MACHDEP in -+ linux*) MACHDEP="linux2";; - cygwin*) MACHDEP="cygwin";; - darwin*) MACHDEP="darwin";; - atheos*) MACHDEP="atheos";; -diff --git a/configure.in b/configure.in ---- a/configure.in -+++ b/configure.in -@@ -293,6 +293,7 @@ then - MACHDEP="$ac_md_system$ac_md_release" - - case $MACHDEP in -+ linux*) MACHDEP="linux2";; - cygwin*) MACHDEP="cygwin";; - darwin*) MACHDEP="darwin";; - atheos*) MACHDEP="atheos";; - diff --git a/dev-lang/python/files/pydoc.conf b/dev-lang/python/files/pydoc.conf deleted file mode 100644 index 20e3628..0000000 --- a/dev-lang/python/files/pydoc.conf +++ /dev/null @@ -1,7 +0,0 @@ -# /etc/init.d/pydoc.conf -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/files/pydoc.conf,v 1.3 2011/10/27 13:56:55 neurogeek Exp $ - -# This file contains the configuration for pydoc's internal webserver. - -# Default port for Python's pydoc server. -@PYDOC_PORT_VARIABLE@="7464" diff --git a/dev-lang/python/files/pydoc.init b/dev-lang/python/files/pydoc.init deleted file mode 100755 index 0d62dfc..0000000 --- a/dev-lang/python/files/pydoc.init +++ /dev/null @@ -1,29 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2011 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public Licence v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/files/pydoc.init,v 1.4 2011/10/27 13:56:55 neurogeek Exp $ - -depend() { - need net -} - -start() { - local pydoc_port="${@PYDOC_PORT_VARIABLE@-${PYDOC_PORT}}" - - if [ -z "${pydoc_port}" ]; then - eerror "Port not set" - return 1 - fi - - ebegin "Starting pydoc server on port ${pydoc_port}" - start-stop-daemon --start --background --make-pidfile \ - --pidfile /var/run/@PYDOC@.pid \ - --exec /usr/bin/@PYDOC@ -- -p "${pydoc_port}" - eend $? -} - -stop() { - ebegin "Stopping pydoc server" - start-stop-daemon --stop --quiet --pidfile /var/run/@PYDOC@.pid - eend $? -} diff --git a/dev-lang/python/files/python-2.4.4-test-cross.patch b/dev-lang/python/files/python-2.4.4-test-cross.patch deleted file mode 100644 index d32cb3f..0000000 --- a/dev-lang/python/files/python-2.4.4-test-cross.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- Python-2.4.4/Lib/test/test_multibytecodec.py.orig 2007-09-10 14:52:34.424592960 -0400 -+++ Python-2.4.4/Lib/test/test_multibytecodec.py 2007-09-10 14:53:30.646201491 -0400 -@@ -81,11 +81,11 @@ class Test_ISO2022(unittest.TestCase): - uni = u':hu4:unit\xe9 de famille' - self.assertEqual(iso2022jp2.decode('iso2022-jp-2'), uni) - -- def test_iso2022_jp_g0(self): -- self.failIf('\x0e' in u'\N{SOFT HYPHEN}'.encode('iso-2022-jp-2')) -- for encoding in ('iso-2022-jp-2004', 'iso-2022-jp-3'): -- e = u'\u3406'.encode(encoding) -- self.failIf(filter(lambda x: x >= '\x80', e)) -+# def test_iso2022_jp_g0(self): -+# self.failIf('\x0e' in u'\N{SOFT HYPHEN}'.encode('iso-2022-jp-2')) -+# for encoding in ('iso-2022-jp-2004', 'iso-2022-jp-3'): -+# e = u'\u3406'.encode(encoding) -+# self.failIf(filter(lambda x: x >= '\x80', e)) - - def test_bug1572832(self): - if sys.maxunicode >= 0x10000: diff --git a/dev-lang/python/files/python-2.5-cross-printf.patch b/dev-lang/python/files/python-2.5-cross-printf.patch deleted file mode 100644 index 9a3eaf7..0000000 --- a/dev-lang/python/files/python-2.5-cross-printf.patch +++ /dev/null @@ -1,34 +0,0 @@ -http://bugs.gentoo.org/239110 - -assume %zd is supported when cross-compiling. any target we care about -supports it, so ... - ---- configure.in -+++ configure.in -@@ -3417,7 +3417,7 @@ - - - --AC_MSG_CHECKING(for %zd printf() format support) -+AC_CACHE_CHECK([for %zd printf() format support], [py_cv_has_zd_printf], [dnl - AC_TRY_RUN([#include <stdio.h> - #include <stddef.h> - #include <string.h> -@@ -3451,10 +3451,13 @@ - return 1; - - return 0; --}], --[AC_MSG_RESULT(yes) -- AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])], -- AC_MSG_RESULT(no)) -+}], [py_cv_has_zd_printf="yes"], -+ [py_cv_has_zd_printf="no"], -+ [py_cv_has_zd_printf="cross -- assuming yes"] -+)]) -+if test "$py_cv_has_zd_printf" != "no" ; then -+ AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t]) -+fi - - AC_CHECK_TYPE(socklen_t,, - AC_DEFINE(socklen_t,int, diff --git a/dev-lang/python/files/python-2.6-chflags-cross.patch b/dev-lang/python/files/python-2.6-chflags-cross.patch deleted file mode 100644 index 9c4b6d2..0000000 --- a/dev-lang/python/files/python-2.6-chflags-cross.patch +++ /dev/null @@ -1,59 +0,0 @@ -if we're cross-compiling, fall back to a link-only test rather than trying -to run a program for the chflags functions - ---- python-2.6/configure.in -+++ python-2.6/configure.in -@@ -2565,7 +2565,7 @@ - - # On Tru64, chflags seems to be present, but calling it will - # exit Python --AC_MSG_CHECKING(for chflags) -+AC_CACHE_CHECK([for chflags], [py_cv_has_chflags], [dnl - AC_TRY_RUN([ - #include <sys/stat.h> - #include <unistd.h> -@@ -2575,12 +2575,18 @@ - return 1; - return 0; - } --],AC_DEFINE(HAVE_CHFLAGS, 1, Define to 1 if you have the `chflags' function.) -- AC_MSG_RESULT(yes), -- AC_MSG_RESULT(no) --) -+], [py_cv_has_chflags="yes"], -+ [py_cv_has_chflags="no"], -+ [py_cv_has_chflags="cross"]) -+]) -+if test "$py_cv_has_chflags" = "cross" ; then -+ AC_CHECK_FUNC([chflags], [py_cv_has_chflags="yes"], [py_cv_has_chflags="no"]) -+fi -+if test "$py_cv_has_chflags" = "yes" ; then -+ AC_DEFINE(HAVE_CHFLAGS, 1, Define to 1 if you have the `chflags' function.) -+fi - --AC_MSG_CHECKING(for lchflags) -+AC_CACHE_CHECK([for lchflags], [py_cv_has_lchflags], [dnl - AC_TRY_RUN([ - #include <sys/stat.h> - #include <unistd.h> -@@ -2590,10 +2596,16 @@ - return 1; - return 0; - } --],AC_DEFINE(HAVE_LCHFLAGS, 1, Define to 1 if you have the `lchflags' function.) -- AC_MSG_RESULT(yes), -- AC_MSG_RESULT(no) --) -+], [py_cv_has_lchflags="yes"], -+ [py_cv_has_lchflags="no"], -+ [py_cv_has_lchflags="cross"]) -+]) -+if test "$py_cv_has_lchflags" = "cross" ; then -+ AC_CHECK_FUNC([lchflags], [py_cv_has_lchflags="yes"], [py_cv_has_lchflags="no"]) -+fi -+if test "$py_cv_has_lchflags" = "yes" ; then -+ AC_DEFINE(HAVE_LCHFLAGS, 1, Define to 1 if you have the `lchflags' function.) -+fi - - dnl Check if system zlib has *Copy() functions - dnl diff --git a/dev-lang/python/files/python-2.6-test-cross.patch b/dev-lang/python/files/python-2.6-test-cross.patch deleted file mode 100644 index 0ff4193..0000000 --- a/dev-lang/python/files/python-2.6-test-cross.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- Lib/test/test_multibytecodec.py.orig 2008-04-19 18:48:59.000000000 +0300 -+++ Lib/test/test_multibytecodec.py 2008-04-19 18:49:44.000000000 +0300 -@@ -212,11 +212,11 @@ - uni = u':hu4:unit\xe9 de famille' - self.assertEqual(iso2022jp2.decode('iso2022-jp-2'), uni) - -- def test_iso2022_jp_g0(self): -- self.failIf('\x0e' in u'\N{SOFT HYPHEN}'.encode('iso-2022-jp-2')) -- for encoding in ('iso-2022-jp-2004', 'iso-2022-jp-3'): -- e = u'\u3406'.encode(encoding) -- self.failIf(filter(lambda x: x >= '\x80', e)) -+ #def test_iso2022_jp_g0(self): -+ # self.failIf('\x0e' in u'\N{SOFT HYPHEN}'.encode('iso-2022-jp-2')) -+ # for encoding in ('iso-2022-jp-2004', 'iso-2022-jp-3'): -+ # e = u'\u3406'.encode(encoding) -+ # self.failIf(filter(lambda x: x >= '\x80', e)) - - def test_bug1572832(self): - if sys.maxunicode >= 0x10000: diff --git a/dev-lang/python/files/python-3.2-argparse.patch b/dev-lang/python/files/python-3.2-argparse.patch deleted file mode 100644 index 12ea03c..0000000 --- a/dev-lang/python/files/python-3.2-argparse.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -ur Python-2.7.2.orig/Lib/test/test_import.py Python-2,7,2/Lib/test/test_import.py ---- Lib/test/test_import.py 2010-12-15 07:06:25.000000000 +0800 -+++ Lib/test/test_import.py 2011-11-11 13:18:42.290846014 +0800 -@@ -4,6 +4,7 @@ - from importlib.test.import_ import util as importlib_util - import marshal - import os -+import platform - import py_compile - import random - import stat -@@ -534,7 +535,9 @@ - - @unittest.skipUnless(os.name == 'posix', - "test meaningful only on posix systems") -- def test_unwritable_directory(self): -+ @unittest.skipIf(platform.system() == 'FreeBSD' and os.geteuid() == 0, -+ "due to non-standard filesystem permission semantics (issue #11956)") -+ def test_unwritable_directory(self): - # When the umask causes the new __pycache__ directory to be - # unwritable, the import still succeeds but no .pyc file is written. - with temp_umask(0o222): - diff --git a/dev-lang/python/files/python-3.2-soname_typo.patch b/dev-lang/python/files/python-3.2-soname_typo.patch deleted file mode 100644 index 357274c..0000000 --- a/dev-lang/python/files/python-3.2-soname_typo.patch +++ /dev/null @@ -1,51 +0,0 @@ -# HG changeset patch -# User Martin v. Löwis <martin@v.loewis.de> -# Date 1304919465 -7200 -# Node ID 749686064642118c5ccc8ad28105472321931353 -# Parent 4f3f67a595fb05f04d89ed906df911b743e47463 -Use --as-needed when linking libpython3.so. Closes #11347. -Patch by Arfrever Frehtes Taifersar Arahesis. - -diff --git a/Makefile.pre.in b/Makefile.pre.in ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -76,6 +76,7 @@ PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIG - # environment variables - PY_CPPFLAGS= -I. -IInclude -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS) - PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS) -+NO_AS_NEEDED= @NO_AS_NEEDED@ - LDLAST= @LDLAST@ - SGI_ABI= @SGI_ABI@ - CCSHARED= @CCSHARED@ -@@ -459,7 +460,7 @@ libpython$(LDVERSION).so: $(LIBRARY_OBJS - fi - - libpython3.so: libpython$(LDVERSION).so -- $(BLDSHARED) -o $@ -Wl,-hl$@ $^ -+ $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^ - - libpython$(LDVERSION).dylib: $(LIBRARY_OBJS) - $(CC) -dynamiclib -Wl,-single_module $(PY_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ -diff --git a/configure.in b/configure.in ---- a/configure.in -+++ b/configure.in -@@ -525,6 +525,18 @@ then - fi - - -+AC_MSG_CHECKING([for -Wl,--no-as-needed]) -+save_LDFLAGS="$LDFLAGS" -+LDFLAGS="$LDFLAGS -Wl,--no-as-needed" -+AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])], -+ [NO_AS_NEEDED="-Wl,--no-as-needed" -+ AC_MSG_RESULT([yes])], -+ [NO_AS_NEEDED="" -+ AC_MSG_RESULT([no])]) -+LDFLAGS="$save_LDFLAGS" -+AC_SUBST(NO_AS_NEEDED) -+ -+ - # checks for UNIX variants that set C preprocessor variables - AC_USE_SYSTEM_EXTENSIONS - - diff --git a/dev-lang/python/files/python-config-2.4-r1 b/dev-lang/python/files/python-config-2.4-r1 deleted file mode 100644 index af45113..0000000 --- a/dev-lang/python/files/python-config-2.4-r1 +++ /dev/null @@ -1,58 +0,0 @@ -#! /usr/bin/python2.4 - -import sys -import os -import getopt -from distutils import sysconfig - -valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', - 'ldflags', 'help'] - -def exit_with_usage(code=1): - print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0], - '|'.join('--'+opt for opt in valid_opts)) - sys.exit(code) - -try: - opts, args = getopt.getopt(sys.argv[1:], '', valid_opts) -except getopt.error: - exit_with_usage() - -if not opts: - #exit_with_usage() - #be compatible with our old python-config-2.4 - import string - print "-lpython2.4 -lm -L/usr/lib/python2.4/config",string.join(string.split(sysconfig.get_config_var("MODLIBS"))) - sys.exit(0) - -opt = opts[0][0] - -pyver = sysconfig.get_config_var('VERSION') -getvar = sysconfig.get_config_var - -if opt == '--help': - exit_with_usage(0) - -elif opt == '--prefix': - print sysconfig.PREFIX - -elif opt == '--exec-prefix': - print sysconfig.EXEC_PREFIX - -elif opt in ('--includes', '--cflags'): - flags = ['-I' + sysconfig.get_python_inc(), - '-I' + sysconfig.get_python_inc(plat_specific=True)] - if opt == '--cflags': - flags.extend(getvar('CFLAGS').split()) - print ' '.join(flags) - -elif opt in ('--libs', '--ldflags'): - libs = getvar('LIBS').split() + getvar('SYSLIBS').split() - libs.append('-lpython'+pyver) - # add the prefix/lib/pythonX.Y/config dir, but only if there is no - # shared library in prefix/lib/. - if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'): - libs.insert(0, '-L' + getvar('LIBPL')) - print ' '.join(libs) - - diff --git a/dev-lang/python/files/xml-use_pyxml.patch b/dev-lang/python/files/xml-use_pyxml.patch deleted file mode 100644 index 133967b..0000000 --- a/dev-lang/python/files/xml-use_pyxml.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -ur Python-2.7.1.orig//Lib/xml/__init__.py Python-2.7.1/Lib/xml/__init__.py ---- Python-2.7.1.orig//Lib/xml/__init__.py 2009-10-09 11:11:36.000000000 +0800 -+++ Python-2.7.1/Lib/xml/__init__.py 2011-11-14 23:36:08.006937770 +0800 -@@ -22,20 +22,22 @@ - _MINIMUM_XMLPLUS_VERSION = (0, 8, 4) - - --try: -+def use_pyxml(): - import _xmlplus --except ImportError: -- pass --else: -- try: -- v = _xmlplus.version_info -- except AttributeError: -- # _xmlplus is too old; ignore it -- pass -- else: -- if v >= _MINIMUM_XMLPLUS_VERSION: -- import sys -- _xmlplus.__path__.extend(__path__) -- sys.modules[__name__] = _xmlplus -- else: -- del v -+ v = _xmlplus.version_info -+ if v >= _MINIMUM_XMLPLUS_VERSION: -+ import sys -+ _xmlplus.__path__.extend(__path__) -+ sys.modules[__name__] = _xmlplus -+ cleared_modules = [] -+ redefined_modules = [] -+ for module in sys.modules: -+ if module.startswith("xml.") and not module.startswith(("xml.marshal", "xml.schema", "xml.utils", "xml.xpath", "xml.xslt")): -+ cleared_modules.append(module) -+ if module.startswith(("xml.__init__", "xml.dom", "xml.parsers", "xml.sax")) and sys.modules[module] is not None: -+ redefined_modules.append(module) -+ for module in cleared_modules: -+ del sys.modules[module] -+ for module in sorted(redefined_modules): -+ __import__(module) -+ raise ImportError("PyXML too old: %s" % ".".join(str(x) for x in v)) diff --git a/dev-lang/python/metadata.xml b/dev-lang/python/metadata.xml deleted file mode 100644 index 51a9e80..0000000 --- a/dev-lang/python/metadata.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> -<herd>python</herd> -<use> - <flag name="threads">Enable threading support. (DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU'RE DOING)</flag> - <flag name="wide-unicode">Enable wide Unicode implementation which uses 4-byte Unicode characters. Switching of this USE flag changes ABI of Python and requires reinstallation of many Python modules. (DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU'RE DOING)</flag> - <flag name="wininst">Install Windows executables required to create an executable installer for MS Windows.</flag> -</use> -</pkgmetadata> diff --git a/dev-lang/python/python-2.6.7-r2.ebuild b/dev-lang/python/python-2.6.7-r2.ebuild deleted file mode 100644 index 9d34822..0000000 --- a/dev-lang/python/python-2.6.7-r2.ebuild +++ /dev/null @@ -1,398 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.6.7-r2.ebuild,v 1.4 2011/10/31 04:02:01 vapier Exp $ - -EAPI="2" -WANT_AUTOMAKE="none" - -inherit autotools eutils flag-o-matic multilib python toolchain-funcs - -if [[ "${PV}" == *_pre* ]]; then - inherit mercurial - - EHG_REPO_URI="http://hg.python.org/cpython" - EHG_REVISION="" -else - MY_PV="${PV%_p*}" - MY_P="Python-${MY_PV}" -fi - -PATCHSET_REVISION="0" - -DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." -HOMEPAGE="http://www.python.org/" -if [[ "${PV}" == *_pre* ]]; then - SRC_URI="" -else - SRC_URI="http://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.bz2 - mirror://gentoo/python-gentoo-patches-${MY_PV}$([[ "${PATCHSET_REVISION}" != "0" ]] && echo "-r${PATCHSET_REVISION}").tar.bz2" -fi - -LICENSE="PSF-2.2" -SLOT="2.6" -PYTHON_ABI="${SLOT}" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" -IUSE="-berkdb build doc elibc_uclibc examples gdbm ipv6 +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" - -RDEPEND=">=app-admin/eselect-python-20091230 - app-arch/bzip2 - >=sys-libs/zlib-1.1.3 - virtual/libffi - virtual/libintl - !build? ( - berkdb? ( || ( - sys-libs/db:4.7 - sys-libs/db:4.6 - sys-libs/db:4.5 - sys-libs/db:4.4 - sys-libs/db:4.3 - sys-libs/db:4.2 - ) ) - gdbm? ( sys-libs/gdbm ) - ncurses? ( - >=sys-libs/ncurses-5.2 - readline? ( >=sys-libs/readline-4.1 ) - ) - sqlite? ( >=dev-db/sqlite-3.3.3:3 ) - ssl? ( dev-libs/openssl ) - tk? ( - >=dev-lang/tk-8.0 - dev-tcltk/blt - ) - xml? ( >=dev-libs/expat-2 ) - ) - !!<sys-apps/portage-2.1.9" -DEPEND="${RDEPEND} - $([[ "${PV}" == *_pre* ]] && echo "=${CATEGORY}/${PN}-${PV%%.*}*") - dev-util/pkgconfig - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] && echo "doc? ( dev-python/sphinx )") - !sys-devel/gcc[libffi]" -RDEPEND+=" !build? ( app-misc/mime-types ) - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] || echo "doc? ( dev-python/python-docs:${SLOT} )")" -PDEPEND="app-admin/python-updater" - -if [[ "${PV}" != *_pre* ]]; then - S="${WORKDIR}/${MY_P}" -fi - -pkg_setup() { - python_pkg_setup - - if use berkdb; then - ewarn "\"bsddb\" module is out-of-date and no longer maintained inside dev-lang/python." - ewarn "\"bsddb\" and \"dbhash\" modules have been additionally removed in Python 3." - ewarn "You should use external, still maintained \"bsddb3\" module provided by dev-python/bsddb3," - ewarn "which supports both Python 2 and Python 3." - else - if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then - ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb] to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]." - ewarn "You might need to migrate your databases." - fi - fi -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat - rm -fr Modules/_ctypes/libffi* - rm -fr Modules/zlib - - if [[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]]; then - if [[ "$(hg branch)" != "default" ]]; then - die "Invalid EHG_REVISION" - fi - fi - - if [[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+_pre ]]; then - if [[ "$(hg branch)" != "${SLOT}" ]]; then - die "Invalid EHG_REVISION" - fi - - if grep -Eq '#define PY_RELEASE_LEVEL[[:space:]]+PY_RELEASE_LEVEL_FINAL' Include/patchlevel.h; then - # Update micro version, release level and version string. - local micro_version="${PV%_pre*}" - micro_version="${micro_version##*.}" - local version_string="${PV%.*}.$((${micro_version} - 1))+" - sed \ - -e "s/\(#define PY_MICRO_VERSION[[:space:]]\+\)[^[:space:]]\+/\1${micro_version}/" \ - -e "s/\(#define PY_RELEASE_LEVEL[[:space:]]\+\)[^[:space:]]\+/\1PY_RELEASE_LEVEL_ALPHA/" \ - -e "s/\(#define PY_VERSION[[:space:]]\+\"\)[^\"]\+\(\"\)/\1${version_string}\2/" \ - -i Include/patchlevel.h || die "sed failed" - fi - fi - - local excluded_patches - if ! tc-is-cross-compiler; then - excluded_patches="*_all_crosscompile.patch" - fi - - local patchset_dir - if [[ "${PV}" == *_pre* ]]; then - patchset_dir="${FILESDIR}/${SLOT}-${PATCHSET_REVISION}" - else - patchset_dir="${WORKDIR}/${MY_PV}" - fi - - EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" epatch "${patchset_dir}" - - 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 "sed failed to replace @@GENTOO_LIBDIR@@" - - # Linux-3 compat. Bug #374579 (upstream issue12571) - cp -r "${S}/Lib/plat-linux2" "${S}/Lib/plat-linux3" || die - - # wrt Bug 376743 - epatch "${FILESDIR}/${PN}-${PV}"-argparse.patch || die - - eautoreconf - - # Fix to Bug 356019 - epatch "${FILESDIR}"/xml-use_pyxml.patch -} - -src_configure() { - if use build; then - # Disable extraneous modules with extra dependencies. - export PYTHON_DISABLE_MODULES="dbm _bsddb gdbm _curses _curses_panel readline _sqlite3 _tkinter _elementtree pyexpat" - export PYTHON_DISABLE_SSL="1" - else - # dbm module can be linked against berkdb or gdbm. - # Defaults to gdbm when both are enabled, #204343. - local disable - use berkdb || use gdbm || disable+=" dbm" - use berkdb || disable+=" _bsddb" - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - fi - - # Test FEATURES settings for argparse test failure, Bug 376745 - if [ ! has usersandbox && ! has userpriv ] $FEATURES; then - einfo "Both usersandbox && userpriv are not set, test argparse will fail" \ - "to test, run the test suite as user" - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - [[ "${ARCH}" == "alpha" ]] && append-flags -fPIC - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - if tc-is-cross-compiler; then - OPT="-O1" CFLAGS="" LDFLAGS="" CC="" \ - ./configure --{build,host}=${CBUILD} || 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 "sed failed" - fi - - # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. - tc-export CXX - - # Set LDFLAGS so we link modules with -lpython2.6 correctly. - # Needed on FreeBSD unless Python 2.6 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - OPT="" econf \ - --with-fpectl \ - --enable-shared \ - $(use_enable ipv6) \ - $(use_with threads) \ - $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") \ - --infodir='${prefix}/share/info' \ - --mandir='${prefix}/share/man' \ - --with-libc="" \ - --with-system-ffi -} - -src_compile() { - emake EPYTHON="python${PV%%.*}" || die "emake failed" -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Byte compiling should be enabled here. - # Otherwise test_import fails. - python_enable_pyc - - # Skip failing tests. - local skipped_tests="distutils tcl" - - for test in ${skipped_tests}; do - mv "${S}/Lib/test/test_${test}.py" "${T}" - done - - # Rerun failed tests in verbose mode (regrtest -w). - emake test EXTRATESTOPTS="-w" < /dev/tty - local result="$?" - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}/Lib/test/test_${test}.py" - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}$(python_get_libdir)/test'" - elog "and run the tests separately." - - python_disable_pyc - - if [[ "${result}" -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - [[ -z "${ED}" ]] && ED="${D%/}${EPREFIX}/" - - emake DESTDIR="${D}" altinstall maninstall || die "emake altinstall maninstall failed" - python_clean_installation_image -q - - mv "${ED}usr/bin/python${SLOT}-config" "${ED}usr/bin/python-config-${SLOT}" - - # Fix collisions between different slots of Python. - mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}" - mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}" - mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}" - mv "${ED}usr/share/man/man1/python.1" "${ED}usr/share/man/man1/python${SLOT}.1" - rm -f "${ED}usr/bin/smtpd.py" - - if use build; then - rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{bsddb,dbhash.py,idlelib,lib-tk,sqlite3,test} - else - use elibc_uclibc && rm -fr "${ED}$(python_get_libdir)/"{bsddb/test,test} - use berkdb || rm -fr "${ED}$(python_get_libdir)/"{bsddb,dbhash.py,test/test_bsddb*} - use sqlite || rm -fr "${ED}$(python_get_libdir)/"{sqlite3,test/test_sqlite*} - use tk || rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{idlelib,lib-tk} - fi - - use threads || rm -fr "${ED}$(python_get_libdir)/multiprocessing" - use wininst || rm -f "${ED}$(python_get_libdir)/distutils/command/"wininst-*.exe - - dodoc Misc/{ACKS,HISTORY,NEWS} || die "dodoc failed" - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins -r "${S}/Tools" || die "doins failed" - fi - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT} || die "newconfd failed" - newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} || die "newinitd failed" - - if use kernel_linux; then - if [ -d "${ED}$(python_get_libdir)/plat-linux2" ];then - cp -r "${ED}$(python_get_libdir)/plat-linux2" \ - "${ED}$(python_get_libdir)/plat-linux3" || die "copy plat-linux failed" - else - cp -r "${ED}$(python_get_libdir)/plat-linux3" \ - "${ED}$(python_get_libdir)/plat-linux2" || die "copy plat-linux failed" - fi - fi - - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${SLOT}:" \ - -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed" - - # Do not install empty directory. - rmdir "${ED}$(python_get_libdir)/lib-old" -} - -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version "${CATEGORY}/${PN}:2.6" && ! has_version "${CATEGORY}/${PN}:2.7"; then - python_updater_warning="1" - fi -} - -eselect_python_update() { - [[ -z "${EROOT}" || (! -d "${EROOT}" && -d "${ROOT}") ]] && EROOT="${ROOT%/}${EPREFIX}/" - - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update - - python_mod_optimize -f -x "/(site-packages|test|tests)/" $(python_get_libdir) - - if [[ "${python_updater_warning}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of Python." - ewarn "You should switch active version of Python ${PV%%.*} and run" - ewarn "'python-updater \${options}' to rebuild Python modules." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - - local n - for ((n = 0; n < 12; n++)); do - echo -ne "\a" - sleep 1 - done - fi - - if [[ "${PV}" != *_pre* ]]; then - elog - elog "If you want to help in testing of recent changes in Python, then you can use" - elog "snapshots of Python from python overlay." - elog - fi -} - -pkg_postrm() { - eselect_python_update - - python_mod_cleanup $(python_get_libdir) -} diff --git a/dev-lang/python/python-2.7.1-r1.ebuild b/dev-lang/python/python-2.7.1-r1.ebuild deleted file mode 100644 index 95184a6..0000000 --- a/dev-lang/python/python-2.7.1-r1.ebuild +++ /dev/null @@ -1,366 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.7.1-r1.ebuild,v 1.13 2011/10/27 13:56:55 neurogeek Exp $ - -EAPI="2" -WANT_AUTOMAKE="none" - -inherit autotools eutils flag-o-matic multilib python toolchain-funcs - -if [[ "${PV}" == *_pre* ]]; then - inherit subversion - - ESVN_PROJECT="python" - ESVN_REPO_URI="http://svn.python.org/projects/python/branches/release27-maint" - ESVN_REVISION="" -else - MY_PV="${PV%_p*}" - MY_P="Python-${MY_PV}" -fi - -PATCHSET_REVISION="1" - -DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." -HOMEPAGE="http://www.python.org/" -if [[ "${PV}" == *_pre* ]]; then - SRC_URI="" -else - SRC_URI="http://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.bz2 - mirror://gentoo/python-gentoo-patches-${MY_PV}$([[ "${PATCHSET_REVISION}" != "0" ]] && echo "-r${PATCHSET_REVISION}").tar.bz2" -fi - -LICENSE="PSF-2.2" -SLOT="2.7" -PYTHON_ABI="${SLOT}" -KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" -IUSE="-berkdb build doc elibc_uclibc examples gdbm ipv6 +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" - -RDEPEND=">=app-admin/eselect-python-20091230 - >=sys-libs/zlib-1.1.3 - virtual/libffi - virtual/libintl - !build? ( - berkdb? ( || ( - sys-libs/db:4.8 - sys-libs/db:4.7 - sys-libs/db:4.6 - sys-libs/db:4.5 - sys-libs/db:4.4 - sys-libs/db:4.3 - sys-libs/db:4.2 - ) ) - gdbm? ( sys-libs/gdbm ) - ncurses? ( - >=sys-libs/ncurses-5.2 - readline? ( >=sys-libs/readline-4.1 ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3[extensions] ) - ssl? ( dev-libs/openssl ) - tk? ( >=dev-lang/tk-8.0 ) - xml? ( >=dev-libs/expat-2 ) - ) - !!<sys-apps/portage-2.1.9" -DEPEND="${RDEPEND} - $([[ "${PV}" == *_pre* ]] && echo "=${CATEGORY}/${PN}-${PV%%.*}*") - dev-util/pkgconfig - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] && echo "doc? ( dev-python/sphinx )") - !sys-devel/gcc[libffi]" -RDEPEND+=" !build? ( app-misc/mime-types ) - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] || echo "doc? ( dev-python/python-docs:${SLOT} )")" -PDEPEND="app-admin/python-updater" - -if [[ "${PV}" != *_pre* ]]; then - S="${WORKDIR}/${MY_P}" -fi - -pkg_setup() { - python_pkg_setup - - if use berkdb; then - ewarn "\"bsddb\" module is out-of-date and no longer maintained inside dev-lang/python. It has" - ewarn "been additionally removed in Python 3. You should use external, still maintained \"bsddb3\"" - ewarn "module provided by dev-python/bsddb3 which supports both Python 2 and Python 3." - fi -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat - rm -fr Modules/_ctypes/libffi* - rm -fr Modules/zlib - - if [[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+_pre ]]; then - if grep -Eq '#define PY_RELEASE_LEVEL[[:space:]]+PY_RELEASE_LEVEL_FINAL' Include/patchlevel.h; then - # Update micro version, release level and version string. - local micro_version="${PV%_pre*}" - micro_version="${micro_version##*.}" - local version_string="${PV%.*}.$((${micro_version} - 1))+" - sed \ - -e "s/\(#define PY_MICRO_VERSION[[:space:]]\+\)[^[:space:]]\+/\1${micro_version}/" \ - -e "s/\(#define PY_RELEASE_LEVEL[[:space:]]\+\)[^[:space:]]\+/\1PY_RELEASE_LEVEL_ALPHA/" \ - -e "s/\(#define PY_VERSION[[:space:]]\+\"\)[^\"]\+\(\"\)/\1${version_string}\2/" \ - -i Include/patchlevel.h || die "sed failed" - fi - fi - - local excluded_patches - if ! tc-is-cross-compiler; then - excluded_patches="*_all_crosscompile.patch" - fi - - local patchset_dir - if [[ "${PV}" == *_pre* ]]; then - patchset_dir="${FILESDIR}/${SLOT}-${PATCHSET_REVISION}" - else - patchset_dir="${WORKDIR}/${MY_PV}" - fi - - EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" epatch "${patchset_dir}" - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/Setup.dist \ - Modules/getpath.c \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - if ! use wininst; then - # Remove Microsoft Windows executables. - rm Lib/distutils/command/wininst-*.exe - fi - - # Support versions of Autoconf other than 2.65. - sed -e "/version_required(2\.65)/d" -i configure.in || die "sed failed" - - if [[ "${PV}" == *_pre* ]]; then - sed -e "s/\(-DSVNVERSION=\).*\( -o\)/\1\\\\\"${ESVN_REVISION}\\\\\"\2/" -i Makefile.pre.in || die "sed failed" - fi - - eautoreconf -} - -src_configure() { - if use build; then - # Disable extraneous modules with extra dependencies. - export PYTHON_DISABLE_MODULES="dbm _bsddb gdbm _curses _curses_panel readline _sqlite3 _tkinter _elementtree pyexpat" - export PYTHON_DISABLE_SSL="1" - else - # dbm module can be linked against berkdb or gdbm. - # Defaults to gdbm when both are enabled, #204343. - local disable - use berkdb || use gdbm || disable+=" dbm" - use berkdb || disable+=" _bsddb" - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - [[ "${ARCH}" == "alpha" ]] && append-flags -fPIC - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - if tc-is-cross-compiler; then - OPT="-O1" CFLAGS="" LDFLAGS="" CC="" \ - ./configure --{build,host}=${CBUILD} || 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 "sed failed" - fi - - # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. - tc-export CXX - - # Set LDFLAGS so we link modules with -lpython2.7 correctly. - # Needed on FreeBSD unless Python 2.7 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - if use berkdb; then - dbmliborder+="${dbmliborder:+:}bdb" - fi - - OPT="" econf \ - --with-fpectl \ - --enable-shared \ - $(use_enable ipv6) \ - $(use_with threads) \ - $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") \ - --infodir='${prefix}/share/info' \ - --mandir='${prefix}/share/man' \ - --with-dbmliborder="${dbmliborder}" \ - --with-libc="" \ - --enable-loadable-sqlite-extensions \ - --with-system-expat \ - --with-system-ffi -} - -src_compile() { - emake EPYTHON="python${PV%%.*}" || die "emake failed" -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Byte compiling should be enabled here. - # Otherwise test_import fails. - python_enable_pyc - - # Skip failing tests. - local skip_tests="distutils gdb minidom pyexpat sax" - - for test in ${skip_tests}; do - mv "${S}/Lib/test/test_${test}.py" "${T}" - done - - # Rerun failed tests in verbose mode (regrtest -w). - emake test EXTRATESTOPTS="-w" < /dev/tty - local result="$?" - - for test in ${skip_tests}; do - mv "${T}/test_${test}.py" "${S}/Lib/test/test_${test}.py" - done - - elog "The following tests have been skipped:" - for test in ${skip_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}$(python_get_libdir)/test'" - elog "and run the tests separately." - - python_disable_pyc - - if [[ "${result}" -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - [[ -z "${ED}" ]] && ED="${D%/}${EPREFIX}/" - - emake DESTDIR="${D}" altinstall maninstall || die "emake altinstall maninstall failed" - python_clean_installation_image -q - - sed -e "s/\(LDFLAGS=\).*/\1/" -i "${ED}$(python_get_libdir)/config/Makefile" || die "sed failed" - - mv "${ED}usr/bin/python${SLOT}-config" "${ED}usr/bin/python-config-${SLOT}" - - # Fix collisions between different slots of Python. - mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}" - mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}" - mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}" - rm -f "${ED}usr/bin/smtpd.py" - - if use build; then - rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{bsddb,idlelib,lib-tk,sqlite3,test} - else - use elibc_uclibc && rm -fr "${ED}$(python_get_libdir)/"{bsddb/test,test} - use berkdb || rm -fr "${ED}$(python_get_libdir)/"{bsddb,test/test_bsddb*} - use sqlite || rm -fr "${ED}$(python_get_libdir)/"{sqlite3,test/test_sqlite*} - use tk || rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{idlelib,lib-tk} - fi - - use threads || rm -fr "${ED}$(python_get_libdir)/multiprocessing" - - dodoc Misc/{ACKS,HISTORY,NEWS} || die "dodoc failed" - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins -r "${S}/Tools" || die "doins failed" - fi - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT} || die "newconfd failed" - newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} || die "newinitd failed" - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${SLOT}:" \ - -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed" - - # Do not install empty directory. - rmdir "${ED}$(python_get_libdir)/lib-old" -} - -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version "${CATEGORY}/${PN}:2.7"; then - python_updater_warning="1" - fi -} - -eselect_python_update() { - [[ -z "${EROOT}" || (! -d "${EROOT}" && -d "${ROOT}") ]] && EROOT="${ROOT%/}${EPREFIX}/" - - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update - - python_mod_optimize -f -x "/(site-packages|test|tests)/" $(python_get_libdir) - - if [[ "${python_updater_warning}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of Python." - ewarn "You should run 'python-updater \${options}' to rebuild Python modules." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ebeep 12 - fi -} - -pkg_postrm() { - eselect_python_update - - python_mod_cleanup $(python_get_libdir) -} diff --git a/dev-lang/python/python-2.7.2-r2.ebuild b/dev-lang/python/python-2.7.2-r2.ebuild deleted file mode 100644 index 0beaf97..0000000 --- a/dev-lang/python/python-2.7.2-r2.ebuild +++ /dev/null @@ -1,409 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.7.2-r2.ebuild,v 1.5 2011/10/31 04:02:01 vapier Exp $ - -EAPI="2" -WANT_AUTOMAKE="none" - -inherit autotools eutils flag-o-matic multilib python toolchain-funcs - -if [[ "${PV}" == *_pre* ]]; then - inherit mercurial - - EHG_REPO_URI="http://hg.python.org/cpython" - EHG_REVISION="" -else - MY_PV="${PV%_p*}" - MY_P="Python-${MY_PV}" -fi - -PATCHSET_REVISION="0" - -DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." -HOMEPAGE="http://www.python.org/" -if [[ "${PV}" == *_pre* ]]; then - SRC_URI="" -else - SRC_URI="http://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.bz2 - mirror://gentoo/python-gentoo-patches-${MY_PV}$([[ "${PATCHSET_REVISION}" != "0" ]] && echo "-r${PATCHSET_REVISION}").tar.bz2" -fi - -LICENSE="PSF-2" -SLOT="2.7" -PYTHON_ABI="${SLOT}" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" -IUSE="-berkdb build doc elibc_uclibc examples gdbm ipv6 +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" - -RDEPEND=">=app-admin/eselect-python-20091230 - app-arch/bzip2 - >=sys-libs/zlib-1.1.3 - virtual/libffi - virtual/libintl - !build? ( - berkdb? ( || ( - sys-libs/db:4.8 - sys-libs/db:4.7 - sys-libs/db:4.6 - sys-libs/db:4.5 - sys-libs/db:4.4 - sys-libs/db:4.3 - sys-libs/db:4.2 - ) ) - gdbm? ( sys-libs/gdbm ) - ncurses? ( - >=sys-libs/ncurses-5.2 - readline? ( >=sys-libs/readline-4.1 ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3[extensions] ) - ssl? ( dev-libs/openssl ) - tk? ( - >=dev-lang/tk-8.0 - dev-tcltk/blt - ) - xml? ( >=dev-libs/expat-2 ) - ) - !!<sys-apps/portage-2.1.9" -DEPEND=">=sys-devel/autoconf-2.65 - ${RDEPEND} - $([[ "${PV}" == *_pre* ]] && echo "=${CATEGORY}/${PN}-${PV%%.*}*") - dev-util/pkgconfig - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] && echo "doc? ( dev-python/sphinx )") - !sys-devel/gcc[libffi]" -RDEPEND+=" !build? ( app-misc/mime-types ) - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] || echo "doc? ( dev-python/python-docs:${SLOT} )")" -PDEPEND="app-admin/python-updater" - -if [[ "${PV}" != *_pre* ]]; then - S="${WORKDIR}/${MY_P}" -fi - -pkg_setup() { - python_pkg_setup - - if use berkdb; then - ewarn "\"bsddb\" module is out-of-date and no longer maintained inside dev-lang/python." - ewarn "\"bsddb\" and \"dbhash\" modules have been additionally removed in Python 3." - ewarn "You should use external, still maintained \"bsddb3\" module provided by dev-python/bsddb3," - ewarn "which supports both Python 2 and Python 3." - else - if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then - ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb] to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]." - ewarn "You might need to migrate your databases." - fi - fi -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat - rm -fr Modules/_ctypes/libffi* - rm -fr Modules/zlib - - if [[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]]; then - if [[ "$(hg branch)" != "default" ]]; then - die "Invalid EHG_REVISION" - fi - fi - - if [[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+_pre ]]; then - if [[ "$(hg branch)" != "${SLOT}" ]]; then - die "Invalid EHG_REVISION" - fi - - if grep -Eq '#define PY_RELEASE_LEVEL[[:space:]]+PY_RELEASE_LEVEL_FINAL' Include/patchlevel.h; then - # Update micro version, release level and version string. - local micro_version="${PV%_pre*}" - micro_version="${micro_version##*.}" - local version_string="${PV%.*}.$((${micro_version} - 1))+" - sed \ - -e "s/\(#define PY_MICRO_VERSION[[:space:]]\+\)[^[:space:]]\+/\1${micro_version}/" \ - -e "s/\(#define PY_RELEASE_LEVEL[[:space:]]\+\)[^[:space:]]\+/\1PY_RELEASE_LEVEL_ALPHA/" \ - -e "s/\(#define PY_VERSION[[:space:]]\+\"\)[^\"]\+\(\"\)/\1${version_string}\2/" \ - -i Include/patchlevel.h || die "sed failed" - fi - fi - - local excluded_patches - if ! tc-is-cross-compiler; then - excluded_patches="*_all_crosscompile.patch" - fi - - local patchset_dir - if [[ "${PV}" == *_pre* ]]; then - patchset_dir="${FILESDIR}/${SLOT}-${PATCHSET_REVISION}" - else - patchset_dir="${WORKDIR}/${MY_PV}" - fi - - EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" epatch "${patchset_dir}" - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/Setup.dist \ - Modules/getpath.c \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - # Linux-3 compat. Bug #374579 (upstream issue12571) - cp -r "${S}/Lib/plat-linux2" "${S}/Lib/plat-linux3" || die - - # Fix to Bug 356019 - epatch "${FILESDIR}"/xml-use_pyxml.patch - - eautoreconf -} -#${PN}-${PV}"-argparse.patch || die - -src_configure() { - if use build; then - # Disable extraneous modules with extra dependencies. - export PYTHON_DISABLE_MODULES="dbm _bsddb gdbm _curses _curses_panel readline _sqlite3 _tkinter _elementtree pyexpat" - export PYTHON_DISABLE_SSL="1" - else - # dbm module can be linked against berkdb or gdbm. - # Defaults to gdbm when both are enabled, #204343. - local disable - use berkdb || use gdbm || disable+=" dbm" - use berkdb || disable+=" _bsddb" - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - fi - - # Test FEATURES settings for argparse test failure, Bug 376745 - if [ ! has usersandbox && ! has userpriv ] $FEATURES; then - einfo "Both usersandbox && userpriv are not set, test argparse will fail" \ - "to test, run the test suite as user" - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - [[ "${ARCH}" == "alpha" ]] && append-flags -fPIC - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - if tc-is-cross-compiler; then - OPT="-O1" CFLAGS="" LDFLAGS="" CC="" \ - ./configure --{build,host}=${CBUILD} || 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 "sed failed" - fi - - # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. - tc-export CXX - - # Set LDFLAGS so we link modules with -lpython2.7 correctly. - # Needed on FreeBSD unless Python 2.7 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - if use berkdb; then - dbmliborder+="${dbmliborder:+:}bdb" - fi - - OPT="" econf \ - --with-fpectl \ - --enable-shared \ - $(use_enable ipv6) \ - $(use_with threads) \ - $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") \ - --infodir='${prefix}/share/info' \ - --mandir='${prefix}/share/man' \ - --with-dbmliborder="${dbmliborder}" \ - --with-libc="" \ - --enable-loadable-sqlite-extensions \ - --with-system-expat \ - --with-system-ffi -} - -src_compile() { - emake EPYTHON="python${PV%%.*}" || die "emake failed" -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Byte compiling should be enabled here. - # Otherwise test_import fails. - python_enable_pyc - - # Skip failing tests. - local skipped_tests="distutils gdb" - - for test in ${skipped_tests}; do - mv "${S}/Lib/test/test_${test}.py" "${T}" - done - - # Rerun failed tests in verbose mode (regrtest -w). - emake test EXTRATESTOPTS="-w" < /dev/tty - local result="$?" - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}/Lib/test/test_${test}.py" - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}$(python_get_libdir)/test'" - elog "and run the tests separately." - - python_disable_pyc - - if [[ "${result}" -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - [[ -z "${ED}" ]] && ED="${D%/}${EPREFIX}/" - - emake DESTDIR="${D}" altinstall maninstall || die "emake altinstall maninstall failed" - python_clean_installation_image -q - - sed -e "s/\(LDFLAGS=\).*/\1/" -i "${ED}$(python_get_libdir)/config/Makefile" || die "sed failed" - - mv "${ED}usr/bin/python${SLOT}-config" "${ED}usr/bin/python-config-${SLOT}" - - # Fix collisions between different slots of Python. - mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}" - mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}" - mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}" - rm -f "${ED}usr/bin/smtpd.py" - - if use build; then - rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{bsddb,dbhash.py,idlelib,lib-tk,sqlite3,test} - else - use elibc_uclibc && rm -fr "${ED}$(python_get_libdir)/"{bsddb/test,test} - use berkdb || rm -fr "${ED}$(python_get_libdir)/"{bsddb,dbhash.py,test/test_bsddb*} - use sqlite || rm -fr "${ED}$(python_get_libdir)/"{sqlite3,test/test_sqlite*} - use tk || rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{idlelib,lib-tk} - fi - - use threads || rm -fr "${ED}$(python_get_libdir)/multiprocessing" - use wininst || rm -f "${ED}$(python_get_libdir)/distutils/command/"wininst-*.exe - - dodoc Misc/{ACKS,HISTORY,NEWS} || die "dodoc failed" - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins -r "${S}/Tools" || die "doins failed" - fi - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT} || die "newconfd failed" - newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} || die "newinitd failed" - - if use kernel_linux; then - if [ -d "${ED}$(python_get_libdir)/plat-linux2" ];then - cp -r "${ED}$(python_get_libdir)/plat-linux2" \ - "${ED}$(python_get_libdir)/plat-linux3" || die "copy plat-linux failed" - else - cp -r "${ED}$(python_get_libdir)/plat-linux3" \ - "${ED}$(python_get_libdir)/plat-linux2" || die "copy plat-linux failed" - fi - fi - - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${SLOT}:" \ - -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed" -} - -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version "${CATEGORY}/${PN}:2.7"; then - python_updater_warning="1" - fi -} - -eselect_python_update() { - [[ -z "${EROOT}" || (! -d "${EROOT}" && -d "${ROOT}") ]] && EROOT="${ROOT%/}${EPREFIX}/" - - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update - - python_mod_optimize -f -x "/(site-packages|test|tests)/" $(python_get_libdir) - - if [[ "${python_updater_warning}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of Python." - ewarn "You should switch active version of Python ${PV%%.*} and run" - ewarn "'python-updater \${options}' to rebuild Python modules." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - - local n - for ((n = 0; n < 12; n++)); do - echo -ne "\a" - sleep 1 - done - fi - - if [[ "${PV}" != *_pre* ]]; then - elog - elog "If you want to help in testing of recent changes in Python, then you can use" - elog "snapshots of Python from python overlay." - elog - fi -} - -pkg_postrm() { - eselect_python_update - - python_mod_cleanup $(python_get_libdir) -} diff --git a/dev-lang/python/python-3.1.3-r1.ebuild b/dev-lang/python/python-3.1.3-r1.ebuild deleted file mode 100644 index 7d50ca8..0000000 --- a/dev-lang/python/python-3.1.3-r1.ebuild +++ /dev/null @@ -1,340 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-3.1.3-r1.ebuild,v 1.10 2011/10/27 13:56:55 neurogeek Exp $ - -EAPI="3" -WANT_AUTOMAKE="none" - -inherit autotools eutils flag-o-matic multilib python toolchain-funcs - -if [[ "${PV}" == *_pre* ]]; then - inherit subversion - - ESVN_PROJECT="python" - ESVN_REPO_URI="http://svn.python.org/projects/python/branches/release31-maint" - ESVN_REVISION="" -else - MY_PV="${PV%_p*}" - MY_P="Python-${MY_PV}" -fi - -PATCHSET_REVISION="1" - -DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." -HOMEPAGE="http://www.python.org/" -if [[ "${PV}" == *_pre* ]]; then - SRC_URI="" -else - SRC_URI="http://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.bz2 - mirror://gentoo/python-gentoo-patches-${MY_PV}$([[ "${PATCHSET_REVISION}" != "0" ]] && echo "-r${PATCHSET_REVISION}").tar.bz2" -fi - -LICENSE="PSF-2" -SLOT="3.1" -PYTHON_ABI="${SLOT}" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd" -IUSE="build doc elibc_uclibc examples gdbm ipv6 +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" - -RDEPEND=">=app-admin/eselect-python-20091230 - >=sys-libs/zlib-1.1.3 - virtual/libffi - virtual/libintl - !build? ( - gdbm? ( sys-libs/gdbm ) - ncurses? ( - >=sys-libs/ncurses-5.2 - readline? ( >=sys-libs/readline-4.1 ) - ) - sqlite? ( >=dev-db/sqlite-3.3.3:3 ) - ssl? ( dev-libs/openssl ) - tk? ( >=dev-lang/tk-8.0 ) - xml? ( >=dev-libs/expat-2 ) - )" -DEPEND="${RDEPEND} - $([[ "${PV}" == *_pre* ]] && echo "=${CATEGORY}/${PN}-${PV%%.*}*") - dev-util/pkgconfig - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] && echo "doc? ( dev-python/sphinx )") - !sys-devel/gcc[libffi]" -RDEPEND+=" !build? ( app-misc/mime-types ) - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] || echo "doc? ( dev-python/python-docs:${SLOT} )")" -PDEPEND="app-admin/python-updater" - -if [[ "${PV}" != *_pre* ]]; then - S="${WORKDIR}/${MY_P}" -fi - -pkg_setup() { - python_pkg_setup -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat - rm -fr Modules/_ctypes/libffi* - rm -fr Modules/zlib - - if [[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+_pre ]]; then - if grep -Eq '#define PY_RELEASE_LEVEL[[:space:]]+PY_RELEASE_LEVEL_FINAL' Include/patchlevel.h; then - # Update micro version, release level and version string. - local micro_version="${PV%_pre*}" - micro_version="${micro_version##*.}" - local version_string="${PV%.*}.$((${micro_version} - 1))+" - sed \ - -e "s/\(#define PY_MICRO_VERSION[[:space:]]\+\)[^[:space:]]\+/\1${micro_version}/" \ - -e "s/\(#define PY_RELEASE_LEVEL[[:space:]]\+\)[^[:space:]]\+/\1PY_RELEASE_LEVEL_ALPHA/" \ - -e "s/\(#define PY_VERSION[[:space:]]\+\"\)[^\"]\+\(\"\)/\1${version_string}\2/" \ - -i Include/patchlevel.h || die "sed failed" - fi - fi - - local excluded_patches - if ! tc-is-cross-compiler; then - excluded_patches="*_all_crosscompile.patch" - fi - - local patchset_dir - if [[ "${PV}" == *_pre* ]]; then - patchset_dir="${FILESDIR}/${SLOT}-${PATCHSET_REVISION}" - else - patchset_dir="${WORKDIR}/${MY_PV}" - fi - - EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" epatch "${patchset_dir}" - - 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 "sed failed to replace @@GENTOO_LIBDIR@@" - - if ! use wininst; then - # Remove Microsoft Windows executables. - rm Lib/distutils/command/wininst-*.exe - fi - - if [[ "${PV}" == *_pre* ]]; then - sed -e "s/\(-DSVNVERSION=\).*\( -o\)/\1\\\\\"${ESVN_REVISION}\\\\\"\2/" -i Makefile.pre.in || die "sed failed" - fi - - sed -e s':^#ifndef HAVE_ADDRINFO:#ifndef HAVE_ADDRINFO\n#define HAVE_ADDRINFO 1:' \ - -i Modules/addrinfo.h || die - - eautoreconf -} - -src_configure() { - if use build; then - # Disable extraneous modules with extra dependencies. - export PYTHON_DISABLE_MODULES="gdbm _curses _curses_panel readline _sqlite3 _tkinter _elementtree pyexpat" - export PYTHON_DISABLE_SSL="1" - else - local disable - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - [[ "${ARCH}" == "alpha" ]] && append-flags -fPIC - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - if tc-is-cross-compiler; then - OPT="-O1" CFLAGS="" LDFLAGS="" CC="" \ - ./configure --{build,host}=${CBUILD} || 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 "sed failed" - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # Set LDFLAGS so we link modules with -lpython3.1 correctly. - # Needed on FreeBSD unless Python 3.1 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - OPT="" econf \ - --with-fpectl \ - --enable-shared \ - $(use_enable ipv6) \ - $(use_with threads) \ - $(use_with wide-unicode) \ - --infodir='${prefix}/share/info' \ - --mandir='${prefix}/share/man' \ - --with-computed-gotos \ - --with-dbmliborder="${dbmliborder}" \ - --with-libc="" \ - --with-system-ffi -} - -src_compile() { - emake EPYTHON="python${PV%%.*}" || die "emake failed" -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - if ! use threads; then - ewarn "Disabling tests due to USE=\"-threads\"" - return - fi - - # Byte compiling should be enabled here. - # Otherwise test_import fails. - python_enable_pyc - - # Skip failing tests. - local skip_tests="distutils" - - for test in ${skip_tests}; do - mv "${S}/Lib/test/test_${test}.py" "${T}" - done - - # Rerun failed tests in verbose mode (regrtest -w). - emake test EXTRATESTOPTS="-w" < /dev/tty - local result="$?" - - for test in ${skip_tests}; do - mv "${T}/test_${test}.py" "${S}/Lib/test/test_${test}.py" - done - - elog "The following tests have been skipped:" - for test in ${skip_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}$(python_get_libdir)/test'" - elog "and run the tests separately." - - python_disable_pyc - - if [[ "${result}" -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - emake DESTDIR="${D}" altinstall || die "emake altinstall failed" - python_clean_installation_image -q - - mv "${ED}usr/bin/python${SLOT}-config" "${ED}usr/bin/python-config-${SLOT}" - - # Fix collisions between different slots of Python. - mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}" - mv "${ED}usr/bin/pydoc3" "${ED}usr/bin/pydoc${SLOT}" - mv "${ED}usr/bin/idle3" "${ED}usr/bin/idle${SLOT}" - rm -f "${ED}usr/bin/smtpd.py" - - if use build; then - rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{idlelib,sqlite3,test,tkinter} - else - use elibc_uclibc && rm -fr "${ED}$(python_get_libdir)/test" - use sqlite || rm -fr "${ED}$(python_get_libdir)/"{sqlite3,test/test_sqlite*} - use tk || rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{idlelib,tkinter,test/test_tk*} - fi - - use threads || rm -fr "${ED}$(python_get_libdir)/multiprocessing" - - dodoc Misc/{ACKS,HISTORY,NEWS} || die "dodoc failed" - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins -r "${S}/Tools" || die "doins failed" - fi - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT} || die "newconfd failed" - newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} || die "newinitd failed" - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${SLOT}:" \ - -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed" -} - -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version ">=${CATEGORY}/${PN}-${SLOT}_alpha"; then - python_updater_warning="1" - fi -} - -eselect_python_update() { - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update - - python_mod_optimize -f -x "/(site-packages|test|tests)/" $(python_get_libdir) - - if [[ "${python_updater_warning}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of Python." - ewarn "You should run 'python-updater \${options}' to rebuild Python modules." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - - local n - for ((n = 0; n < 12; n++)); do - echo -ne "\a" - sleep 1 - done - fi -} - -pkg_postrm() { - eselect_python_update - - python_mod_cleanup $(python_get_libdir) -} diff --git a/dev-lang/python/python-3.2-r2.ebuild b/dev-lang/python/python-3.2-r2.ebuild deleted file mode 100644 index 23ca7f9..0000000 --- a/dev-lang/python/python-3.2-r2.ebuild +++ /dev/null @@ -1,372 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-3.2-r2.ebuild,v 1.6 2011/10/31 04:02:01 vapier Exp $ - -EAPI="3" -WANT_AUTOMAKE="none" - -inherit autotools eutils flag-o-matic multilib python toolchain-funcs - -if [[ "${PV}" == *_pre* ]]; then - inherit subversion - - ESVN_PROJECT="python" - ESVN_REPO_URI="http://svn.python.org/projects/python/branches/release32-maint" - ESVN_REVISION="" -else - MY_PV="${PV%_p*}" - MY_P="Python-${MY_PV}" -fi - -PATCHSET_REVISION="0" - -DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." -HOMEPAGE="http://www.python.org/" -if [[ "${PV}" == *_pre* ]]; then - SRC_URI="" -else - SRC_URI="http://www.python.org/ftp/python/${MY_PV}/${MY_P}.tar.xz - mirror://gentoo/python-gentoo-patches-${MY_PV}$([[ "${PATCHSET_REVISION}" != "0" ]] && echo "-r${PATCHSET_REVISION}").tar.bz2" -fi - -LICENSE="PSF-2" -SLOT="3.2" -PYTHON_ABI="${SLOT}" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" -IUSE="build doc elibc_uclibc examples gdbm ipv6 +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" - -RDEPEND=">=app-admin/eselect-python-20091230 - >=sys-libs/zlib-1.1.3 - virtual/libffi - virtual/libintl - !build? ( - gdbm? ( sys-libs/gdbm ) - ncurses? ( - >=sys-libs/ncurses-5.2 - readline? ( >=sys-libs/readline-4.1 ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3[extensions] ) - ssl? ( dev-libs/openssl ) - tk? ( - >=dev-lang/tk-8.0 - dev-tcltk/blt - ) - xml? ( >=dev-libs/expat-2 ) - )" -DEPEND=">=sys-devel/autoconf-2.65 - ${RDEPEND} - $([[ "${PV}" == *_pre* ]] && echo "=${CATEGORY}/${PN}-${PV%%.*}*") - $([[ "${PV}" != *_pre* ]] && echo "app-arch/xz-utils") - dev-util/pkgconfig - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] && echo "doc? ( dev-python/sphinx )") - !sys-devel/gcc[libffi]" -RDEPEND+=" !build? ( app-misc/mime-types ) - $([[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+_pre ]] || echo "doc? ( dev-python/python-docs:${SLOT} )")" -PDEPEND="app-admin/python-updater" - -if [[ "${PV}" != *_pre* ]]; then - S="${WORKDIR}/${MY_P}" -fi - -pkg_setup() { - python_pkg_setup -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat - rm -fr Modules/_ctypes/libffi* - rm -fr Modules/zlib - - if [[ "${PV}" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+_pre ]]; then - if grep -Eq '#define PY_RELEASE_LEVEL[[:space:]]+PY_RELEASE_LEVEL_FINAL' Include/patchlevel.h; then - # Update micro version, release level and version string. - local micro_version="${PV%_pre*}" - micro_version="${micro_version##*.}" - local version_string="${PV%.*}.$((${micro_version} - 1))+" - sed \ - -e "s/\(#define PY_MICRO_VERSION[[:space:]]\+\)[^[:space:]]\+/\1${micro_version}/" \ - -e "s/\(#define PY_RELEASE_LEVEL[[:space:]]\+\)[^[:space:]]\+/\1PY_RELEASE_LEVEL_ALPHA/" \ - -e "s/\(#define PY_VERSION[[:space:]]\+\"\)[^\"]\+\(\"\)/\1${version_string}\2/" \ - -i Include/patchlevel.h || die "sed failed" - fi - fi - - local excluded_patches - if ! tc-is-cross-compiler; then - excluded_patches="*_all_crosscompile.patch" - fi - - local patchset_dir - if [[ "${PV}" == *_pre* ]]; then - patchset_dir="${FILESDIR}/${SLOT}-${PATCHSET_REVISION}" - else - patchset_dir="${WORKDIR}/${MY_PV}" - fi - - EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" epatch "${patchset_dir}" - - # Linux-3 compat. Bug #374579 (upstream issue12571) - cp -r "${S}/Lib/plat-linux2" "${S}/Lib/plat-linux3" || die - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/Setup.dist \ - Modules/getpath.c \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - if ! use wininst; then - # Remove Microsoft Windows executables. - rm Lib/distutils/command/wininst-*.exe - fi - - # Support versions of Autoconf other than 2.65. - sed -e "/version_required(2\.65)/d" -i configure.in || die "sed failed" - - # Disable ABI flags. - sed -e "s/ABIFLAGS=\"\${ABIFLAGS}.*\"/:/" -i configure.in || die "sed failed" - - if [[ "${PV}" == *_pre* ]]; then - sed -e "s/\(-DSVNVERSION=\).*\( -o\)/\1\\\\\"${ESVN_REVISION}\\\\\"\2/" -i Makefile.pre.in || die "sed failed" - fi - - #WRT bug #376303 - epatch "${FILESDIR}/${P}-soname_typo.patch" || die "soname patch failed" - - eautoreconf - - # wrt Bug 376745 - epatch "${FILESDIR}/${PN}-${PV}"-argparse.patch -} - -src_configure() { - if use build; then - # Disable extraneous modules with extra dependencies. - export PYTHON_DISABLE_MODULES="gdbm _curses _curses_panel readline _sqlite3 _tkinter _elementtree pyexpat" - export PYTHON_DISABLE_SSL="1" - else - local disable - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - fi - - # Test FEATURES settings for arparse test failure, Bug 376745 - if [ ! has usersandbox && ! has userpriv ] $FEATURES; then - einfo "Both usersandbox && userpriv are not set, test argparse will fail" \ - "to test, run the test suite as user" - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - [[ "${ARCH}" == "alpha" ]] && append-flags -fPIC - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - if tc-is-cross-compiler; then - OPT="-O1" CFLAGS="" LDFLAGS="" CC="" \ - ./configure --{build,host}=${CBUILD} || 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 "sed failed" - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - OPT="" econf \ - --with-fpectl \ - --enable-shared \ - $(use_enable ipv6) \ - $(use_with threads) \ - $(use_with wide-unicode) \ - --infodir='${prefix}/share/info' \ - --mandir='${prefix}/share/man' \ - --with-computed-gotos \ - --with-dbmliborder="${dbmliborder}" \ - --with-libc="" \ - --enable-loadable-sqlite-extensions \ - --with-system-expat \ - --with-system-ffi -} - -src_compile() { - emake EPYTHON="python${PV%%.*}" CPPFLAGS="" CFLAGS="" LDFLAGS="" || die "emake failed" -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Byte compiling should be enabled here. - # Otherwise test_import fails. - python_enable_pyc - - # Skip failing tests. - local skip_tests="distutils gdb" - - for test in ${skip_tests}; do - mv "${S}/Lib/test/test_${test}.py" "${T}" - done - - # Rerun failed tests in verbose mode (regrtest -w). - emake test EXTRATESTOPTS="-w" CPPFLAGS="" CFLAGS="" LDFLAGS="" < /dev/tty - local result="$?" - - for test in ${skip_tests}; do - mv "${T}/test_${test}.py" "${S}/Lib/test/test_${test}.py" - done - - elog "The following tests have been skipped:" - for test in ${skip_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}$(python_get_libdir)/test'" - elog "and run the tests separately." - - python_disable_pyc - - if [[ "${result}" -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - emake DESTDIR="${D}" altinstall || die "emake altinstall failed" - python_clean_installation_image -q - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${ED}$(python_get_libdir)/config-${SLOT}/Makefile" || die "sed failed" - - mv "${ED}usr/bin/python${SLOT}-config" "${ED}usr/bin/python-config-${SLOT}" - - if use build; then - rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{idlelib,sqlite3,test,tkinter} - else - use elibc_uclibc && rm -fr "${ED}$(python_get_libdir)/test" - use sqlite || rm -fr "${ED}$(python_get_libdir)/"{sqlite3,test/test_sqlite*} - use tk || rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{idlelib,tkinter,test/test_tk*} - fi - - use threads || rm -fr "${ED}$(python_get_libdir)/multiprocessing" - - dodoc Misc/{ACKS,HISTORY,NEWS} || die "dodoc failed" - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins -r "${S}/Tools" || die "doins failed" - fi - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT} || die "newconfd failed" - newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} || die "newinitd failed" - - if use kernel_linux; then - if [ -d "${ED}$(python_get_libdir)/plat-linux2" ];then - cp -r "${ED}$(python_get_libdir)/plat-linux2" \ - "${ED}$(python_get_libdir)/plat-linux3" || die "copy plat-linux failed" - else - cp -r "${ED}$(python_get_libdir)/plat-linux3" \ - "${ED}$(python_get_libdir)/plat-linux2" || die "copy plat-linux failed" - fi - fi - - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${SLOT}:" \ - -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed" -} - -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version ">=${CATEGORY}/${PN}-${SLOT}_alpha"; then - python_updater_warning="1" - fi -} - -eselect_python_update() { - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update - - python_mod_optimize -f -x "/(site-packages|test|tests)/" $(python_get_libdir) - - if [[ "${python_updater_warning}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of Python." - ewarn "You should run 'python-updater \${options}' to rebuild Python modules." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - - local n - for ((n = 0; n < 12; n++)); do - echo -ne "\a" - sleep 1 - done - fi -} - -pkg_postrm() { - eselect_python_update - - python_mod_cleanup $(python_get_libdir) -} |