Making `port mpgk' create smaller packages

Craig Treleaven ctreleaven at cogeco.ca
Sun Mar 10 20:01:40 UTC 2019


> On Mar 10, 2019, at 12:00 PM, Mojca Miklavec <mojca at macports.org> wrote:
> 
> Dear Werner,
> 
> On Sun, 10 Mar 2019 at 08:24, Werner LEMBERG wrote:
>> 
>> trying
>> 
>>  port mpkg lilypond-devel
>> 
>> creates a 1.5GByte bundle, which is far too large to be used for
>> distribution.  Is there a possibility to reduce the number of packages
>> that gets bundled?
>> 
>> As far as I can see, the main problem is that build and run
>> dependencies are intermixed in Portfiles: If `foo' is necessary for
>> building and running, it gets only listed in `depends_lib'.
> 
> That's a clear bug in a Portfile specification (rather than in MacPorts).
> 
> Any dependency that's not required for running should be
> depends_build[-append] and any dependency that's not required for
> building the port should be depends_run[-append]. There's also
> depends_test, depends_fetch, ... (maybe more).
> 
>> Is it possible to provide a finer granularity?  For example,
>> `lilypond-devel' needs `texlive' for building only but not for
>> running.
> 
> In that case just move it from depends_lib[-append] to
> depends_build[-append] (in a PR, probably)
> 
>> Or may `port
>> mpkg' gets a new command line option to specify a list of packages
>> that should be omitted (together with its dependencies).
> 
> I'm pretty sure there is a lot of room for improvement of port mpkg.
> Maybe open a ticket for base in our Trac? (Improvements to mpkg might
> potentially even be suitable for GSOC projects.)
> 
> Mojca

I notice that gcc8 is also shown as a run time dependency which may be adding to the bulk of the package.  

You may want to run port-depcheck.sh against lilypond-devel to see if it identifies and inconsistencies in the dependencies.  The script is provided by the port ‘macportsscripts’.

Possibly the wiki page I put together may have a helpful tip or two regarding making an installer:

https://trac.macports.org/wiki/howto/CreateInstallers

Craig



More information about the macports-users mailing list