-
-
Notifications
You must be signed in to change notification settings - Fork 286
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
Discussion regarding creating an open macOS SDK package. #865
Comments
We can ask NumFOCUS legal if we can generate the .tbd files from What about modulemap files? For the header files, we need to go through 8000 files. |
Maybe need some tooling to determine licenses and automate it, perhaps Python is better than bash if we need to do serious engineering? |
I'm not familiar with those, possibly that knowledge has left my brain! |
We should also think about XQuartz development packages unless conda-forge has detached from all XQuartz dependencies entirely? If we package XQuartz we could make it depend on an SDK package and use a symlink to impose it into those SDK hierarchies. |
We have at least one package that installs XQuartz via Homebrew. It would be nice to have that as part of the SDK. |
IIRC the issue with using |
All is good now. They have upstreamed it yes and Isuru has taken the mac assembler and linker over the line now and updated them to the latest we can get our hands on. |
I am not familiar with this legal issues here. Could someone catch me up? |
SDK is officially not redistributable, but we are trying to workaround that.
(2.) was the main issue because we had |
Wow what a mess.
|
Sounds like a plan. |
@mingwandroid, what are your thoughts on 4 and 6 above? |
For 4. I expect we can build the crt*.o files, I remember seeing the source somewhere when looking at fully static exes on mac years ago. If not I believe we may want to look into interop rules around monopolies. Otherwise we could look at official clang releases or require those to come from an official sdk (unfortunate lingering dep on command-line-tools or Xcode?) For 6. plists are kind of like manifest files. They instruct cocoa about setting up the execution env (to access things like HiDPI you need a plist, also mime/file associations are done that way). I doubt we need any from the SDK. We do use create and use them in python.app and RStudio for example. |
Pinging @katietz here since he started mingw-w64 which tackled very similar issues as this open macOS sdk is very close to mingw-w64 in purpose (once combined with our compilers it's basically the same deal and I guess Kai will have looked into legalities we are discussing). |
CSU package source is at https://opensource.apple.com/source/Csu/ |
I messed about with this to generate patches with headers needed to compile cctools and what not: Very much an engineers script, but it has URLs and stuff. |
I'm absolutely thrilled to see progress on this, and happy to help with testing, etc. if I can. |
There are some headers like https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10.9.sdk/usr/include/cache.h without licenses. @scopatz, could you ask NumFOCUS legal whether files like these are re-distributable? |
@minrk, you can certainly help.
|
@isuruf - where is the license for these files? I couldn't find it in the repo? |
I think no one wants to tell people to use old macOS's or download stuff from people with hackery sounding usernames on github, at least I do not.
Now that conda-forge/staged-recipes#9557 has happened, we should be able to allow end-users to use their system SDKs via
CONDA_BUILD_SYSROOT
, but that's not ideal for ABI reasons.But I think we should provide our own SDKs. The official SDKs are an amalgamation of various mostly BSD licensed projects (mach-o kernel, dyld, a few more). I think we can now generate .tbd files from Apple's .dylibs and we can also 'whiteroom' that if people are concerned - you literally get one person to describe, via voice, the functions and their prototypes! - but personally I'm not really very concerned. So I think, given a simple bash script we could make something we can use and recommend to our users.
cc @conda-forge/core, @chrisburr (you're in core anyway I guess, but just in case), @katietz, @msarahan.
The text was updated successfully, but these errors were encountered: