From 944f66dcbdd8283086e7d2d550bbb33b9e6502fa Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:24:11 -0300 Subject: [PATCH 1/3] Normalize macOS version --- Project.toml | 2 +- src/version.jl | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Project.toml b/Project.toml index 6bec7b1..492ce25 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ObjectiveC" uuid = "e86c9b32-1129-44ac-8ea0-90d5bb39ded9" -version = "3.4.1" +version = "3.4.2" [deps] CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82" diff --git a/src/version.jl b/src/version.jl index 16515d7..a90668b 100644 --- a/src/version.jl +++ b/src/version.jl @@ -23,7 +23,7 @@ end const darwin_version = OncePerProcess{VersionNumber}() do _syscall_version("kern.osrelease") end - const macos_version = OncePerProcess{VersionNumber}() do + const _macos_version = OncePerProcess{VersionNumber}() do _syscall_version("kern.osproductversion") end else @@ -35,12 +35,22 @@ else _darwin_version[] end - const _macos_version = Ref{VersionNumber}() - function macos_version() - if !isassigned(_macos_version) - _macos_version[] = _syscall_version("kern.osproductversion") + const __macos_version = Ref{VersionNumber}() + function _macos_version() + if !isassigned(__macos_version) + __macos_version[] = _syscall_version("kern.osproductversion") end - _macos_version[] + __macos_version[] + end +end + +# If normalize = true and version is reported as 16, return 26 +function macos_version(normalize=true) + ver = _macos_version() + if !normalize || (ver.major != 16) + return ver + else + return VersionNumber(26, ver.minor, ver.patch) end end From 77422ab324cd1f9f69cc9d58cdd9f6ab77a3af00 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Tue, 24 Jun 2025 07:29:44 -0300 Subject: [PATCH 2/3] Update version.jl Co-authored-by: Tim Besard --- src/version.jl | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/version.jl b/src/version.jl index a90668b..718dd98 100644 --- a/src/version.jl +++ b/src/version.jl @@ -44,15 +44,14 @@ else end end -# If normalize = true and version is reported as 16, return 26 function macos_version(normalize=true) ver = _macos_version() - if !normalize || (ver.major != 16) - return ver - else + if normalize && ver.major == 16 + # on older SDKs, macOS Tahoe (26) is reported as v16. + # normalize this to v26 regardless of the SDK to simplify use. return VersionNumber(26, ver.minor, ver.patch) - end -end + end + return ver @doc """ ObjectiveC.darwin_version()::VersionNumber From 153cbdc4d16b207294f8ed0421ef9205a1f20cd8 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:25:44 -0300 Subject: [PATCH 3/3] Update src/version.jl --- src/version.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.jl b/src/version.jl index 718dd98..90c175d 100644 --- a/src/version.jl +++ b/src/version.jl @@ -52,7 +52,7 @@ function macos_version(normalize=true) return VersionNumber(26, ver.minor, ver.patch) end return ver - +end @doc """ ObjectiveC.darwin_version()::VersionNumber