From: "Michael Haubenwallner" <haubi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/prefix:master commit in: dev-lang/python/files/, dev-lang/python/
Date: Thu, 12 May 2016 13:41:18 +0000 (UTC) [thread overview]
Message-ID: <1463058625.c7ca0121e267a0935393ca8e754d64da3563bb22.haubi@gentoo> (raw)
commit: c7ca0121e267a0935393ca8e754d64da3563bb22
Author: Michael Haubenwallner <michael.haubenwallner <AT> ssi-schaefer <DOT> com>
AuthorDate: Wed May 11 10:43:03 2016 +0000
Commit: Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
CommitDate: Thu May 12 13:10:25 2016 +0000
URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=c7ca0121
python 2.7/3.4: Cygwin port, using cygwinports patches
dev-lang/python/Manifest | 2 ++
dev-lang/python/files/python-3.4-pyfpe-dll.patch | 24 ++++++++++++++++++++++++
dev-lang/python/python-2.7.11.ebuild | 20 +++++++++++++++++---
dev-lang/python/python-3.4.3-r5.ebuild | 17 +++++++++++++++++
4 files changed, 60 insertions(+), 3 deletions(-)
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index f9b8bd9..9366723 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -19,3 +19,5 @@ DIST python-prefix-3.2.5-gentoo-patches-r0.tar.bz2 9594 SHA256 350924a35c352915d
DIST python-prefix-3.3.3-gentoo-patches-r2.tar.bz2 13776 SHA256 7e90671d26b60b874748efc95171f7bed149637b1d4aa34752d12fdac06d2d85 SHA512 9859d5367ae1d655572236ffdeb49ac58ae4cf48a556428a9cfb80ac21552d0d8b1c89461f31e6a8dbfdfbc9ced01f510400963571d810e79156f2a3f753fffd WHIRLPOOL b5d45333fea0610e0efba2f0d113337d9004459ec733691406518709ff4c191060d868ead7a0db0e65f89e953d03fb164c5cd1dcc128a5c0e5af93fa7fc0ffd4
DIST python-prefix-3.4.3-gentoo-patches-r0.tar.xz 12808 SHA256 bb51649f6a586640463dd742170ff2fdb8c906128a97b1c0bb2b9cad0fe82d56 SHA512 714e5cfa03cfd290a821dea641b91c4358a25bb1bcb47050b1cf321f0defa7e060a4cdd967bc356701642230b51f3c74476af96ff58a6f933301171e12ccfac8 WHIRLPOOL f7ff0e0bebbeee221a18d5078f12c77922c7621e00f19254e72f68767647a7d2ff9312366b62023a7d4283def2d7f509572ad657bbb2c132355ee637c5697b0c
DIST python-prefix-3.5.1-gentoo-patches-r1.tar.xz 12684 SHA256 a15318c069a7cb463a58ac4d8754a94a5bac081c922f07ca6e1fc6b9b9efa44a SHA512 a0086af9f361098ee7e51e260f9444c93a24c86898fe0fad8b08ad3d7f179c29bb97baa545f19fd8451d4668aa4d3894fe3769c1bf7a10f8342ded806bfd620d WHIRLPOOL 7136d338feefe6d1b7d4ad7dabe9371066f254a3405f2f737d84c69c3a79f0926e2f338e131c7d90199a8948eae95087d454a930c17a7e2f3c360eb0defce4bf
+DIST 8ee84829be03c2a1aa74f0f095c994c1f43f4688.zip 14239 SHA256 811b6fe82630a04a44a6d16074af76964e7e4005136ba479647eb741639099da SHA512 2f3ada7ff2bd97f90e3b972b681624ddf45c6d1db8d5e89f1313b4693db240a3c4e27c84bd2cf8ff71d5fb276b381ca6a3b8a6945f8db53ff3496cc4cc0b1d62
+DIST 7be648659ef46f33db6913ca0ca5a809219d5629.zip 9173 SHA256 39e2c7367357110d4bc89a5ba515cd0f419a22e45f0ffda73db6b676ac28b718 SHA512 b1c654c852baf7891b834124607115cfaf3f1b8b7a58a9c3e8e46dd5b2f608d05d27e8a6222cc98ed83634bcfdcbbddcb888070d079cc8438db7e52320f113f9
diff --git a/dev-lang/python/files/python-3.4-pyfpe-dll.patch b/dev-lang/python/files/python-3.4-pyfpe-dll.patch
new file mode 100644
index 0000000..401529d
--- /dev/null
+++ b/dev-lang/python/files/python-3.4-pyfpe-dll.patch
@@ -0,0 +1,24 @@
+--- Python-3.4.3/Include/pyfpe.h
++++ Python-3.4.3/Include/pyfpe.h
+@@ -129,9 +129,9 @@
+ #include <signal.h>
+ #include <setjmp.h>
+ #include <math.h>
+-extern jmp_buf PyFPE_jbuf;
+-extern int PyFPE_counter;
+-extern double PyFPE_dummy(void *);
++PyAPI_DATA(jmp_buf) PyFPE_jbuf;
++PyAPI_DATA(int) PyFPE_counter;
++PyAPI_FUNC(double) PyFPE_dummy(void *);
+
+ #define PyFPE_START_PROTECT(err_string, leave_stmt) \
+ if (!PyFPE_counter++ && setjmp(PyFPE_jbuf)) { \
+--- Python-3.4.3/Python/pyfpe.c
++++ Python-3.4.3/Python/pyfpe.c
+@@ -1,5 +1,4 @@
+-#include "pyconfig.h"
+-#include "pyfpe.h"
++#include "Python.h"
+ /*
+ * The signal handler for SIGFPE is actually declared in an external
+ * module fpectl, or as preferred by the user. These variable
diff --git a/dev-lang/python/python-2.7.11.ebuild b/dev-lang/python/python-2.7.11.ebuild
index c43fd1f..1e491f8 100644
--- a/dev-lang/python/python-2.7.11.ebuild
+++ b/dev-lang/python/python-2.7.11.ebuild
@@ -10,6 +10,7 @@ inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolcha
MY_P="Python-${PV}"
PATCHSET_VERSION="2.7.11-0"
PREFIX_PATCHREV="r0"
+CYGWINPORTS_GITREV="7be648659ef46f33db6913ca0ca5a809219d5629"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="http://www.python.org/"
@@ -17,6 +18,9 @@ SRC_URI="http://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
https://dev.gentoo.org/~djc/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz
https://dev.gentoo.org/~grobian/distfiles/python-prefix-${PV}-gentoo-patches-${PREFIX_PATCHREV}.tar.xz"
+[[ -n ${CYGWINPORTS_GITREV} ]] &&
+SRC_URI+=" elibc_Cygwin? ( https://github.com/cygwinports/python/archive/${CYGWINPORTS_GITREV}.zip )"
+
LICENSE="PSF-2"
SLOT="2.7"
KEYWORDS="~ppc-aix ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
@@ -128,9 +132,7 @@ src_prepare() {
epatch "${FILESDIR}/python-2.7.9-ncurses-pkg-config.patch"
epatch "${FILESDIR}/python-2.7.10-cross-compile-warn-test.patch"
epatch "${FILESDIR}/python-2.7.10-system-libffi.patch"
-
- # On Cygwin, find_library("c") has to return "cygwin1.dll"
- epatch "${FILESDIR}/python-2.5.2-cygwin-find_library.patch"
+ epatch "${FILESDIR}/python-3.4-pyfpe-dll.patch" # Cygwin: --with-fpectl
# On AIX, we've wrapped /usr/ccs/bin/nm to work around long TMPDIR.
sed -i -e "/^NM=.*nm$/s,^.*$,NM=$(tc-getNM)," Modules/makexp_aix || die
@@ -138,6 +140,18 @@ src_prepare() {
# Make sure python doesn't use the host libffi.
use prefix && epatch "${FILESDIR}/python-2.7-libffi-pkgconfig.patch"
+ if [[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin; then
+ local p d="${WORKDIR}/python-${CYGWINPORTS_GITREV}"
+ for p in $(
+ eval "$(sed -ne '/PATCH_URI="/,/"/p' < "${d}"/python.cygport)"
+ echo ${PATCH_URI}
+ ); do
+ # dropped by 01_all_prefix-no-patch-invention.patch
+ [[ ${p} == *-tkinter-* ]] && continue
+ epatch "${d}/${p}"
+ done
+ fi
+
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
Lib/distutils/command/install.py \
Lib/distutils/sysconfig.py \
diff --git a/dev-lang/python/python-3.4.3-r5.ebuild b/dev-lang/python/python-3.4.3-r5.ebuild
index 1ea643d..b2a6a49 100644
--- a/dev-lang/python/python-3.4.3-r5.ebuild
+++ b/dev-lang/python/python-3.4.3-r5.ebuild
@@ -10,6 +10,7 @@ inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolcha
MY_P="Python-${PV/_/}"
PATCHSET_VERSION="3.4.3-0"
PREFIX_PATCHREV="r0"
+CYGWINPORTS_GITREV="8ee84829be03c2a1aa74f0f095c994c1f43f4688"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="http://www.python.org/"
@@ -17,6 +18,9 @@ SRC_URI="http://www.python.org/ftp/python/${PV%_rc*}/${MY_P}.tar.xz
https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz
https://dev.gentoo.org/~grobian/distfiles/python-prefix-${PV}-gentoo-patches-${PREFIX_PATCHREV}.tar.xz"
+[[ -n ${CYGWINPORTS_GITREV} ]] &&
+SRC_URI+=" elibc_Cygwin? ( https://github.com/cygwinports/python3/archive/${CYGWINPORTS_GITREV}.zip )"
+
LICENSE="PSF-2"
SLOT="3.4/3.4m"
KEYWORDS="~ppc-aix ~x64-freebsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
@@ -76,6 +80,7 @@ src_prepare() {
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
+ epatch "${FILESDIR}/${PN}-3.4-pyfpe-dll.patch" # Cygwin: --with-fpectl
# Prefix' round of patches
# http://prefix.gentooexperimental.org:8000/python-patches-3_3
@@ -98,6 +103,18 @@ src_prepare() {
# Make sure python doesn't use the host libffi.
use prefix && epatch "${FILESDIR}/python-3.2-libffi-pkgconfig.patch"
+ if [[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin; then
+ local p d="${WORKDIR}/python3-${CYGWINPORTS_GITREV}"
+ for p in $(
+ eval "$(sed -ne '/PATCH_URI="/,/"/p' < "${d}"/python3.cygport)"
+ echo ${PATCH_URI}
+ ); do
+ # dropped by 01_all_prefix-no-patch-invention.patch
+ [[ ${p} == *-tkinter-* ]] && continue
+ epatch "${d}/${p}"
+ done
+ fi
+
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
Lib/distutils/command/install.py \
Lib/distutils/sysconfig.py \
next reply other threads:[~2016-05-12 13:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-12 13:41 Michael Haubenwallner [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-04-10 7:37 [gentoo-commits] repo/proj/prefix:master commit in: dev-lang/python/files/, dev-lang/python/ Fabian Groffen
2020-12-10 20:46 Fabian Groffen
2018-05-03 13:05 Fabian Groffen
2018-05-03 12:05 Fabian Groffen
2018-05-03 10:39 Fabian Groffen
2018-05-03 10:39 Fabian Groffen
2017-10-31 9:29 Fabian Groffen
2016-04-28 15:07 Michael Haubenwallner
2015-12-14 20:36 Fabian Groffen
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=1463058625.c7ca0121e267a0935393ca8e754d64da3563bb22.haubi@gentoo \
--to=haubi@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