mirror of https://github.com/mpv-player/mpv
mac: drop build support for swift versions earlier than version 4.1
this drops support for swift <4.1 and with this support for xcode <=9.2. this was the last setup that is officially working on macOS 10.12. our old legacy build macOS 10.12 + xcode 9.2 is replaced by macOS 10.13 + xcode 9.4.1 with swift 4.1. the macOS 10.13 + xcode 10.1 VM is replaced by the latest macOS 10.14 + xcode 11.3.1 VM. this is the oldest version officially supported by Apple. this is in preparations for the following commit.
This commit is contained in:
parent
bc58361d86
commit
ce1571ac01
20
.travis.yml
20
.travis.yml
|
@ -36,18 +36,13 @@ matrix:
|
||||||
- <<: *mac
|
- <<: *mac
|
||||||
osx_image: xcode12.2
|
osx_image: xcode12.2
|
||||||
- <<: *mac
|
- <<: *mac
|
||||||
osx_image: xcode10.1
|
osx_image: xcode11.3
|
||||||
|
- <<: *mac
|
||||||
|
osx_image: xcode9.4
|
||||||
env:
|
env:
|
||||||
- HOMEBREW_NO_AUTO_UPDATE=1
|
- HOMEBREW_NO_AUTO_UPDATE=1
|
||||||
- HOMEBREW_NO_INSTALL_CLEANUP=1
|
- HOMEBREW_NO_INSTALL_CLEANUP=1
|
||||||
- CI_HOMEBREW_HASH=7242872d7878f1a4c2706e5837faafcf0782b58d
|
- CI_HOMEBREW_HASH=7242872d7878f1a4c2706e5837faafcf0782b58d
|
||||||
- <<: *mac
|
|
||||||
osx_image: xcode9.2
|
|
||||||
env:
|
|
||||||
- HOMEBREW_NO_AUTO_UPDATE=1
|
|
||||||
- HOMEBREW_NO_INSTALL_CLEANUP=1
|
|
||||||
- CI_SWIFT_FLAGS="\-target x86_64-apple-macosx10.12"
|
|
||||||
- CI_HOMEBREW_HASH=55e02323812604add9a69bab8730319b9255a697
|
|
||||||
- os: freebsd
|
- os: freebsd
|
||||||
compiler: clang
|
compiler: clang
|
||||||
- os: linux
|
- os: linux
|
||||||
|
@ -62,7 +57,7 @@ matrix:
|
||||||
env: CI_SCRIPT=ci/build-mingw64.sh TARGET=x86_64-w64-mingw32
|
env: CI_SCRIPT=ci/build-mingw64.sh TARGET=x86_64-w64-mingw32
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode9.2
|
osx_image: xcode9.4
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
|
|
||||||
dist: focal
|
dist: focal
|
||||||
|
@ -123,15 +118,14 @@ before_install:
|
||||||
fi
|
fi
|
||||||
- |
|
- |
|
||||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||||
remove=$(brew list)
|
remove=$(brew list --formula)
|
||||||
keep="gettext pcre2 git"
|
keep="gettext pcre2 git"
|
||||||
install="autoconf automake pkg-config libtool python freetype fribidi little-cms2 luajit libass ffmpeg"
|
install="autoconf automake pkg-config libtool python freetype fribidi little-cms2 luajit libass ffmpeg"
|
||||||
for formula in ${keep[@]}; do remove=("${remove[@]/$formula}"); done
|
for formula in ${keep[@]}; do remove=("${remove[@]/$formula}"); done
|
||||||
for formula in ${install[@]}; do remove=("${remove[@]/$formula}"); done
|
for formula in ${install[@]}; do remove=("${remove[@]/$formula}"); done
|
||||||
brew remove --force $remove --ignore-dependencies
|
brew remove --force $remove --ignore-dependencies
|
||||||
if [[ "$TRAVIS_OSX_IMAGE" == "xcode9.2" ]]; then
|
brew remove --cask $(brew list --cask)
|
||||||
brew untap caskroom/cask
|
brew untap homebrew/cask
|
||||||
fi
|
|
||||||
brew update
|
brew update
|
||||||
if [[ -n "$CI_HOMEBREW_HASH" ]]; then
|
if [[ -n "$CI_HOMEBREW_HASH" ]]; then
|
||||||
pushd "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core"
|
pushd "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core"
|
||||||
|
|
|
@ -33,7 +33,6 @@ extension String {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extension NSPasteboard.PasteboardType {
|
extension NSPasteboard.PasteboardType {
|
||||||
|
|
||||||
static let fileURLCompat: NSPasteboard.PasteboardType = {
|
static let fileURLCompat: NSPasteboard.PasteboardType = {
|
||||||
if #available(OSX 10.13, *) {
|
if #available(OSX 10.13, *) {
|
||||||
return .fileURL
|
return .fileURL
|
||||||
|
@ -53,7 +52,6 @@ extension NSPasteboard.PasteboardType {
|
||||||
|
|
||||||
#if !swift(>=5.0)
|
#if !swift(>=5.0)
|
||||||
extension Data {
|
extension Data {
|
||||||
|
|
||||||
mutating func withUnsafeMutableBytes<Type>(_ body: (UnsafeMutableRawBufferPointer) throws -> Type) rethrows -> Type {
|
mutating func withUnsafeMutableBytes<Type>(_ body: (UnsafeMutableRawBufferPointer) throws -> Type) rethrows -> Type {
|
||||||
let dataCount = count
|
let dataCount = count
|
||||||
return try withUnsafeMutableBytes { (ptr: UnsafeMutablePointer<UInt8>) throws -> Type in
|
return try withUnsafeMutableBytes { (ptr: UnsafeMutablePointer<UInt8>) throws -> Type in
|
||||||
|
@ -65,33 +63,8 @@ extension Data {
|
||||||
|
|
||||||
#if !swift(>=4.2)
|
#if !swift(>=4.2)
|
||||||
extension NSDraggingInfo {
|
extension NSDraggingInfo {
|
||||||
|
|
||||||
var draggingPasteboard: NSPasteboard {
|
var draggingPasteboard: NSPasteboard {
|
||||||
get { return draggingPasteboard() }
|
get { return draggingPasteboard() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !swift(>=4.1)
|
|
||||||
extension Array {
|
|
||||||
|
|
||||||
func compactMap<ElementOfResult>(_ transform: (Element) throws -> ElementOfResult?) rethrows -> [ElementOfResult] {
|
|
||||||
return try self.flatMap(transform)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extension Array where Element == [CGLPixelFormatAttribute] {
|
|
||||||
|
|
||||||
func contains(_ obj: [CGLPixelFormatAttribute]) -> Bool {
|
|
||||||
return self.contains(where:{ $0 == obj })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extension NSWindow.Level {
|
|
||||||
|
|
||||||
static func +(left: NSWindow.Level, right: Int) -> NSWindow.Level {
|
|
||||||
return NSWindow.Level(left.rawValue + right)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
|
@ -114,17 +114,19 @@ def check_cocoa(ctx, dependency_identifier):
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def check_swift(ctx, dependency_identifier):
|
def check_swift(version):
|
||||||
minVer = StrictVersion("3.0.2")
|
def fn(ctx, dependency_identifier):
|
||||||
if ctx.env.SWIFT_VERSION:
|
minVer = StrictVersion(version)
|
||||||
if StrictVersion(ctx.env.SWIFT_VERSION) >= minVer:
|
if ctx.env.SWIFT_VERSION:
|
||||||
ctx.add_optional_message(dependency_identifier,
|
if StrictVersion(ctx.env.SWIFT_VERSION) >= minVer:
|
||||||
'version found: ' + str(ctx.env.SWIFT_VERSION))
|
ctx.add_optional_message(dependency_identifier,
|
||||||
return True
|
'version found: ' + str(ctx.env.SWIFT_VERSION))
|
||||||
ctx.add_optional_message(dependency_identifier,
|
return True
|
||||||
"'swift >= " + str(minVer) + "' not found, found " +
|
ctx.add_optional_message(dependency_identifier,
|
||||||
str(ctx.env.SWIFT_VERSION or None))
|
"'swift >= " + str(minVer) + "' not found, found " +
|
||||||
return False
|
str(ctx.env.SWIFT_VERSION or None))
|
||||||
|
return False
|
||||||
|
return fn
|
||||||
|
|
||||||
def check_egl_provider(minVersion=None, name='egl', check=None):
|
def check_egl_provider(minVersion=None, name='egl', check=None):
|
||||||
def fn(ctx, dependency_identifier, **kw):
|
def fn(ctx, dependency_identifier, **kw):
|
||||||
|
|
2
wscript
2
wscript
|
@ -182,7 +182,7 @@ main_dependencies = [
|
||||||
'name': '--swift',
|
'name': '--swift',
|
||||||
'desc': 'macOS Swift build tools',
|
'desc': 'macOS Swift build tools',
|
||||||
'deps': 'os-darwin',
|
'deps': 'os-darwin',
|
||||||
'func': compose_checks(check_swift, check_macos_sdk('10.10')),
|
'func': compose_checks(check_swift('4.1'), check_macos_sdk('10.10')),
|
||||||
}, {
|
}, {
|
||||||
'name': '--uwp',
|
'name': '--uwp',
|
||||||
'desc': 'Universal Windows Platform',
|
'desc': 'Universal Windows Platform',
|
||||||
|
|
Loading…
Reference in New Issue