From 846c8670b5d39b8e2196fff77fd916b7ea5a62f3 Mon Sep 17 00:00:00 2001
From: Trim21 <trim21.me@gmail.com>
Date: Fri, 17 Jan 2025 23:26:29 +0800
Subject: [PATCH] fix(pep621): pep508 version spec with parens (#33632)

---
 lib/modules/manager/pep621/utils.spec.ts |  2 ++
 lib/modules/manager/pep621/utils.ts      | 10 +++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/lib/modules/manager/pep621/utils.spec.ts b/lib/modules/manager/pep621/utils.spec.ts
index 4d1e6edbcb..80d2ca16d8 100644
--- a/lib/modules/manager/pep621/utils.spec.ts
+++ b/lib/modules/manager/pep621/utils.spec.ts
@@ -10,6 +10,8 @@ describe('modules/manager/pep621/utils', () => {
       ${null}                                                      | ${false} | ${undefined}           | ${undefined}       | ${undefined}            | ${undefined}
       ${'blinker'}                                                 | ${true}  | ${'blinker'}           | ${undefined}       | ${undefined}            | ${undefined}
       ${'packaging==20.0.0'}                                       | ${true}  | ${'packaging'}         | ${'==20.0.0'}      | ${undefined}            | ${undefined}
+      ${'packaging (==20.0.0)'}                                    | ${true}  | ${'packaging'}         | ${'==20.0.0'}      | ${undefined}            | ${undefined}
+      ${'packaging (==20.0.0); python_version < "3.8"'}            | ${true}  | ${'packaging'}         | ${'==20.0.0'}      | ${undefined}            | ${'python_version < "3.8"'}
       ${'packaging>=20.9,!=22.0'}                                  | ${true}  | ${'packaging'}         | ${'>=20.9,!=22.0'} | ${undefined}            | ${undefined}
       ${'cachecontrol[filecache]>=0.12.11'}                        | ${true}  | ${'cachecontrol'}      | ${'>=0.12.11'}     | ${['filecache']}        | ${undefined}
       ${'private-depB[extra1, extra2]~=2.4'}                       | ${true}  | ${'private-depB'}      | ${'~=2.4'}         | ${['extra1', 'extra2']} | ${undefined}
diff --git a/lib/modules/manager/pep621/utils.ts b/lib/modules/manager/pep621/utils.ts
index 1a39606492..6df1b79ae4 100644
--- a/lib/modules/manager/pep621/utils.ts
+++ b/lib/modules/manager/pep621/utils.ts
@@ -43,8 +43,16 @@ export function parsePEP508(
     packageName: regExpExec.groups.packageName,
   };
   if (is.nonEmptyString(regExpExec.groups.currentValue)) {
-    result.currentValue = regExpExec.groups.currentValue;
+    if (
+      regExpExec.groups.currentValue.startsWith('(') &&
+      regExpExec.groups.currentValue.endsWith(')')
+    ) {
+      result.currentValue = regExpExec.groups.currentValue.slice(1, -1).trim();
+    } else {
+      result.currentValue = regExpExec.groups.currentValue;
+    }
   }
+
   if (is.nonEmptyString(regExpExec.groups.marker)) {
     result.marker = regExpExec.groups.marker;
   }
-- 
GitLab