import python 3.7

2018-09-08 Thread Daniel Jakots
Hey,

I'd like to have python 3.7 for 6.4 (not as the default version of
course) and somewhere during 6.4 cycle we could switch over to it for
our python ports.

I took 3.6 and adapted it for the new version.

Does the test suite work for you? In my case it seems it never ends with
"running: test_asyncio (2 min 52 sec)" until I ^c. If people have the
same, I'll add TEST_IS_INTERACTIVE=Yes

Attached, the diff for our current files and the tgz for the 3.7
directory.

Comments? OK?

Cheers,
Daniel
? 3.7
Index: Makefile
===
RCS file: /cvs/ports/lang/python/Makefile,v
retrieving revision 1.68
diff -u -p -r1.68 Makefile
--- Makefile	8 Jul 2017 08:28:00 -	1.68
+++ Makefile	8 Sep 2018 18:20:36 -
@@ -3,6 +3,7 @@
 SUBDIR =
 SUBDIR +=	2.7
 SUBDIR +=	3.6
+SUBDIR +=	3.7
 
 .include 
 
Index: Makefile.inc
===
RCS file: /cvs/ports/lang/python/Makefile.inc,v
retrieving revision 1.124
diff -u -p -r1.124 Makefile.inc
--- Makefile.inc	3 Nov 2017 13:13:05 -	1.124
+++ Makefile.inc	8 Sep 2018 18:20:36 -
@@ -126,7 +126,7 @@ FAKE_FLAGS +=	RANLIB=:
 # and QtWebKit require W|X mappings.
 USE_WXNEEDED = Yes
 
-.if ${VERSION} == "3.6"
+.if ${VERSION} == "3.6" || ${VERSION} == "3.7"
 ALL_TARGET =	all
 .else
 ALL_TARGET =	all ./Lib/plat-openbsd6
Index: python.port.mk
===
RCS file: /cvs/ports/lang/python/python.port.mk,v
retrieving revision 1.99
diff -u -p -r1.99 python.port.mk
--- python.port.mk	24 Jul 2018 12:10:10 -	1.99
+++ python.port.mk	8 Sep 2018 18:20:36 -
@@ -24,7 +24,8 @@ MODPY_VERSION ?=	${MODPY_DEFAULT_VERSION
 # verify if MODPY_VERSION forced is correct
 .else
 .  if ${MODPY_VERSION} != "2.7" && \
-  ${MODPY_VERSION} != "3.6"
+  ${MODPY_VERSION} != "3.6" && \
+  ${MODPY_VERSION} != "3.7"
 ERRORS += "Fatal: unknown or unsupported MODPY_VERSION: ${MODPY_VERSION}"
 .  endif
 .endif


3.7.tgz
Description: application/compressed-tar


Import python 3.7

2018-11-15 Thread Edward Lopez-Acosta
Daniel your update builds and runs fine for me on amd64.

Two notes though:

Current version is now 3.7.1, I tested and same patches apply to this
version.

Second is if we have side by side installs then /usr/local/bin/python3
should be a symlink to the users preferred version. Not owned by a package,
same for pip. We can likely solve this by a post install message for the
user.

Thank you for the work on this.


Re: import python 3.7

2018-09-08 Thread Antoine Jacoutot
On Sat, Sep 08, 2018 at 02:28:06PM -0400, Daniel Jakots wrote:
> Hey,
> 
> I'd like to have python 3.7 for 6.4 (not as the default version of
> course) and somewhere during 6.4 cycle we could switch over to it for
> our python ports.
> 
> I took 3.6 and adapted it for the new version.
> 
> Does the test suite work for you? In my case it seems it never ends with
> "running: test_asyncio (2 min 52 sec)" until I ^c. If people have the
> same, I'll add TEST_IS_INTERACTIVE=Yes

Hmm. Why not try and fix it? :-)


-- 
Antoine



Re: import python 3.7

2018-09-11 Thread Daniel Jakots
On Sat, 8 Sep 2018 14:28:06 -0400, Daniel Jakots 
wrote:

> Does the test suite work for you? In my case it seems it never ends
> with "running: test_asyncio (2 min 52 sec)" until I ^c. If people
> have the same, I'll add TEST_IS_INTERACTIVE=Yes

I looked into it and didn't find any solution. It happens on cpython
HEAD as well so I added it.

> Attached, the diff for our current files and the tgz for the 3.7
> directory.

New tgz attached because the plist needed some @comment.

fwiw, tested on arm64, it packages fine and tests result looks the same

Cheers,
Daniel


3.7.tgz
Description: application/compressed-tar


Re: import python 3.7

2018-09-17 Thread Daniel Jakots
On Tue, 11 Sep 2018 22:19:13 -0400, Daniel Jakots 
wrote:

> New tgz attached because the plist needed some @comment.

ping



Re: import python 3.7

2018-09-18 Thread Daniel Jakots
On Tue, 11 Sep 2018 22:19:13 -0400, Daniel Jakots 
wrote:

> On Sat, 8 Sep 2018 14:28:06 -0400, Daniel Jakots 
> wrote:
> 
> > Does the test suite work for you? In my case it seems it never ends
> > with "running: test_asyncio (2 min 52 sec)" until I ^c. If people
> > have the same, I'll add TEST_IS_INTERACTIVE=Yes  
> 
> I looked into it and didn't find any solution. It happens on cpython
> HEAD as well so I added it.
> 
> > Attached, the diff for our current files and the tgz for the 3.7
> > directory.  
> 
> New tgz attached because the plist needed some @comment.

New tgz because the PLIST-main listed items it shouldn't (spotted by
Rafael, thanks!)


Cheers,
Daniel


3.7.tgz
Description: application/compressed-tar
? 3.7
? 3.7.tgz
Index: Makefile
===
RCS file: /cvs/ports/lang/python/Makefile,v
retrieving revision 1.68
diff -u -p -r1.68 Makefile
--- Makefile	8 Jul 2017 08:28:00 -	1.68
+++ Makefile	18 Sep 2018 21:29:54 -
@@ -3,6 +3,7 @@
 SUBDIR =
 SUBDIR +=	2.7
 SUBDIR +=	3.6
+SUBDIR +=	3.7
 
 .include 
 
Index: Makefile.inc
===
RCS file: /cvs/ports/lang/python/Makefile.inc,v
retrieving revision 1.125
diff -u -p -r1.125 Makefile.inc
--- Makefile.inc	18 Sep 2018 16:43:12 -	1.125
+++ Makefile.inc	18 Sep 2018 21:29:54 -
@@ -125,7 +125,7 @@ FAKE_FLAGS +=	RANLIB=:
 # and QtWebKit require W|X mappings.
 USE_WXNEEDED = Yes
 
-.if ${VERSION} == "3.6"
+.if ${VERSION} == "3.6" || ${VERSION} == "3.7"
 ALL_TARGET =	all
 .else
 ALL_TARGET =	all ./Lib/plat-openbsd6
Index: python.port.mk
===
RCS file: /cvs/ports/lang/python/python.port.mk,v
retrieving revision 1.99
diff -u -p -r1.99 python.port.mk
--- python.port.mk	24 Jul 2018 12:10:10 -	1.99
+++ python.port.mk	18 Sep 2018 21:29:54 -
@@ -24,7 +24,8 @@ MODPY_VERSION ?=	${MODPY_DEFAULT_VERSION
 # verify if MODPY_VERSION forced is correct
 .else
 .  if ${MODPY_VERSION} != "2.7" && \
-  ${MODPY_VERSION} != "3.6"
+  ${MODPY_VERSION} != "3.6" && \
+  ${MODPY_VERSION} != "3.7"
 ERRORS += "Fatal: unknown or unsupported MODPY_VERSION: ${MODPY_VERSION}"
 .  endif
 .endif


Re: import python 3.7

2018-09-27 Thread Daniel Jakots
On Tue, 18 Sep 2018 20:21:01 -0400, Daniel Jakots 
wrote:

> On Tue, 11 Sep 2018 22:19:13 -0400, Daniel Jakots 
> wrote:
> 
> > On Sat, 8 Sep 2018 14:28:06 -0400, Daniel Jakots
> >  wrote:
> >   
> > > Does the test suite work for you? In my case it seems it never
> > > ends with "running: test_asyncio (2 min 52 sec)" until I ^c. If
> > > people have the same, I'll add TEST_IS_INTERACTIVE=Yes
> > 
> > I looked into it and didn't find any solution. It happens on cpython
> > HEAD as well so I added it.
> >   
> > > Attached, the diff for our current files and the tgz for the 3.7
> > > directory.
> > 
> > New tgz attached because the plist needed some @comment.  
> 
> New tgz because the PLIST-main listed items it shouldn't (spotted by
> Rafael, thanks!)

