New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
swift: 3.1.1 -> 4.0.3 #34893
swift: 3.1.1 -> 4.0.3 #34893
Conversation
@GrahamcOfBorg build swift |
Failure on aarch64-linux (full log) Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Partial log (click to expand)
|
cc @dtzWill |
Success on x86_64-linux (full log) Partial log (click to expand)
|
Apologies for not seeing this earlier! Also, wow thanks for working on this! Testing and reviewing presently... |
}; | ||
libdispatch = fetch { | ||
repo = "swift-corelibs-libdispatch"; | ||
sha256 = "0ckjg41fjak06i532azhryckjq64fkxzsal4svf5v4s8n9mkq2sg"; | ||
sha256 = "0x8zzq3shhvmhq4sbhaaa0ddiv3nw347pz6ayym6jyzq7j9n15ia"; | ||
fetchSubmodules = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: No longer need to fetch submodules, doesn't change hash though:
apple/swift-corelibs-libdispatch@703b1d5
-e 's|/usr/bin/make|${gnumake}/bin/make|g' \ | ||
-e 's|/bin/mkdir|${coreutils}/bin/mkdir|g' \ | ||
-e 's|/bin/cp|${coreutils}/bin/cp|g' \ | ||
-e 's|/usr/bin/file|${file}/bin/file|g' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bit heavy-handed, but if it does the trick... works for me!
@@ -232,23 +244,21 @@ stdenv.mkDerivation rec { | |||
# https://bugs.swift.org/browse/SR-4633 | |||
patch -p1 -d swift -i ${./patches/icu59.patch} | |||
|
|||
# https://bugs.swift.org/browse/SR-5779 | |||
sed -i -e 's|"-latomic"|"-Wl,-rpath,${clang.cc.gcc.lib}/lib" "-L${clang.cc.gcc.lib}/lib" "-latomic"|' swift/cmake/modules/AddSwift.cmake |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know if this can be made to work with libc++ instead of gcc-based (libstdc++-based) clang? Just curious.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
libatomic.so
is required for __atomic_load
and other __atomic_*
functions. If libc++
provides them, we may eliminate dependency to GCC apckage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Ensured hashes are correct
- Tested with a few projects
- Tested can "import Glibc" and others ( https://bugs.swift.org/browse/SR-3794 ).
AFAICT works as well as it ever did, thanks again!
When merged to master will need to work with LLVM/Clang 5 (now the default), or specifically use LLVM 4. |
Don't know what the cause is, but the 'ar' is a broken link it appears, at least on this branch (haven't tried it post-merge yet). Is that what you're seeing? |
@dtzWill |
running 17.09 stable, I did this: git clone git@github.com:NixOS/nixpkgs.git And I got this: /tmp/nix-build-swift-4.0.3.drv-0/src/lldb/include/lldb/Utility/TaskPool.h:122:12: error: no member named 'bind' in namespace 'std' Should I start a new issue on this? |
Looks like gcc7 broke it? (edit: speculation given timing ^_^) Build log: https://hydra.nixos.org/build/69887235/nixlog/1 Last successful build: https://hydra.nixos.org/build/69575672 And sure:re issue. Don't have time to look into it currently but hopefully this is just a matter of building with gcc6 not the new default gcc7. |
Motivation for this change
Fixed build. Version bump.
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)Tested
swift
command,swiftc
command, andswift run
command against example-package-dealer.