Preliminary macOS 13 support

This commit is contained in:
Bo Anderson 2022-06-06 19:13:42 +01:00
parent 845925bf56
commit 75e76361ac
No known key found for this signature in database
GPG Key ID: 3DB94E204E137D65
17 changed files with 201 additions and 3 deletions

View File

@ -205,12 +205,19 @@ module Homebrew
end end
def check_ruby_version def check_ruby_version
return if RUBY_VERSION == HOMEBREW_REQUIRED_RUBY_VERSION # TODO: update portable-ruby to 2.6.9 when Ventura reaches RC
required_version = if MacOS.version >= :ventura &&
ENV["HOMEBREW_RUBY_PATH"].to_s.exclude?("/vendor/portable-ruby/")
"2.6.9"
else
HOMEBREW_REQUIRED_RUBY_VERSION
end
return if RUBY_VERSION == required_version
return if Homebrew::EnvConfig.developer? && OS::Mac.version.prerelease? return if Homebrew::EnvConfig.developer? && OS::Mac.version.prerelease?
<<~EOS <<~EOS
Ruby version #{RUBY_VERSION} is unsupported on macOS #{MacOS.version}. Homebrew Ruby version #{RUBY_VERSION} is unsupported on macOS #{MacOS.version}. Homebrew
is developed and tested on Ruby #{HOMEBREW_REQUIRED_RUBY_VERSION}, and may not work correctly is developed and tested on Ruby #{required_version}, and may not work correctly
on other Rubies. Patches are accepted as long as they don't cause breakage on other Rubies. Patches are accepted as long as they don't cause breakage
on supported Rubies. on supported Rubies.
EOS EOS

View File

@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: expat
Version: 2.4.1
Description: expat XML parser
URL: http://www.libexpat.org
Libs: -L${libdir} -lexpat
Cflags:

View File

@ -0,0 +1,40 @@
#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) 2001 - 2020, 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.
#
###########################################################################
# This should most probably benefit from getting a "Requires:" field added
# dynamically by configure.
#
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.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: 7.79.1
Libs: -L${libdir} -lcurl
Libs.private: -lldap -lz
Cflags:

View File

@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.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

View File

@ -0,0 +1,13 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.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
Libs: -L${libdir} -lexslt -lxslt -lxml2 -lz -lpthread -licucore -lm
Cflags:

View File

@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.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}

View File

@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.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:

View File

@ -0,0 +1,13 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.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
Libs: -L${libdir} -lxslt -lxml2 -lz -lpthread -licucore -lm
Cflags:

View File

@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
major_version=5
version=5.7.20081102
Name: ncurses
Description: ncurses 5.7 library
Version: ${version}
Requires:
Libs: -L${libdir} -lncurses
Cflags:

View File

@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
major_version=5
version=5.7.20081102
Name: ncursesw
Description: ncurses 5.7 library
Version: ${version}
Requires:
Libs: -L${libdir} -lncurses
Cflags:

View File

@ -0,0 +1,12 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk
prefix=${homebrew_sdkroot}/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: SQLite
Description: SQL database engine
Version: 3.37.0
Libs: -L${libdir} -lsqlite3
Libs.private:
Cflags:

View File

@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.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}

View File

@ -0,0 +1,14 @@
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX13.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.11
Requires:
Libs: -L${libdir} -L${sharedlibdir} -lz
Cflags:

View File

@ -16,6 +16,7 @@ module OS
# TODO: when removing symbols here, ensure that they are added to # TODO: when removing symbols here, ensure that they are added to
# DEPRECATED_MACOS_VERSIONS in MacOSRequirement. # DEPRECATED_MACOS_VERSIONS in MacOSRequirement.
SYMBOLS = { SYMBOLS = {
ventura: "13",
monterey: "12", monterey: "12",
big_sur: "11", big_sur: "11",
catalina: "10.15", catalina: "10.15",

View File

@ -23,6 +23,7 @@ module OS
def latest_version(macos: MacOS.version) def latest_version(macos: MacOS.version)
latest_stable = "13.4" latest_stable = "13.4"
case macos case macos
when "13" then "14.0"
when "12" then latest_stable when "12" then latest_stable
when "11" then "13.2.1" when "11" then "13.2.1"
when "10.15" then "12.4" when "10.15" then "12.4"
@ -45,6 +46,7 @@ module OS
sig { returns(String) } sig { returns(String) }
def minimum_version def minimum_version
case MacOS.version case MacOS.version
when "13" then "14.0"
when "12" then "13.1" when "12" then "13.1"
when "11" then "12.2" when "11" then "12.2"
when "10.15" then "11.0" when "10.15" then "11.0"
@ -243,6 +245,7 @@ module OS
when "12.0.0" then "12.4" when "12.0.0" then "12.4"
when "12.0.5" then "12.5.1" when "12.0.5" then "12.5.1"
when "13.0.0" then "13.2.1" when "13.0.0" then "13.2.1"
when "14.0.0" then "14.0"
else "13.4" else "13.4"
end end
end end
@ -340,6 +343,7 @@ module OS
sig { returns(String) } sig { returns(String) }
def latest_clang_version def latest_clang_version
case MacOS.version case MacOS.version
when "13" then "1400.0.17.3.1"
when "12" then "1316.0.21.2.5" when "12" then "1316.0.21.2.5"
when "11" then "1300.0.29.30" when "11" then "1300.0.29.30"
when "10.15" then "1200.0.32.29" when "10.15" then "1200.0.32.29"
@ -356,6 +360,7 @@ module OS
sig { returns(String) } sig { returns(String) }
def minimum_version def minimum_version
case MacOS.version case MacOS.version
when "13" then "14.0.0"
when "12" then "13.0.0" when "12" then "13.0.0"
when "11" then "12.5.0" when "11" then "12.5.0"
when "10.15" then "11.0.0" when "10.15" then "11.0.0"

View File

@ -68,7 +68,7 @@ describe "pkg-config" do
it "returns the correct version for libffi" do it "returns the correct version for libffi" do
version = File.foreach("#{sdk}/usr/include/ffi/ffi.h") version = File.foreach("#{sdk}/usr/include/ffi/ffi.h")
.lazy .lazy
.grep(/^\s*libffi (\S+)\s+- Copyright /) { Regexp.last_match(1) } .grep(/^\s*libffi (\S+)\s+(?:- Copyright |$)/) { Regexp.last_match(1) }
.first .first
skip "Cannot detect system libffi version." if version == "PyOBJC" skip "Cannot detect system libffi version." if version == "PyOBJC"

View File

@ -0,0 +1 @@
testball_bottle-0.1.yosemite.bottle.tar.gz