summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/python/Manifest17
-rw-r--r--dev-lang/python/files/depreorder-topsort.py65
-rw-r--r--dev-lang/python/files/depreorder.py66
-rw-r--r--dev-lang/python/files/python-2.4.2-gentoo_obsd-r1.patch44
-rw-r--r--dev-lang/python/files/python-2.4.2-gentoo_obsd.patch42
-rw-r--r--dev-lang/python/files/python-2.5.2_turkish.patch138
-rw-r--r--dev-lang/python/files/python-2.6-cross-patch-tweak.patch15
-rw-r--r--dev-lang/python/files/python-2.6_turkish.patch130
-rw-r--r--dev-lang/python/files/python-updater322
-rw-r--r--dev-lang/python/files/python-updater-r1322
-rw-r--r--dev-lang/python/python-2.5.2-r7.ebuild323
-rw-r--r--dev-lang/python/python-2.6.1-r1.ebuild283
-rw-r--r--dev-lang/python/python-2.6.2.ebuild270
13 files changed, 0 insertions, 2037 deletions
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index b0e0eab98..642355ea3 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -1,34 +1,17 @@
-AUX depreorder-topsort.py 1958 RMD160 4192ad9ed14064a9da42ce1faedcf28996094da3 SHA1 2c900abeb6cfcc4327f0e9418b5abd7761ce5879 SHA256 7406f639d17b8acab6a1db7e398e74379b44950d4821bc36901abd3455d63b3d
-AUX depreorder.py 2235 RMD160 a6da5f336bdf8c370861c7922a5fa79ce4ab89cb SHA1 3b8590d7fbece2367088c646a792a9618d786dec SHA256 93920120e596f34e4222e8686e6283b03cdd517f89f2dba3eda90d79fa016aba
AUX pydoc.conf 330 RMD160 0cd619ec251597e0fcadc05bfd249915e73baa17 SHA1 a56100d45378c554b9822f6ed512a6cb7841ef50 SHA256 a45ebba2de5f2b0e963db4101507203d095c5ff667ae5002c4897a9c87786fa1
AUX pydoc.init 666 RMD160 11caf3a78bce4cdaebacaf21eaf26cc1ce30282e SHA1 88c5cb6d5bf737c74e1be93118cf157630af9ad7 SHA256 0d25c71232b74adb87dc709cc7cd8f8b13c452c0fe82fa33808f907f7a96d628
-AUX python-2.4.2-gentoo_obsd-r1.patch 1630 RMD160 77c7c13be17f7dcf1abccab2a0fb5818f4f7c261 SHA1 ba795d0aeba9986ed6077217848fd8ba1eb0d39c SHA256 b96f687a18cdfd75090a7401298568ee5819046a54eb58c1527126dd36596d47
-AUX python-2.4.2-gentoo_obsd.patch 1554 RMD160 c93e34df155440e68e7db283d709c3ef301933d2 SHA1 83ef3e0f43f2d6100d2416f5c47776af5f643fab SHA256 89a870d045246c66a67e7931afd38260c8b1e3d0c8f2db9b73e36cf014e98dee
AUX python-2.4.4-test-cross.patch 977 RMD160 8fdcd45dc202993988f7a1c2b3d918068883b99e SHA1 96f25777150ba05765282a43f08da6b6fab3cb73 SHA256 ff2a131776d560d188ec5069e17fea3eb09c26fdd02124ae5ff34d791c9fd9f6
AUX python-2.5-cross-printf.patch 903 RMD160 8dc0ee148120aaf7667624bdb5574bb6af5d2a00 SHA1 596e05be8cde43e4cdd87c8ed06ebb40828f7cea SHA256 1e91e5123d74d89aa8fc9dc60d98516b785f851e43da9b634ae535130e24e780
-AUX python-2.5.2_turkish.patch 4882 RMD160 69486e369849e0706f4261410f231649397cf793 SHA1 1dc369bdfb10bc9ddb63a5672fa561acf8dee32c SHA256 bf4019ae2acd4b6868db0b625910f668f857711ae00b29f638d038611444b169
AUX python-2.5.4-distutils-multilib.patch 1054 RMD160 c196fe861bf696557f0eb76363868b856d9a136b SHA1 204737fc529779260399e384fa8394afa264321f SHA256 5f8f9e3a9e088bb98894ee0a5432ed929ee5c82fc63c38fb77c2fbfa4ef24d46
AUX python-2.6-chflags-cross.patch 1716 RMD160 b0ec772a41a24d51f4c7430b19bcc6251cd6be87 SHA1 4745cd53cef503c41c50573ad97f40eb89fd4bcd SHA256 7c36689db47720052069725036983c2fb6959f425e3777aae55976b2788d463f
-AUX python-2.6-cross-patch-tweak.patch 717 RMD160 4791a798b494de925100c33ad42c214038414d7f SHA1 c84d19c2846136eb5cfb2da6a316f7d9688b7c90 SHA256 9a5c4142738daf1fe0f78747ee4b03c4402c2b84f1349150dce99f6631688abd
AUX python-2.6-test-cross.patch 914 RMD160 1f421b5565d39a24b887e85cbecaf3857741f756 SHA1 9c05fbe28aac6373f24317db5c277bc4549dde0c SHA256 8264f6ffe5aedcce67bea00b0346e5416a5486da2229bf82fe748d87ec65c4de
-AUX python-2.6_turkish.patch 4606 RMD160 e8a12a537fd81e8a4de0f29ce57ebf48cf786e69 SHA1 9ae0d969f34513da90b87bed966d48ea91b46bf2 SHA256 1f90030a415a5395b14677dce1bd07fbaa56d235aecd4fdfae086d09f756c138
AUX python-config-2.4 179 RMD160 087417fb7080be00cf62381d5e16fb4e4cb4538f SHA1 3ffffc6e4f4c7b774135f2635601b92a5b13e259 SHA256 86b87546be79ee6027df70046b33808b64921eea71618c81810e6b1280604221
AUX python-config-2.4-r1 1624 RMD160 e4e6893c9e8414289c0c70c0f4be58835911e376 SHA1 addf9a6eb81e636364264a6abb3d96f01ea0cf90 SHA256 923a9e896f99cca5aa4ccbb02f981c6e26a2b1aa42326de2359d3c884bde2a9f
-AUX python-updater 8777 RMD160 f177c5ae1f1d5dabffd9c52da10704999284af0c SHA1 91719ec53bd5e128042fedaed68d40fcb4abd65b SHA256 25d24778518f33e24e735e2319b1f6aa6a94137afe30b55cfeb974a74cf3873a
-AUX python-updater-r1 8785 RMD160 a395283fc17565fc9bc68e59928c74aafe3f19e5 SHA1 6d6f2d44bf20a528693d017b99f45541ae535bf5 SHA256 850bce6c25b33fbc05da98387bf7bd8652d4d6af4c8a7c11b4956e26a84a86b6
-DIST Python-2.5.2.tar.bz2 9807597 RMD160 b23b02739833e6730799c5866e2b77aae884b63f SHA1 4755d212f50af704c20224a6966e23acc5aea60f SHA256 f2f80e2a62a039e9a1ffa0fdf58707b2d12b3ff33c56472b46bb6d53f45e083e
DIST Python-2.5.4.tar.bz2 9821313 RMD160 3a76c83464c3b1c38a60351ab054e33ac7195663 SHA1 0f2e819d6381f72f26c734e00a6780b3933ea404 SHA256 bc8d896a2bfe5523ba93b8d89b71017b74e8e6cb21dc676a0ccff668c8780110
-DIST Python-2.6.1.tar.bz2 10960385 RMD160 497dafaca9c150fca611b0175eeb13c2fc4d3e2d SHA1 419f0cb29e9713ea861dde8c43d107c51329e57b SHA256 cf153f10ba6312a8303ceb01bed834a2786d28aa89c7d73dba64714f691628f6
DIST Python-2.6.2.tar.bz2 11156901 RMD160 85fa3540cbacf4d0547d2381eb3aa76bef35c2e1 SHA1 125d4ed90f82de1d44f288150bbbda23a6cd27a4 SHA256 a1cdc4a8f6c1f947ea3b87d097af2db4371019bac941d92c3844124c5694328b
-DIST python-gentoo-patches-2.5.2-r7.tar.bz2 28160 RMD160 c2a8c71f464f1cf0cd8e3d142a3f3454de46bc55 SHA1 b64fc90f331e42ea2c364fd61d13b515300fdcbf SHA256 8afff4ed12c3c5ca4418da657617317a8c646a69ae341a3d494747659825355f
DIST python-gentoo-patches-2.5.4-r1.tar.bz2 20485 RMD160 f8e2d19fe0ad7b2176795c159768c406d3a08801 SHA1 62565a95ab46e9bf8ac20318d1c662ce44230949 SHA256 0d502be02d16c2acdf82aba14909d8c1201091bb696456ec3542fc58466e8655
DIST python-gentoo-patches-2.5.4.tar.bz2 19474 RMD160 00bb0918414db251b11b7f19a9f8a112c9e49fbd SHA1 fd4955f7da3049abecc4df0e203e783a90390cf8 SHA256 6e050dd8e8a90655bf935af99ad1ae6456bc072f075ddb9bcd532201bbb37274
-DIST python-gentoo-patches-2.6-r5.tar.bz2 7431 RMD160 dbfc0715773446614843b45818d4152ca133140a SHA1 495cbfbf333052faf6860cf2d682f249a787557c SHA256 ef81eac97d933c77afcfd2434f44132717cd0a1550d1092e388e3c2f3dd5f3cf
DIST python-gentoo-patches-2.6.2-r1.tar.bz2 9706 RMD160 8868231a1759cfeb4497c409f4aaf71329c1675f SHA1 0c48800969cf50fa93fc2657f5106d332b9d4c05 SHA256 13b40e4f9ef89b7440606d437daed8617c39219e73aa3605c5157e0f09c703df
-DIST python-gentoo-patches-2.6.2.tar.bz2 8848 RMD160 e3cf700fd8966a6bd6e3e4b64534b72e56863819 SHA1 e073af86f27db77d2eb396ff78814f2b8920811b SHA256 9178be1a77893dc2c74e40073095bbc560d02e5456f1e6be6da20930470950f7
-EBUILD python-2.5.2-r7.ebuild 10730 RMD160 93627852adbd2e41c4e5342840ca2b49f2a98405 SHA1 2eb26b8b69f62d5d981c79f6ea7e3a79b7884741 SHA256 986687608226bff47761fb44210e158a83badff0a856fbf89cdb360e0b846e35
EBUILD python-2.5.4-r2.ebuild 10879 RMD160 7b6c6cf457995a87c35a1b099391fdca0b94dd59 SHA1 8e2e25d0d7acbca8584c72bb6761be11e51aa15d SHA256 70b58fcc55db7e66e5944e2361b9fb585a1879b722acc76b749f19649d523807
EBUILD python-2.5.4-r3.ebuild 8774 RMD160 bbc737a3969e48a53321b27c6e098af9c514b4b5 SHA1 374429cc1912f8c88b55d88bad1b6689a9a6593b SHA256 4348cac7ddbc81c876b7a978a0c52144fc045d5a810534e753b703059faba428
-EBUILD python-2.6.1-r1.ebuild 9268 RMD160 8fe543b70cdf557b504e21b31e0cc6acd111c7ee SHA1 9851b055d3667e49a86449db076e97efca0441a5 SHA256 21570141e43249e646e3a120c4ee47d85f9b2b10b286783192265b0a04bb4e3f
EBUILD python-2.6.2-r1.ebuild 9001 RMD160 2e1e5ed2a0bd932b04a4744aa17e0d9998c24413 SHA1 33de9b41541f67fb32a6fdbdb7d6dd4673846f70 SHA256 8155ad6c08cdac0d49383cc13a153965985dc0832cb04cb80096560195825081
-EBUILD python-2.6.2.ebuild 8807 RMD160 65c8f5acdbb991181afb84722d1b046b2d783a41 SHA1 2157346cd4d5fc574c2b77e5216a8bd6155a53df SHA256 3d0e4bd59cd6e29e1abfa84e0d5e9a8b8363cc5b4995693ee2c69c1b86eb61d8
diff --git a/dev-lang/python/files/depreorder-topsort.py b/dev-lang/python/files/depreorder-topsort.py
deleted file mode 100644
index 4c3cb7bc8..000000000
--- a/dev-lang/python/files/depreorder-topsort.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/python
-
-# tries to reorder the deps of a given list of packages so they
-# are merged in order - liquidx@g.o (09 Oct 03)
-
-import portage
-import sys, string
-
-fakedbapi = portage.fakedbapi()
-varapi = portage.db["/"]["vartree"].dbapi
-
-pkgs_to_reorder = sys.argv[1:]
-pkgs_ordered = []
-
-# key = catpkgver
-# value = dependencies
-dep_cache = {}
-
-
-# very simply, we extract the dependencies for each package
-for pkg in pkgs_to_reorder:
- try:
- deps, slot = varapi.aux_get(pkg, ["DEPEND", "SLOT"])
- except ValueError:
- sys.stderr.write("Error getting dependency information off " + pkg + "\n")
- continue
- try:
- realdeps = portage.dep_check(deps, fakedbapi)
- except TypeError:
- # we're probably running >=portage-2.0.50
- pkgsettings = portage.config(clone=portage.settings)
- realdeps = portage.dep_check(deps, fakedbapi, pkgsettings)
-
- vardeps = []
- # match() finds the versions of all those that are installed
- for dep in realdeps[1]:
- vardeps = vardeps + varapi.match(dep)
- dep_cache[pkg] = vardeps
-
-# topsort takes a graph (given as a dictionary with the nodes
-# as keys and the outgoing edges as values), and returns a
-# list of nodes that is topologically sorted
-def topsort (graph) :
- visited = dict([(node,False) for node in graph.keys()])
- result = []
-
- def dfs_single (node) :
- visited[node] = True
- for adj in graph[node]:
- # we ignore dependencies that are not nodes in the graph
- if adj in graph.keys() and not visited[adj]:
- dfs_single (adj)
- result.append(node)
-
- for node in graph.keys():
- if not visited[node]:
- dfs_single (node)
-
- return result
-
-pkgs_final_order = topsort(dep_cache)
-
-print string.join(pkgs_final_order, "\n")
-#print portage.dep_expand("=dev-python/sip-3.8", portage.portdb)
-#print portage.dep_check("X? ( >=dev-python/sip-3.8 )", fakedbapi)
diff --git a/dev-lang/python/files/depreorder.py b/dev-lang/python/files/depreorder.py
deleted file mode 100644
index 2305eb08a..000000000
--- a/dev-lang/python/files/depreorder.py
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/python
-
-# tries to reorder the deps of a given list of packages so they
-# are merged in order - liquidx@g.o (09 Oct 03)
-
-import portage
-import sys, string
-
-fakedbapi = portage.fakedbapi()
-varapi = portage.db["/"]["vartree"].dbapi
-
-pkgs_to_reorder = sys.argv[1:]
-pkgs_ordered = []
-# key = catpkgver
-# value = ( added, dependencies, slot )
-DEP_ADDED = 0
-DEP_DEPLIST = 1
-DEP_SLOT = 2
-dep_cache = {}
-
-
-# very simply, we extract the dependencies for each package
-for pkg in pkgs_to_reorder:
- try:
- deps, slot = varapi.aux_get(pkg, ["DEPEND", "SLOT"])
- except ValueError:
- sys.stderr.write("Error getting dependency information off " + pkg + "\n")
- continue
- try:
- realdeps = portage.dep_check(deps, fakedbapi)
- except TypeError:
- # we're probably running >=portage-2.0.50
- pkgsettings = portage.config(clone=portage.settings)
- realdeps = portage.dep_check(deps, fakedbapi, pkgsettings)
-
- vardeps = []
- # match() finds the versions of all those that are installed
- for dep in realdeps[1]:
- vardeps = vardeps + varapi.match(dep)
- dep_cache[pkg] = ( 0, vardeps, slot )
-
-# then we just naively append to a sorted list of deps using this rule.
-# if a dependency is going to be merged, we add it to the list like
-# with the dep then the pkg itself.
-# eg: dev-python/pyqt deps on dev-python/sip, so we the list will look like
-# [dev-python/sip, dev-python/pyqt]
-for pkg, depinfo in dep_cache.items():
- dep_to_add = []
- for dep in depinfo[DEP_DEPLIST]:
- if dep in pkgs_to_reorder:
- dep_to_add.append(dep)
-
- pkgs_ordered += dep_to_add + [pkg]
-
-# now, because the packages may have nested or multple dependencies, we
-# then move thru the list from first to last and remove all duplicates.
-# that way we know for sure that a package isn't merged twice or a dep
-# comes before the package that depends on it.
-pkgs_final_order = []
-for pkg in pkgs_ordered:
- if pkg not in pkgs_final_order:
- pkgs_final_order += [pkg]
-
-print string.join(pkgs_final_order, "\n")
-#print portage.dep_expand("=dev-python/sip-3.8", portage.portdb)
-#print portage.dep_check("X? ( >=dev-python/sip-3.8 )", fakedbapi)
diff --git a/dev-lang/python/files/python-2.4.2-gentoo_obsd-r1.patch b/dev-lang/python/files/python-2.4.2-gentoo_obsd-r1.patch
deleted file mode 100644
index 1c3a4899f..000000000
--- a/dev-lang/python/files/python-2.4.2-gentoo_obsd-r1.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -ruN Python-2.4.2.orig/configure.in Python-2.4.2/configure.in
---- Python-2.4.2.orig/configure.in 2005-08-07 23:08:53.000000000 +0200
-+++ Python-2.4.2/configure.in 2006-04-26 16:25:03.241669250 +0200
-@@ -140,7 +140,7 @@
- # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined,
- # even though select is a POSIX function. Reported by J. Ribbens.
- # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish.
-- OpenBSD/2.* | OpenBSD/3.@<:@0123456@:>@)
-+ OpenBSD/2.* | OpenBSD/3.@<:@0123456789@:>@)
- define_xopen_source=no;;
- # On Solaris 2.6, sys/wait.h is inconsistent in the usage
- # of union __?sigval. Reported by Stuart Bishop.
-@@ -1517,9 +1517,16 @@
-
- # only check for sem_ini if thread support is requested
- if test "$with_threads" = "yes" -o -z "$with_threads"; then
-+ case "$ac_sys_system" in
-+ OpenBSD*)
-+ LIBS="-pthread ${LIBS}"
-+ ;;
-+ *)
- AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris
- # posix4 on Solaris 2.6
- # pthread (first!) on Linux
-+ ;;
-+ esac
- fi
-
- # check if we need libintl for locale functions
-diff -ruN Python-2.4.2.orig/Include/Python.h Python-2.4.2/Include/Python.h
---- Python-2.4.2.orig/Include/Python.h 2004-07-27 17:57:23.000000000 +0200
-+++ Python-2.4.2/Include/Python.h 2006-04-26 16:24:15.274671500 +0200
-@@ -2,6 +2,11 @@
- #define Py_PYTHON_H
- /* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */
-
-+/* Required on Gentoo/OpenBSD */
-+#if defined(__OpenBSD__)
-+#include <sys/types.h>
-+#endif
-+
- /* Include nearly all Python header files */
-
- #include "patchlevel.h"
diff --git a/dev-lang/python/files/python-2.4.2-gentoo_obsd.patch b/dev-lang/python/files/python-2.4.2-gentoo_obsd.patch
deleted file mode 100644
index 69c59747a..000000000
--- a/dev-lang/python/files/python-2.4.2-gentoo_obsd.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -ruN Python-2.4.2.orig/Include/Python.h Python-2.4.2/Include/Python.h
---- Python-2.4.2.orig/Include/Python.h 2004-07-27 17:57:23 +0200
-+++ Python-2.4.2/Include/Python.h 2006-01-01 17:50:35 +0100
-@@ -2,6 +2,9 @@
- #define Py_PYTHON_H
- /* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */
-
-+/* Required on Gentoo/OpenBSD */
-+#include <sys/types.h>
-+
- /* Include nearly all Python header files */
-
- #include "patchlevel.h"
-diff -ruN Python-2.4.2.orig/configure.in Python-2.4.2/configure.in
---- Python-2.4.2.orig/configure.in 2005-08-07 23:08:53 +0200
-+++ Python-2.4.2/configure.in 2006-01-01 17:53:27 +0100
-@@ -140,7 +140,7 @@
- # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined,
- # even though select is a POSIX function. Reported by J. Ribbens.
- # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish.
-- OpenBSD/2.* | OpenBSD/3.@<:@0123456@:>@)
-+ OpenBSD/2.* | OpenBSD/3.@<:@012345678@:>@)
- define_xopen_source=no;;
- # On Solaris 2.6, sys/wait.h is inconsistent in the usage
- # of union __?sigval. Reported by Stuart Bishop.
-@@ -1517,9 +1517,16 @@
-
- # only check for sem_ini if thread support is requested
- if test "$with_threads" = "yes" -o -z "$with_threads"; then
-+ case "$ac_sys_system" in
-+ OpenBSD*)
-+ LIBS="-pthread ${LIBS}"
-+ ;;
-+ *)
- AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris
- # posix4 on Solaris 2.6
- # pthread (first!) on Linux
-+ ;;
-+ esac
- fi
-
- # check if we need libintl for locale functions
diff --git a/dev-lang/python/files/python-2.5.2_turkish.patch b/dev-lang/python/files/python-2.5.2_turkish.patch
deleted file mode 100644
index 2685e87a3..000000000
--- a/dev-lang/python/files/python-2.5.2_turkish.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-#Purpose: Add Turkish tr_TR locale support in some modules.
-#Added by: Jesus Rivero <neurogeek@gentoo.org>
-#Thanks to Serkan <serkan@gentoo.org>
-#Upstream bug: http://bugs.python.org/issue1813
-#Date Added: 06/12/2008
-#Gentoo bug: 250075
-
-diff -uNr Python-2.5.2.orig/Lib/decimal.py Python-2.5.2/Lib/decimal.py
---- Python-2.5.2.orig/Lib/decimal.py 2008-12-01 23:39:58.000000000 -0430
-+++ Python-2.5.2/Lib/decimal.py 2008-12-01 23:43:17.000000000 -0430
-@@ -146,6 +146,13 @@
- ROUND_HALF_DOWN = 'ROUND_HALF_DOWN'
- ROUND_05UP = 'ROUND_05UP'
-
-+import string
-+
-+def ascii_upper(s):
-+ trans_table = string.maketrans(string.ascii_lowercase, string.ascii_uppercase)
-+ return s.translate(trans_table)
-+
-+
- # Errors
-
- class DecimalException(ArithmeticError):
-@@ -3354,7 +3361,7 @@
- if name.startswith('_round_')]
- for name in rounding_functions:
- # name is like _round_half_even, goes to the global ROUND_HALF_EVEN value.
-- globalname = name[1:].upper()
-+ globalname = ascii_upper(name[1:])
- val = globals()[globalname]
- Decimal._pick_rounding_function[val] = name
-
-diff -uNr Python-2.5.2.orig/Lib/email/__init__.py Python-2.5.2/Lib/email/__init__.py
---- Python-2.5.2.orig/Lib/email/__init__.py 2008-12-01 23:39:57.000000000 -0430
-+++ Python-2.5.2/Lib/email/__init__.py 2008-12-06 15:14:43.000000000 -0430
-@@ -109,15 +109,18 @@
- 'Text',
- ]
-
-+import string
-+lower_map = string.maketrans(string.ascii_uppercase, string.ascii_lowercase)
-+
- for _name in _LOWERNAMES:
-- importer = LazyImporter(_name.lower())
-+ importer = LazyImporter(_name.translate(lower_map))
- sys.modules['email.' + _name] = importer
- setattr(sys.modules['email'], _name, importer)
-
-
- import email.mime
- for _name in _MIMENAMES:
-- importer = LazyImporter('mime.' + _name.lower())
-+ importer = LazyImporter('mime.' + _name.translate(lower_map))
- sys.modules['email.MIME' + _name] = importer
- setattr(sys.modules['email'], 'MIME' + _name, importer)
- setattr(sys.modules['email.mime'], _name, importer)
-diff -uNr Python-2.5.2.orig/Lib/locale.py Python-2.5.2/Lib/locale.py
---- Python-2.5.2.orig/Lib/locale.py 2008-12-01 23:39:57.000000000 -0430
-+++ Python-2.5.2/Lib/locale.py 2008-12-06 15:18:26.000000000 -0430
-@@ -278,6 +278,15 @@
- # overridden below)
- _setlocale = setlocale
-
-+# Avoid relying on the locale-dependent .lower() method
-+# (see bug #1813).
-+_ascii_lower_map = ''.join(
-+ chr(x + 32 if x >= ord('A') and x <= ord('Z') else x)
-+ for x in range(256)
-+)
-+
-+
-+
- def normalize(localename):
-
- """ Returns a normalized locale code for the given locale
-@@ -295,7 +304,7 @@
-
- """
- # Normalize the locale name and extract the encoding
-- fullname = localename.lower()
-+ fullname = localename.encode('ascii').translate(_ascii_lower_map)
- if ':' in fullname:
- # ':' is sometimes used as encoding delimiter.
- fullname = fullname.replace(':', '.')
-diff -uNr Python-2.5.2.orig/Lib/test/test_codecs.py Python-2.5.2/Lib/test/test_codecs.py
---- Python-2.5.2.orig/Lib/test/test_codecs.py 2008-12-01 23:39:57.000000000 -0430
-+++ Python-2.5.2/Lib/test/test_codecs.py 2008-12-06 15:21:02.000000000 -0430
-@@ -1,6 +1,7 @@
- from __future__ import with_statement
- from test import test_support
- import unittest
-+import locale
- import codecs
- import sys, StringIO, _testcapi
-
-@@ -938,6 +939,16 @@
- self.assertRaises(LookupError, codecs.lookup, "__spam__")
- self.assertRaises(LookupError, codecs.lookup, " ")
-
-+ def test_lookup_with_locale(self):
-+ # Bug #1813: when normalizing codec name, lowercasing must be locale
-+ # agnostic, otherwise the looked up codec name might end up wrong.
-+ try:
-+ locale.setlocale(locale.LC_CTYPE, 'tr')
-+ except locale.Error:
-+ # SKIPped test
-+ return
-+ codecs.lookup('ISO8859_1')
-+
- def test_getencoder(self):
- self.assertRaises(TypeError, codecs.getencoder)
- self.assertRaises(LookupError, codecs.getencoder, "__spam__")
-diff -uNr Python-2.5.2.orig/Python/codecs.c Python-2.5.2/Python/codecs.c
---- Python-2.5.2.orig/Python/codecs.c 2008-12-01 23:39:58.000000000 -0430
-+++ Python-2.5.2/Python/codecs.c 2008-12-01 23:41:58.000000000 -0430
-@@ -45,6 +45,12 @@
- return -1;
- }
-
-+/* isupper() forced into the ASCII Locale */
-+#define ascii_isupper(x) (((x) >= 0x41) && ((x) <= 0x5A))
-+/* tolower() forced into the ASCII Locale */
-+#define ascii_tolower(x) (ascii_isupper(x) ? ((x) + 0x20) : (x))
-+
-+
- /* Convert a string to a normalized Python string: all characters are
- converted to lower case, spaces are replaced with underscores. */
-
-@@ -70,7 +76,7 @@
- if (ch == ' ')
- ch = '-';
- else
-- ch = tolower(Py_CHARMASK(ch));
-+ ch = ascii_tolower(Py_CHARMASK(ch));
- p[i] = ch;
- }
- return v;
diff --git a/dev-lang/python/files/python-2.6-cross-patch-tweak.patch b/dev-lang/python/files/python-2.6-cross-patch-tweak.patch
deleted file mode 100644
index 4aa5cf49a..000000000
--- a/dev-lang/python/files/python-2.6-cross-patch-tweak.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-our patchset is out dated ... this really should get merged ...
-
---- ../2.6/08_all_crosscompile.patch
-+++ ../2.6/08_all_crosscompile.patch
-@@ -60,8 +60,8 @@
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram"
--+ ./$(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram"
-+- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
-++ ./$(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
-
- # Create the PLATDIR source directory, if one wasn't distributed..
- $(srcdir)/Lib/$(PLATDIR):
diff --git a/dev-lang/python/files/python-2.6_turkish.patch b/dev-lang/python/files/python-2.6_turkish.patch
deleted file mode 100644
index 479c3c373..000000000
--- a/dev-lang/python/files/python-2.6_turkish.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-diff -uNr Python-2.6.1.orig/Lib/decimal.py Python-2.6.1/Lib/decimal.py
---- Python-2.6.1.orig/Lib/decimal.py 2008-12-13 14:30:59.000000000 -0430
-+++ Python-2.6.1/Lib/decimal.py 2008-12-13 14:32:59.000000000 -0430
-@@ -152,6 +152,13 @@
- ROUND_HALF_DOWN = 'ROUND_HALF_DOWN'
- ROUND_05UP = 'ROUND_05UP'
-
-+import string
-+
-+def ascii_upper(s):
-+ trans_table = string.maketrans(string.ascii_lowercase, string.ascii_uppercase)
-+ return s.translate(trans_table)
-+
-+
- # Errors
-
- class DecimalException(ArithmeticError):
-@@ -3563,7 +3570,7 @@
- if name.startswith('_round_')]
- for name in rounding_functions:
- # name is like _round_half_even, goes to the global ROUND_HALF_EVEN value.
-- globalname = name[1:].upper()
-+ globalname = ascii_upper(name[1:])
- val = globals()[globalname]
- Decimal._pick_rounding_function[val] = name
-
-diff -uNr Python-2.6.1.orig/Lib/email/__init__.py Python-2.6.1/Lib/email/__init__.py
---- Python-2.6.1.orig/Lib/email/__init__.py 2008-12-13 14:30:59.000000000 -0430
-+++ Python-2.6.1/Lib/email/__init__.py 2008-12-13 14:34:13.000000000 -0430
-@@ -109,15 +109,19 @@
- 'Text',
- ]
-
-+import string
-+lower_map = string.maketrans(string.ascii_uppercase, string.ascii_lowercase)
-+
-+
- for _name in _LOWERNAMES:
-- importer = LazyImporter(_name.lower())
-+ importer = LazyImporter(_name.translate(lower_map))
- sys.modules['email.' + _name] = importer
- setattr(sys.modules['email'], _name, importer)
-
-
- import email.mime
- for _name in _MIMENAMES:
-- importer = LazyImporter('mime.' + _name.lower())
-+ importer = LazyImporter('mime.' + _name.translate(lower_map))
- sys.modules['email.MIME' + _name] = importer
- setattr(sys.modules['email'], 'MIME' + _name, importer)
- setattr(sys.modules['email.mime'], _name, importer)
-diff -uNr Python-2.6.1.orig/Lib/locale.py Python-2.6.1/Lib/locale.py
---- Python-2.6.1.orig/Lib/locale.py 2008-12-13 14:30:59.000000000 -0430
-+++ Python-2.6.1/Lib/locale.py 2008-12-13 14:57:18.000000000 -0430
-@@ -294,6 +294,14 @@
- # overridden below)
- _setlocale = setlocale
-
-+# Avoid relying on the locale-dependent .lower() method
-+# (see bug #1813).
-+_ascii_lower_map = ''.join(
-+ chr(x + 32 if x >= ord('A') and x <= ord('Z') else x)
-+ for x in range(256)
-+)
-+
-+
- def normalize(localename):
-
- """ Returns a normalized locale code for the given locale
-@@ -311,7 +319,7 @@
-
- """
- # Normalize the locale name and extract the encoding
-- fullname = localename.lower()
-+ fullname = localename.encode('ascii').translate(_ascii_lower_map)
- if ':' in fullname:
- # ':' is sometimes used as encoding delimiter.
- fullname = fullname.replace(':', '.')
-diff -uNr Python-2.6.1.orig/Lib/test/test_codecs.py Python-2.6.1/Lib/test/test_codecs.py
---- Python-2.6.1.orig/Lib/test/test_codecs.py 2008-12-13 14:30:59.000000000 -0430
-+++ Python-2.6.1/Lib/test/test_codecs.py 2008-12-13 14:58:33.000000000 -0430
-@@ -1,5 +1,6 @@
- from test import test_support
- import unittest
-+import locale
- import codecs
- import sys, StringIO, _testcapi
-
-@@ -1078,6 +1079,16 @@
- self.assertRaises(LookupError, codecs.lookup, "__spam__")
- self.assertRaises(LookupError, codecs.lookup, " ")
-
-+ def test_lookup_with_locale(self):
-+ # Bug #1813: when normalizing codec name, lowercasing must be locale
-+ # agnostic, otherwise the looked up codec name might end up wrong.
-+ try:
-+ locale.setlocale(locale.LC_CTYPE, 'tr')
-+ except locale.Error:
-+ # SKIPped test
-+ return
-+ codecs.lookup('ISO8859_1')
-+
- def test_getencoder(self):
- self.assertRaises(TypeError, codecs.getencoder)
- self.assertRaises(LookupError, codecs.getencoder, "__spam__")
-diff -uNr Python-2.6.1.orig/Python/codecs.c Python-2.6.1/Python/codecs.c
---- Python-2.6.1.orig/Python/codecs.c 2008-12-13 14:31:00.000000000 -0430
-+++ Python-2.6.1/Python/codecs.c 2008-12-13 14:59:43.000000000 -0430
-@@ -45,6 +45,12 @@
- return -1;
- }
-
-+/* isupper() forced into the ASCII Locale */
-+#define ascii_isupper(x) (((x) >= 0x41) && ((x) <= 0x5A))
-+/* tolower() forced into the ASCII Locale */
-+#define ascii_tolower(x) (ascii_isupper(x) ? ((x) + 0x20) : (x))
-+
-+
- /* Convert a string to a normalized Python string: all characters are
- converted to lower case, spaces are replaced with underscores. */
-
-@@ -70,7 +76,7 @@
- if (ch == ' ')
- ch = '-';
- else
-- ch = tolower(Py_CHARMASK(ch));
-+ ch = ascii_tolower(Py_CHARMASK(ch));
- p[i] = ch;
- }
- return v;
diff --git a/dev-lang/python/files/python-updater b/dev-lang/python/files/python-updater
deleted file mode 100644
index 62bc736bc..000000000
--- a/dev-lang/python/files/python-updater
+++ /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 ::' | cut -d. -f1-2)
-
-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 /etc/init.d/functions.sh || exit 1
-
-
-
-for old in 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.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/files/python-updater-r1 b/dev-lang/python/files/python-updater-r1
deleted file mode 100644
index 09d932167..000000000
--- 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 ::' | cut -d. -f1-2)
-
-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 /etc/init.d/functions.sh || exit 1
-
-
-
-for old in 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.2-r7.ebuild b/dev-lang/python/python-2.5.2-r7.ebuild
deleted file mode 100644
index 77a438408..000000000
--- a/dev-lang/python/python-2.5.2-r7.ebuild
+++ /dev/null
@@ -1,323 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.5.2-r7.ebuild,v 1.15 2009/03/26 05:10:31 zmedico 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.
-
-EAPI=2
-
-MULTILIB_IN_SOURCE_BUILD="yes"
-
-inherit eutils autotools flag-o-matic python versionator toolchain-funcs libtool multilib-native
-
-# 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_P="Python-${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/${PV}/${MY_P}.tar.bz2
- mirror://gentoo/python-gentoo-patches-${PV}-r7.tar.bz2"
-
-LICENSE="PSF-2.2"
-SLOT="2.5"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
-IUSE="ncurses gdbm ssl readline tk berkdb ipv6 build ucs2 sqlite doc +threads examples elibc_uclibc wininst +xml"
-
-# 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-db/sqlite-3[lib32?] )
- tk? ( >=dev-lang/tk-8.0[lib32?] )
- ncurses? ( >=sys-libs/ncurses-5.2[lib32?]
- readline? ( >=sys-libs/readline-4.1[lib32?] ) )
- berkdb? ( || ( sys-libs/db:4.5[lib32?] sys-libs/db:4.4[lib32?] sys-libs/db:4.3[lib32?]
- sys-libs/db:4.2[lib32?] ) )
- gdbm? ( sys-libs/gdbm[lib32?] )
- ssl? ( dev-libs/openssl[lib32?] )
- doc? ( dev-python/python-docs:2.5 )
- xml? ( dev-libs/expat[lib32?] )
- )"
-
-# NOTE: changed RDEPEND to PDEPEND to resolve bug 88777. - kloeri
-# NOTE: added blocker to enforce correct merge order for bug 88777. - zmedico
-
-PDEPEND="${DEPEND} app-admin/python-updater"
-PROVIDE="virtual/python"
-
-multilib-native_src_prepare_internal() {
- default
-
- if tc-is-cross-compiler ; then
- epatch "${FILESDIR}"/python-2.4.4-test-cross.patch \
- "${FILESDIR}"/python-2.5-cross-printf.patch
- else
- rm "${WORKDIR}/${PV}"/*_all_crosscompile.patch
- fi
-
- EPATCH_SUFFIX="patch" epatch "${WORKDIR}/${PV}"
- 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 ! use wininst; then
- # remove microsoft windows executables
- rm Lib/distutils/command/wininst-*.exe
- fi
-
- eautoreconf
-}
-
-multilib-native_src_configure_internal() {
- # 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
- # dbm module can link to berkdb or gdbm
- # defaults to gdbm when both are enabled, #204343
- local disable
- use berkdb || use gdbm || disable="${disable} dbm"
- use berkdb || disable="${disable} bsddb"
- use gdbm || disable="${disable} gdbm"
- use ncurses || disable="${disable} _curses _curses_panel"
- use readline || disable="${disable} readline"
- use sqlite || disable="${disable} _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL=1
- use tk || disable="${disable} _tkinter"
- use xml || disable="${disable} pyexpat"
- export PYTHON_DISABLE_MODULES="${disable}"
- fi
-
- 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
-
- einfo "Disabled modules: $PYTHON_DISABLE_MODULES"
-
- export OPT="${CFLAGS}"
-
- local myconf
-
- # 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"
-
- 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
-
- 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
- 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.5 correctly.
- # Needed on FreeBSD unless python2.5 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- econf \
- --with-fpectl \
- --enable-shared \
- $(use_enable ipv6) \
- $(use_with threads) \
- --infodir='${prefix}'/share/info \
- --mandir='${prefix}'/share/man \
- --with-libc='' \
- ${myconf} || die
-}
-
-multilib-native_src_install_internal() {
- dodir /usr
- emake DESTDIR="${D}" altinstall maninstall || die
-
- mv "${D}"/usr/bin/python${PYVER}-config "${D}"/usr/bin/python-config-${PYVER}
- if [[ $(number_abis) -gt 1 ]] && ! is_final_abi; then
- mv "${D}"/usr/bin/python${PYVER} "${D}"/usr/bin/python${PYVER}-${ABI}
- fi
-
- # 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
-
- # 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
-
- if use examples ; then
- mkdir -p "${D}"/usr/share/doc/${P}/examples
- cp -r "${S}"/Tools "${D}"/usr/share/doc/${P}/examples
- fi
-
- newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
- newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
-}
-
-pkg_postrm() {
- local mansuffix=$(ecompress --suffix)
- 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${mansuffix}" \
- "python[0-9].[0-9].1${mansuffix}"
-
- 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:/$::')
- local mansuffix=$(ecompress --suffix)
-
- 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${mansuffix}" \
- "python[0-9].[0-9].1${mansuffix}"
-
- python_mod_optimize
- python_mod_optimize -x "(site-packages|test)" \
- /usr/lib/python${PYVER}
- [[ "$(get_libdir)" == "lib" ]] || \
- python_mod_optimize -x "(site-packages|test)" \
- /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 /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() {
- # Tests won't work when cross compiling
- if tc-is-cross-compiler ; then
- elog "Disabling tests due to crosscompiling."
- return
- fi
-
- # Disabling byte compiling breaks test_import
- python_enable_pyc
-
- #skip all tests that fail during emerge but pass without emerge:
- #(See bug# 67970)
- local skip_tests="distutils global mimetools minidom mmap posix pyexpat sax strptime subprocess syntax tcl time urllib urllib2 webbrowser xml_etree"
-
- # test_pow fails on alpha.
- # http://bugs.python.org/issue756093
- [[ ${ARCH} == "alpha" ]] && skip_tests="${skip_tests} pow"
-
- for test in ${skip_tests} ; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # Redirect stdin from /dev/tty as a workaround for bug #248081.
- # rerun failed tests in verbose mode (regrtest -w)
- EXTRATESTOPTS="-w" make test < /dev/tty || die "make test failed"
-
- for test in ${skip_tests} ; do
- mv "${T}"/test_${test}.py "${S}"/Lib/test/test_${test}.py
- done
-
- elog "Portage skipped the following tests which aren't able to run from emerge:"
- for test in ${skip_tests} ; do
- elog "test_${test}.py"
- done
-
- elog "If you'd like to run them, you may:"
- elog "cd /usr/lib/python${PYVER}/test"
- elog "and run the tests separately."
-}
diff --git a/dev-lang/python/python-2.6.1-r1.ebuild b/dev-lang/python/python-2.6.1-r1.ebuild
deleted file mode 100644
index 35f5dd616..000000000
--- a/dev-lang/python/python-2.6.1-r1.ebuild
+++ /dev/null
@@ -1,283 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.6.1-r1.ebuild,v 1.4 2009/04/17 06:56:30 kumba 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.
-
-EAPI=2
-
-MULTILIB_IN_SOURCE_BUILD="yes"
-
-inherit eutils autotools flag-o-matic python versionator toolchain-funcs libtool multilib-native
-
-# 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_P="Python-${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/2.6.1/${MY_P}.tar.bz2
- mirror://gentoo/python-gentoo-patches-2.6-r5.tar.bz2"
-
-LICENSE="PSF-2.2"
-SLOT="2.6"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
-IUSE="berkdb build doc elibc_uclibc examples gdbm ipv6 ncurses readline sqlite ssl +threads tk ucs2 wininst +xml"
-
-# NOTE: dev-python/{elementtree,celementtree,pysqlite,ctypes,cjkcodecs}
-# do not conflict with the ones in python proper. - liquidx
-
-DEPEND=">=app-admin/eselect-python-20080925
- >=sys-libs/zlib-1.1.3[lib32?]
- !build? (
- sqlite? ( >=dev-db/sqlite-3[lib32?] )
- tk? ( >=dev-lang/tk-8.0[lib32?] )
- ncurses? ( >=sys-libs/ncurses-5.2[lib32?]
- readline? ( >=sys-libs/readline-4.1[lib32?] ) )
- berkdb? ( >=sys-libs/db-3.1[lib32?] )
- gdbm? ( sys-libs/gdbm[lib32?] )
- ssl? ( dev-libs/openssl[lib32?] )
- doc? ( dev-python/python-docs:2.6 )
- xml? ( dev-libs/expat[lib32?] )
- )"
-
-# NOTE: changed RDEPEND to PDEPEND to resolve bug 88777. - kloeri
-# NOTE: added blocker to enforce correct merge order for bug 88777. - zmedico
-
-PDEPEND="${DEPEND} app-admin/python-updater"
-PROVIDE="virtual/python"
-
-multilib-native_src_prepare_internal() {
- default
-
- if tc-is-cross-compiler ; then
- epatch "${FILESDIR}"/python-2.5-cross-printf.patch
- epatch "${FILESDIR}"/python-2.6-chflags-cross.patch
- epatch "${FILESDIR}"/python-2.6-test-cross.patch
- epatch "${FILESDIR}"/python-2.6-cross-patch-tweak.patch
- else
- rm "${WORKDIR}/${PYVER}"/*_all_crosscompile.patch
- fi
-
- EPATCH_SUFFIX="patch" epatch "${WORKDIR}/${PYVER}"
-
- epatch "${FILESDIR}/${PN}-${PYVER}_turkish.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 "sed failed to replace @@GENTOO_LIBDIR@@"
-
- # 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 ! use wininst; then
- # remove microsoft windows executables
- rm Lib/distutils/command/wininst-*.exe
- fi
-
- eautoreconf
-}
-
-multilib-native_src_configure_internal() {
- # 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
- # dbm module can link to berkdb or gdbm
- # defaults to gdbm when both are enabled, #204343
- local disable
- use berkdb || use gdbm || disable="${disable} dbm"
- use berkdb || disable="${disable} bsddb"
- use xml || disable="${disable} pyexpat"
- use gdbm || disable="${disable} gdbm"
- use ncurses || disable="${disable} _curses _curses_panel"
- use readline || disable="${disable} readline"
- use sqlite || disable="${disable} _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL=1
- use tk || disable="${disable} _tkinter"
- export PYTHON_DISABLE_MODULES="${disable}"
- fi
-
- 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
-
- einfo "Disabled modules: $PYTHON_DISABLE_MODULES"
-
- export OPT="${CFLAGS}"
-
- local myconf
-
- # 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"
-
- 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
-
- 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.5 correctly.
- # Needed on FreeBSD unless python2.5 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- econf \
- --with-fpectl \
- --enable-shared \
- $(use_enable ipv6) \
- $(use_with threads) \
- --infodir='${prefix}'/share/info \
- --mandir='${prefix}'/share/man \
- --with-libc='' \
- ${myconf}
-}
-
-multilib-native_src_install_internal() {
- dodir /usr
- emake DESTDIR="${D}" altinstall maninstall || die
-
- mv "${D}"/usr/bin/python${PYVER}-config "${D}"/usr/bin/python-config-${PYVER}
- if [[ $(number_abis) -gt 1 ]] && ! is_final_abi; then
- mv "${D}"/usr/bin/python${PYVER} "${D}"/usr/bin/python${PYVER}-${ABI}
- fi
-
- # Fix slotted collisions
- mv "${D}"/usr/bin/2to3 "${D}"/usr/bin/2to3-${PYVER}
- 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
-
- # 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
-
- if use examples ; then
- insinto /usr/share/doc/${PF}/examples
- doins -r "${S}"/Tools || die "doins failed"
- fi
-
- newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
- newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
-
- # Installs empty directory.
- rmdir "${D}"/usr/$(get_libdir)/${PN}${PV}/lib-old
-}
-
-multilib-native_pkg_postrm_internal() {
- eselect python update --ignore 3.0
- python_mod_cleanup /usr/$(get_libdir)/python${PYVER}
-}
-
-multilib-native_pkg_postinst_internal() {
- eselect python update --ignore 3.0
- python_version
-
- python_mod_optimize -x "(site-packages|test)" \
- /usr/$(get_libdir)/python${PYVER}
-}
-
-src_test() {
- # Tests won't 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 all tests that fail during emerge but pass without emerge:
- #(See bug# 67970)
- local skip_tests="distutils global httpservers mimetools minidom mmap posix pyexpat sax strptime subprocess syntax tcl time urllib urllib2 webbrowser xml_etree"
-
- # test_pow fails on alpha.
- # http://bugs.python.org/issue756093
- [[ ${ARCH} == "alpha" ]] && skip_tests="${skip_tests} pow"
-
- for test in ${skip_tests} ; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # Redirect stdin from /dev/tty as a workaround for bug #248081.
- # rerun failed tests in verbose mode (regrtest -w)
- EXTRATESTOPTS="-w" make test < /dev/tty || die "make test failed"
-
- for test in ${skip_tests} ; do
- mv "${T}"/test_${test}.py "${S}"/Lib/test/test_${test}.py
- done
-
- elog "Portage skipped the following tests which aren't able to run from emerge:"
- for test in ${skip_tests} ; do
- elog "test_${test}.py"
- done
-
- elog "If you'd like to run them, you may:"
- elog "cd /usr/lib/python${PYVER}/test"
- elog "and run the tests separately."
-}
diff --git a/dev-lang/python/python-2.6.2.ebuild b/dev-lang/python/python-2.6.2.ebuild
deleted file mode 100644
index 2e41ff3dc..000000000
--- a/dev-lang/python/python-2.6.2.ebuild
+++ /dev/null
@@ -1,270 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.6.2.ebuild,v 1.1 2009/04/18 19:57:15 arfrever 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.
-
-EAPI=2
-
-inherit eutils autotools flag-o-matic python versionator toolchain-funcs libtool multilib-native
-
-# 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_P="Python-${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/${PV}/${MY_P}.tar.bz2
- mirror://gentoo/python-gentoo-patches-2.6.2.tar.bz2"
-
-LICENSE="PSF-2.2"
-SLOT="2.6"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
-IUSE="berkdb build doc elibc_uclibc examples gdbm ipv6 ncurses readline sqlite ssl +threads tk ucs2 wininst +xml"
-
-# NOTE: dev-python/{elementtree,celementtree,pysqlite,ctypes,cjkcodecs}
-# do not conflict with the ones in python proper. - liquidx
-
-DEPEND=">=app-admin/eselect-python-20080925
- >=sys-libs/zlib-1.1.3[lib32?]
- !build? (
- sqlite? ( >=dev-db/sqlite-3[lib32?] )
- tk? ( >=dev-lang/tk-8.0[lib32?] )
- ncurses? ( >=sys-libs/ncurses-5.2[lib32?]
- readline? ( >=sys-libs/readline-4.1[lib32?] ) )
- berkdb? ( >=sys-libs/db-3.1[lib32?] )
- gdbm? ( sys-libs/gdbm[lib32?] )
- ssl? ( dev-libs/openssl[lib32?] )
- doc? ( dev-python/python-docs:2.6 )
- xml? ( dev-libs/expat[lib32?] )
- )"
-RDEPEND="${DEPEND}"
-
-# NOTE: changed RDEPEND to PDEPEND to resolve bug 88777. - kloeri
-# NOTE: added blocker to enforce correct merge order for bug 88777. - zmedico
-
-PDEPEND="${DEPEND} app-admin/python-updater"
-PROVIDE="virtual/python"
-
-multilib-native_src_prepare_internal() {
- default
-
- if tc-is-cross-compiler ; then
- epatch "${FILESDIR}"/python-2.5-cross-printf.patch
- epatch "${FILESDIR}"/python-2.6-chflags-cross.patch
- epatch "${FILESDIR}"/python-2.6-test-cross.patch
- else
- rm "${WORKDIR}/${PV}"/*_all_crosscompile.patch
- fi
-
- EPATCH_SUFFIX="patch" epatch "${WORKDIR}/${PV}"
-
- 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@@"
-
- # 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 ! use wininst; then
- # remove microsoft windows executables
- rm Lib/distutils/command/wininst-*.exe
- fi
-
- eautoreconf
-}
-
-multilib-native_src_configure_internal() {
- # 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
- # dbm module can link to berkdb or gdbm
- # defaults to gdbm when both are enabled, #204343
- local disable
- use berkdb || use gdbm || disable="${disable} dbm"
- use berkdb || disable="${disable} bsddb"
- use xml || disable="${disable} pyexpat"
- use gdbm || disable="${disable} gdbm"
- use ncurses || disable="${disable} _curses _curses_panel"
- use readline || disable="${disable} readline"
- use sqlite || disable="${disable} _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL=1
- use tk || disable="${disable} _tkinter"
- export PYTHON_DISABLE_MODULES="${disable}"
- fi
-
- 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
-
- einfo "Disabled modules: $PYTHON_DISABLE_MODULES"
-
- export OPT="${CFLAGS}"
-
- local myconf
-
- # 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"
-
- 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
-
- 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 python2.6 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- econf \
- --with-fpectl \
- --enable-shared \
- $(use_enable ipv6) \
- $(use_with threads) \
- --infodir='${prefix}'/share/info \
- --mandir='${prefix}'/share/man \
- --with-libc='' \
- ${myconf}
-}
-
-multilib-native_src_install_internal() {
- dodir /usr
- emake -j1 DESTDIR="${D}" altinstall maninstall || die
-
- mv "${D}"/usr/bin/python${PYVER}-config "${D}"/usr/bin/python-config-${PYVER}
- if [[ $(number_abis) -gt 1 ]] && ! is_final_abi; then
- mv "${D}"/usr/bin/python${PYVER} "${D}"/usr/bin/python${PYVER}-${ABI}
- fi
-
- # Fix slotted collisions
- mv "${D}"/usr/bin/2to3 "${D}"/usr/bin/2to3-${PYVER}
- 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
-
- # Fix the OPT variable so that it doesn't have any flags listed in it.
- # Prevents the problem with compiling things with conflicting flags 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}
-
- if use examples ; then
- insinto /usr/share/doc/${PF}/examples
- doins -r "${S}"/Tools || die "doins failed"
- fi
-
- newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
- newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
-
- # Installs empty directory.
- rmdir "${D}"/usr/$(get_libdir)/${PN}${PYVER}/lib-old
-}
-
-multilib-native_pkg_postrm_internal() {
- eselect python update --ignore 3.0
- python_mod_cleanup /usr/$(get_libdir)/python${PYVER}
-}
-
-multilib-native_pkg_postinst_internal() {
- eselect python update --ignore 3.0
- python_version
-
- python_mod_optimize -x "(site-packages|test)" \
- /usr/$(get_libdir)/python${PYVER}
-}
-
-multilib-native_src_test_internal() {
- # Tests won't 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 all tests that fail during emerge but pass without emerge:
- #(See bug# 67970)
- local skip_tests="distutils global httpservers mimetools minidom mmap posix pyexpat sax strptime subprocess syntax tcl time urllib urllib2 xml_etree"
-
- # test_pow fails on alpha.
- # http://bugs.python.org/issue756093
- [[ ${ARCH} == "alpha" ]] && skip_tests="${skip_tests} pow"
-
- for test in ${skip_tests} ; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # Redirect stdin from /dev/tty as a workaround for bug #248081.
- # rerun failed tests in verbose mode (regrtest -w)
- EXTRATESTOPTS="-w" make test < /dev/tty || die "make test failed"
-
- for test in ${skip_tests} ; do
- mv "${T}"/test_${test}.py "${S}"/Lib/test/test_${test}.py
- done
-
- elog "Portage skipped the following tests which aren't able to run from emerge:"
- for test in ${skip_tests} ; do
- elog "test_${test}.py"
- done
-
- elog "If you'd like to run them, you may:"
- elog "cd /usr/lib/python${PYVER}/test"
- elog "and run the tests separately."
-}