Skip to content
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

Update macOS to 10.12 #56744

Merged
merged 70 commits into from
Apr 27, 2019
Merged

Update macOS to 10.12 #56744

merged 70 commits into from
Apr 27, 2019

Conversation

matthewbauer
Copy link
Member

@matthewbauer matthewbauer commented Mar 3, 2019

Motivation for this change

This is big enough that it probably needs its own jobset. This bumps the SDKs to 10.12, as well as adds symbols only available in 10.12. As a result, this means that Nixpkgs will only work on systems with macOS 10.12+.

Other things done:

  • In addition, I've brought back the cross patch shebangs work. It needed some tweaking to get things working but the final result doesn't leak bootstrap-tools.
  • Removed some old patches that should not be needed with newer SDKs.
  • Update LLVM to 7 everywhere (/cc @dtzWill). Based off of LLVM 8 (currently on -rc3) #56490.
  • Add libtapi support for cctools. This is just a flag to cctools-port that it can use.
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@GrahamcOfBorg GrahamcOfBorg added 6.topic: darwin Running or building packages on Darwin 6.topic: haskell 6.topic: python 6.topic: qt/kde 6.topic: stdenv Standard environment 2.status: merge conflict This PR has merge conflicts with the target branch labels Mar 3, 2019
@GrahamcOfBorg GrahamcOfBorg added 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild 10.rebuild-linux-stdenv This PR causes stdenv to rebuild 8.has: clean-up 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ 10.rebuild-darwin: 5001+ 10.rebuild-linux: 501+ 10.rebuild-linux: 5001+ and removed 2.status: merge conflict This PR has merge conflicts with the target branch labels Mar 3, 2019
@matthewbauer
Copy link
Member Author

Oh, does cf-private add -framework CoreFoundation? If so we can probably get rid of it in a bunch of other places.

It adds /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation to get the objc runtime. It should only be needed if you get errors like:

_OBJC_CLASS_$_NSArray is undefined

@matthewbauer
Copy link
Member Author

If you are just missing _NS* symbols you just need -framework CoreFoundation

@matthewbauer matthewbauer merged commit 87944c3 into NixOS:staging Apr 27, 2019
@ThomasMader
Copy link
Contributor

I recognized that you disabled the entire checkPhase for ldc on Darwin.
The error coming from there seems to me to be very serious. I think ldc might have trouble working correctly making it unusable on Darwin.

For dmd the commented make line in the checkPhase should work now again with your changes about the filesystem stuff in the linker and should fix #57120 .

@matthewbauer
Copy link
Member Author

I recognized that you disabled the entire checkPhase for ldc on Darwin.
The error coming from there seems to me to be very serious. I think ldc might have trouble working correctly making it unusable on Darwin.

For dmd the commented make line in the checkPhase should work now again with your changes about the filesystem stuff in the linker and should fix #57120 .

I was able to compile and run some simple D code, but I can work on getting the tests passing as well

@nixos-discourse
Copy link

This pull request has been mentioned on Nix community. There might be relevant details there:

https://discourse.nixos.org/t/darwin-macos-10-12-stdenv-updates/2862/1

@LnL7
Copy link
Member

LnL7 commented May 7, 2019

@matthewbauer After reading your post I realised that we didn't update MACOSX_DEPLOYMENT_TARGET, not a big deal but perhaps we should?

@matthewbauer
Copy link
Member Author

@matthewbauer After reading your post I realised that we didn't update MACOSX_DEPLOYMENT_TARGET, not a big deal but perhaps we should?

Yeah that would be a good idea! Also removing the gl_cv_func_getcwd_abort_bug thing should be possible

@ThomasMader ThomasMader mentioned this pull request May 10, 2019
10 tasks
@ThomasMader ThomasMader mentioned this pull request May 12, 2019
10 tasks
@LnL7 LnL7 mentioned this pull request Jul 8, 2019
10 tasks
@ggreif ggreif mentioned this pull request Jan 25, 2020
12 tasks
@LnL7 LnL7 mentioned this pull request Nov 26, 2020
10 tasks
@kira-bruneau kira-bruneau mentioned this pull request Feb 14, 2021
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants