summaryrefslogtreecommitdiff
path: root/source/d/python
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/python')
-rwxr-xr-xsource/d/python/python.SlackBuild142
-rw-r--r--source/d/python/python.pure64.diff32
-rw-r--r--source/d/python/python.readline.set_pre_input_hook.diff12
-rw-r--r--source/d/python/python.x86_64.diff173
-rw-r--r--source/d/python/slack-desc19
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: