libgit2 / objective-git

Objective-C bindings to libgit2
MIT License
1.16k stars 280 forks source link

Automatically package OpenSSL inside the framework #668

Closed tiennou closed 5 years ago

tiennou commented 5 years ago

As per the script's documentation :

This script looks up an executable's list of shared libraries, copies non-standard ones (ie. anything not under /usr or /System/) into the target's bundle and updates the executable install_name to point to the "packaged" version.

In short, it will grab the Homebrew version of OpenSSL dylibs we're using and fixup the ObjectiveGit framework to use a copy of them.

It's 2018, that install_name should have been automated by now πŸ˜‰.

Ref #667.

tiennou commented 5 years ago

@pietbrauer Do you/GH have an opinion on this ? Just want to make sure I'm not stomping over some build system of yours by doing that…

mxcl commented 5 years ago

I had to edit the script to get it to build with Carthage.

deps = `otool -arch x86_64 -L #{TARGET_EXECUTABLE_PATH}`

Since for some reason the CURRENT_ARCH variable was set to undefined_arch. Might be an Xcode 10 issue.

tiennou commented 5 years ago

Okay, I've rejigged that script, because I tried to take care of codesigning, which needed refactoring, but ultimately decided that I don't care enough (also codesign --deep seems to be a thing). So this is the refactored version without codesigning.

I've removed the offending CURRENT_ARCH, since it seems to be going away, and AFAIK ~x86_64 rules the world anyways~ we only call that on a mono-arch binary.

Uncommon commented 5 years ago

Any progress on this? It looks like the travis build failed because of a file permissions error.

Uncommon commented 5 years ago

Thanks for the fix @tiennou. Can we please get this merged?

tiennou commented 5 years ago

πŸŽ‰