mirror of
https://github.com/certbot/certbot.git
synced 2026-08-03 03:52:02 +02:00
Remove wheel hack in windows installer construction script (#8752)
In #8649 we added some code to trick pynsist and make it understand that `abi3` wheels for Windows are forward compatible, meaning that the cryptography wheel tagged `cp36-abi3` is in fact compatible with Python 3.6+, and not only Python 3.6. Since pynsist 2.7 the tool now understand `abi3` wheels properly, and this trick is not needed anymore. Please note that despite modifying the pynsist pinning in `dev_constraints.txt`, it will have no effect since pynsist currently escape the pinning system. This is handled in https://github.com/certbot/certbot/pull/8749.
This commit is contained in:
@@ -83,10 +83,10 @@ PyGithub==1.52
|
|||||||
Pygments==2.2.0
|
Pygments==2.2.0
|
||||||
pyjwt==1.7.1
|
pyjwt==1.7.1
|
||||||
pylint==2.4.3
|
pylint==2.4.3
|
||||||
|
pynacl==1.3.0
|
||||||
# If pynsist version is upgraded, our NSIS template windows-installer/template.nsi
|
# If pynsist version is upgraded, our NSIS template windows-installer/template.nsi
|
||||||
# must be upgraded if necessary using the new built-in one from pynsist.
|
# must be upgraded if necessary using the new built-in one from pynsist.
|
||||||
pynacl==1.3.0
|
pynsist==2.7
|
||||||
pynsist==2.6
|
|
||||||
pytest==3.2.5
|
pytest==3.2.5
|
||||||
pytest-cov==2.5.1
|
pytest-cov==2.5.1
|
||||||
pytest-forked==0.2
|
pytest-forked==0.2
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
import ctypes
|
import ctypes
|
||||||
import os
|
import os
|
||||||
import re
|
|
||||||
import shutil
|
import shutil
|
||||||
import struct
|
import struct
|
||||||
import subprocess
|
import subprocess
|
||||||
@@ -65,21 +64,6 @@ def _compile_wheels(repo_path, build_path, venv_python):
|
|||||||
command.extend(wheels_project)
|
command.extend(wheels_project)
|
||||||
subprocess.check_call(command, env=env)
|
subprocess.check_call(command, env=env)
|
||||||
|
|
||||||
# Cryptography uses now a unique wheel name "cryptography-VERSION-cpXX-abi3-win32.whl where
|
|
||||||
# cpXX is the lowest supported version of Python (eg. cp36 says that the wheel is compatible
|
|
||||||
# with Python 3.6+). While technically valid to describe a wheel compliant with the Stable
|
|
||||||
# Application Binary Interface, this naming convention makes pynsist falsely think that the
|
|
||||||
# wheel is compatible with Python 3.6 only.
|
|
||||||
# Let's trick pynsist by renaming the wheel until this is fixed upstream.
|
|
||||||
for file in os.listdir(wheels_path):
|
|
||||||
# Given that our Python version is 3.8, this rename files like
|
|
||||||
# cryptography-VERSION-cpXX-abi3-win32.whl into cryptography-VERSION-cp38-abi3-win32.whl
|
|
||||||
renamed = re.sub(r'^(.*)-cp\d+-abi3-(\w+)\.whl$', r'\1-cp{0}{1}-abi3-\2.whl'
|
|
||||||
.format(PYTHON_VERSION[0], PYTHON_VERSION[1]), file)
|
|
||||||
print(renamed)
|
|
||||||
if renamed != file:
|
|
||||||
os.replace(os.path.join(wheels_path, file), os.path.join(wheels_path, renamed))
|
|
||||||
|
|
||||||
|
|
||||||
def _prepare_build_tools(venv_path, venv_python, repo_path):
|
def _prepare_build_tools(venv_path, venv_python, repo_path):
|
||||||
print('Prepare build tools')
|
print('Prepare build tools')
|
||||||
|
|||||||
Reference in New Issue
Block a user