ping



Re: import python 3.7

2018-09-29 Thread Rafael Sadowski
On Thu Sep 27, 2018 at 07:35:50AM -0400, Daniel Jakots wrote:
> On Tue, 18 Sep 2018 20:21:01 -0400, Daniel Jakots 
> wrote:
> 
> > On Tue, 11 Sep 2018 22:19:13 -0400, Daniel Jakots 
> > wrote:
> > 
> > > On Sat, 8 Sep 2018 14:28:06 -0400, Daniel Jakots
> > >  wrote:
> > >   
> > > > Does the test suite work for you? In my case it seems it never
> > > > ends with "running: test_asyncio (2 min 52 sec)" until I ^c. If
> > > > people have the same, I'll add TEST_IS_INTERACTIVE=Yes
> > > 
> > > I looked into it and didn't find any solution. It happens on cpython
> > > HEAD as well so I added it.
> > >   
> > > > Attached, the diff for our current files and the tgz for the 3.7
> > > > directory.
> > > 
> > > New tgz attached because the plist needed some @comment.  
> > 
> > New tgz because the PLIST-main listed items it shouldn't (spotted by
> > Rafael, thanks!)
> 
> ping
> 

I see no impact and no risks if there are no objections. ok rsadowski@



Re: Import python 3.7

2018-11-15 Thread Stuart Henderson
On 2018/11/15 09:58, Edward Lopez-Acosta wrote:
> Daniel your update builds and runs fine for me on amd64.
> 
> Two notes though:
> 
> Current version is now 3.7.1, I tested and same patches apply to this
> version.
> 
> Second is if we have side by side installs then /usr/local/bin/python3
> should be a symlink to the users preferred version. Not owned by a package,
> same for pip. We can likely solve this by a post install message for the
> user.

With the current setup some scripts rely on "#!/usr/bin/env python3" working
and in that case /usr/local/bin/python3 *has* to be owned by the package,
otherwise dependencies on python libraries get messed up.

Unless there's a *very* good reason not to I'd recommend replacing 3.6 with
3.7 rather than having the two in parallel.



Re: Import python 3.7

2018-11-15 Thread Edward Lopez-Acosta
I am in agreement with the replacement. The symlink was a suggestion if for
some reason people want to have both available.

On Thursday, November 15, 2018, Stuart Henderson 
wrote:
> On 2018/11/15 09:58, Edward Lopez-Acosta wrote:
>> Daniel your update builds and runs fine for me on amd64.
>>
>> Two notes though:
>>
>> Current version is now 3.7.1, I tested and same patches apply to this
>> version.
>>
>> Second is if we have side by side installs then /usr/local/bin/python3
>> should be a symlink to the users preferred version. Not owned by a
package,
>> same for pip. We can likely solve this by a post install message for the
>> user.
>
> With the current setup some scripts rely on "#!/usr/bin/env python3"
working
> and in that case /usr/local/bin/python3 *has* to be owned by the package,
> otherwise dependencies on python libraries get messed up.
>
> Unless there's a *very* good reason not to I'd recommend replacing 3.6
with
> 3.7 rather than having the two in parallel.
>
>


Re: Import python 3.7

2018-11-20 Thread Edward Lopez-Acosta

Stuart,

I did some thinking on this as a heavy consumer, and light developer, of 
Python applications.


There are 455 Python3 modules currently in the repository would would be 
unreasonable to test all of them [1]. That being said there also appears 
to be hesitation on importing updated modules by the OpenBSD team [2].


Given that a large percentage of these are probably out of date they may 
not work with Python 3.7. I anticipate a large number of issues when 
making 3.7 the default, unless modules catch up due to changes with Py3.7.


That being said I do still support that decision and think it would be a 
good step forward for the ports tree. Thoughts on how this can happen?


