From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:python-soabi-cleanup commit in: dev-lang/python/
Date: Tue, 10 Nov 2015 17:53:30 +0000 (UTC) [thread overview]
Message-ID: <1447177547.ee6c6d79da6677d6d943a9da53f3dad38b7a8bec.mgorny@gentoo> (raw)
commit: ee6c6d79da6677d6d943a9da53f3dad38b7a8bec
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 6 22:16:25 2015 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 10 17:45:47 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee6c6d79
dev-lang/python: Remove python-config-X.Y compatibility
Remove the python-config-X.Y symlinks that were added as the Gentoo
divergence compatibility.
...hon-3.4.3-r3.ebuild => python-2.7.10-r3.ebuild} | 125 ++++++++++++++-------
dev-lang/python/python-3.3.5-r3.ebuild | 3 -
dev-lang/python/python-3.4.3-r3.ebuild | 3 -
dev-lang/python/python-3.5.0-r2.ebuild | 3 -
4 files changed, 82 insertions(+), 52 deletions(-)
diff --git a/dev-lang/python/python-3.4.3-r3.ebuild b/dev-lang/python/python-2.7.10-r3.ebuild
similarity index 67%
copy from dev-lang/python/python-3.4.3-r3.ebuild
copy to dev-lang/python/python-2.7.10-r3.ebuild
index 6d1f40f..1fa586e 100644
--- a/dev-lang/python/python-3.4.3-r3.ebuild
+++ b/dev-lang/python/python-2.7.10-r3.ebuild
@@ -7,18 +7,18 @@ WANT_LIBTOOL="none"
inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing
-MY_P="Python-${PV/_/}"
-PATCHSET_VERSION="3.4.3-0"
+MY_P="Python-${PV}"
+PATCHSET_VERSION="2.7.10-0"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="http://www.python.org/"
-SRC_URI="http://www.python.org/ftp/python/${PV%_rc*}/${MY_P}.tar.xz
+SRC_URI="http://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz"
LICENSE="PSF-2"
-SLOT="3.4"
+SLOT="2.7"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
-IUSE="build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk wininst +xml"
+IUSE="-berkdb build doc elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
@@ -26,11 +26,23 @@ IUSE="build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline
# patchset. See bug 447752.
RDEPEND="app-arch/bzip2
- app-arch/xz-utils
>=sys-libs/zlib-1.1.3
virtual/libffi
virtual/libintl
xml? ( >=dev-libs/expat-2.1 )
+ berkdb? ( || (
+ sys-libs/db:5.3
+ sys-libs/db:5.2
+ sys-libs/db:5.1
+ sys-libs/db:5.0
+ sys-libs/db:4.8
+ sys-libs/db:4.7
+ sys-libs/db:4.6
+ sys-libs/db:4.5
+ sys-libs/db:4.4
+ sys-libs/db:4.3
+ sys-libs/db:4.2
+ ) )
gdbm? ( sys-libs/gdbm[berkdb] )
ncurses? (
>=sys-libs/ncurses-5.2
@@ -46,31 +58,49 @@ RDEPEND="app-arch/bzip2
dev-tcltk/blt
dev-tcltk/tix
)
- !!<sys-apps/sandbox-2.6-r1"
+ !!<sys-apps/portage-2.1.9"
DEPEND="${RDEPEND}
virtual/pkgconfig
>=sys-devel/autoconf-2.65
!sys-devel/gcc[libffi]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
+RDEPEND+=" !build? ( app-misc/mime-types )
+ doc? ( dev-python/python-docs:${SLOT} )"
PDEPEND="app-eselect/eselect-python
app-admin/python-updater"
S="${WORKDIR}/${MY_P}"
+pkg_setup() {
+ if use berkdb; then
+ ewarn "'bsddb' module is out-of-date and no longer maintained inside"
+ ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally"
+ ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module"
+ ewarn "is provided by dev-python/bsddb3."
+ else
+ if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then
+ ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"
+ ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]."
+ ewarn "You might need to migrate your databases."
+ fi
+ fi
+}
+
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
- rm -fr Modules/expat
- rm -fr Modules/_ctypes/libffi*
- rm -fr Modules/zlib
+ rm -r Modules/expat || die
+ rm -r Modules/_ctypes/libffi* || die
+ rm -r Modules/zlib || die
if tc-is-cross-compiler; then
- # Invokes BUILDPYTHON, which is built for the host arch
local EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch"
fi
EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
- epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch"
- epatch "${FILESDIR}/${PN}-3.4-gcc-5.patch" #547626
+
+ # Fix for cross-compiling.
+ epatch "${FILESDIR}/python-2.7.5-nonfatal-compileall.patch"
+ epatch "${FILESDIR}/python-2.7.9-ncurses-pkg-config.patch"
+ epatch "${FILESDIR}/python-2.7.10-cross-compile-warn-test.patch"
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
Lib/distutils/command/install.py \
@@ -89,7 +119,11 @@ src_prepare() {
}
src_configure() {
+ # dbm module can be linked against berkdb or gdbm.
+ # Defaults to gdbm when both are enabled, #204343.
local disable
+ use berkdb || use gdbm || disable+=" dbm"
+ use berkdb || disable+=" _bsddb"
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
@@ -123,14 +157,20 @@ src_configure() {
use hardened && replace-flags -O3 -O2
fi
- # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ if tc-is-cross-compiler; then
+ # Force some tests that try to poke fs paths.
+ export ac_cv_file__dev_ptc=no
+ export ac_cv_file__dev_ptmx=yes
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
tc-export CXX
# The configure script fails to use pkg-config correctly.
# http://bugs.python.org/issue15506
export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
- # Set LDFLAGS so we link modules with -lpython3.2 correctly.
- # Needed on FreeBSD unless Python 3.2 is already installed.
+ # Set LDFLAGS so we link modules with -lpython2.7 correctly.
+ # Needed on FreeBSD unless Python 2.7 is already installed.
# Please query BSD team before removing this!
append-ldflags "-L."
@@ -138,6 +178,9 @@ src_configure() {
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
+ if use berkdb; then
+ dbmliborder+="${dbmliborder:+:}bdb"
+ fi
BUILD_DIR="${WORKDIR}/${CHOST}"
mkdir -p "${BUILD_DIR}" || die
@@ -149,9 +192,9 @@ src_configure() {
--enable-shared \
$(use_enable ipv6) \
$(use_with threads) \
+ $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") \
--infodir='${prefix}/share/info' \
--mandir='${prefix}/share/man' \
- --with-computed-gotos \
--with-dbmliborder="${dbmliborder}" \
--with-libc="" \
--enable-loadable-sqlite-extensions \
@@ -168,10 +211,10 @@ src_configure() {
src_compile() {
# Avoid invoking pgen for cross-compiles.
- touch Include/graminit.h Python/graminit.c || die
+ touch Include/graminit.h Python/graminit.c
cd "${BUILD_DIR}" || die
- emake CPPFLAGS="" CFLAGS="" LDFLAGS=""
+ emake
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax_kernel]; then
@@ -191,15 +234,15 @@ src_test() {
cd "${BUILD_DIR}" || die
# Skip failing tests.
- local skipped_tests="gdb"
+ local skipped_tests="distutils gdb"
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
- local -x PYTHONDONTWRITEBYTECODE=
- emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local result=$?
+ # Rerun failed tests in verbose mode (regrtest -w).
+ emake test EXTRATESTOPTS="-w" < /dev/tty
+ local result="$?"
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
@@ -214,7 +257,7 @@ src_test() {
elog "cd '${EPREFIX}/usr/$(get_libdir)/python${SLOT}/test'"
elog "and run the tests separately."
- if [[ ${result} -ne 0 ]]; then
+ if [[ "${result}" -ne 0 ]]; then
die "emake test failed"
fi
}
@@ -223,32 +266,28 @@ src_install() {
local libdir=${ED}/usr/$(get_libdir)/python${SLOT}
cd "${BUILD_DIR}" || die
-
emake DESTDIR="${D}" altinstall
- sed \
- -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
- -e "s/\(PY_LDFLAGS=\).*/\1/" \
- -i "${libdir}/config-${SLOT}"*/Makefile || die "sed failed"
-
- # Backwards compat with Gentoo divergence.
- dosym python${SLOT}-config /usr/bin/python-config-${SLOT}
+ sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die "sed failed"
# Fix collisions between different slots of Python.
- rm -f "${ED}usr/$(get_libdir)/libpython3.so"
+ mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}"
+ mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}"
+ mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}"
+ rm -f "${ED}usr/bin/smtpd.py"
- use elibc_uclibc && rm -fr "${libdir}/test"
- use sqlite || rm -fr "${libdir}/"{sqlite3,test/test_sqlite*}
- use tk || rm -fr "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,tkinter,test/test_tk*}
+ use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py,test/test_bsddb*} || die
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,lib-tk} || die
+ use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test}
- use threads || rm -fr "${libdir}/multiprocessing"
- use wininst || rm -f "${libdir}/distutils/command/"wininst-*.exe
+ use threads || rm -r "${libdir}/multiprocessing" || die
+ use wininst || rm -r "${libdir}/distutils/command/"wininst-*.exe || die
dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
if use examples; then
insinto /usr/share/doc/${PF}/examples
- find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr
doins -r "${S}"/Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
@@ -277,7 +316,7 @@ src_install() {
}
pkg_preinst() {
- if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version ">=${CATEGORY}/${PN}-${SLOT}_alpha"; then
+ if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version "${CATEGORY}/${PN}:2.7"; then
python_updater_warning="1"
fi
}
@@ -297,8 +336,8 @@ pkg_postinst() {
if [[ "${python_updater_warning}" == "1" ]]; then
ewarn "You have just upgraded from an older version of Python."
- ewarn
- ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
+ ewarn "You should switch active version of Python ${PV%%.*} and run"
+ ewarn "'python-updater [options]' to rebuild Python modules."
fi
}
diff --git a/dev-lang/python/python-3.3.5-r3.ebuild b/dev-lang/python/python-3.3.5-r3.ebuild
index 497a255..f8a120c 100644
--- a/dev-lang/python/python-3.3.5-r3.ebuild
+++ b/dev-lang/python/python-3.3.5-r3.ebuild
@@ -246,9 +246,6 @@ src_install() {
-e "s/\(PY_LDFLAGS=\).*/\1/" \
-i "${libdir}/config-${SLOT}"*/Makefile || die "sed failed"
- # Backwards compat with Gentoo divergence.
- dosym python${SLOT}-config /usr/bin/python-config-${SLOT}
-
# Fix collisions between different slots of Python.
rm -f "${ED}usr/$(get_libdir)/libpython3.so"
diff --git a/dev-lang/python/python-3.4.3-r3.ebuild b/dev-lang/python/python-3.4.3-r3.ebuild
index 6d1f40f..3020fc8 100644
--- a/dev-lang/python/python-3.4.3-r3.ebuild
+++ b/dev-lang/python/python-3.4.3-r3.ebuild
@@ -231,9 +231,6 @@ src_install() {
-e "s/\(PY_LDFLAGS=\).*/\1/" \
-i "${libdir}/config-${SLOT}"*/Makefile || die "sed failed"
- # Backwards compat with Gentoo divergence.
- dosym python${SLOT}-config /usr/bin/python-config-${SLOT}
-
# Fix collisions between different slots of Python.
rm -f "${ED}usr/$(get_libdir)/libpython3.so"
diff --git a/dev-lang/python/python-3.5.0-r2.ebuild b/dev-lang/python/python-3.5.0-r2.ebuild
index 8ecb63c..5c4addf 100644
--- a/dev-lang/python/python-3.5.0-r2.ebuild
+++ b/dev-lang/python/python-3.5.0-r2.ebuild
@@ -237,9 +237,6 @@ src_install() {
-e "s/\(PY_LDFLAGS=\).*/\1/" \
-i "${libdir}/config-${SLOT}"*/Makefile || die "sed failed"
- # Backwards compat with Gentoo divergence.
- dosym python${SLOT}-config /usr/bin/python-config-${SLOT}
-
# Fix collisions between different slots of Python.
rm -f "${ED}usr/$(get_libdir)/libpython3.so"
next reply other threads:[~2015-11-10 17:53 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-10 17:53 Michał Górny [this message]
-- strict thread matches above, loose matches on Subject: below --
2015-11-10 17:53 [gentoo-commits] repo/gentoo:python-soabi-cleanup commit in: dev-lang/python/ Michał Górny
2015-11-10 17:53 Michał Górny
2015-11-08 9:57 Michał Górny
2015-11-08 9:08 Michał Górny
2015-11-08 9:08 Michał Górny
2015-11-08 8:42 Michał Górny
2015-11-08 8:42 Michał Górny
2015-11-07 20:00 Michał Górny
2015-11-07 20:00 Michał Górny
2015-11-07 19:58 Michał Górny
2015-11-07 19:58 Michał Górny
2015-11-07 19:44 Michał Górny
2015-11-07 19:44 Michał Górny
2015-11-07 9:40 Michał Górny
2015-11-07 9:40 Michał Górny
2015-11-07 9:16 Michał Górny
2015-11-07 9:16 Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1447177547.ee6c6d79da6677d6d943a9da53f3dad38b7a8bec.mgorny@gentoo \
--to=mgorny@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox