From f45e1bf31ce9b37f6c8c4375b29c93ba80378699 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Mon, 12 Apr 2021 15:08:59 +0200 Subject: dev-lang/python: Quickport from EAPI 2 to EAPI 7 Closes: https://bugs.gentoo.org/782265 Signed-off-by: Sebastian Pipping Package-Manager: Portage-3.0.18, Repoman-3.0.3 Manifest-Sign-Key: 0xB00BC66A401A1600 --- dev-lang/python/Manifest | 2 +- dev-lang/python/metadata.xml | 4 + dev-lang/python/python-2.2-r8.ebuild | 145 ----------------------------------- dev-lang/python/python-2.2-r9.ebuild | 144 ++++++++++++++++++++++++++++++++++ 4 files changed, 149 insertions(+), 146 deletions(-) delete mode 100644 dev-lang/python/python-2.2-r8.ebuild create mode 100644 dev-lang/python/python-2.2-r9.ebuild diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 0f571e3..647058f 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -1 +1 @@ -DIST Python-2.2.tgz 6542443 SHA256 0b9e29c77d405eb7ce7a263c1ce2fc8c006cd9391790120ebfb83310a83f1fd3 SHA512 b395ee2965c2d6ee078d5a1be154e854a1920d104ce655f154e262126da8abd9fc0fdc2ea7fbea8f3070a23905b28d4414be87cc2163ed4dbcca2e2e481a7f82 WHIRLPOOL f7acb9f03332109ae91197f8c84b3126efa17324a01fc2d5d28e79d7d9253ff4f3856f7075da8d9a07d2fa3f3bba32b28a92b17627a9b11d0cf76c9fd864c1ea +DIST Python-2.2.tgz 6542443 BLAKE2B aefb6a3d53bae8f95f9e380ed159fd4afd584cea7c180f7aa1b0e43af9711eb432f4eefa2ebc50ef5db1282022e189ae440f8ff90f99e4c296892dbd491bbc26 SHA512 b395ee2965c2d6ee078d5a1be154e854a1920d104ce655f154e262126da8abd9fc0fdc2ea7fbea8f3070a23905b28d4414be87cc2163ed4dbcca2e2e481a7f82 diff --git a/dev-lang/python/metadata.xml b/dev-lang/python/metadata.xml index 6d22988..ec63da0 100644 --- a/dev-lang/python/metadata.xml +++ b/dev-lang/python/metadata.xml @@ -5,4 +5,8 @@ sping@gentoo.org Sebastian Pipping + + TODO describe flag "build" here + TODO describe flag "bootstrap" here + diff --git a/dev-lang/python/python-2.2-r8.ebuild b/dev-lang/python/python-2.2-r8.ebuild deleted file mode 100644 index 6ea21fb..0000000 --- a/dev-lang/python/python-2.2-r8.ebuild +++ /dev/null @@ -1,145 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/Attic/python-2.2-r7.ebuild,v 1.12 2003/04/01 00:05:24 liquidx dead $ - -EAPI="2" - -MULTILIB_STRICT_DIRS= # Dirty hack to bypass failing multilib-strict testing - -inherit versionator eutils flag-o-matic - -PYVER_MAJOR="$(get_version_component_range 1)" -PYVER_MINOR="$(get_version_component_range 2)" -PYVER="${PYVER_MAJOR}.${PYVER_MINOR}" - -DESCRIPTION="A really great language" -HOMEPAGE="http://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="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 dev-python/python-fchksum" - -# 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 ' \ - $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 - - epatch "${FILESDIR}"/${P}-readline.patch -} - -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 -} 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 ' \ + $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 +} -- cgit v1.2.3-65-gdbad