I have tested Daniel's update to 3.7 and it seems fine for me during my 
normal usage and the modules I use.


Thank you,

Edward Lopez-Acosta

[1]
$ pkg_info -Q py3- | grep -E "^py3-" -c
455

[2]
https://marc.info/?l=openbsd-ports&m=154250379325554&w=2
https://marc.info/?l=openbsd-ports&m=154232569512562&w=2
https://marc.info/?l=openbsd-ports&m=154241864207006&w=2
https://marc.info/?l=openbsd-ports&m=154241778006783&w=2
https://marc.info/?l=openbsd-ports&m=154232597012625&w=2
https://marc.info/?l=openbsd-ports&m=154247815319002&w=2
https://marc.info/?l=openbsd-ports&m=154250517226370&w=2
https://marc.info/?l=openbsd-ports&m=154269346520288&w=2
https://marc.info/?l=openbsd-ports&m=153990734713078&w=2
https://marc.info/?l=openbsd-ports&m=153713104304464&w=2


On 11/15/18 10:19 AM, Stuart Henderson wrote:

On 2018/11/15 09:58, Edward Lopez-Acosta wrote:

Daniel your update builds and runs fine for me on amd64.

Two notes though:

Current version is now 3.7.1, I tested and same patches apply to this
version.

Second is if we have side by side installs then /usr/local/bin/python3
should be a symlink to the users preferred version. Not owned by a package,
same for pip. We can likely solve this by a post install message for the
user.


With the current setup some scripts rely on "#!/usr/bin/env python3" working
and in that case /usr/local/bin/python3 *has* to be owned by the package,
otherwise dependencies on python libraries get messed up.

Unless there's a *very* good reason not to I'd recommend replacing 3.6 with
3.7 rather than having the two in parallel.





Re: Import python 3.7

2018-11-20 Thread Stuart Henderson
On 2018/11/20 17:11, Edward Lopez-Acosta wrote:
> Stuart,
> 
> I did some thinking on this as a heavy consumer, and light developer, of
> Python applications.
> 
> There are 455 Python3 modules currently in the repository would would be
> unreasonable to test all of them [1].

Yes it would be unreasonable to do runtime testing on all of them. But
they are going to need REVISION bumped on the whole lot of them for a
python version switch and at least build testing is needed to make
sure we don't break the ports tree.

>   That being said there also appears to
> be hesitation on importing updated modules by the OpenBSD team [2].

You send diffs for a stack of updates in one go, are missing finding
dependencies in some cases, and are giving the impression of working fast
(which is not *necessarily* a problem but might be - we don't really
know you / your work and whether it's fast+careful or just fast).
So yes there is hesitation to just pushing these to the tree without
further thought and tests.



Re: Import python 3.7

2018-11-20 Thread Edward Lopez-Acosta
I generally work fast and careful, and the docs are lacking on how to 
find dependencies (unless I am missing it). As noted previously though 
there are a large number of things outdated, so of course submissions 
will be in batches, not sure how you expect this worked around. If there 
is a module I use, or am just working to update in the tree, and the 
dependencies are outdated I will send those at the same time as its 
required.


I was not requesting they immediately be pushed to the tree without 
review but there is also a lack of feedback for me to know what changes 
are needed to improve my porting and make it easier for you guys going 
forward.


Edward Lopez-Acosta

On 11/20/18 5:39 PM, Stuart Henderson wrote:

On 2018/11/20 17:11, Edward Lopez-Acosta wrote:

Stuart,

I did some thinking on this as a heavy consumer, and light developer, of
Python applications.

There are 455 Python3 modules currently in the repository would would be
unreasonable to test all of them [1].


Yes it would be unreasonable to do runtime testing on all of them. But
they are going to need REVISION bumped on the whole lot of them for a
python version switch and at least build testing is needed to make
sure we don't break the ports tree.


   That being said there also appears to
be hesitation on importing updated modules by the OpenBSD team [2].


You send diffs for a stack of updates in one go, are missing finding
dependencies in some cases, and are giving the impression of working fast
(which is not *necessarily* a problem but might be - we don't really
know you / your work and whether it's fast+careful or just fast).
So yes there is hesitation to just pushing these to the tree without
further thought and tests.