mirror of
https://github.com/certbot/certbot.git
synced 2026-01-26 07:41:33 +03: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
|
||||
pyjwt==1.7.1
|
||||
pylint==2.4.3
|
||||
pynacl==1.3.0
|
||||
# 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.
|
||||
pynacl==1.3.0
|
||||
pynsist==2.6
|
||||
pynsist==2.7
|
||||
pytest==3.2.5
|
||||
pytest-cov==2.5.1
|
||||
pytest-forked==0.2
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
import ctypes
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import struct
|
||||
import subprocess
|
||||
@@ -65,21 +64,6 @@ def _compile_wheels(repo_path, build_path, venv_python):
|
||||
command.extend(wheels_project)
|
||||
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):
|
||||
print('Prepare build tools')
|
||||
|
||||
Reference in New Issue
Block a user