Swift is the only language that scales from embedded devices and
kernels to apps and cloud infrastructure. It's simple, and
expressive, with incredible performance and safety. And it has
unmatched interoperability with C and C++.
It's the combination of approachability, speed, safety, and all of
Swift's strengths that make it so unique.
===> The following configuration options are available for swift6-6.4.0_1:
DOCS=on: Build and/or install documentation
===> Use 'make config' to modify these settings
lang/swift6: add powerpc64le support
Two bootstrap tarballs are needed because the long double ABI changed in
16.0: freebsd14 works on 14.x and on 15.x with misc/compat14x, freebsd16 is
for 16.0 and newer. Both were built with the port's own BOOTSTRAP_MODE.
PR: 299357
Approved by: tagattie (maintainer)
lang/swift6: Fix compilation of math functions when using c++ interoperability
mode
The following code failed to build if it was compiled with c++
interoperability mode:
```
import Foundation
print(log2(2.0))
```
with the following error:
error: reference to declaration 'log2' broken by a context change; the
declaration kind of 'log2' changed since building 'Foundation', it was in
'SwiftGlibc' and now a candidate is found only in 'Foundation'
This commit fixes it.
lang/swift6: lang/swift6: Update to 6.4.0
Swift 6.4 has removed the ability for bootstrapping without a
pre-built host swift compiler. So now the port requires a bootstrap
swift toolchain regardless of the build mode.
The installation paths have been changed from
${PREFIX}/swift6/{bin,include,lib,...} to
${PREFIX}/swift6/usr/local/{bin,include,lib,...} to follow the
standard Swift toolchain layout.
Release Announcement: https://www.swift.org/blog/swift-6.4-released/
Reported by: GitHub (watch releases)
lang/swift6: Unbreak build with clang 21
Clang 21 appears to have a regression in wchar.h handling when c++20
modules funcationality is enabled. (Swift compiler uses clang's
modules function under the hood.)
This is a workaround to avoid a compilation error by defining the
macro _WCHAR_H_CPLUSPLUS_98_CONFORMANCE_ to 1 before the compiler
reads the system wchar.h.
PR: 296000
Reported by: Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Tested by: Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
lang/swift6: Unbreak stage phase with unprivileged users
Stripping should have been done before COPYTREE_BIN, which drops the
writable bit from the executables and leads to "permission denied"
error.
PR: 296382
Reported by: kib
Tested by: kib
Fixes: 18ac8a4bf341 (lang/swift6: Add port: Powerful, flexible, multiplatform
programming language (Version 6))
lang/swift6: Add port: Powerful, flexible, multiplatform programming language
(Version 6)
Swift is the only language that scales from embedded devices and
kernels to apps and cloud infrastructure. It's simple, and
expressive, with incredible performance and safety. And it has
unmatched interoperability with C and C++.
It's the combination of approachability, speed, safety, and all of
Swift's strengths that make it so unique.
WWW: https://www.swift.org/
PR: 296000
Differential Revision: https://reviews.freebsd.org/D57541