Portfile for a virtual port?

Bradley Giesbrecht pixilla at macports.org
Mon Aug 8 12:46:02 PDT 2011


On Aug 8, 2011, at 11:01 AM, Joshua Root wrote:

> On 2011-8-9 03:54 , Bradley Giesbrecht wrote:
>>
>> On Aug 8, 2011, at 10:46 AM, Bradley Giesbrecht wrote:
>>
>>> On Aug 8, 2011, at 10:41 AM, Mike O'Brien wrote:
>>>
>>>> We need to construct a virtual port.  We wish to allow our users to
>>>> have one-click installation access to a coterie of ports in  
>>>> MacPorts,
>>>> between six and twenty of them which are constituent ports making  
>>>> up
>>>> an open-source Matlab replacement called Python(x,y).  There is no
>>>> current metaport for this, and no instructions on how to make one,
>>>> though it is trivially easy (thank you!) to construct a metapackage
>>>> for a single port and all of its dependencies.
>>>>
>>>> What I'm looking to construct is a port which itself installs
>>>> nothing, but whose dependencies cause all of the constituent ports
>>>> comprising Python(x,y) to be installed.  Then I can make a
>>>> metapackage for that port, and distribute the resulting ".mpkg"  
>>>> file
>>>> to our users.
>>>>
>>>> Is there an accepted, canonical way to do this?  The trivial way to
>>>> do it would be to null out all the parts of a portfile, except the
>>>> "devroot" (install) section is not allowed to be null.
>>>
>>> Can you not make a meta/stub port that installs nothing and  
>>> depends on
>>> your list of ports?
>>>
>>> Look at the replaced_by example:
>>> http://guide.macports.org/#development.practices.rename-replace-port
>>
>> I apologies, I thought that example would work different then it  
>> does.
>> Look at the examples Josh provided.
>
> It's close to the same thing; the difference is that instead of  
> erroring
> out you want to install the one file. And of course stub ports don't
> have any dependencies.

I thought it was common/suggested that the replaced_by stub port have  
a dependency on the port that replaced them; making it likely that  
"port upgrade outdated" will succeed when the replaced port is  
depended on by other ports.

Regards,
Bradley Giesbrecht (pixilla)


More information about the macports-dev mailing list