From f2e95ccbe39ca705420d265d7c9b16c4d51efac3 Mon Sep 17 00:00:00 2001 From: Floris-Jan Willemsen Date: Fri, 13 Feb 2026 18:41:41 +0100 Subject: [PATCH 1/5] Improve logic for finding Julia executable path Refactor executable path retrieval for Julia binary. --- src/juliapkg/find_julia.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/juliapkg/find_julia.py b/src/juliapkg/find_julia.py index 62b3c8b..617029c 100644 --- a/src/juliapkg/find_julia.py +++ b/src/juliapkg/find_julia.py @@ -194,9 +194,14 @@ def ju_find_julia_noinstall(compat=None): if compat is None or ver in compat: if "Path" in info: ext = ".exe" if os.name == "nt" else "" - exe = os.path.abspath( - os.path.join(judir, info["Path"], "bin", "julia" + ext) - ) + if "BinaryPath" in info and info["BinaryPath"].endswith("julia" + ext): + exe = os.path.abspath( + os.path.join(judir, info["BinaryPath"] + ext) + ) + else: + exe = os.path.abspath( + os.path.join(judir, info["Path"], "bin", "julia" + ext) + ) versions.append((exe, ver)) versions.sort(key=lambda x: x[1], reverse=True) for exe, _ in versions: From 66cc83c0fe4deb226aedd43cdc5415bdf3af8fdb Mon Sep 17 00:00:00 2001 From: Floris-Jan Willemsen Date: Fri, 13 Feb 2026 18:51:47 +0100 Subject: [PATCH 2/5] Improved to match codestyle Making Ruff happy --- src/juliapkg/find_julia.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/juliapkg/find_julia.py b/src/juliapkg/find_julia.py index 617029c..e328093 100644 --- a/src/juliapkg/find_julia.py +++ b/src/juliapkg/find_julia.py @@ -195,13 +195,9 @@ def ju_find_julia_noinstall(compat=None): if "Path" in info: ext = ".exe" if os.name == "nt" else "" if "BinaryPath" in info and info["BinaryPath"].endswith("julia" + ext): - exe = os.path.abspath( - os.path.join(judir, info["BinaryPath"] + ext) - ) + exe = os.path.abspath(os.path.join(judir, info["BinaryPath"] + ext)) else: - exe = os.path.abspath( - os.path.join(judir, info["Path"], "bin", "julia" + ext) - ) + exe = os.path.abspath(os.path.join(judir, info["Path"], "bin", "julia" + ext)) versions.append((exe, ver)) versions.sort(key=lambda x: x[1], reverse=True) for exe, _ in versions: From c893ff2ce36cd9a417fb2a727ab8389700642caa Mon Sep 17 00:00:00 2001 From: Floris-Jan Willemsen Date: Fri, 13 Feb 2026 19:04:07 +0100 Subject: [PATCH 3/5] Improved to match codestyle Making Ruff happy --- src/juliapkg/find_julia.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/juliapkg/find_julia.py b/src/juliapkg/find_julia.py index e328093..2eaf23d 100644 --- a/src/juliapkg/find_julia.py +++ b/src/juliapkg/find_julia.py @@ -194,10 +194,13 @@ def ju_find_julia_noinstall(compat=None): if compat is None or ver in compat: if "Path" in info: ext = ".exe" if os.name == "nt" else "" - if "BinaryPath" in info and info["BinaryPath"].endswith("julia" + ext): - exe = os.path.abspath(os.path.join(judir, info["BinaryPath"] + ext)) + if ("BinaryPath" in info and + info["BinaryPath"].endswith("julia" + ext)): + exe = os.path.abspath( + os.path.join(judir, info["BinaryPath"] + ext)) else: - exe = os.path.abspath(os.path.join(judir, info["Path"], "bin", "julia" + ext)) + exe = os.path.abspath( + os.path.join(judir, info["Path"], "bin", "julia" + ext)) versions.append((exe, ver)) versions.sort(key=lambda x: x[1], reverse=True) for exe, _ in versions: From d8805b911eefe4fafefc9db371efaa7c632a9441 Mon Sep 17 00:00:00 2001 From: Floris-Jan Willemsen Date: Fri, 13 Feb 2026 19:07:07 +0100 Subject: [PATCH 4/5] Improved to match codestyle --- src/juliapkg/find_julia.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/juliapkg/find_julia.py b/src/juliapkg/find_julia.py index 2eaf23d..a2a8cf6 100644 --- a/src/juliapkg/find_julia.py +++ b/src/juliapkg/find_julia.py @@ -194,13 +194,16 @@ def ju_find_julia_noinstall(compat=None): if compat is None or ver in compat: if "Path" in info: ext = ".exe" if os.name == "nt" else "" - if ("BinaryPath" in info and - info["BinaryPath"].endswith("julia" + ext)): + if "BinaryPath" in info and info["BinaryPath"].endswith( + "julia" + ext + ): exe = os.path.abspath( - os.path.join(judir, info["BinaryPath"] + ext)) + os.path.join(judir, info["BinaryPath"] + ext) + ) else: exe = os.path.abspath( - os.path.join(judir, info["Path"], "bin", "julia" + ext)) + os.path.join(judir, info["Path"], "bin", "julia" + ext) + ) versions.append((exe, ver)) versions.sort(key=lambda x: x[1], reverse=True) for exe, _ in versions: From fb1d2db4c22a75f08e691036b9befeebfef7ed65 Mon Sep 17 00:00:00 2001 From: Christopher Rowley Date: Sun, 15 Feb 2026 16:31:50 +0000 Subject: [PATCH 5/5] simplify binary path computation --- CHANGELOG.md | 3 +++ src/juliapkg/find_julia.py | 18 +++++++----------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65fe069..0c70953 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## Unreleased +* Compat fix for juliaup 1.19.8. + ## v0.1.22 (2025-10-08) * Bug fixes. diff --git a/src/juliapkg/find_julia.py b/src/juliapkg/find_julia.py index a2a8cf6..3f709f8 100644 --- a/src/juliapkg/find_julia.py +++ b/src/juliapkg/find_julia.py @@ -192,18 +192,14 @@ def ju_find_julia_noinstall(compat=None): continue ver = Version(ver.major, ver.minor, ver.patch) if compat is None or ver in compat: - if "Path" in info: + if "BinaryPath" in info: + exe = os.path.abspath(os.path.join(judir, info["BinaryPath"])) + versions.append((exe, ver)) + elif "Path" in info: ext = ".exe" if os.name == "nt" else "" - if "BinaryPath" in info and info["BinaryPath"].endswith( - "julia" + ext - ): - exe = os.path.abspath( - os.path.join(judir, info["BinaryPath"] + ext) - ) - else: - exe = os.path.abspath( - os.path.join(judir, info["Path"], "bin", "julia" + ext) - ) + exe = os.path.abspath( + os.path.join(judir, info["Path"], "bin", "julia" + ext) + ) versions.append((exe, ver)) versions.sort(key=lambda x: x[1], reverse=True) for exe, _ in versions: