diff options
author | Eric Hameleers <alien@slackware.com> | 2011-05-15 20:31:39 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2011-05-15 20:31:39 +0000 |
commit | 42cab320c0136757684256546686fa0817a9cc39 (patch) | |
tree | 62f63cf926fe7e67f77d71c4594759c7b26fcd53 /python27 | |
parent | 1c2e2152a41bc2efa3109371f3c181bd2d85b2f7 (diff) | |
download | asb-42cab320c0136757684256546686fa0817a9cc39.tar.gz asb-42cab320c0136757684256546686fa0817a9cc39.tar.xz |
Initial revision
Diffstat (limited to 'python27')
-rwxr-xr-x | python27/build/python-calibre.SlackBuild | 147 | ||||
-rw-r--r-- | python27/build/slack-desc | 19 |
2 files changed, 166 insertions, 0 deletions
diff --git a/python27/build/python-calibre.SlackBuild b/python27/build/python-calibre.SlackBuild new file mode 100755 index 00000000..d25ae53e --- /dev/null +++ b/python27/build/python-calibre.SlackBuild @@ -0,0 +1,147 @@ +#!/bin/bash + +# Copyright 2008, 2009, 2010, 2011 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. + +# Custom python2.7 package that can be installed in parallel with Slackware's +# own python2.6. +# Package renamed to "python-calibre" to prevent name-clash. +# Copyright 2011 Eric Hameleers, Eindhoven, NL + +PKGNAM="python-calibre" +VERSION=${VERSION:-2.7.1} +BUILD=${BUILD:-1} +TAG=${TAG:-alien} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM +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.7/site-packages +# same as above without $PKG +TOOLSDIR=/usr/lib${LIBDIRSUFFIX}/python2.7/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.7/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/$PKGNAM-$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/$PKGNAM-$VERSION +cp -a Demo $PKG/usr/doc/$PKGNAM-$VERSION + +# We'll install the python-tools under site-packages: +mkdir -p $SITEPK +cp -a Tools/* $SITEPK + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +mv $SITEPK/README $PKG/usr/doc/$PKGNAM-$VERSION/README.python-tools +( cd $PKG/usr/doc/$PKGNAM-$VERSION + ln -sf $TOOLSDIR Tools +) + +# Install docs: +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/Documentation +cp -a README LICENSE $PKG/usr/doc/$PKGNAM-$VERSION +cp -a Misc $PKG/usr/doc/$PKGNAM-$VERSION +tar xf $CWD/python-$VERSION-docs-text.tar.?z* +mv python-${VERSION}-docs-text/* $PKG/usr/doc/$PKGNAM-$VERSION/Documentation +chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION + +# We want to leave the original python alone! +rm -f $PKG/usr/bin/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/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.txz + diff --git a/python27/build/slack-desc b/python27/build/slack-desc new file mode 100644 index 00000000..dc54ecae --- /dev/null +++ b/python27/build/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-calibre: python (object-oriented interpreted programming language) +python-calibre: +python-calibre: Python is an interpreted, interactive, object-oriented programming +python-calibre: language that combines remarkable power with very clear syntax. +python-calibre: Python's basic power can be extended with your own modules written in +python-calibre: C or C++. Python is also adaptable as an extension language for +python-calibre: existing applications. +python-calibre: +python-calibre: This is a build of python2.7 especially for use with calibre. +python-calibre: It can be installed alongside Slackware's own python2.6. +python-calibre: |