Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preliminary macOS 14 (Sonoma) support #15522

Merged
merged 1 commit into from Jun 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions Library/Homebrew/macos_version.rb
Expand Up @@ -21,6 +21,7 @@ def initialize(version)
# NOTE: When removing symbols here, ensure that they are added
# to `DEPRECATED_MACOS_VERSIONS` in `MacOSRequirement`.
SYMBOLS = {
sonoma: "14",
ventura: "13",
monterey: "12",
big_sur: "11",
Expand Down
4 changes: 3 additions & 1 deletion Library/Homebrew/os/mac.rb
Expand Up @@ -50,7 +50,9 @@ def self.latest_sdk_version

sig { returns(String) }
def self.preferred_perl_version
if version >= :big_sur
if version >= :sonoma
"5.34"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perl -V gives me This is perl 5, version 30, subversion 3 (v5.30.3) built for darwin-thread-multi-2level.

Copy link
Member Author

@Bo98 Bo98 Jun 6, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't actually use /usr/bin/perl anymore - we now use /usr/bin/perl5.XX. I think both 5.30 and 5.34 exist.

I lean on the newer one because we got caught out with Big Sur where 5.28 and 5.30 both shipped (and 5.28 was the default) but 5.28 was removed in 11.3.

5.34 technically existed in Ventura too but /System/Library/Perl/Extras/5.34 did not, so it wasn't a full installation.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah right, makes sense. Yes, that's there and the paths in @INC exist too.

elsif version >= :big_sur
"5.30"
else
"5.18"
Expand Down
13 changes: 13 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/expat.pc
@@ -0,0 +1,13 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: expat
Version: 2.5.0
Description: expat XML parser
URL: https://libexpat.github.io/
Libs: -L${libdir} -lexpat
Libs.private:
Cflags:
42 changes: 42 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/libcurl.pc
@@ -0,0 +1,42 @@
#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at https://curl.se/docs/copyright.html.
#
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is
# furnished to do so, under the terms of the COPYING file.
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# KIND, either express or implied.
#
# SPDX-License-Identifier: curl
#
###########################################################################

# This should most probably benefit from getting a "Requires:" field added
# dynamically by configure.
#
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
supported_protocols="DICT FILE FTP FTPS GOPHER GOPHERS HTTP HTTPS IMAP IMAPS LDAP LDAPS MQTT POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP"
supported_features="alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL UnixSockets"

Name: libcurl
URL: https://curl.se/
Description: Library to transfer files with ftp, http, etc.
Version: 8.0.1
Libs: -L${libdir} -lcurl
Libs.private: -lldap -lz
Cflags:
12 changes: 12 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/libedit.pc
@@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: libedit
Description: command line editor library provides generic line editing, history, and tokenization functions.
Version: 3.0
Requires:
Libs: -L${libdir} -ledit
Cflags: -I${includedir}/editline
14 changes: 14 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/libexslt.pc
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include


Name: libexslt
Version: 0.8.20
Description: EXSLT Extension library
Requires: libxml-2.0, libxslt
Cflags:
Libs: -L${libdir} -lexslt
Libs.private:
12 changes: 12 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/libffi.pc
@@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
toolexeclibdir=${libdir}
includedir=${prefix}/include/ffi

Name: libffi
Description: Library supporting Foreign Function Interfaces
Version: 3.4-rc1
Libs: -L${toolexeclibdir} -lffi
Cflags: -I${includedir}
14 changes: 14 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/libxml-2.0.pc
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
modules=1

Name: libXML
Version: 2.9.13
Description: libXML library version2.
Requires:
Libs: -L${libdir} -lxml2
Libs.private: -lz -lpthread -licucore -lm
Cflags:
14 changes: 14 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/libxslt.pc
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include


Name: libxslt
Version: 1.1.35
Description: XSLT library version 2.
Requires: libxml-2.0
Cflags:
Libs: -L${libdir} -lxslt
Libs.private:
17 changes: 17 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/ncurses.pc
@@ -0,0 +1,17 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
abi_version=5.4
major_version=6
version=6.0.20150808

Name: ncurses
Description: ncurses 6.0 library
Version: ${version}
URL: http://invisible-island.net/ncurses
Requires.private:
Libs: -L${libdir} -lncurses
Libs.private:
Cflags: -D_DARWIN_C_SOURCE
17 changes: 17 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/ncursesw.pc
@@ -0,0 +1,17 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
abi_version=5.4
major_version=6
version=6.0.20150808

Name: ncursesw
Description: ncurses 6.0 library
Version: ${version}
URL: http://invisible-island.net/ncurses
Requires.private:
Libs: -L${libdir} -lncurses
Libs.private:
Cflags: -D_DARWIN_C_SOURCE
12 changes: 12 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/sqlite3.pc
@@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: SQLite
Description: SQL database engine
Version: 3.39.5
Libs: -L${libdir} -lsqlite3
Libs.private:
Cflags:
14 changes: 14 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/uuid.pc
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
sharedlibdir=${libdir}
includedir=${prefix}/include/uuid

Name: uuid
Description: Universally unique id library
Version: 1.0

Requires:
Libs:
Cflags: -I${includedir}
14 changes: 14 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/14/zlib.pc
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
sharedlibdir=${libdir}
includedir=${prefix}/include

Name: zlib
Description: zlib compression library
Version: 1.2.12

Requires:
Libs: -L${libdir} -L${sharedlibdir} -lz
Cflags:
5 changes: 5 additions & 0 deletions Library/Homebrew/os/mac/xcode.rb
Expand Up @@ -19,6 +19,7 @@ module Xcode
def self.latest_version(macos: MacOS.version)
latest_stable = "14.3"
case macos
when "14" then "15.0"
when "13" then latest_stable
when "12" then "14.2"
when "11" then "13.2.1"
Expand All @@ -42,6 +43,7 @@ def self.latest_version(macos: MacOS.version)
sig { returns(String) }
def self.minimum_version
case MacOS.version
when "14" then "15.0"
when "13" then "14.1"
when "12" then "13.1"
when "11" then "12.2"
Expand Down Expand Up @@ -243,6 +245,7 @@ def self.detect_version_from_clang_version
when "13.0.0" then "13.2.1"
when "13.1.6" then "13.4.1"
when "14.0.0" then "14.2"
when "15.0.0" then "15.0"
else "14.3"
end
end
Expand Down Expand Up @@ -337,6 +340,7 @@ def self.update_instructions
sig { returns(String) }
def self.latest_clang_version
case MacOS.version
when "14" then "1500.0.28.1.1"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CLT currently has this string as well.

when "13" then "1403.0.22.14.1"
when "12" then "1400.0.29.202"
when "11" then "1300.0.29.30"
Expand All @@ -354,6 +358,7 @@ def self.latest_clang_version
sig { returns(String) }
def self.minimum_version
case MacOS.version
when "14" then "15.0.0"
when "13" then "14.0.0"
when "12" then "13.0.0"
when "11" then "12.5.0"
Expand Down