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
