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 15 (Sequoia) support #17459

Merged
merged 1 commit into from
Jun 11, 2024
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Library/Homebrew/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ GEM
rubocop (~> 1.40)
rubocop-sorbet (0.8.3)
rubocop (>= 0.90.0)
ruby-macho (4.0.1)
ruby-macho (4.1.0)
ruby-prof (1.7.0)
ruby-progressbar (1.13.0)
simplecov (0.22.0)
Expand Down
2 changes: 1 addition & 1 deletion Library/Homebrew/linkage_checker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ def check_dylibs(rebuild_cache:)
# weakly loaded dylibs may not actually exist on disk, so skip them
# when checking for broken linkage
keg_files_dylibs[file] =
file.dynamically_linked_libraries(except: :LC_LOAD_WEAK_DYLIB)
file.dynamically_linked_libraries(except: :DYLIB_USE_WEAK_LINK)
Copy link
Member

Choose a reason for hiding this comment

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

Should we not exclude both?

Copy link
Member Author

Choose a reason for hiding this comment

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

end
end

Expand Down
1 change: 1 addition & 0 deletions Library/Homebrew/macos_version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ def initialize(version)
# NOTE: When removing symbols here, ensure that they are added
# to `DEPRECATED_MACOS_VERSIONS` in `MacOSRequirement`.
SYMBOLS = {
sequoia: "15",
sonoma: "14",
ventura: "13",
monterey: "12",
Expand Down
3 changes: 2 additions & 1 deletion Library/Homebrew/os/mac/mach.rb
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ def change_install_name(old, new, **options)
end

def dynamically_linked_libraries(except: :none, resolve_variable_references: true)
lcs = macho.dylib_load_commands.reject { |lc| lc.type == except }
lcs = macho.dylib_load_commands
lcs.reject! { |lc| lc.flag?(except) } if except != :none
names = lcs.map { |lc| lc.name.to_s }.uniq
names.map! { resolve_variable_name(_1) } if resolve_variable_references

Expand Down
14 changes: 14 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/15/expat.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: expat
Version: 2.6.1
Description: expat XML parser
URL: https://libexpat.github.io/
Libs: -L${libdir} -lexpat
Libs.private:
Cflags:
Cflags.private: -DXML_STATIC
42 changes: 42 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/15/libcurl.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) Daniel Stenberg, <[email protected]>, 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/MacOSX15.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 IPFS IPNS 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 threadsafe UnixSockets"

Name: libcurl
URL: https://curl.se/
Description: Library to transfer files with ftp, http, etc.
Version: 8.7.1
Libs: -L${libdir} -lcurl
Libs.private: -lldap -lz
Cflags:
12 changes: 12 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/15/libedit.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.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/15/libexslt.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.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/15/libffi.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.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/15/libxml-2.0.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.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/15/libxslt.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.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/15/ncurses.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.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/15/ncursesw.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.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/15/sqlite3.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: SQLite
Description: SQL database engine
Version: 3.43.2
Libs: -L${libdir} -lsqlite3
Libs.private:
Cflags:
14 changes: 14 additions & 0 deletions Library/Homebrew/os/mac/pkgconfig/15/uuid.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.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/15/zlib.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.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:
17 changes: 12 additions & 5 deletions Library/Homebrew/os/mac/xcode.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@ module Xcode
# This may be a beta version for a beta macOS.
sig { params(macos: MacOSVersion).returns(String) }
def self.latest_version(macos: MacOS.version)
latest_stable = "15.1"
latest_stable = "15.4"
case macos
when "14", "13" then latest_stable
when "15" then "16.0"
when "14" then latest_stable
when "13" then "15.2"
when "12" then "14.2"
when "11" then "13.2.1"
when "10.15" then "12.4"
Expand All @@ -40,6 +42,7 @@ def self.latest_version(macos: MacOS.version)
sig { returns(String) }
def self.minimum_version
case MacOS.version
when "15" then "16.0"
when "14" then "15.0"
when "13" then "14.1"
when "12" then "13.1"
Expand Down Expand Up @@ -253,8 +256,9 @@ 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.1"
else "14.3"
when "14.0.3" then "14.3.1"
when "16.0.0" then "16.0"
else "15.4"
end
end

Expand Down Expand Up @@ -347,7 +351,9 @@ def self.update_instructions
sig { returns(String) }
def self.latest_clang_version
case MacOS.version
when "14", "13" then "1500.1.0.2.5"
when "15" then "1600.0.20.10"
when "14" then "1500.3.9.4"
when "13" then "1500.1.0.2.5"
when "12" then "1400.0.29.202"
when "11" then "1300.0.29.30"
when "10.15" then "1200.0.32.29"
Expand All @@ -364,6 +370,7 @@ def self.latest_clang_version
sig { returns(String) }
def self.minimum_version
case MacOS.version
when "15" then "16.0.0"
when "14" then "15.0.0"
when "13" then "14.0.0"
when "12" then "13.0.0"
Expand Down
Loading