From eda79d711843798637ac8e9080c846d5e8f0b190 Mon Sep 17 00:00:00 2001 From: sage-etcher Date: Tue, 29 Jul 2025 14:44:07 +0000 Subject: [PATCH 1/3] Alien-PIP: distutils is depreciated, use pkg_resources for version compare. convert keys() method outputs to list so we can sort the data --- bin/Alien-PIP | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/Alien-PIP b/bin/Alien-PIP index e7929208..5ea9f375 100755 --- a/bin/Alien-PIP +++ b/bin/Alien-PIP @@ -27,13 +27,13 @@ try: from urllib2 import urlopen, Request except ImportError: from urllib.request import urlopen, Request -from distutils.version import StrictVersion +from pkg_resources import parse_version def available_versions(prog): try: url = "https://pypi.python.org/pypi/%s/json" %prog data = json.load(urlopen(Request(url))) - versions = data["releases"].keys() - versions.sort(key=StrictVersion) + versions = list(data["releases"].keys()) + versions.sort(key=parse_version) return versions except: return '' From bd47824eadc7d04102c1e46faf00e8280ca99149 Mon Sep 17 00:00:00 2001 From: sage-etcher Date: Tue, 29 Jul 2025 14:45:19 +0000 Subject: [PATCH 2/3] Alien.py: Assume all Alien-X output are in UTF-8 encoding, not byte arrays. --- lib/python3.8/site-packages/Alien.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python3.8/site-packages/Alien.py b/lib/python3.8/site-packages/Alien.py index c3a6b4bc..44b38923 100755 --- a/lib/python3.8/site-packages/Alien.py +++ b/lib/python3.8/site-packages/Alien.py @@ -44,7 +44,7 @@ def getinstallversion(rule): alientype, alienpkg, lowerbound, upperbound = parse_rule(rule) p = subprocess.Popen(['Alien-' + alientype, '--getinstallversion', alienpkg, lowerbound, upperbound], stdout=subprocess.PIPE) - return p.stdout.read().strip() + return p.stdout.read().decode('utf-8').strip() def split(program): From aa2139fb01bd993510a7da9d33023a1fea2db6a8 Mon Sep 17 00:00:00 2001 From: sage-etcher Date: Tue, 29 Jul 2025 14:51:39 +0000 Subject: [PATCH 3/3] fix Alien-PIP