diff options
author | Breno Leitao <breno.leitao@gmail.com> | 2017-04-10 19:19:17 +0000 |
---|---|---|
committer | Breno Leitao <breno.leitao@gmail.com> | 2017-04-10 19:19:17 +0000 |
commit | 511302fea2c845092f279db823049b331a9bdbb9 (patch) | |
tree | 92d2a2781518a98656fac36c2861ed315f72fe74 /community | |
parent | b018af9d1f2748059631200e82a4406ce12dfe0f (diff) | |
download | aports-511302fea2c845092f279db823049b331a9bdbb9.tar.bz2 aports-511302fea2c845092f279db823049b331a9bdbb9.tar.xz |
community/py-greenlet: Re-enabling build on ppc64le
Fixing py-greenlet to build on ppc64le. This package was FTBFS
because it is being compiled without omiting the frame
pointer, and trying, at the same time, to clobber r31 (frame
pointer register).
Diffstat (limited to 'community')
-rw-r--r-- | community/py-greenlet/APKBUILD | 9 | ||||
-rw-r--r-- | community/py-greenlet/ppc64le_clobbering.patch | 21 |
2 files changed, 27 insertions, 3 deletions
diff --git a/community/py-greenlet/APKBUILD b/community/py-greenlet/APKBUILD index 8432e3de6a..b37567421f 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 0000000000..c4d237f4f6 --- /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", \ |