···
12
-
swiftLlvmPackages = llvmPackages;
callPackage = newScope self;
18
-
# Swift builds its own Clang for internal use. We wrap that clang with a
19
-
# cc-wrapper derived from the clang configured below. Because cc-wrapper
20
-
# applies a specific resource-root, the two versions are best matched, or
21
-
# we'll often run into compilation errors.
23
-
# The following selects the correct Clang version, matching the version
25
-
inherit (swiftLlvmPackages) clang;
27
-
# Overrides that create a useful environment for swift packages, allowing
28
-
# packaging with `swiftPackages.callPackage`.
29
-
inherit (clang) bintools;
32
-
stdenv' = overrideCC pkgs.stdenv clang;
34
-
# Ensure that Swift’s internal clang uses the same libc++ and libc++abi as the
35
-
# default clang’s stdenv. Using the default libc++ avoids issues (such as crashes)
36
-
# that can happen when a Swift application dynamically links different versions
37
-
# of libc++ and libc++abi than libraries it links are using.
38
-
if stdenv'.cc.libcxx != null then overrideLibcxx stdenv' else stdenv';
14
+
# Provided for backwards compatibility.
swift-unwrapped = callPackage ./compiler {
18
+
inherit (llvmPackages) stdenv;
inherit (darwin) DarwinTools sigtool;
···
if stdenv.hostPlatform.isDarwin then
53
-
callPackage ./libdispatch { swift = swiftNoSwiftDriver; };
31
+
callPackage ./libdispatch {
32
+
inherit (llvmPackages) stdenv;
33
+
swift = swiftNoSwiftDriver;
if stdenv.hostPlatform.isDarwin then
59
-
callPackage ./foundation { swift = swiftNoSwiftDriver; };
40
+
callPackage ./foundation {
41
+
inherit (llvmPackages) stdenv;
42
+
swift = swiftNoSwiftDriver;
# TODO: Apple distributes a binary XCTest with Xcode, but it is not part of
# CLTools (or SUS), so would have to figure out how to fetch it. The binary
···
swiftpm = callPackage ./swiftpm {
54
+
inherit (llvmPackages) stdenv;
inherit (darwin) DarwinTools;
swift = swiftNoSwiftDriver;
swift-driver = callPackage ./swift-driver {
60
+
inherit (llvmPackages) stdenv;
swift = swiftNoSwiftDriver;
···
82
-
sourcekit-lsp = callPackage ./sourcekit-lsp { };
68
+
sourcekit-lsp = callPackage ./sourcekit-lsp {
69
+
inherit (llvmPackages) stdenv;
84
-
swift-docc = callPackage ./swift-docc { };
72
+
swift-docc = callPackage ./swift-docc {
73
+
inherit (llvmPackages) stdenv;
86
-
swift-format = callPackage ./swift-format { };
76
+
swift-format = callPackage ./swift-format {
77
+
inherit (llvmPackages) stdenv;
swiftpm2nix = callPackage ./swiftpm2nix { };