public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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 \


             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