Opened 7 years ago
Closed 4 years ago
#55458 closed enhancement (wontfix)
Embed wxWidgets
Reported by: | mybofy | Owned by: | mojca (Mojca Miklavec) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | wxWidgets-3.2 |
Description
Bonjour
macOS 10.13 - Xcode 9
I use the port 3.1 of wxWidgets in my application. All works well on my machine. To distribute my application I ned to embed wxWidgets in my application. After many manipulation with install_name_tool, impossible to obtain a product whithout error.
Why Mac Ports does not propose an option to conform to the necessity to have @rpath instead of absolut path to embed the ports in macOS ? In case of wxWidgets, there too much dependences to do that manualy.
In fact the best way, would be to produce frameworks, but well formed frameworks for macOS. The actually wxWidgets.frameworks is a pseudo framewoks, without any interest !
I hope you take my proposition in consideration.
Sorry for my bad english.
Merci
Change History (4)
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Owner: | set to mojca |
---|---|
Port: | wxWidgets-3.2 added |
Status: | new → assigned |
Type: | defect → enhancement |
comment:2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
MacPorts does not claim in general to provide relocatable software. We intend for users to use the software provided by MacPorts at the location where MacPorts installed it; for that purpose, it does not need to be relocatable.
If you want to take software provided by MacPorts and make it relocatable and bundle it with an application, you can do that. Instead of running lots of install_name_tool
commands manually, I recommend using the dylibbundler program available by running sudo port install dylibbundler
.
$ dylibbundler --help dylibbundler 0.4.4 dylibbundler is a utility that helps bundle dynamic libraries inside OS X application bundles. -x, --fix-file <file to fix (executable or app plug-in)> -b, --bundle-deps -d, --dest-dir <directory to send bundled libraries (relative to cwd)> -p, --install-path <'inner' path of bundled libraries (usually relative to executable, by default '@executable_path/../libs/')> -of, --overwrite-files (allow overwriting files in output directory) -od, --overwrite-dir (totally overwrite output directory if it already exists. implies --create-dir) -cd, --create-dir (creates output directory if necessary) -i, --ignore <location to ignore> (will ignore libraries in this directory) -h, --help
comment:3 Changed 7 years ago by ctreleaven (Craig Treleaven)
Another option is to use create a standalone installer for your application. MacPorts can help to create such installers via port mdmg BLAH
or port mpkg BLAH
. See man port-dmg
for the basics or my notes in the wiki at:
Note that the libraries your app needs with be installed under in your chosen prefix--NOT in the application bundle. Generally, that is not a problem for users, though.
comment:4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
In the future, please fill in the Port field and Cc the port maintainers (
port info --maintainers wxWidgets-3.2
).