Skip to content

Commit

Permalink
Merge pull request #17459 from Homebrew/macos-15
Browse files Browse the repository at this point in the history
Preliminary macOS 15 (Sequoia) support
  • Loading branch information
Bo98 committed Jun 11, 2024
2 parents 87433c1 + 7da94a8 commit c3c4434
Show file tree
Hide file tree
Showing 33 changed files with 564 additions and 187 deletions.
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)
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

0 comments on commit c3c4434

Please sign in to comment.