diff options
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: |