From c43be775db83dae3be4bad57a76e86cc923ba514 Mon Sep 17 00:00:00 2001 From: Bo Anderson Date: Mon, 10 Jun 2024 18:56:50 +0100 Subject: [PATCH] Preliminary macOS 15 (Sequoia) support --- Library/Homebrew/macos_version.rb | 1 + Library/Homebrew/os/mac/pkgconfig/15/expat.pc | 13 ++++++ .../Homebrew/os/mac/pkgconfig/15/libcurl.pc | 42 +++++++++++++++++++ .../Homebrew/os/mac/pkgconfig/15/libedit.pc | 12 ++++++ .../Homebrew/os/mac/pkgconfig/15/libexslt.pc | 14 +++++++ .../Homebrew/os/mac/pkgconfig/15/libffi.pc | 12 ++++++ .../os/mac/pkgconfig/15/libxml-2.0.pc | 14 +++++++ .../Homebrew/os/mac/pkgconfig/15/libxslt.pc | 14 +++++++ .../Homebrew/os/mac/pkgconfig/15/ncurses.pc | 17 ++++++++ .../Homebrew/os/mac/pkgconfig/15/ncursesw.pc | 17 ++++++++ .../Homebrew/os/mac/pkgconfig/15/sqlite3.pc | 12 ++++++ Library/Homebrew/os/mac/pkgconfig/15/uuid.pc | 14 +++++++ Library/Homebrew/os/mac/pkgconfig/15/zlib.pc | 14 +++++++ Library/Homebrew/os/mac/xcode.rb | 17 +++++--- ...all_bottle-0.1.arm64_sequoia.bottle.tar.gz | 1 + .../testball_bottle-0.1.sequoia.bottle.tar.gz | 1 + 16 files changed, 210 insertions(+), 5 deletions(-) create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/expat.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/libcurl.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/libedit.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/libexslt.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/libffi.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/libxml-2.0.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/libxslt.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/ncurses.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/ncursesw.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/sqlite3.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/uuid.pc create mode 100644 Library/Homebrew/os/mac/pkgconfig/15/zlib.pc create mode 120000 Library/Homebrew/test/support/fixtures/bottles/testball_bottle-0.1.arm64_sequoia.bottle.tar.gz create mode 120000 Library/Homebrew/test/support/fixtures/bottles/testball_bottle-0.1.sequoia.bottle.tar.gz diff --git a/Library/Homebrew/macos_version.rb b/Library/Homebrew/macos_version.rb index 9fad6cd11914f8..7b4502db2ef2e6 100644 --- a/Library/Homebrew/macos_version.rb +++ b/Library/Homebrew/macos_version.rb @@ -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", diff --git a/Library/Homebrew/os/mac/pkgconfig/15/expat.pc b/Library/Homebrew/os/mac/pkgconfig/15/expat.pc new file mode 100644 index 00000000000000..768703ebe26f94 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/expat.pc @@ -0,0 +1,13 @@ +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.5.0 +Description: expat XML parser +URL: https://libexpat.github.io/ +Libs: -L${libdir} -lexpat +Libs.private: +Cflags: diff --git a/Library/Homebrew/os/mac/pkgconfig/15/libcurl.pc b/Library/Homebrew/os/mac/pkgconfig/15/libcurl.pc new file mode 100644 index 00000000000000..eadd191fa21a33 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/libcurl.pc @@ -0,0 +1,42 @@ +#*************************************************************************** +# _ _ ____ _ +# Project ___| | | | _ \| | +# / __| | | | |_) | | +# | (__| |_| | _ <| |___ +# \___|\___/|_| \_\_____| +# +# Copyright (C) Daniel Stenberg, , 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 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.6.0 +Libs: -L${libdir} -lcurl +Libs.private: -lldap -lz +Cflags: diff --git a/Library/Homebrew/os/mac/pkgconfig/15/libedit.pc b/Library/Homebrew/os/mac/pkgconfig/15/libedit.pc new file mode 100644 index 00000000000000..b9e29b70c92ee2 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/libedit.pc @@ -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 diff --git a/Library/Homebrew/os/mac/pkgconfig/15/libexslt.pc b/Library/Homebrew/os/mac/pkgconfig/15/libexslt.pc new file mode 100644 index 00000000000000..e06b1fded2a0be --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/libexslt.pc @@ -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: diff --git a/Library/Homebrew/os/mac/pkgconfig/15/libffi.pc b/Library/Homebrew/os/mac/pkgconfig/15/libffi.pc new file mode 100644 index 00000000000000..07442f421f3f65 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/libffi.pc @@ -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} diff --git a/Library/Homebrew/os/mac/pkgconfig/15/libxml-2.0.pc b/Library/Homebrew/os/mac/pkgconfig/15/libxml-2.0.pc new file mode 100644 index 00000000000000..211dcdd03b64a3 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/libxml-2.0.pc @@ -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: diff --git a/Library/Homebrew/os/mac/pkgconfig/15/libxslt.pc b/Library/Homebrew/os/mac/pkgconfig/15/libxslt.pc new file mode 100644 index 00000000000000..cdb0bab9d7dc2f --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/libxslt.pc @@ -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: diff --git a/Library/Homebrew/os/mac/pkgconfig/15/ncurses.pc b/Library/Homebrew/os/mac/pkgconfig/15/ncurses.pc new file mode 100644 index 00000000000000..abeb1e0bdba926 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/ncurses.pc @@ -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 diff --git a/Library/Homebrew/os/mac/pkgconfig/15/ncursesw.pc b/Library/Homebrew/os/mac/pkgconfig/15/ncursesw.pc new file mode 100644 index 00000000000000..282d60ae913434 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/ncursesw.pc @@ -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 diff --git a/Library/Homebrew/os/mac/pkgconfig/15/sqlite3.pc b/Library/Homebrew/os/mac/pkgconfig/15/sqlite3.pc new file mode 100644 index 00000000000000..e054da03ea3c37 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/sqlite3.pc @@ -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: diff --git a/Library/Homebrew/os/mac/pkgconfig/15/uuid.pc b/Library/Homebrew/os/mac/pkgconfig/15/uuid.pc new file mode 100644 index 00000000000000..06ff8ce3971ea4 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/uuid.pc @@ -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} diff --git a/Library/Homebrew/os/mac/pkgconfig/15/zlib.pc b/Library/Homebrew/os/mac/pkgconfig/15/zlib.pc new file mode 100644 index 00000000000000..d2be681dbfd895 --- /dev/null +++ b/Library/Homebrew/os/mac/pkgconfig/15/zlib.pc @@ -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: diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb index eebf3d7b44af38..e95d82fe2d145f 100644 --- a/Library/Homebrew/os/mac/xcode.rb +++ b/Library/Homebrew/os/mac/xcode.rb @@ -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" @@ -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" @@ -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 @@ -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.0.0" # TODO + 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" @@ -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" diff --git a/Library/Homebrew/test/support/fixtures/bottles/testball_bottle-0.1.arm64_sequoia.bottle.tar.gz b/Library/Homebrew/test/support/fixtures/bottles/testball_bottle-0.1.arm64_sequoia.bottle.tar.gz new file mode 120000 index 00000000000000..3e989830ba206a --- /dev/null +++ b/Library/Homebrew/test/support/fixtures/bottles/testball_bottle-0.1.arm64_sequoia.bottle.tar.gz @@ -0,0 +1 @@ +testball_bottle-0.1.yosemite.bottle.tar.gz \ No newline at end of file diff --git a/Library/Homebrew/test/support/fixtures/bottles/testball_bottle-0.1.sequoia.bottle.tar.gz b/Library/Homebrew/test/support/fixtures/bottles/testball_bottle-0.1.sequoia.bottle.tar.gz new file mode 120000 index 00000000000000..3e989830ba206a --- /dev/null +++ b/Library/Homebrew/test/support/fixtures/bottles/testball_bottle-0.1.sequoia.bottle.tar.gz @@ -0,0 +1 @@ +testball_bottle-0.1.yosemite.bottle.tar.gz \ No newline at end of file