Opened 13 years ago
Last modified 16 months ago
#32428 new enhancement
PortGroup muniversal not documented
Reported by: | abarnert@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | guide | Version: | |
Keywords: | portgroup | Cc: | ryandesign (Ryan Carsten Schmidt), cooljeanius (Eric Gallager) |
Port: |
Description
While trying to work around #32427 I ran into the problem that I have no idea what exactly PortGroup muniversal does, or how or why.
While searching this site for muniversal, I found a number of other bugs that were either caused or fixed by changing a port to muniversal, but there's no mention of it in ProblemHotlist.
The Guide describes a handful of portgroups (under 5.9): gnustep, haskell, perl5, python, python2, ruby, xcode), but not muniversal. It also has an explanation on how to set up universal builds, with no mention of muniversal.
The manpage portgroup(7) describes a different set: gnustep, perl5, python24, python25, python30, ruby, xcode. Looking in $prefix/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/ there are 34 groups, many of which have brief comments explaining their purpose, but muniversal (which seems to be one of the more complex ones) doesn't.
The PortfileRecipes page has some information on controlling -arch and related things; I don't know if muniversal is relevant here.
A ticket search, a Google site search, a Google web search, etc. turned up lots and lots of discussion about applying muniversal to specific ports, but I couldn't find anything explaining muniversal.
From the name, it's pretty obvious that it has something to do with universal builds, and a quick scan of the source confirms that. From what I can tell, just including the portgroup without doing anything else causes +universal builds to be done by building each architecture separately and then merging, instead of attempting a single build with multiple architectures.
In summary, I think muniversal needs to be documented in:
- Guide section 5.3.7.1 (Configure Universal)
- Guide section 5.9 (PortGroups)
- Man page portgroup(7)
- PortfileRecipes
- ProblemHotlist
- Header comments in the group file itself
Ideally these should explain what it does, when and why you should (or shouldn't) use it, how to experiment with turning it on and off to resolve common problems with +universal builds, etc.
Change History (7)
comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|
comment:3 Changed 11 years ago by cooljeanius (Eric Gallager)
comment:4 Changed 11 years ago by cooljeanius (Eric Gallager)
I added some examples of when to use this PortGroup to the UniversalDevelopment wiki page: version6
comment:5 Changed 10 years ago by mf2k (Frank Schima)
Owner: | changed from markd@… to macports-tickets@… |
---|---|
Version: | 2.0.3 |
markd has retired. See #44782.
comment:6 Changed 2 years ago by mascguy (Christopher Nielsen)
Keywords: | portgroup added |
---|
Add keyword portgroup, to pg-related tickets
comment:7 Changed 16 months ago by ryandesign (Ryan Carsten Schmidt)
What's even more confusing now is that a new muniversal 1.1 portgroup has been created with a substantially different interface and no documentation explaining the differences or advantages of the new approach.
I agree with most of what you've written (except that merge-universal builds are not a "hot" problem and so don't belong on the ProblemHotlist).