From dcb40f0266e4a2e2c6714703a59de9c952eb82da Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Sun, 4 Jul 2010 21:16:21 +0000 Subject: [PATCH] Version bump. Package-Manager: portage-HEAD/cvs/Linux x86_64 --- dev-lang/python/ChangeLog | 8 +- dev-lang/python/Manifest | 23 +-- dev-lang/python/python-2.7.ebuild | 325 ++++++++++++++++++++++++++++++ 3 files changed, 340 insertions(+), 16 deletions(-) create mode 100644 dev-lang/python/python-2.7.ebuild diff --git a/dev-lang/python/ChangeLog b/dev-lang/python/ChangeLog index e4b46d33ad2e..8c509c806531 100644 --- a/dev-lang/python/ChangeLog +++ b/dev-lang/python/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/python # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.475 2010/06/22 13:09:38 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.476 2010/07/04 21:16:21 arfrever Exp $ + +*python-2.7 (04 Jul 2010) + + 04 Jul 2010; Arfrever Frehtes Taifersar Arahesis + +python-2.7.ebuild: + Version bump. 22 Jun 2010; Christian Faulhammer python-2.6.5-r2.ebuild: diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 72e1c6fba185..345a0f079e2e 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX pydoc.conf 330 RMD160 0cd619ec251597e0fcadc05bfd249915e73baa17 SHA1 a56100d45378c554b9822f6ed512a6cb7841ef50 SHA256 a45ebba2de5f2b0e963db4101507203d095c5ff667ae5002c4897a9c87786fa1 AUX pydoc.init 666 RMD160 11caf3a78bce4cdaebacaf21eaf26cc1ce30282e SHA1 88c5cb6d5bf737c74e1be93118cf157630af9ad7 SHA256 0d25c71232b74adb87dc709cc7cd8f8b13c452c0fe82fa33808f907f7a96d628 AUX python-2.4.4-test-cross.patch 977 RMD160 8fdcd45dc202993988f7a1c2b3d918068883b99e SHA1 96f25777150ba05765282a43f08da6b6fab3cb73 SHA256 ff2a131776d560d188ec5069e17fea3eb09c26fdd02124ae5ff34d791c9fd9f6 @@ -12,23 +9,19 @@ DIST Python-2.4.6.tar.bz2 8154677 RMD160 0687989193dec2ac108142759281be7ddcf7f31 DIST Python-2.5.4.tar.bz2 9821313 RMD160 3a76c83464c3b1c38a60351ab054e33ac7195663 SHA1 0f2e819d6381f72f26c734e00a6780b3933ea404 SHA256 bc8d896a2bfe5523ba93b8d89b71017b74e8e6cb21dc676a0ccff668c8780110 DIST Python-2.6.4.tar.bz2 11249486 RMD160 fd33853842110fa3636dd296f2f27646fd2b151a SHA1 bee572680d1966501247cb2b26e0e51f94d1cd13 SHA256 dad8d5575144a210d5cc4fdbc40b8a26386e9cdb1ef58941bec0be02c7cb9d89 DIST Python-2.6.5.tar.bz2 11095581 RMD160 909c6a13749396f2b19fed51821d3e2577b2833b SHA1 24c94f5428a8c94c9d0b316e3019fee721fdb5d1 SHA256 62da62eb685621ede2be1275f11b89fa0e0be578db8daa5320d0a7855c0a9ebc +DIST Python-2.7.tar.bz2 11735195 RMD160 e89957d8e76127fd4a86fd733deed1c0ad1248df SHA1 6bbcd1ab16d07765a7a405671e1e43a2e74b8e6a SHA256 935d3316edfec5eb98c2f6930756b47b00dc27192541e62d6fd0077ffa008af8 DIST Python-3.1.2.tar.bz2 9719769 RMD160 94b75a68c9d9f1c0206f112cae6eb9db79bda901 SHA1 eecbddf020a1400f3201f049caa3be7e9d403d0c SHA256 23a43b5ffffd6b86adebac805c8230d7ad490009e08b8d02806d90c8f01bee28 DIST python-gentoo-patches-2.4.6.tar.bz2 10983 RMD160 c06dc76edec86d708a0c0e37126ae50f49f61bd3 SHA1 bbc04083fe74cff8c723c5c3cab70b1b814c987f SHA256 0508a66408f218c655823303833599344d2edeec1ffc683c6ada3fc33731590d DIST python-gentoo-patches-2.5.4-r3.tar.bz2 19473 RMD160 c3a807693103f9e26c3cce4add5a1f3d975ef216 SHA1 c6170894865ee8aac8c813916c21a0d0458691bc SHA256 03f5bdb0a4ac8eb498a90c5cd444a5c76ed7e79bff5e8dca00efe77cf80c6391 DIST python-gentoo-patches-2.6.4-r1.tar.bz2 12570 RMD160 2a58eb651ce5adc68c4667fb0ddc42cc215ea342 SHA1 c5de0442890bc0753c445a88390d932e629c8648 SHA256 2fe6c8838df2c07d3232ebb26c128dab2787c43a76ddb0b55acec1bed657f9f2 DIST python-gentoo-patches-2.6.5-r4.tar.bz2 68611 RMD160 63a67a772df32dcf1977c1060228f5282a332a41 SHA1 e29469ff9800ff3125d203eea152bfdf378b7234 SHA256 7497892864469a9ff8698dcd6467cb6ddadd3b8472e8847b9e27f738ff7962ab +DIST python-gentoo-patches-2.7.tar.bz2 11803 RMD160 a4bef5c904859f530f6cf5009ac60d171c34af00 SHA1 06b3f6077febed0aa807cb81cd689215efc430c6 SHA256 c72446007ab1b4dd0d8702b0901a8b5e8eadb1ce6872e7f99e12f4eb97874b0f DIST python-gentoo-patches-3.1.2-r5.tar.bz2 67359 RMD160 0ee5576b7de728a0840c6020d8403b94a883eeaa SHA1 5900a751c7e6fea512f79e045aa2f7870e378595 SHA256 fa5eabe0cc84789e9ed2fd6140dfdf08ca29de00474b117b9998b0eefc2e850a -EBUILD python-2.4.6.ebuild 9276 RMD160 51eb414f4153758f8dc5f97650c97245674d12ed SHA1 357fce56ac7d7ecc2cac1f9f79ea1c044c44ed93 SHA256 1c6b0378a89a5916769f05c843ef57d0346e5807ac3ac7bb67ba8b660f8817b7 -EBUILD python-2.5.4-r4.ebuild 9639 RMD160 ec2c5a0732e1b3125441896a6b7034adee58023a SHA1 4b1270f9d732797e2d8b659dffa77530135defe4 SHA256 110a277fbe85b98763ec1448d405f50458c0ee75d2d53f896ba8e6a76eb4bef1 +EBUILD python-2.4.6.ebuild 9184 RMD160 a5cebd322bbab8e64f1688976b5a84e17ff3b12d SHA1 de4be7ee9bede5bf8e9c689eb564e20dbc970bb1 SHA256 37adf541525518259373843162850e50dbde0d2413f431dc8070e059da2e0d48 +EBUILD python-2.5.4-r4.ebuild 9575 RMD160 1fd4a6bf4fe43a394e6ce4a976982a08df93e2cb SHA1 6da7997f7a68fe0900be339f122880a27616af3e SHA256 5cb1db017d7076e56a185b2bbd9fb76048a37abd7a18870cd02e703a6feff289 EBUILD python-2.6.4-r1.ebuild 9579 RMD160 63713df2187e8f3adc35038b26e58fc8e4cf8e4f SHA1 05640ba05170caff47cf8998d6ac1ad127a682a2 SHA256 5fb3de2f4f6b9b13c16c8f0b452bde4057a8a889a828920762b4c4c02e2aad98 -EBUILD python-2.6.5-r2.ebuild 9489 RMD160 b6e5d8dd1e534d00cc74a71d75f50080775fed27 SHA1 fc098a2e1bcc538111bc18fad318dd6e4b3f7ed6 SHA256 1e90c24328408e05472ab48426259957e1fc9cf392f9ec40ce7b400000b5c67d -EBUILD python-3.1.2-r3.ebuild 9322 RMD160 9d57ee4064c68cb97bb151b5ad4466c68e559ec3 SHA1 205b4e08181825d32f17883e7696565dd02f7a9e SHA256 f383d0baf91cfdad9e368508001fc5569ccfc0dc226641e6ee8f2c13738ebbda -MISC ChangeLog 84457 RMD160 4b5ea29a1a35e3129fa5eb2bdfa4064e007f32c9 SHA1 5ecb518f437f75df3ece67520c35f5f0677d5afe SHA256 87709faf3e99b1debb04167d338c7b35cf57e29b9f3f64570bea7ee36f394c20 +EBUILD python-2.6.5-r2.ebuild 9428 RMD160 4f1c4c26c3437f8c33fad2aa911d370c74d959ed SHA1 d1f3ea2cbc88dd5388d537bc9571353dc7c0ee46 SHA256 1bc2056a9afb804e0a045bbf7cd73a2fd7829d5011bab468df7b26b13acdf19c +EBUILD python-2.7.ebuild 9755 RMD160 06a2f2b98b31f33cbc2491a700a2c8df97554a6f SHA1 5ec045ae25458aae22614ac4406349ff43fc791f SHA256 6d62f0325ff91dace12e4d026d200510186b79508ef04360f0498d0fb92b07bf +EBUILD python-3.1.2-r3.ebuild 9256 RMD160 98cc9afd66714d449f272fac82fcaff9d74e499f SHA1 382ee98785de1f57cff37ef63efb9477e7c96413 SHA256 e39e3dde3e40b6fca08cf681a32fdb126be1ae8f6f7ff4ac75c207d7a5e893ba +MISC ChangeLog 84599 RMD160 c4536e24c621c5a9495ce5c07983b084cbb2b753 SHA1 0d747eea895eb42af3eeb48be13b5158cb559e3f SHA256 c7e91a69fbc70c5435a1c20ccfc7e310e6d911eecd37038739cd7dd9e121cc9a MISC metadata.xml 661 RMD160 54831d16b8807086bfabdbb3df9d33336b5d42a0 SHA1 9867c337fe9e6f4e967004fc9409763e0fedf43b SHA256 2c6c3407251f7ccd6501dee49494e539a9544f2fbae99a4373eefdf4e83e8908 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEYEARECAAYFAkwgtjkACgkQNQqtfCuFnePRdgCfRvj+Y/sn3Gmwy04fRQg63IMX -4MkAnjy0F+NmK3a0zO651aiZlM3Yutsp -=qjtd ------END PGP SIGNATURE----- diff --git a/dev-lang/python/python-2.7.ebuild b/dev-lang/python/python-2.7.ebuild new file mode 100644 index 000000000000..2085ee9fe4ef --- /dev/null +++ b/dev-lang/python/python-2.7.ebuild @@ -0,0 +1,325 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.7.ebuild,v 1.1 2010/07/04 21:16:21 arfrever Exp $ + +EAPI="2" + +inherit eutils flag-o-matic multilib pax-utils python toolchain-funcs + +MY_P="Python-${PV}" + +PATCHSET_REVISION="0" + +DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." +HOMEPAGE="http://www.python.org/" +SRC_URI="http://www.python.org/ftp/python/${PV}/${MY_P}.tar.bz2 + mirror://gentoo/python-gentoo-patches-${PV}$([[ "${PATCHSET_REVISION}" != "0" ]] && echo "-r${PATCHSET_REVISION}").tar.bz2" + +LICENSE="PSF-2.2" +SLOT="2.7" +PYTHON_ABI="${SLOT}" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" +IUSE="-berkdb build doc elibc_uclibc examples gdbm ipv6 +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" + +# NOTE: dev-python/{elementtree,celementtree,pysqlite} +# do not conflict with the ones in python proper. - liquidx + +RDEPEND=">=app-admin/eselect-python-20091230 + >=sys-libs/zlib-1.1.3 + virtual/libffi + virtual/libintl + !build? ( + berkdb? ( || ( + 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 ) + ncurses? ( + >=sys-libs/ncurses-5.2 + readline? ( >=sys-libs/readline-4.1 ) + ) + sqlite? ( >=dev-db/sqlite-3 ) + ssl? ( dev-libs/openssl ) + tk? ( >=dev-lang/tk-8.0 ) + xml? ( >=dev-libs/expat-2 ) + ) + doc? ( dev-python/python-docs:${SLOT} )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + !sys-devel/gcc[libffi]" +RDEPEND+=" !build? ( app-misc/mime-types )" +PDEPEND="app-admin/python-updater" + +PROVIDE="virtual/python" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python_pkg_setup + + if use berkdb; then + ewarn "\"bsddb\" module is out-of-date and no longer maintained inside dev-lang/python. It has" + ewarn "been additionally removed in Python 3. You should use external, still maintained \"bsddb3\"" + ewarn "module provided by dev-python/bsddb3 which supports both Python 2 and Python 3." + 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 + + if ! tc-is-cross-compiler; then + rm "${WORKDIR}/${PV}"/*_all_crosscompile.patch + fi + + EPATCH_SUFFIX="patch" epatch "${WORKDIR}/${PV}" + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + Lib/distutils/command/install.py \ + Lib/distutils/sysconfig.py \ + Lib/site.py \ + Lib/sysconfig.py \ + Lib/test/test_site.py \ + Makefile.pre.in \ + Modules/Setup.dist \ + Modules/getpath.c \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # Fix os.utime() on hppa. utimes it not supported but unfortunately reported as working - gmsoft (22 May 04) + # PLEASE LEAVE THIS FIX FOR NEXT VERSIONS AS IT'S A CRITICAL FIX !!! + [[ "${ARCH}" == "hppa" ]] && sed -e "s/utimes //" -i "${S}/configure" + + if ! use wininst; then + # Remove Microsoft Windows executables. + rm Lib/distutils/command/wininst-*.exe + fi + + # Fix OtherFileTests.testStdin() not to assume + # that stdin is a tty for bug #248081. + sed -e "s:'osf1V5':'osf1V5' and sys.stdin.isatty():" -i Lib/test/test_file.py || die "sed failed" + + # Support versions of Autoconf other than 2.65. + sed -e "/version_required(2\.65)/d" -i configure.in || die "sed failed" +} + +src_configure() { + # Disable extraneous modules with extra dependencies. + if use build; then + export PYTHON_DISABLE_MODULES="dbm _bsddb gdbm _curses _curses_panel readline _sqlite3 _tkinter _elementtree pyexpat" + export PYTHON_DISABLE_SSL="1" + else + # 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" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + [[ "${ARCH}" == "alpha" ]] && append-flags -fPIC + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + if tc-is-cross-compiler; then + OPT="-O1" CFLAGS="" LDFLAGS="" CC="" \ + ./configure --{build,host}=${CBUILD} || die "cross-configure failed" + emake python Parser/pgen || die "cross-make failed" + mv python hostpython + mv Parser/pgen Parser/hostpgen + make distclean + sed -i \ + -e "/^HOSTPYTHON/s:=.*:=./hostpython:" \ + -e "/^HOSTPGEN/s:=.*:=./Parser/hostpgen:" \ + Makefile.pre.in || die "sed failed" + fi + + # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. + tc-export CXX + + # 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." + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + if use berkdb; then + dbmliborder+="${dbmliborder:+:}bdb" + fi + + OPT="" econf \ + --with-fpectl \ + --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-dbmliborder="${dbmliborder}" \ + --with-libc="" \ + --with-system-expat \ + --with-system-ffi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Byte compiling should be enabled here. + # Otherwise test_import fails. + python_enable_pyc + + # Skip failing tests. + local skip_tests="distutils gdb minidom pyexpat sax" + + # test_ctypes fails with PAX kernel (bug #234498). + host-is-pax && skip_tests+=" ctypes" + + for test in ${skip_tests}; do + mv "${S}/Lib/test/test_${test}.py" "${T}" + done + + # Rerun failed tests in verbose mode (regrtest -w). + EXTRATESTOPTS="-w" emake test + local result="$?" + + for test in ${skip_tests}; do + mv "${T}/test_${test}.py" "${S}/Lib/test/test_${test}.py" + done + + elog "The following tests have been skipped:" + for test in ${skip_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}$(python_get_libdir)/test'" + elog "and run the tests separately." + + python_disable_pyc + + if [[ "${result}" -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + [[ -z "${ED}" ]] && ED="${D%/}${EPREFIX}/" + + emake DESTDIR="${D}" altinstall maninstall || die "emake altinstall maninstall failed" + python_clean_installation_image -q + + mv "${ED}usr/bin/python${SLOT}-config" "${ED}usr/bin/python-config-${SLOT}" + + # Fix collisions between different slots of Python. + 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" + + if use build; then + rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{bsddb,idlelib,lib-tk,sqlite3,test} + else + use elibc_uclibc && rm -fr "${ED}$(python_get_libdir)/"{bsddb/test,test} + use berkdb || rm -fr "${ED}$(python_get_libdir)/"{bsddb,test/test_bsddb*} + use sqlite || rm -fr "${ED}$(python_get_libdir)/"{sqlite3,test/test_sqlite*} + use tk || rm -fr "${ED}usr/bin/idle${SLOT}" "${ED}$(python_get_libdir)/"{idlelib,lib-tk} + fi + + use threads || rm -fr "${ED}$(python_get_libdir)/multiprocessing" + + prep_ml_includes $(python_get_includedir) + + dodoc Misc/{ACKS,HISTORY,NEWS} || die "dodoc failed" + + if use examples; then + insinto /usr/share/doc/${PF}/examples + doins -r "${S}/Tools" || die "doins failed" + fi + + newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} || die "newinitd failed" + newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT} || die "newconfd failed" + + # Do not install empty directories. + rmdir "${ED}$(python_get_libdir)/lib-old" + rmdir "${ED}$(python_get_libdir)/test/data" +} + +pkg_preinst() { + if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version ">=${CATEGORY}/${PN}-${SLOT}_alpha"; then + python_updater_warning="1" + fi +} + +eselect_python_update() { + local eselect_python_options + [[ "$(eselect python show)" == "python2."* ]] && eselect_python_options="--python2" + + # Create python2 symlink. + eselect python update --python2 > /dev/null + + eselect python update ${eselect_python_options} +} + +pkg_postinst() { + eselect_python_update + + python_mod_optimize -f -x "/(site-packages|test|tests)/" $(python_get_libdir) + + if [[ "${python_updater_warning}" == "1" ]]; then + ewarn + ewarn "\e[1;31m************************************************************************\e[0m" + ewarn + ewarn "You have just upgraded from an older version of Python." + ewarn "You should run 'python-updater \${options}' to rebuild Python modules." + ewarn + ewarn "\e[1;31m************************************************************************\e[0m" + ewarn + ebeep 12 + fi +} + +pkg_postrm() { + eselect_python_update + + python_mod_cleanup $(python_get_libdir) +} -- 2.26.2