mpkg package variants
Werner LEMBERG
wl at gnu.org
Sun Oct 6 12:55:50 UTC 2019
>>> I believe you can just specify the variants that you want (for the
>>> port and all of its dependencies) at the command line when you run
>>> `port mpkg`, can't you? As in:
>>>
>>> sudo port mpkg lilypond-devel +mactex +perl5_28
>>
>> This seems to work, thanks! Maybe it's worth to document that.
>
> Surely it's already documented that variants you specify are passed
> down to any dependencies that get built (but not to any that don't
> need to be built)?
If it is, I have missed that.
> But maybe it is worth mentioning that for mpkg, all packages get
> rebuilt, so the specified variants are applied to all of the ports,
> even those that were already installed (if that's not already
> mentioned in the guide).
It's either missing or I have missed that, too :-)
>> Of course, the next question is whether MacPorts variant strings
>> form a consistent set without contradictions.
>
> What does that mean?
Since MacPorts contains thousands of packages there might be a clash
somewhere in the variant names. Assuming that package X needs
`+foo' and package Y needs `-foo', I would have to specify
mpkg ... +foo -foo
which obviously doesn't work.
>> Another issue: There are many files in the mpkg file that are
>> definitely unnecessary to run the final program (in my case the
>> `lilypond' binary from `lilypond-devel'), for example test files
>> for python, or header files of C libraries, or (most of the)
>> documentation. Is there any support from `port' to not package
>> that?
>
> MacPorts ports always install header files where possible. Many
> ports also install examples or documentation. If these files are
> unwanted in your package, you may need to manually edit the package
> after it's been made.
OK, thanks. This was my conclusion, too.
> As for test files, if you mean tests that get run by the `port test`
> command, then I would not expect those to be installed by a port;
> they would be used at test time and would not be needed afterwards.
I'm not sure about the `port test` thing, but the python 2.7 and 3.7
bundles contains zillions of files in directories
.../Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/test
.../Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest
and
.../Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/test
.../Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest
Are these files of any use after installation?
Werner
More information about the macports-users
mailing list