Using macports to create binary package
bhatiamanav at gmail.com
Fri Jul 20 12:51:09 UTC 2018
I saw some instructions related to octave that describes creations of an app bundle that can be put anywhere: https://wiki.octave.org/Create_a_MacOS_X_App_Bundle_Using_MacPorts <https://wiki.octave.org/Create_a_MacOS_X_App_Bundle_Using_MacPorts>
One of the commands they used is install_name_tool:
install_name_tool -change /opt/local/libiconv.2.dylib @executable_path/../lib/libiconv.2.dylib Octave-3.7.0+
So, if I only keep the specific header files and relevant dyld files, with enough care something like this should be possible (?).
> On Jul 20, 2018, at 6:02 AM, Craig Treleaven <ctreleaven at macports.org> wrote:
>> On Jul 20, 2018, at 12:41 AM, Manav Bhatia <bhatiamanav at gmail.com <mailto:bhatiamanav at gmail.com>> wrote:
>> I have an application code that uses several dependencies that I typically install using macports. I am interested in creating an installer that can include these dependencies in addition to my compiled code. The objective is to be able to give it to other users so that they can use it on their computer without having to install macports.
>> I have seen the instructions on macports:
>> https://guide.macports.org/chunked/using.binaries.html <https://guide.macports.org/chunked/using.binaries.html>
>> https://guide.macports.org/chunked/installing.macports.html#installing.macports.source.multiple <https://guide.macports.org/chunked/installing.macports.html#installing.macports.source.multiple>
> You should also look at:
> https://trac.macports.org/wiki/howto/CreateInstallers <https://trac.macports.org/wiki/howto/CreateInstallers>
>> There are a few points that are still unclear to me.
>> — I have compiled macports from source with —prefix=/my/home/director/macports , and I am installing relevant ports there. If I create a package using macports, does it also need to exist in the same location on some other users’s computer? Or can it be moved around to any folder in the user’s directory.
>> — I am suspecting that there is a way to set library paths/rpaths/etc. relative to the package directory. (For example, https://wincent.com/wiki/%40executable_path%2C_%40load_path_and_%40rpath <https://wincent.com/wiki/%40executable_path%2C_%40load_path_and_%40rpath>). Is this automatically done by the macports package builder?
> The packaged software will be delivered to exactly the same location as it was on your build machine. I’ve packaged a digital video recorder application so I used the prefix ‘/opt/dvr’. I suggest using something similar for your app.
>> — can the precompiled binaries only be used for macports in /opt/local? My current installation process (to the non-standard directory) is compiling from scratch. (NOTE: this is on Mac OS 10.13.6).
> That is expected; it isn’t possible for MacPorts to re-locate from one install prefix to another. There is no definitive list of the things that depend on the install location. May include libraries, scripts, help files, etc.
> You also need to determine what target operating systems you can and will support. I found it helpful to set up VM’s with the oldest and newest OS versions and test deployment to each.
>> I would greatly appreciate some guidance on these.
> Hope this helps; feel free to ask any other questions.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the macports-users