diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2009-08-26 10:00:38 -0500 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-05-31 22:41:17 +0200 |
commit | 5a12e7c134274dba706667107d10d231517d3e05 (patch) | |
tree | 55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/d/python | |
download | current-5a12e7c134274dba706667107d10d231517d3e05.tar.gz |
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009
Slackware 13.0 x86_64 is released as stable! Thanks to everyone who
helped make this release possible -- see the RELEASE_NOTES for the
credits. The ISOs are off to the replicator. This time it will be a
6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD.
We're taking pre-orders now at store.slackware.com. Please consider
picking up a copy to help support the project. Once again, thanks to
the entire Slackware community for all the help testing and fixing
things and offering suggestions during this development cycle.
As always, have fun and enjoy! -P.
Diffstat (limited to 'source/d/python')
-rwxr-xr-x | source/d/python/python.SlackBuild | 142 | ||||
-rw-r--r-- | source/d/python/python.pure64.diff | 32 | ||||
-rw-r--r-- | source/d/python/python.readline.set_pre_input_hook.diff | 12 | ||||
-rw-r--r-- | source/d/python/python.x86_64.diff | 173 | ||||
-rw-r--r-- | source/d/python/slack-desc | 19 |
5 files changed, 378 insertions, 0 deletions
diff --git a/source/d/python/python.SlackBuild b/source/d/python/python.SlackBuild new file mode 100755 index 00000000..88445fd8 --- /dev/null +++ b/source/d/python/python.SlackBuild @@ -0,0 +1,142 @@ +#!/bin/bash + +# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=${VERSION:-2.6.2} +ARCH=${ARCH:-x86_64} +BUILD=${BUILD:-3} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-python +rm -rf $PKG +mkdir -p $TMP $PKG + +# Don't set any SLKCFLAGS here, or OPT="$SLKCFLAGS" before the ./configure. +# Python gets the compile options right without any help. +if [ "$ARCH" = "i486" ]; then + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "arm" ]; then + LIBDIRSUFFIX="" +elif [ "$ARCH" = "armel" ]; then + LIBDIRSUFFIX="" +fi + +# Location for Python site-packages: +SITEPK=$PKG/usr/lib${LIBDIRSUFFIX}/python2.6/site-packages +# same as above without $PKG +TOOLSDIR=/usr/lib${LIBDIRSUFFIX}/python2.6/site-packages + +cd $TMP +rm -rf Python-$VERSION +tar xf $CWD/Python-$VERSION.tar.?z* || exit 1 +cd Python-$VERSION + +zcat $CWD/python.readline.set_pre_input_hook.diff.gz | patch -p1 --verbose || exit 1 + +if [ "$ARCH" = "x86_64" ]; then + # Install to lib64 instead of lib: + zcat $CWD/python.x86_64.diff.gz | patch -p1 --verbose || exit 1 + # Python must report /usr/lib64/python2.6/site-packages as python_lib_dir: + zcat $CWD/python.pure64.diff.gz | patch -p1 --verbose || exit 1 +fi + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --docdir=/usr/doc/python-$VERSION \ + --with-ncurses \ + --with-threads \ + --enable-ipv6 \ + --enable-shared \ + --build=$ARCH-slackware-linux + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG + +# Install some python-demo files: +mkdir -p $PKG/usr/doc/python-$VERSION +cp -a Demo $PKG/usr/doc/python-$VERSION + +# We'll install the python-tools under site-packages: +mkdir -p $SITEPK +cp -a Tools/* $SITEPK + +mkdir -p $PKG/usr/doc/python-$VERSION +mv $SITEPK/README $PKG/usr/doc/python-$VERSION/README.python-tools +( cd $PKG/usr/doc/python-$VERSION + ln -sf $TOOLSDIR Tools +) +# Make a few useful symlinks: +mkdir -p $PKG/usr/bin +( cd $PKG/usr/bin + ln -sf $TOOLSDIR/modulator/modulator.py modulator + ln -sf $TOOLSDIR/pynche/pynche pynche + ln -sf $TOOLSDIR/i18n/msgfmt.py . + ln -sf $TOOLSDIR/i18n/pygettext.py . +) + +# Install docs: +mkdir -p $PKG/usr/doc/python-$VERSION/Documentation +cp -a README LICENSE $PKG/usr/doc/python-$VERSION +cp -a Misc $PKG/usr/doc/python-$VERSION +tar xf $CWD/python-$VERSION-docs-text.tar.?z* +mv python-${VERSION}-docs-text/* $PKG/usr/doc/python-$VERSION/Documentation +chown -R root:root $PKG/usr/doc/python-$VERSION + +( cd $PKG/usr/bin + rm -f python + ln -sf python2.6 python +) + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null +) + +( cd $PKG/usr/man + find . -type f -exec gzip -9 {} \; + for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/python-$VERSION-$ARCH-$BUILD.txz + diff --git a/source/d/python/python.pure64.diff b/source/d/python/python.pure64.diff new file mode 100644 index 00000000..a0d06aac --- /dev/null +++ b/source/d/python/python.pure64.diff @@ -0,0 +1,32 @@ +diff -uar Python-2.6.2.orig/Lib/distutils/command/install.py Python-2.6.2/Lib/distutils/command/install.py +--- Python-2.6.2.orig/Lib/distutils/command/install.py 2009-04-29 22:15:21.000000000 +0200 ++++ Python-2.6.2/Lib/distutils/command/install.py 2009-04-29 22:14:14.000000000 +0200 +@@ -41,14 +41,14 @@ + + INSTALL_SCHEMES = { + 'unix_prefix': { +- 'purelib': '$base/lib/python$py_version_short/site-packages', ++ 'purelib': '$base/lib64/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', ++ 'purelib': '$base/lib64/python', + 'platlib': '$base/lib64/python', + 'headers': '$base/include/python/$dist_name', + 'scripts': '$base/bin', +diff -uar Python-2.6.2.orig/Lib/distutils/sysconfig.py Python-2.6.2/Lib/distutils/sysconfig.py +--- Python-2.6.2.orig/Lib/distutils/sysconfig.py 2009-04-29 22:15:21.000000000 +0200 ++++ Python-2.6.2/Lib/distutils/sysconfig.py 2009-04-29 22:14:14.000000000 +0200 +@@ -118,7 +118,7 @@ + if plat_specific or standard_lib: + lib = "lib64" + else: +- lib = "lib" ++ lib = "lib64" + libpython = os.path.join(prefix, + lib, "python" + get_python_version()) + if standard_lib: diff --git a/source/d/python/python.readline.set_pre_input_hook.diff b/source/d/python/python.readline.set_pre_input_hook.diff new file mode 100644 index 00000000..8af4b4be --- /dev/null +++ b/source/d/python/python.readline.set_pre_input_hook.diff @@ -0,0 +1,12 @@ +--- ./Modules/readline.c.orig 2008-11-04 14:43:31.000000000 -0600 ++++ ./Modules/readline.c 2009-06-09 14:23:16.000000000 -0500 +@@ -11,6 +11,9 @@ + #include <errno.h> + #include <sys/time.h> + ++/* This seems to be needed for set_pre_input_hook to work */ ++#define HAVE_RL_PRE_INPUT_HOOK 1 ++ + #if defined(HAVE_SETLOCALE) + /* GNU readline() mistakenly sets the LC_CTYPE locale. + * This is evil. Only the user or the app's main() should do this! diff --git a/source/d/python/python.x86_64.diff b/source/d/python/python.x86_64.diff new file mode 100644 index 00000000..712a5d1b --- /dev/null +++ b/source/d/python/python.x86_64.diff @@ -0,0 +1,173 @@ +diff -uar Python-2.6.2.orig/Lib/distutils/command/install.py Python-2.6.2/Lib/distutils/command/install.py +--- Python-2.6.2.orig/Lib/distutils/command/install.py 2008-05-07 00:41:46.000000000 +0200 ++++ Python-2.6.2/Lib/distutils/command/install.py 2009-04-29 22:05:43.000000000 +0200 +@@ -42,14 +42,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 -uar Python-2.6.2.orig/Lib/distutils/sysconfig.py Python-2.6.2/Lib/distutils/sysconfig.py +--- Python-2.6.2.orig/Lib/distutils/sysconfig.py 2009-02-10 13:33:42.000000000 +0100 ++++ Python-2.6.2/Lib/distutils/sysconfig.py 2009-04-29 22:05:43.000000000 +0200 +@@ -115,8 +115,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 -uar Python-2.6.2.orig/Lib/site.py Python-2.6.2/Lib/site.py +--- Python-2.6.2.orig/Lib/site.py 2008-05-10 19:36:24.000000000 +0200 ++++ Python-2.6.2/Lib/site.py 2009-04-29 22:05:43.000000000 +0200 +@@ -265,12 +265,16 @@ + if sys.platform in ('os2emx', 'riscos'): + sitedirs.append(os.path.join(prefix, "Lib", "site-packages")) + elif os.sep == '/': ++ sitedirs.append(os.path.join(prefix, "lib64", ++ "python" + sys.version[:3], ++ "site-packages")) + sitedirs.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], + "site-packages")) + sitedirs.append(os.path.join(prefix, "lib", "site-python")) + else: + sitedirs.append(prefix) ++ sitedirs.append(os.path.join(prefix, "lib64", "site-packages")) + sitedirs.append(os.path.join(prefix, "lib", "site-packages")) + + if sys.platform == "darwin": +diff -uar Python-2.6.2.orig/Makefile.pre.in Python-2.6.2/Makefile.pre.in +--- Python-2.6.2.orig/Makefile.pre.in 2009-02-24 12:07:44.000000000 +0100 ++++ Python-2.6.2/Makefile.pre.in 2009-04-29 22:05:43.000000000 +0200 +@@ -87,11 +87,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 -uar Python-2.6.2.orig/Modules/Setup.dist Python-2.6.2/Modules/Setup.dist +--- Python-2.6.2.orig/Modules/Setup.dist 2008-11-27 11:15:12.000000000 +0100 ++++ Python-2.6.2/Modules/Setup.dist 2009-04-29 22:10:31.000000000 +0200 +@@ -414,7 +414,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 +@@ -460,7 +460,7 @@ + # Andrew Kuchling's zlib module. + # This require zlib 1.1.3 (or later). + # See http://www.gzip.org/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 -uar Python-2.6.2.orig/Modules/getpath.c Python-2.6.2/Modules/getpath.c +--- Python-2.6.2.orig/Modules/getpath.c 2007-03-10 08:38:14.000000000 +0100 ++++ Python-2.6.2/Modules/getpath.c 2009-04-29 22:05:43.000000000 +0200 +@@ -117,8 +117,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 +@@ -129,7 +129,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) +@@ -524,7 +524,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]; +@@ -534,7 +534,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 -uar Python-2.6.2.orig/setup.py Python-2.6.2/setup.py +--- Python-2.6.2.orig/setup.py 2009-03-31 20:20:48.000000000 +0200 ++++ Python-2.6.2/setup.py 2009-04-29 22:05:43.000000000 +0200 +@@ -310,7 +310,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') + + # Add paths specified in the environment variables LDFLAGS and +@@ -585,11 +585,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'], + extra_link_args=readline_extra_link_args, + libraries=readline_libs) ) + else: +@@ -626,8 +626,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 diff --git a/source/d/python/slack-desc b/source/d/python/slack-desc new file mode 100644 index 00000000..569c3c5b --- /dev/null +++ b/source/d/python/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +python: python (object-oriented interpreted programming language) +python: +python: Python is an interpreted, interactive, object-oriented programming +python: language that combines remarkable power with very clear syntax. +python: Python's basic power can be extended with your own modules written in +python: C or C++. Python is also adaptable as an extension language for +python: existing applications. +python: +python: +python: +python: |