summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gentoo.org>2013-05-29 01:58:07 +0000
committerTim Harder <radhermit@gentoo.org>2013-05-29 01:58:07 +0000
commitd0735249f86af9a361e54afe9cf5fc08a1515a41 (patch)
treefe28b94298cd847822215380aa6e0eb8095cf759 /dev-python/greenlet
parentDo not permit builds with CONFIG_USER_NS (diff)
downloadhistorical-d0735249f86af9a361e54afe9cf5fc08a1515a41.tar.gz
historical-d0735249f86af9a361e54afe9cf5fc08a1515a41.tar.bz2
historical-d0735249f86af9a361e54afe9cf5fc08a1515a41.zip
Revision bump, add upstream fixes for gcc-4.8 issues.
Package-Manager: portage-2.2.0_alpha177/cvs/Linux x86_64 Manifest-Sign-Key: 0x4AB3E85B4F064CA3
Diffstat (limited to 'dev-python/greenlet')
-rw-r--r--dev-python/greenlet/ChangeLog8
-rw-r--r--dev-python/greenlet/Manifest18
-rw-r--r--dev-python/greenlet/files/greenlet-0.4.0-gcc48.patch159
-rw-r--r--dev-python/greenlet/greenlet-0.4.0-r2.ebuild47
4 files changed, 224 insertions, 8 deletions
diff --git a/dev-python/greenlet/ChangeLog b/dev-python/greenlet/ChangeLog
index 96d30760e6f8..ba026b7d95ee 100644
--- a/dev-python/greenlet/ChangeLog
+++ b/dev-python/greenlet/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-python/greenlet
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/greenlet/ChangeLog,v 1.12 2013/02/12 11:49:58 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/greenlet/ChangeLog,v 1.13 2013/05/29 01:58:02 radhermit Exp $
+
+*greenlet-0.4.0-r2 (29 May 2013)
+
+ 29 May 2013; Tim Harder <radhermit@gentoo.org> +greenlet-0.4.0-r2.ebuild,
+ +files/greenlet-0.4.0-gcc48.patch:
+ Revision bump, add upstream fixes for gcc-4.8 issues.
12 Feb 2013; Michał Górny <mgorny@gentoo.org> greenlet-0.4.0-r1.ebuild:
Add a note that greenlet is built-in in PyPy.
diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest
index 8212f7d9fb85..22ec6bab549a 100644
--- a/dev-python/greenlet/Manifest
+++ b/dev-python/greenlet/Manifest
@@ -2,6 +2,7 @@
Hash: SHA256
AUX greenlet-0.3.1-python-3.2.patch 1383 SHA256 31bfdfaee6f8ab51394063c0500fe0c13da9a5aa6cbd5bbe88d862221cccb753 SHA512 cb22fd09ea44b9ac31beefd33cf7dcda3e0c00735501bc9a742f54db5c74516d178972469d023e1e5ebf2e1188400ecd1455560d58b4c4ac19e05b01e9b2a857 WHIRLPOOL 18f6f2ac88af9e9b30852136d6d5733509216f425f48b605ff7347e91735d63bda0487651c63abf1e1b7d176a27397ae997cd7de14307fb566bf46e273e51632
+AUX greenlet-0.4.0-gcc48.patch 4593 SHA256 cc3e74c7b547a06e64257aed90851cb961472f0f04d1e530dda46fd2563a4a4b SHA512 44368df1c2c6e1ca08332c3e2aacda2caa225d599114cc127cb4e434ccf3036c85fd6a5880625d604491a191a5e5b0ff34a99d25f4c1fbabd9cfc287d529be96 WHIRLPOOL df19bf17eceebee7c367f973cd40a5c80a075432c622661c4bb5456f453e6009028128498febe6f276b63df8b25f503647ec6c59b9169390b6523c6c3e330c1e
DIST greenlet-0.3.1.tar.gz 39037 SHA256 63a0a9b3a59d5413741f81d021fc6c292364953ea8dddd71ac129d77b9b143da SHA512 db8c53f982e594861db5b11c89e09b9cd08e8ba47b59c1b5579d38cbae4c969389bcb1743a8a3bae18526904fb1436b8393864f92844ecde5c8a9458a909b33d WHIRLPOOL f52800d9e4b280c6164fd47af38e5984102d813717c28416e21340b5a808e22a6b32d4ad1e52070a73e27adb59ca107decf25ea056aaae23ddcf7e6efb4eeb30
DIST greenlet-0.3.3.zip 65643 SHA256 4f39eb14a48ecbd8a685779f6fca4eb74db722c1af699894fee334b25dad8ed1 SHA512 f23450bcd6e91756b4c0bb832e4f5aeda942fb2bf58c80a34fa8e88cbc7078d8db1e756806e13812094d1e83b58af0435002278ef01af6fecb4557d65cd5a51e WHIRLPOOL 014e9e14399b7affcd15a80faa75d4d45a251e1a25cb9858e4d0dc7b5d095404be74419f16046f8082da4e0d0b361f19ebd0ce90464478ab01baa6649401cdf6
DIST greenlet-0.3.4.zip 63158 SHA256 259ed0f34de9b0c948f42bdaffe378ea53d210d38377c6dcb0c6b728fccad1b0 SHA512 e8fc2be06d5cb1b4ea258de1ae6d63c5cc86fbba37b91552a93731d2a98158c4f659d93b9621e850a67cf1608c7ceb79467ee1b275c7de9fbc53de64bf41278a WHIRLPOOL 4029cf153bf750a4583db48971156281b7e248d950b2dcbd769e458b681c9406a6b4ee252eabdb268b8dcffe67b4899c8ff14f1a380ea71c7e7bed2f6a670ec1
@@ -11,15 +12,18 @@ EBUILD greenlet-0.3.3.ebuild 696 SHA256 feec873e361456f5d78078b3ddcf40ffbac9ad9c
EBUILD greenlet-0.3.4-r1.ebuild 879 SHA256 c0abd6bb1bce56bd9286a582b2a39a71d8a01f76eacc09aabc15aa299a8a7f29 SHA512 d0de713dfb70a74bf08fc8d4d9b39fe6f319593e8fc2af25810189abad62206858c107b32b501afa4ac23f44a7f3aa61aeb8430bfef18ed8e67a1157b3ac9221 WHIRLPOOL b3dd1ad445328f6bde6c275158dd3902a6206bb98ee56f318d8d0045aec43538c5b1e113d5d0f87ed1362efcad7da53178951d8f58636821f7800eaf2ce2e2d2
EBUILD greenlet-0.3.4.ebuild 696 SHA256 18b596cdcc0c0613ed6c49519a003f1d3118530cfa49b8ebaa48ec5d289fca02 SHA512 fa0a5f32a79928a699d689bc020fe871ffb02b75132a36032b004c57edbcd498a3dc3ab816d9ddd748fd394b95262e987198a964e149c19df74eb63c332d5496 WHIRLPOOL 869f1e6c065fcceedeb0e2810e57f682bcde0e6b0b2da4e37f54b729c621bb5d9c26d9cd41e849c06daf882bf34a89002b082cc0d96fe306e1220834ab04d636
EBUILD greenlet-0.4.0-r1.ebuild 1153 SHA256 f336a47bcffc1a2cbb1bd2ab1003825b53d03abf4cebd0d7413950abb1bae703 SHA512 8c158ed4c7aecc76c516c81b88161e3611db9ef58492e3af66ecffef78b81dc6f85a62d3b65e0d06c014a4f46bc40a843645ee22a20fb0786cc7bbde72c58687 WHIRLPOOL bfba56bd0032b0a845acb3e32095636a87a1393ea76991be221c576134dfc2ce39e5313a3453765667a814d54cd92927eba931072e3c148595a84d438c843313
+EBUILD greenlet-0.4.0-r2.ebuild 1195 SHA256 8a82d5ac6c5b39eb30f7343102b31593aaa36ec161a384485030289faf745f75 SHA512 24f4580c56729d005dd13717f34b4a1c7039c47c0ad886b34ecdc27bd9442e551c2bdf9d5aad44039f166138f2b2959ba564671d466ae09d48466d9c330f5821 WHIRLPOOL a4d507ce740e6bf077b4f7a941afd6b5d3e6455a088084ad1865525174f34743775e0b0b899b8a650393dc006f78bc099f9a048ee6d686733567f65c44a8455b
EBUILD greenlet-0.4.0.ebuild 903 SHA256 7d7affc476ca5cca01b9c81f1cf1408d0d1ae5e22c1c987b00ee5166c7931544 SHA512 f3ed75f0d6570fff5201993ef87878b7a533440f4b5825ce189cb2ce906f23a44b11a5ef00dc1c54fdfcfeff82a13e3902a3e0bb2ab71bd586dfa543f972119b WHIRLPOOL 384dbef2995d131068723e3f0a3a7edc58a695673b8517c42df2d9817dc1790becd33c8ac9f1a3bc2cd404dff62d32feab53ce7e3f2e0aaa4063d08aef35c20c
-MISC ChangeLog 1913 SHA256 b5f1a87ad2d5111b4adf48ad39fea9dbca2e72ff0cdc2fdc2c7f311f335276ac SHA512 c7a820c7df8105404743c9d08e5d33c92859db8dfab749ae100986c897835b65d0f61ca1994dd3d340cd44d05d69e287252337e9935bf94fcc26ba5e8b4722b9 WHIRLPOOL 3cd60aab3785235667201228d19bcbeed2691cd628c22eaf728f0b3fb539ec3809e27572669eee44ac1252dcec1be689a2c5aabe00062ea3cdb056039831b930
+MISC ChangeLog 2120 SHA256 fad584944540cf9c01742cac66b7e230bc8af4507124448b2024e40a507de205 SHA512 53766a880cbdb6bc3c76617338bb03e755a30eeba42f19c590ba2d26cd608bceccc1063cb44f408c1ca6c4ecad7b25233ebf2431faef1c96291fb115fdce6d5d WHIRLPOOL 5c78e73e28693ebfdcb500438216916450c8b973ecace6cf0478963063b6ce7bcc993202859b7632fa3719ae723c7f31f2f30720cfb1037776d386139fca85e6
MISC metadata.xml 231 SHA256 af20e4658b02532af9c3d199aec64e164cbddc8de2f2ec5b41849ffc78b7248d SHA512 76402aadf6a058e19bdcffc0446149e1bb89cb03abe53d1b9151cd65cdebbca9dc3c92e7232d28d1485901dff28f4f10f7545fc143549ce00a92b0e6f2f85f96 WHIRLPOOL 8d4e304db19b22a0a90396e8f9d2b2e6158e35d79640580c7b86a233e354d5a80a590204f595c94b4dfab4f194f0a29a2321eeb83040aeccf53534867deb8215
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
+Version: GnuPG v2.0.20 (GNU/Linux)
-iJwEAQEIAAYFAlEaLJUACgkQfXuS5UK5QB22fAQArQdsQTfGTE1cxI1QDZPWdnFd
-73daT8G07mc34W4TZCdvPbb+EDz2cDRBKzS8bJ56kiC3AzDjBfmChAkeQafnSOVm
-V6PgR75y5ZOX9XpBoWBbz2JNsxPa2k26ZoKSqazXWS6CH5HOziokQ/gp9o2aI1ug
-r3yQoSYRqxcZJY+ytJQ=
-=UcKN
+iQEcBAEBCAAGBQJRpWCuAAoJEEqz6FtPBkyjfYYIAI95Vhoevujk85FNnLWo3q/J
+IiPMFhUS3L7tlc4jNFasd4NwL0O/PIeV6C6VitRizb1D2phAgDQvkrWBVAQ19sMm
+JAiEwKnhAfu5GfIyx+vzQ2iGG2VDRK+IBLjIzHLKxAjcBAdOY4gAdkZIwxPts4bp
+gmwW5Fp/n39zR5xM3QaH7HhAsuOc20/Qhrr3mr2KlF2oWoCzGResKNvnnsePT54i
+cYnlLuLPkCm+nz+tMAda0hV6ramiIqx3eYXeDNLUwqLeCN0YoFb/HeEGndgCX3Eu
+FBIAJUrnEztQNeFI8k1UvfvvfA05LaPpDB+vakkJmCHtB8dRtln7sk7OKiPxvro=
+=NiQI
-----END PGP SIGNATURE-----
diff --git a/dev-python/greenlet/files/greenlet-0.4.0-gcc48.patch b/dev-python/greenlet/files/greenlet-0.4.0-gcc48.patch
new file mode 100644
index 000000000000..a9266714f522
--- /dev/null
+++ b/dev-python/greenlet/files/greenlet-0.4.0-gcc48.patch
@@ -0,0 +1,159 @@
+From 5a0a628021357bf37cccbcc401e07dc99e9415ee Mon Sep 17 00:00:00 2001
+From: Ralf Schmitt <ralf@systemexit.de>
+Date: Fri, 3 May 2013 21:48:03 +0200
+Subject: [PATCH] fix segfaults when using gcc 4.8 on amd64/x86 unix
+
+I'm just porting the aarch64 stuff committed recently.
+---
+ platform/switch_amd64_unix.h | 14 +++++++++++++-
+ platform/switch_x86_unix.h | 15 ++++++++++++++-
+ 2 files changed, 27 insertions(+), 2 deletions(-)
+
+diff --git a/platform/switch_amd64_unix.h b/platform/switch_amd64_unix.h
+index 3ed0a16..05b34b6 100644
+--- a/platform/switch_amd64_unix.h
++++ b/platform/switch_amd64_unix.h
+@@ -2,6 +2,9 @@
+ * this is the internal transfer function.
+ *
+ * HISTORY
++ * 3-May-13 Ralf Schmitt <ralf@systemexit.de>
++ * Add support for strange GCC caller-save decisions
++ * (ported from switch_aarch64_gcc.h)
+ * 18-Aug-11 Alexey Borzenkov <snaury@gmail.com>
+ * Correctly save rbp, csr and cw
+ * 01-Apr-04 Hye-Shik Chang <perky@FreeBSD.org>
+@@ -33,10 +36,18 @@
+
+ #define REGS_TO_SAVE "r12", "r13", "r14", "r15"
+
++/* See switch_aarch64_gcc.h for the purpose of this function */
++__attribute__((noinline, noclone)) int fancy_return_zero(void);
++__attribute__((noinline, noclone)) int
++fancy_return_zero(void)
++{
++ return 0;
++}
+
+ static int
+ slp_switch(void)
+ {
++ int err = 0;
+ void* rbp;
+ void* rbx;
+ unsigned int csr;
+@@ -57,13 +68,14 @@ slp_switch(void)
+ : "r" (stsizediff)
+ );
+ SLP_RESTORE_STATE();
++ err = fancy_return_zero();
+ }
+ __asm__ volatile ("movq %0, %%rbx" : : "m" (rbx));
+ __asm__ volatile ("movq %0, %%rbp" : : "m" (rbp));
+ __asm__ volatile ("ldmxcsr %0" : : "m" (csr));
+ __asm__ volatile ("fldcw %0" : : "m" (cw));
+ __asm__ volatile ("" : : : REGS_TO_SAVE);
+- return 0;
++ return err;
+ }
+
+ #endif
+diff --git a/platform/switch_x86_unix.h b/platform/switch_x86_unix.h
+index 0d42a67..e66633e 100644
+--- a/platform/switch_x86_unix.h
++++ b/platform/switch_x86_unix.h
+@@ -2,6 +2,9 @@
+ * this is the internal transfer function.
+ *
+ * HISTORY
++ * 3-May-13 Ralf Schmitt <ralf@systemexit.de>
++ * Add support for strange GCC caller-save decisions
++ * (ported from switch_aarch64_gcc.h)
+ * 19-Aug-11 Alexey Borzenkov <snaury@gmail.com>
+ * Correctly save ebp, ebx and cw
+ * 07-Sep-05 (py-dev mailing list discussion)
+@@ -33,9 +36,18 @@
+ /* the above works fine with gcc 2.96, but 2.95.3 wants this */
+ #define STACK_MAGIC 0
+
++/* See below for the purpose of this function. */
++__attribute__((noinline, noclone)) int fancy_return_zero(void);
++__attribute__((noinline, noclone)) int
++fancy_return_zero(void)
++{
++ return 0;
++}
++
+ static int
+ slp_switch(void)
+ {
++ int err = 0;
+ #ifdef _WIN32
+ void *seh;
+ #endif
+@@ -64,6 +76,7 @@ slp_switch(void)
+ : "r" (stsizediff)
+ );
+ SLP_RESTORE_STATE();
++ err = fancy_return_zero();
+ }
+ #ifdef _WIN32
+ __asm__ volatile (
+@@ -77,7 +90,7 @@ slp_switch(void)
+ __asm__ volatile ("movl %0, %%ebp" : : "m" (ebp));
+ __asm__ volatile ("fldcw %0" : : "m" (cw));
+ __asm__ volatile ("" : : : "esi", "edi");
+- return 0;
++ return err;
+ }
+
+ #endif
+--
+1.8.2.1
+
+--- b/setup.py
++++ b/setup.py
+@@ -1,6 +1,6 @@
+ #! /usr/bin/env python
+
+-import sys, os, glob, platform
++import sys, os, glob, platform, tempfile, shutil
+
+ # workaround segfaults on openbsd and RHEL 3 / CentOS 3 . see
+ # https://bitbucket.org/ambroff/greenlet/issue/11/segfault-on-openbsd-i386
+@@ -54,10 +54,33 @@
+ extra_objects=extra_objects,
+ depends=['greenlet.h', 'slp_platformselect.h'] + _find_platform_headers())]
+
+-from my_build_ext import build_ext
+-
++from my_build_ext import build_ext as _build_ext
+ from distutils.core import Command
+
++
++class build_ext(_build_ext):
++ def configure_compiler(self):
++ compiler = self.compiler
++ if compiler.__class__.__name__ != "UnixCCompiler":
++ return
++
++ compiler.compiler_so += ["-fno-tree-dominator-opts"]
++ tmpdir = tempfile.mkdtemp()
++
++ try:
++ simple_c = os.path.join(tmpdir, "simple.c")
++ open(simple_c, "w").write("void foo(){}")
++ compiler.compile([simple_c], output_dir=tmpdir)
++ except Exception:
++ del compiler.compiler_so[-1]
++
++ shutil.rmtree(tmpdir)
++
++ def build_extensions(self):
++ self.configure_compiler()
++ _build_ext.build_extensions(self)
++
++
+ class fixup(Command):
+ user_options = []
+ description = "prevent duplicate uploads and upload for the wrong architecture"
diff --git a/dev-python/greenlet/greenlet-0.4.0-r2.ebuild b/dev-python/greenlet/greenlet-0.4.0-r2.ebuild
new file mode 100644
index 000000000000..1a74c034fade
--- /dev/null
+++ b/dev-python/greenlet/greenlet-0.4.0-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/greenlet/greenlet-0.4.0-r2.ebuild,v 1.1 2013/05/29 01:58:02 radhermit Exp $
+
+EAPI=5
+
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python{2_5,2_6,2_7,3_1,3_2,3_3} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="http://pypi.python.org/pypi/greenlet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.4.0-gcc48.patch )
+
+python_compile() {
+ if [[ ${EPYTHON} == python2* ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ "${PYTHON}" run-tests.py -n || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}