summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-03-12 13:57:54 +0100
committerFlorian Bruhin <me@the-compiler.org>2021-03-12 13:57:57 +0100
commit368ed9a4bb56c913c36e8031c59bbf46ec84017d (patch)
treef422f75da04125dd04c768ad4efc611f1b62163f
parent874215dfa32e4c23b2dbcfc97e22b796c6a9dd77 (diff)
downloadqutebrowser-368ed9a4bb56c913c36e8031c59bbf46ec84017d.tar.gz
qutebrowser-368ed9a4bb56c913c36e8031c59bbf46ec84017d.zip
Fix version sorting in mkvenv.py for requirements-pyinstaller
(cherry picked from commit b45ac601c62a1638a86347546e6afee79ecdbcf8)
-rwxr-xr-xscripts/mkvenv.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/scripts/mkvenv.py b/scripts/mkvenv.py
index d510ba75b..a3b3bf32d 100755
--- a/scripts/mkvenv.py
+++ b/scripts/mkvenv.py
@@ -99,6 +99,18 @@ def parse_args(argv: List[str] = None) -> argparse.Namespace:
return parser.parse_args(argv)
+def _version_key(v):
+ """Sort PyQt requirement file prefixes.
+
+ If we have a filename like requirements-pyqt-pyinstaller.txt, that should
+ always be sorted after all others (hence we return a "999" key).
+ """
+ try:
+ return tuple(int(v) for c in v.split('.'))
+ except ValueError:
+ return 999
+
+
def pyqt_versions() -> List[str]:
"""Get a list of all available PyQt versions.
@@ -110,8 +122,7 @@ def pyqt_versions() -> List[str]:
for req in requirements_dir.glob('requirements-pyqt-*.txt'):
version_set.add(req.stem.split('-')[-1])
- versions = sorted(version_set,
- key=lambda v: [int(c) for c in v.split('.')])
+ versions = sorted(version_set, key=_version_key)
return versions + ['auto']