diff options
author | Travis Tilley <lv@gentoo.org> | 2004-08-15 05:59:53 +0000 |
---|---|---|
committer | Travis Tilley <lv@gentoo.org> | 2004-08-15 05:59:53 +0000 |
commit | 752096fef56b3f831f74649c647aa6480bcf6e0b (patch) | |
tree | 7a6443901aecda01181b8f60e52e31ffcd1938e9 /dev-lang | |
parent | ah, nearly broke hppa... (diff) | |
download | gentoo-2-752096fef56b3f831f74649c647aa6480bcf6e0b.tar.gz gentoo-2-752096fef56b3f831f74649c647aa6480bcf6e0b.tar.bz2 gentoo-2-752096fef56b3f831f74649c647aa6480bcf6e0b.zip |
added logic for installing to /usr/lib64, triggered by the CONF_LIBDIR variable. proper CONF_LIBDIR support will require portage 2.0.51_pre18 or cvs portage
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/python/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.3.4-lib64.patch | 263 | ||||
-rw-r--r-- | dev-lang/python/python-2.3.3-r1.ebuild | 15 | ||||
-rw-r--r-- | dev-lang/python/python-2.3.4.ebuild | 19 |
4 files changed, 300 insertions, 5 deletions
diff --git a/dev-lang/python/ChangeLog b/dev-lang/python/ChangeLog index 0912020cc9ec..84d79fec79e4 100644 --- a/dev-lang/python/ChangeLog +++ b/dev-lang/python/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/python # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.107 2004/07/20 00:19:28 pylon Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.108 2004/08/15 05:59:53 lv Exp $ + + 14 Aug 2004; Travis Tilley <lv@gentoo.org> +files/python-2.3.4-lib64.patch, + python-2.3.3-r1.ebuild, python-2.3.4.ebuild: + added logic for installing to /usr/lib64, triggered by the CONF_LIBDIR + variable. proper CONF_LIBDIR support will require portage 2.0.51_pre18, soon + to be released. 20 Jul 2004; Lars Weiler <pylon@gentoo.org> python-2.1.3-r1.ebuild: Made python-2.1 stable on ppc as there are still some ebuilds which require diff --git a/dev-lang/python/files/python-2.3.4-lib64.patch b/dev-lang/python/files/python-2.3.4-lib64.patch new file mode 100644 index 000000000000..c2b37feb4946 --- /dev/null +++ b/dev-lang/python/files/python-2.3.4-lib64.patch @@ -0,0 +1,263 @@ +diff -Nru Python-2.3.4.old/Lib/distutils/command/install.py Python-2.3.4/Lib/distutils/command/install.py +--- Python-2.3.4.old/Lib/distutils/command/install.py 2004-08-14 21:38:57.318696000 -0400 ++++ Python-2.3.4/Lib/distutils/command/install.py 2004-08-14 21:39:41.285012104 -0400 +@@ -39,14 +39,14 @@ + INSTALL_SCHEMES = { + 'unix_prefix': { + 'purelib': '$base/lib/python$py_version_short/site-packages', +- 'platlib': '$platbase/lib/python$py_version_short/site-packages', ++ 'platlib': '$platbase/lib64/python$py_version_short/site-packages', + 'headers': '$base/include/python$py_version_short/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', + }, + 'unix_home': { + 'purelib': '$base/lib/python', +- 'platlib': '$base/lib/python', ++ 'platlib': '$base/lib64/python', + 'headers': '$base/include/python/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', +diff -Nru Python-2.3.4.old/Lib/distutils/sysconfig.py Python-2.3.4/Lib/distutils/sysconfig.py +--- Python-2.3.4.old/Lib/distutils/sysconfig.py 2004-08-14 21:38:57.367688552 -0400 ++++ Python-2.3.4/Lib/distutils/sysconfig.py 2004-08-14 21:39:41.300009824 -0400 +@@ -99,8 +99,12 @@ + prefix = plat_specific and EXEC_PREFIX or PREFIX + + if os.name == "posix": ++ if plat_specific or standard_lib: ++ lib = "lib64" ++ else: ++ lib = "lib" + libpython = os.path.join(prefix, +- "lib", "python" + get_python_version()) ++ lib, "python" + get_python_version()) + if standard_lib: + return libpython + else: +diff -Nru Python-2.3.4.old/Lib/site.py Python-2.3.4/Lib/site.py +--- Python-2.3.4.old/Lib/site.py 2004-08-14 21:38:57.565658456 -0400 ++++ Python-2.3.4/Lib/site.py 2004-08-14 21:39:41.318007088 -0400 +@@ -166,9 +166,14 @@ + sitedirs = [os.path.join(prefix, "Lib", "site-packages")] + elif os.sep == '/': + sitedirs = [os.path.join(prefix, ++ "lib64", ++ "python" + sys.version[:3], ++ "site-packages"), ++ os.path.join(prefix, + "lib", + "python" + sys.version[:3], + "site-packages"), ++ os.path.join(prefix, "lib64", "site-python"), + os.path.join(prefix, "lib", "site-python")] + else: + sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")] +diff -Nru Python-2.3.4.old/Lib/test/test_re.py Python-2.3.4/Lib/test/test_re.py +--- Python-2.3.4.old/Lib/test/test_re.py 2004-08-14 21:38:56.631800424 -0400 ++++ Python-2.3.4/Lib/test/test_re.py 2004-08-14 21:39:34.240083096 -0400 +@@ -497,6 +497,15 @@ + self.assert_(re.compile('bug_926075') is not + re.compile(eval("u'bug_926075'"))) + ++ def test_bug_931848(self): ++ try: ++ unicode ++ except NameError: ++ pass ++ pattern = eval('u"[\u002E\u3002\uFF0E\uFF61]"') ++ self.assertEqual(re.compile(pattern).split("a.b.c"), ++ ['a','b','c']) ++ + def run_re_tests(): + from test.re_tests import benchmarks, tests, SUCCEED, FAIL, SYNTAX_ERROR + if verbose: +diff -Nru Python-2.3.4.old/Makefile.pre.in Python-2.3.4/Makefile.pre.in +--- Python-2.3.4.old/Makefile.pre.in 2004-08-14 21:39:00.506211424 -0400 ++++ Python-2.3.4/Makefile.pre.in 2004-08-14 21:39:41.341003592 -0400 +@@ -79,11 +79,11 @@ + + # Expanded directories + BINDIR= $(exec_prefix)/bin +-LIBDIR= $(exec_prefix)/lib ++LIBDIR= $(exec_prefix)/lib64 + MANDIR= @mandir@ + INCLUDEDIR= @includedir@ + CONFINCLUDEDIR= $(exec_prefix)/include +-SCRIPTDIR= $(prefix)/lib ++SCRIPTDIR= $(prefix)/lib64 + + # Detailed destination directories + BINLIBDEST= $(LIBDIR)/python$(VERSION) +diff -Nru Python-2.3.4.old/Modules/Setup.dist Python-2.3.4/Modules/Setup.dist +--- Python-2.3.4.old/Modules/Setup.dist 2004-08-14 21:39:00.761172664 -0400 ++++ Python-2.3.4/Modules/Setup.dist 2004-08-14 21:42:09.073544832 -0400 +@@ -343,7 +343,7 @@ + # *** Uncomment and edit to reflect your Tcl/Tk versions: + # -ltk8.2 -ltcl8.2 \ + # *** Uncomment and edit to reflect where your X11 libraries are: +-# -L/usr/X11R6/lib \ ++ -L/usr/X11R6/lib64 \ + # *** Or uncomment this for Solaris: + # -L/usr/openwin/lib \ + # *** Uncomment these for TOGL extension only: +@@ -417,7 +417,7 @@ + #DB=/usr/local/BerkeleyDB.4.0 + #DBLIBVER=4.0 + #DBINC=$(DB)/include +-#DBLIB=$(DB)/lib ++DBLIB=$(DB)/lib64 + #_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER) + + # Historical Berkeley DB 1.85 +@@ -463,7 +463,7 @@ + # Andrew Kuchling's zlib module. + # This require zlib 1.1.3 (or later). + # See http://www.cdrom.com/pub/infozip/zlib/ +-#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz ++zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib64 -lz + + # Interface to the Expat XML parser + # +diff -Nru Python-2.3.4.old/Modules/getpath.c Python-2.3.4/Modules/getpath.c +--- Python-2.3.4.old/Modules/getpath.c 2004-08-14 21:39:00.750174336 -0400 ++++ Python-2.3.4/Modules/getpath.c 2004-08-14 21:39:41.319006936 -0400 +@@ -112,8 +112,8 @@ + #endif + + #ifndef PYTHONPATH +-#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ +- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" ++#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \ ++ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload" + #endif + + #ifndef LANDMARK +@@ -124,7 +124,7 @@ + static char exec_prefix[MAXPATHLEN+1]; + static char progpath[MAXPATHLEN+1]; + static char *module_search_path = NULL; +-static char lib_python[] = "lib/python" VERSION; ++static char lib_python[] = "lib64/python" VERSION; + + static void + reduce(char *dir) +@@ -492,7 +492,7 @@ + } + else + strncpy(zip_path, PREFIX, MAXPATHLEN); +- joinpath(zip_path, "lib/python00.zip"); ++ joinpath(zip_path, "lib64/python00.zip"); + bufsz = strlen(zip_path); /* Replace "00" with version */ + zip_path[bufsz - 6] = VERSION[0]; + zip_path[bufsz - 5] = VERSION[2]; +@@ -502,7 +502,7 @@ + fprintf(stderr, + "Could not find platform dependent libraries <exec_prefix>\n"); + strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN); +- joinpath(exec_prefix, "lib/lib-dynload"); ++ joinpath(exec_prefix, "lib64/lib-dynload"); + } + /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ + +diff -Nru Python-2.3.4.old/setup.py Python-2.3.4/setup.py +--- Python-2.3.4.old/setup.py 2004-08-14 21:39:00.575200936 -0400 ++++ Python-2.3.4/setup.py 2004-08-14 21:39:41.340003744 -0400 +@@ -241,7 +241,7 @@ + + def detect_modules(self): + # Ensure that /usr/local is always used +- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') ++ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') + + # fink installs lots of goodies in /sw/... - make sure we +@@ -264,7 +264,7 @@ + # lib_dirs and inc_dirs are used to search for files; + # if a file is found in one of those directories, it can + # be assumed that no additional -I,-L directives are needed. +- lib_dirs = self.compiler.library_dirs + ['/lib', '/usr/lib'] ++ lib_dirs = self.compiler.library_dirs + ['/lib64', '/usr/lib64'] + inc_dirs = self.compiler.include_dirs + ['/usr/include'] + exts = [] + +@@ -413,11 +413,11 @@ + elif self.compiler.find_library_file(lib_dirs, 'curses'): + readline_libs.append('curses') + elif self.compiler.find_library_file(lib_dirs + +- ['/usr/lib/termcap'], ++ ['/usr/lib64/termcap'], + 'termcap'): + readline_libs.append('termcap') + exts.append( Extension('readline', ['readline.c'], +- library_dirs=['/usr/lib/termcap'], ++ library_dirs=['/usr/lib64/termcap'], + libraries=readline_libs) ) + if platform not in ['mac']: + # crypt module. +@@ -446,8 +446,8 @@ + if krb5_h: + ssl_incs += krb5_h + ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, +- ['/usr/local/ssl/lib', +- '/usr/contrib/ssl/lib/' ++ ['/usr/local/ssl/lib64', ++ '/usr/contrib/ssl/lib64/' + ] ) + + if (ssl_incs is not None and +@@ -481,12 +481,12 @@ + # order you wish to search - e.g., search for db4 before db3 + db_try_this = { + 'db4': {'libs': ('db-4.2', 'db42', 'db-4.1', 'db41', 'db-4.0', 'db4',), +- 'libdirs': ('/usr/local/BerkeleyDB.4.2/lib', +- '/usr/local/BerkeleyDB.4.1/lib', +- '/usr/local/BerkeleyDB.4.0/lib', +- '/usr/local/lib', ++ 'libdirs': ('/usr/local/BerkeleyDB.4.2/lib64', ++ '/usr/local/BerkeleyDB.4.1/lib64', ++ '/usr/local/BerkeleyDB.4.0/lib64', ++ '/usr/local/lib64', + '/opt/sfw', +- '/sw/lib', ++ '/sw/lib64', + ), + 'incdirs': ('/usr/local/BerkeleyDB.4.2/include', + '/usr/local/include/db42', +@@ -499,12 +499,12 @@ + '/usr/include/db4', + )}, + 'db3': {'libs': ('db-3.3', 'db-3.2', 'db-3.1', 'db3',), +- 'libdirs': ('/usr/local/BerkeleyDB.3.3/lib', +- '/usr/local/BerkeleyDB.3.2/lib', +- '/usr/local/BerkeleyDB.3.1/lib', +- '/usr/local/lib', +- '/opt/sfw/lib', +- '/sw/lib', ++ 'libdirs': ('/usr/local/BerkeleyDB.3.3/lib64', ++ '/usr/local/BerkeleyDB.3.2/lib64', ++ '/usr/local/BerkeleyDB.3.1/lib64', ++ '/usr/local/lib64', ++ '/opt/sfw/lib64', ++ '/sw/lib64', + ), + 'incdirs': ('/usr/local/BerkeleyDB.3.3/include', + '/usr/local/BerkeleyDB.3.2/include', +@@ -986,14 +986,14 @@ + added_lib_dirs.append('/usr/openwin/lib') + elif os.path.exists('/usr/X11R6/include'): + include_dirs.append('/usr/X11R6/include') +- added_lib_dirs.append('/usr/X11R6/lib') ++ added_lib_dirs.append('/usr/X11R6/lib64') + elif os.path.exists('/usr/X11R5/include'): + include_dirs.append('/usr/X11R5/include') +- added_lib_dirs.append('/usr/X11R5/lib') ++ added_lib_dirs.append('/usr/X11R5/lib64') + else: + # Assume default location for X11 + include_dirs.append('/usr/X11/include') +- added_lib_dirs.append('/usr/X11/lib') ++ added_lib_dirs.append('/usr/X11/lib64') + + # If Cygwin, then verify that X is installed before proceeding + if platform == 'cygwin': diff --git a/dev-lang/python/python-2.3.3-r1.ebuild b/dev-lang/python/python-2.3.3-r1.ebuild index db9e22fccf8d..ac65adb9cd9e 100644 --- a/dev-lang/python/python-2.3.3-r1.ebuild +++ b/dev-lang/python/python-2.3.3-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.3.3-r1.ebuild,v 1.19 2004/07/03 08:50:41 kloeri Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.3.3-r1.ebuild,v 1.20 2004/08/15 05:59:53 lv Exp $ # NOTE about python-portage interactions : # - Do not add a pkg_setup() check for a certain version of portage @@ -57,6 +57,8 @@ src_unpack() { epatch ${FILESDIR}/${PN}-2.3.2-disable_modules_and_ssl.patch epatch ${FILESDIR}/${PN}-2.3-mimetypes_apache.patch epatch ${FILESDIR}/${PN}-2.3-db4.2.patch + # installs to lib64 + [ "${CONF_LIBDIR}" == "lib64" ] && epatch ${FILESDIR}/python-2.3.4-lib64.patch # fix os.utime() on hppa. utimes it not supported but unfortunately reported as working - gmsoft (22 May 04) [ "${ARCH}" = "hppa" ] && sed -e 's/utimes //' -i ${S}/configure } @@ -133,13 +135,21 @@ src_install() { # seems like the build do not install Makefile.pre.in anymore # it probably shouldn't - use DistUtils, people! + if [ "${CONF_LIBDIR}" == "lib64" ] ;then + insinto /usr/lib64/python${PYVER}/config + else insinto /usr/lib/python${PYVER}/config + fi doins ${S}/Makefile.pre.in # 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. + if [ "${CONF_LIBDIR}" == "lib64" ] ;then + dosed -e 's:^OPT=.*:OPT=-DNDEBUG:' /usr/lib64/python${PYVER}/config/Makefile + else dosed -e 's:^OPT=.*:OPT=-DNDEBUG:' /usr/lib/python${PYVER}/config/Makefile + fi # install python-updater in /usr/sbin dosbin ${FILESDIR}/python-updater @@ -156,6 +166,7 @@ src_install() { pkg_postrm() { python_makesym python_mod_cleanup /usr/lib/python2.3 + [ "${CONF_LIBDIR}" == "lib64" ] && python_mod_cleanup /usr/lib64/python2.3 } pkg_postinst() { @@ -166,6 +177,8 @@ pkg_postinst() { python_makesym python_mod_optimize python_mod_optimize -x site-packages -x test ${myroot}/usr/lib/python${PYVER} + [ "${CONF_LIBDIR}" == "lib64" ] && \ + python_mod_optimize -x site-packages -x test ${myroot}/usr/lib64/python${PYVER} # workaround possible python-upgrade-breaks-portage situation if [ ! -f ${myroot}/usr/lib/portage/pym/portage.py ]; then diff --git a/dev-lang/python/python-2.3.4.ebuild b/dev-lang/python/python-2.3.4.ebuild index 6bff1984dbcb..23c0b2c2f2cd 100644 --- a/dev-lang/python/python-2.3.4.ebuild +++ b/dev-lang/python/python-2.3.4.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.3.4.ebuild,v 1.7 2004/07/03 23:40:40 g2boojum Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.3.4.ebuild,v 1.8 2004/08/15 05:59:53 lv Exp $ # NOTE about python-portage interactions : # - Do not add a pkg_setup() check for a certain version of portage @@ -56,6 +56,8 @@ src_unpack() { epatch ${FILESDIR}/${PN}-2.3.2-disable_modules_and_ssl.patch epatch ${FILESDIR}/${PN}-2.3-mimetypes_apache.patch epatch ${FILESDIR}/${PN}-2.3-db4.2.patch + # installs to lib64 + [ "${CONF_LIBDIR}" == "lib64" ] && epatch ${FILESDIR}/python-2.3.4-lib64.patch # fix os.utime() on hppa. utimes it not supported but unfortunately reported as working - gmsoft (22 May 04) [ "${ARCH}" = "hppa" ] && sed -e 's/utimes //' -i ${S}/configure } @@ -132,13 +134,21 @@ src_install() { # seems like the build do not install Makefile.pre.in anymore # it probably shouldn't - use DistUtils, people! - insinto /usr/lib/python${PYVER}/config + if [ "${CONF_LIBDIR}" == "lib64" ] ;then + insinto /usr/lib64/python${PYVER}/config + else + insinto /usr/lib/python${PYVER}/config + fi doins ${S}/Makefile.pre.in # 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/lib/python${PYVER}/config/Makefile + if [ "${CONF_LIBDIR}" == "lib64" ] ;then + dosed -e 's:^OPT=.*:OPT=-DNDEBUG:' /usr/lib64/python${PYVER}/config/Makefile + else + dosed -e 's:^OPT=.*:OPT=-DNDEBUG:' /usr/lib/python${PYVER}/config/Makefile + fi # install python-updater in /usr/sbin dosbin ${FILESDIR}/python-updater @@ -147,6 +157,7 @@ src_install() { pkg_postrm() { python_makesym python_mod_cleanup /usr/lib/python2.3 + [ "${CONF_LIBDIR}" == "lib64" ] && python_mod_cleanup /usr/lib64/python2.3 } pkg_postinst() { @@ -157,6 +168,8 @@ pkg_postinst() { python_makesym python_mod_optimize python_mod_optimize -x site-packages -x test ${myroot}/usr/lib/python${PYVER} + [ "${CONF_LIBDIR}" == "lib64" ] && \ + python_mod_optimize -x site-packages -x test ${myroot}/usr/lib64/python${PYVER} # workaround possible python-upgrade-breaks-portage situation if [ ! -f ${myroot}/usr/lib/portage/pym/portage.py ]; then |