Thanks. 

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 (?). 

-Manav


> On Jul 20, 2018, at 6:02 AM, Craig Treleaven <[email protected]> wrote:
> 
>> On Jul 20, 2018, at 12:41 AM, Manav Bhatia <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Hi, 
>> 
>>   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. 
>> 
>> Thanks,
>> Manav
>> 
> Hope this helps; feel free to ask any other questions.
> 
> Craig

Reply via email to