blob: 8a0abeb55d4e9af9cc58880647cc70a13f43c73e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.2-r7.ebuild,v 1.10 2002/12/09 04:20:58 manson Exp $
IUSE="readline tcltk berkdb bootstrap"
PYVER_MAJOR="`echo ${PV} | cut -d '.' -f 1`"
PYVER_MINOR="`echo ${PV} | cut -d '.' -f 2`"
PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"
S=${WORKDIR}/Python-${PV}
DESCRIPTION="A really great language"
SRC_URI="http://www.python.org/ftp/python/${PV}/Python-${PV}.tgz"
HOMEPAGE="http://www.python.org"
LICENSE="PSF-2.2"
KEYWORDS="x86 sparc "
DEPEND="virtual/glibc >=sys-libs/zlib-1.1.3
readline? ( >=sys-libs/readline-4.1 >=sys-libs/ncurses-5.2 )
berkdb? ( >=sys-libs/db-3 )
tcltk? ( >=dev-lang/tk-8.0 )"
RDEPEND="$DEPEND dev-python/python-fchksum"
# The dev-python/python-fchksum RDEPEND is needed to that this python provides
# the functionality expected from previous pythons.
PROVIDE="virtual/python"
SLOT="2.2"
KEYWORDS="x86 sparc "
src_compile() {
# python's config seems to ignore CFLAGS
export OPT=$CFLAGS
# adjust makefile to install pydoc into ${D} correctly
t=${S}/Makefile.pre.in
cp $t $t.orig || die
sed 's:install-platlib.*:& --install-scripts=$(BINDIR):' $t.orig > $t
# adjust Setup to include the various modules we need
cd ${S}
# turn **on** shared
scmd="s:#\(\*shared\*\):\1:;"
# adjust for USE readline
if use readline; then
scmd="$scmd s:#\(readline .*\) -ltermcap:\1:;"
scmd="$scmd s:#\(_curses .*\) -lcurses -ltermcap:\1 -lncurses:;"
fi
# adjust for USE tcltk
if use tcltk; then
# Find the version of tcl/tk that has headers installed.
# This will be the most recently merged, not necessarily the highest
# version number.
tclv=$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')
tkv=$( grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
# adjust Setup to match
scmd="$scmd s:# \(_tkinter \):\1:;"
scmd="$scmd s:#\(\t-ltk[0-9.]* -ltcl[0-9.]*\):\t-ltk$tkv -ltcl$tclv:;"
scmd="$scmd s:#\(\t-L/usr/X11R6/lib\):\1:;"
scmd="$scmd s:#\(\t-lX11.*\):\1:;"
scmd="$scmd s:#\(\t-I/usr/X11R6/include\):\1:;"
fi
# adjust for USE berkdb
if use berkdb; then
# patch the dbmmodule to use db3's dbm compatibility code. That way,
# we're depending on db3 rather than old db1.
t=Modules/dbmmodule.c
cp $t $t.orig || die
sed \
-e '10,25d' \
-e '26i\' \
-e '#define DB_DBM_HSEARCH 1\' \
-e 'static char *which_dbm = "BSD db";\' \
-e '#include <db3/db.h>' \
$t.orig > $t
# now fix Setup
scmd="$scmd s:#dbm.*:dbm dbmmodule.c -I/usr/include/db3 -ldb-3.2:;"
fi
# no USE vars to switch off these adjustments:
scmd="$scmd s:#\(_locale .*\):\1:;" # access to ISO C locale support
scmd="$scmd s:#\(syslog .*\):\1:;" # syslog daemon interface
scmd="$scmd s:#\(zlib .*\):\1:;" # This require zlib 1.1.3 (or later).
scmd="$scmd s:#\(termios .*\):\1:;" # Steen Lumholt's termios module
scmd="$scmd s:#\(resource .*\):\1:;" # Jeremy Hylton's rlimit interface
sed "$scmd" Modules/Setup.dist > Modules/Setup
local myopts
#if we are creating a new build image, we remove the dependency on g++
if [ "`use build`" -a ! "`use bootstrap`" ]
then
myopts="--with-cxx=no"
fi
./configure \
--prefix=/usr \
--without-libdb \
--infodir='${prefix}'/share/info \
--mandir='${prefix}'/share/man $myopts
assert "Configure failed"
# kill the -DHAVE_CONFIG_H flag
mv Makefile Makefile.orig
sed -e 's/-DHAVE_CONFIG_H//' Makefile.orig > Makefile
#emake || die "Parallel make failed"
make || die "Parallel make failed"
}
src_install() {
dodir /usr
make install prefix=${D}/usr || die
rm "${D}/usr/bin/python"
dosym python${PYVER_MAJOR} /usr/bin/python
dosym python${PYVER_MAJOR}.${PYVER_MINOR} /usr/bin/python${PYVER_MAJOR}
dodoc README
# install our own custom python-config
exeinto /usr/bin
newexe ${FILESDIR}/python-config-${PYVER} python-config
# seems like the build do not install Makefile.pre.in anymore
insinto /usr/lib/python${PYVER}/config
doins ${S}/Makefile.pre.in
# If USE tcltk lets install idle
# Need to script the python version in the path
if use tcltk; then
dodir /usr/lib/python${PYVER}/tools
mv "${S}/Tools/idle" "${D}/usr/lib/python${PYVER}/tools/"
dosym /usr/lib/python${PYVER}/tools/idle/idle.py /usr/bin/idle.py
fi
}
|