Opened 7 years ago

Closed 5 years ago

#54181 closed enhancement (fixed)

[feature request]: stub port:libgcc

Reported by: RJVB (René Bertin) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: gcc, libgcc

Description

Apologies for the curious title...

This is a feature request for those of us who build GCC from source. At the moment we end up building everything twice because of the fact that port:gcc depends on port:libgcc .

I'm not questioning the benefits of that interdependency but I think it wouldn't be particularly hard to refactor the Portfile in such a way that users who build from source can opt to merge the port:libgcc payload back into port:gcc and turn port:libgcc into a "stub".

That won't change anything for regular users (who only need port:libgcc) nor for the ports declaring a dependency on libgcc. The only visible change on disk would be small, partial role-reversal: instead of port:gcc installing symlinks to content from port:libgcc, it would be port:libgcc installing symlinks to libraries installed by port:gcc .

I'm currently tinkering with GCC anyway so I can volunteer to do the necessary refactoring - once Ryan has upgraded the GCC ports to take the 7.1 release into account.

Change History (3)

comment:1 Changed 7 years ago by mojca (Mojca Miklavec)

Ideally MacPorts would allow building different packages from the same source like Debian does. This would be a much better alternative to the problem at hand, but would also require quite some effort to be implemented properly.

(Building MinGW requires rebuilding GCC three times.)

comment:2 Changed 7 years ago by RJVB (René Bertin)

I agree, but we also have to be pragmatic. Better is often the fiend of good, iow, there's no hard reason NOT to implement a solution now that helps avoiding unnecessary rebuilds (and that doesn't attempt to introduce "functionality that should be in base"). Removing the variant I'm suggesting here would be easy enough if and when split packages become available.

FWIW, while split packages would be really nice they won't help prevent unnecessary building for people who just need port:libgcc. I know, an open door, but the opposite would have been another good reason to implement the feature already ;)

comment:3 Changed 5 years ago by kencu (Ken)

Resolution: fixed
Status: newclosed

we have gone a different way with this issue, where the libgcc port installs needed components from various libggN builds.

Note: See TracTickets for help on using tickets.