replaced_by multiple ports?
Leo Singer
aronnax at macports.org
Tue Dec 11 13:50:44 PST 2012
On Dec 11, 2012, at 1:47 PM, Ryan Schmidt <ryandesign at macports.org> wrote:
>
> On Dec 11, 2012, at 15:31, Leo Singer wrote:
>
>> On Dec 11, 2012, at 1:21 PM, Ryan Schmidt wrote:
>>
>>> On Dec 11, 2012, at 14:59, Jeremy Lavergne wrote:
>>>
>>>>> I would like to split an existing port (healpix) into two or more new ports (healpix-c, healpix-cxx). Is there a way to accomplish this with replaced_by, or are there any examples of ports for which something similar has happened in the past?
>>>>
>>>> I believe replaced-by only handles a one-to-one replacement.
>>>
>>> Right.
>>>
>>>> I'd recommend making healpix a virtual package (no real contents, just one file in to place into a ${prefix}/share/doc/${name}/) that depends on both healpix-c and healpix-cxx.
>>>
>>> Yes, but you'll have to add the "deactivate hack" to the virtual port (or meta port) to prevent activation failures on upgrades.
>
> I misspoke; the "deactivate hack" needs to go into the subports, not the meta port.
>
>>>> You could add a `notes` message indicating healpix no longer does anything: users can set healpix-c[xx] as requested and then uninstall healpix.
>>>
>>> Yes, and any ports that depend on healpix should be updated to depend on the new port(s) as appropriate.
>>
>> Could I have healpix depend on healpix-c and healpix-cxx?
>
> Sure!
>
>> The healpix-* ports would share distfiles and some build arguments. What I have in my working copy right now is a modified version of the healpix Portfile (see attached) that contains healpix-c and healpix-cxx subports, a little reminiscent of the Python ports. Is this setup reasonable?
>
> Sounds good!
>
>> What is the simplest way to make the main port a virtual port?
>
> Do something in a "if {${name} == ${subport}}" block.
>
> See attachment.
>
> I tested healpix-c and it installs fine and deactivates old healpix properly.
Thank you!
> healpix-cxx failed to build:
>
> :info:build ld: library not found for -lgomp
Which compiler did you use? I blacklisted clang already because it lacks OpenMP support.
More information about the macports-dev
mailing list