aboutsummaryrefslogtreecommitdiffstats
path: root/community
diff options
context:
space:
mode:
Diffstat (limited to 'community')
-rw-r--r--community/py-greenlet/APKBUILD9
-rw-r--r--community/py-greenlet/ppc64le_clobbering.patch21
2 files changed, 27 insertions, 3 deletions
diff --git a/community/py-greenlet/APKBUILD b/community/py-greenlet/APKBUILD
index 8432e3de6a6..b37567421fd 100644
--- a/community/py-greenlet/APKBUILD
+++ b/community/py-greenlet/APKBUILD
@@ -7,12 +7,14 @@ pkgrel=1
pkgdesc="Lightweight in-process concurrent programming"
url="http://pypi.python.org/pypi/greenlet"
# does not build on ppc64le yet
-arch="all !ppc64le"
+arch="all"
license="MIT"
depends=""
makedepends="python2-dev py-setuptools python3-dev"
subpackages="py3-${pkgname/py-/}:_py3 py2-${pkgname/py-/}:_py2"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ ppc64le_clobbering.patch"
+
builddir="$srcdir/$_pkgname-$pkgver"
build() {
@@ -44,4 +46,5 @@ _py3() {
_py python3
}
-sha512sums="f3bf0f82b6e3bc687fc9b89469339cfb05e64518d1e49bc96066e8d47b8559f1c1aa53692cd25d839437a2f1b81df6fd9a4509a1b4063ec4ce1d97b73842e9f6 greenlet-0.4.12.tar.gz"
+sha512sums="f3bf0f82b6e3bc687fc9b89469339cfb05e64518d1e49bc96066e8d47b8559f1c1aa53692cd25d839437a2f1b81df6fd9a4509a1b4063ec4ce1d97b73842e9f6 greenlet-0.4.12.tar.gz
+fdadaefaa69a07c1926a000c70ed58b92e2103942b7031310575e3b2feefa15d56d2f9df72db3cab583b97d1f6607df5e09bd85bc3be284a0de18d2d1ffbe869 ppc64le_clobbering.patch"
diff --git a/community/py-greenlet/ppc64le_clobbering.patch b/community/py-greenlet/ppc64le_clobbering.patch
new file mode 100644
index 00000000000..c4d237f4f61
--- /dev/null
+++ b/community/py-greenlet/ppc64le_clobbering.patch
@@ -0,0 +1,21 @@
+Author: Breno Leitao <breno.leitao@gmail.com>
+Date: Mon Apr 10 23:22:01 2017 +0000
+
+ Do not clobber r31 if you are not omitting frame pointer
+
+ R31 is the register that is defined in the ABI v2 as the frame pointer.
+ It should not be clobbered unless we omit the frame pointer.
+
+ Signed-off-by: Breno Leitao <breno.leitao@gmail.com>
+
+--- greenlet-0.4.12/platform/switch_ppc64_linux.h.old 2017-04-10 19:14:26.808511638 +0000
++++ greenlet-0.4.12/platform/switch_ppc64_linux.h 2017-04-10 19:14:34.556511856 +0000
+@@ -57,7 +57,7 @@
+ #endif
+
+ #define REGS_TO_SAVE "r2", "r14", "r15", "r16", "r17", "r18", "r19", "r20", \
+- "r21", "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29", "r31", \
++ "r21", "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29", \
+ "fr14", "fr15", "fr16", "fr17", "fr18", "fr19", "fr20", "fr21", \
+ "fr22", "fr23", "fr24", "fr25", "fr26", "fr27", "fr28", "fr29", \
+ "fr30", "fr31", \