Skip to content

Commit 806fb9f

Browse files
authored
if openssl < 3.5 ensure julia < 1.12 (#74)
Co-authored-by: Christopher Doris <github.com/cjdoris>
1 parent 3549b90 commit 806fb9f

2 files changed

Lines changed: 22 additions & 9 deletions

File tree

src/juliapkg/deps.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,9 +309,15 @@ def openssl_compat(version=None):
309309

310310
major, minor, patch = version[:3]
311311
if major >= 3:
312-
return f"{major} - {major}.{minor}"
312+
compat = f"{major} - {major}.{minor}"
313313
else:
314-
return f"{major}.{minor} - {major}.{minor}.{patch}"
314+
compat = f"{major}.{minor} - {major}.{minor}.{patch}"
315+
if (major, minor) < (3, 5):
316+
# julia 1.12 requires openssl 3.5
317+
julia_compat = "1 - 1.11"
318+
else:
319+
julia_compat = None
320+
return compat, julia_compat
315321

316322

317323
def find_requirements():
@@ -340,7 +346,9 @@ def find_requirements():
340346
and dep.get("uuid").get(fn) == "458c3c95-2e84-50aa-8efc-19380b2a3a95"
341347
and dep.get("version").get(fn) == "<=python"
342348
):
343-
dep["version"][fn] = openssl_compat()
349+
oc, jc = openssl_compat()
350+
dep["version"][fn] = oc
351+
compats[fn + " (OpenSSL_jll)"] = Compat.parse(jc)
344352
c = deps.get("julia")
345353
if c is not None:
346354
compats[fn] = Compat.parse(c)

test/test_internals.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,17 @@
55

66

77
def test_openssl_compat():
8-
assert juliapkg.deps.openssl_compat((1, 2, 3)) == "1.2 - 1.2.3"
9-
assert juliapkg.deps.openssl_compat((2, 3, 4)) == "2.3 - 2.3.4"
10-
assert juliapkg.deps.openssl_compat((3, 0, 0)) == "3 - 3.0"
11-
assert juliapkg.deps.openssl_compat((3, 1, 0)) == "3 - 3.1"
12-
assert juliapkg.deps.openssl_compat((3, 1, 2)) == "3 - 3.1"
13-
assert isinstance(juliapkg.deps.openssl_compat(), str)
8+
assert juliapkg.deps.openssl_compat((1, 2, 3)) == ("1.2 - 1.2.3", "1 - 1.11")
9+
assert juliapkg.deps.openssl_compat((2, 3, 4)) == ("2.3 - 2.3.4", "1 - 1.11")
10+
assert juliapkg.deps.openssl_compat((3, 0, 0)) == ("3 - 3.0", "1 - 1.11")
11+
assert juliapkg.deps.openssl_compat((3, 1, 0)) == ("3 - 3.1", "1 - 1.11")
12+
assert juliapkg.deps.openssl_compat((3, 1, 2)) == ("3 - 3.1", "1 - 1.11")
13+
assert juliapkg.deps.openssl_compat((3, 5, 0)) == ("3 - 3.5", None)
14+
c = juliapkg.deps.openssl_compat()
15+
assert isinstance(c, tuple)
16+
assert len(c) == 2
17+
assert isinstance(c[0], str)
18+
assert c[1] is None or isinstance(c[1], str)
1419

1520

1621
def test_pkgspec_validation():

0 commit comments

Comments
 (0)