summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/python/python-2.2-r9.ebuild')
-rw-r--r--dev-lang/python/python-2.2-r9.ebuild144
1 files changed, 144 insertions, 0 deletions
diff --git a/dev-lang/python/python-2.2-r9.ebuild b/dev-lang/python/python-2.2-r9.ebuild
new file mode 100644
index 0000000..f1f7490
--- /dev/null
+++ b/dev-lang/python/python-2.2-r9.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+MULTILIB_STRICT_DIRS= # Dirty hack to bypass failing multilib-strict testing
+
+PYVER_MAJOR="$(ver_cut 1)"
+PYVER_MINOR="$(ver_cut 2)"
+PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"
+
+DESCRIPTION="A really great language"
+HOMEPAGE="https://www.python.org"
+SRC_URI="https://www.python.org/ftp/python/${PV}/Python-${PV}.tgz"
+
+SLOT="2.2"
+LICENSE="PSF-2.2"
+KEYWORDS="~amd64 ~sparc ~x86"
+IUSE="build readline tk berkdb bootstrap"
+
+DEPEND="
+ >=sys-libs/zlib-1.1.3
+ readline? ( >=sys-libs/readline-4.1 >=sys-libs/ncurses-5.2 )
+ berkdb? ( >=sys-libs/db-3:* )
+ tk? ( >=dev-lang/tk-8.0 )"
+RDEPEND="$DEPEND"
+
+# The dev-python/python-fchksum RDEPEND is needed to that this python provides
+# the functionality expected from previous pythons.
+
+S=${WORKDIR}/Python-${PV}
+
+src_prepare() {
+ # 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 tk
+ if use tk; 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
+
+ eapply "${FILESDIR}"/${P}-readline.patch
+
+ eapply_user
+}
+
+src_configure() {
+ 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
+ OPT="${CFLAGS} -fPIC" ./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
+}
+
+src_compile() {
+ #emake || die "Parallel make failed"
+ make || die "Parallel make failed"
+}
+
+src_install() {
+ dodir /usr
+
+ # Extra shot to workaround weird "Lib/plat-linux3" target error
+ make install prefix="${D}"/usr || true
+ make install prefix="${D}"/usr || die
+ rm "${D}/usr/bin/python" || die
+ dodoc README || die
+
+ # 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 || die
+
+ # If USE tk lets install idle
+ # Need to script the python version in the path
+ if use tk; then
+ dodir /usr/lib/python${PYVER}/tools
+ mv "${S}/Tools/idle" "${D}/usr/lib/python${PYVER}/tools/" || die
+ dosym /usr/lib/python${PYVER}/tools/idle/idle.py /usr/bin/idle.py || die
+ fi
+
+ mv "${D}"/usr/share/man/man1/python{,${PV}}.1 || die
+ mv "${D}"/usr/bin/pydoc{,${PV}} || die
+}