New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP][python3] Upgrade to 3.8.6 #4287
Conversation
45f2212
to
2c45e2c
Compare
ebfff1c
to
77ab8fb
Compare
@smaarn can you please rebase to head@master to include the update of cross/libffi to version 3.3? |
03e95a6
to
9226112
Compare
@smaarn as a learned on the home assistant update with #4149 there is an issue with cffi 1.14.4, so older compilers fail to build it. affected files
|
05ac415
to
b617a70
Compare
e98e83c
to
8e1fbe8
Compare
73fe594
to
3664672
Compare
@@ -1,12 +1,11 @@ | |||
PKG_NAME = PyNaCl | |||
PKG_VERS = 1.3.0 | |||
PKG_VERS = 1.4.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PyNaCl version 1.4.0 introduces support for Python 3.8.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but homeassistant requires this in version 1.3.0
If we really need v1.4.0 for pythion 3.8 we must add cross/PyNaCl_1.3 and let homeassistant depend on it.
@@ -13,14 +13,4 @@ LICENSE = MIT | |||
|
|||
PLIST_TRANSFORM = sed -e 's%@PYTHON_SITE_PACKAGES@%$(PYTHON_LIB_DIR)/site-packages%' -e 's%@PYTHON_VERSION@%$(SPK_SHORT_VERS)%' | |||
|
|||
POST_INSTALL_TARGET = install_into_cross_env |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This didn't seem to be really needed. So I removed it.
@@ -0,0 +1,67 @@ | |||
From e9bd383ceb63db7cfe8a284014f0cdf8c2bfe4f0 Mon Sep 17 00:00:00 2001 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When upgrading domoticz this shouldn't be necessary anymore.
@@ -0,0 +1,27 @@ | |||
From b2752bc4a5e867e5fdfba7fab66ead49efe4de5a Mon Sep 17 00:00:00 2001 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found this in a forked repository of domoticz. It didn't seem to go through a patch or anything of that kind in the domoticz repository, not too sure about what to make of it.
@@ -14,9 +14,11 @@ LICENSE = MIT | |||
|
|||
INSTALL_TARGET = gevent_install | |||
|
|||
ENV += EMBED=false LIBEV_EMBED=false CARES_EMBED=false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It turns out that it was always trying to build libenv
and cares
. Which was actually a terrible idea since
- It's already "cross compiled"
- Didn't work very well
@@ -6,13 +6,10 @@ lnk:bin/pydoc3 | |||
rsc:bin/pydoc@PKG_SHORT_VERS@ | |||
lnk:bin/python3 | |||
bin:bin/python@PKG_SHORT_VERS@ | |||
bin:bin/python@PKG_SHORT_VERS@m | |||
lnk:bin/pyvenv | |||
rsc:bin/pyvenv-@PKG_SHORT_VERS@ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was deprecated. It has been removed.
@@ -63,9 +63,9 @@ build_wheel_target: $(PRE_WHEEL_TARGET) | |||
if [ ! -z "$(CROSS_COMPILE_WHEELS)" ] ; then \ | |||
$(MSG) "Force cross-compile" ; \ | |||
if [ -z "$(CROSSENV)" ]; then \ | |||
$(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_WHEEL) ; \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It turnsout that using -I
wasn't appreciated in some cases (more specifically gevent
) where it was failing, indicating that it should go through CPPFLAGS
instead.
@@ -40,6 +40,7 @@ include ../../mk/spksrc.spk.mk | |||
ffsync_extra_install: | |||
install -m 755 -d $(STAGING_DIR)/var | |||
install -m 644 src/ffsync.ini $(STAGING_DIR)/var/ | |||
install -m 644 src/requirements.txt $(STAGING_DIR)/share/wheelhouse/requirements.txt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise the sed
operation below was failing. To be honest it's either we remove that line and the below line (the sed
one). Or we keep that line or at least I need to know where that requirements.txt
file would be supposed to be coming from.
@@ -92,11 +92,11 @@ repoze.lru==0.6 | |||
#requests==2.4.3 | |||
simplejson==3.6.5 | |||
six==1.8 | |||
testfixtures==4.1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was failing building. But since it's related to testing I figured we could dismiss it, right ?
tokenlib==0.3.1 | ||
translationstring==1.1 | ||
umemcache==1.6.3 | ||
unittest2==0.6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was failing building. But since it's related to testing I figured we could dismiss it, right ?
Corresponding binaries have been published here: https://github.com/smaarn/spksrc/releases/tag/python-3.8.6-RC1 |
bbb775f
to
a3f0db8
Compare
c931093
to
a90e04d
Compare
Fixed domoticz to support Python 3.8
removed unrequired test resources and fixed requirements packaging
1485206
to
9c1abcd
Compare
Updated binaries can now be found here: https://github.com/smaarn/spksrc/releases/tag/python-3.8.6-RC2 Squashed icu commits and reorganized commits. |
@smaarn please avoid unnecessairy force-pushes as it always breaks local clones from fast-forwarding. |
@ymartin59 @smaarn and all py3 contirbutors here Benefits:
I am not a python guru but all seems to depend on the virtual environments that are linked to installed Python-Major.Minor. |
I would tend to agree with you here. Unfortunately I'm not an expert either here. |
@hgy59 with your previous point in my mind I would propose to:
What do you think? |
Any ideas when this will be merged? Some home assistant integrations rely on 3.8 or higher python (ikea in particular). |
Superseeded by #4413 |
Motivation: Upgrade python version to 3.8 (since it's now the oldest "stable" version)
Linked issues: #4284
Checklist
all-supported
completed successfullyFollowups
hi3535
evansport
x64