Page MenuHomeFreeBSD

Update devel/binutils to 2.33.1 and FLAVORIZED it
ClosedPublic

Authored by bapt on Nov 6 2019, 12:27 PM.

Details

Reviewers
jhb
bapt
Group Reviewers
portmgr
Commits
rP517642: Update binutils to 2.33.1
Summary

Update binutils to 2.33.1 and use flavors instead of slave ports

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 27467
Build 25701: arc lint + arc unit

Event Timeline

devel/binutils could use a bit of love wrt https://www.freebsd.org/doc/en/books/porters-handbook/porting-order.html to make it more readable.

devel/avr-gcc/Makefile
18

missing devel/.

devel/binutils/Makefile
36–54

Would you terribly mind having a look at https://www.freebsd.org/doc/en/books/porters-handbook/porting-order.html?

FLAVORS go just after the dependency block.
Also, FLAVOR should be defined as ${FLAVORS:[1]} like everywhere else?

devel/sope4/Makefile
35

?

Heh, I had thought about just doing this for the ones used by xtoolchain, but this looks more complete.

One thing that might really be nice would be to have an easy way to have multiple PLIST files so that one could have something like:

PLIST_FILES= ${.CURDIR}/pkg-plist ${.CURDIR}/pkg-plist.${TARGETARCH}

And put "common" files in pkg-plist and ARCH-specific files in the sub-plists rather than duplicating lots of plist content. For freebsd6-gcc I used a unified plist with PLIST_SUB's for ARCH-specific files, but having a nice way to have pkg-plist.${FOO} in addition to pkg-plist would be nicer IMO.

One thing to consider is that this doesn't fix all the places that have dependencies like all the devel/<arch>-gcc ports, etc.

In D22258#486560, @jhb wrote:

Heh, I had thought about just doing this for the ones used by xtoolchain, but this looks more complete.

One thing that might really be nice would be to have an easy way to have multiple PLIST files so that one could have something like:

PLIST_FILES= ${.CURDIR}/pkg-plist ${.CURDIR}/pkg-plist.${TARGETARCH}

And put "common" files in pkg-plist and ARCH-specific files in the sub-plists rather than duplicating lots of plist content. For freebsd6-gcc I used a unified plist with PLIST_SUB's for ARCH-specific files, but having a nice way to have pkg-plist.${FOO} in addition to pkg-plist would be nicer IMO.

Agreed on that, but that requires some work on the framework which I will probably do later, if the use case becomes common ;)

One thing to consider is that this doesn't fix all the places that have dependencies like all the devel/<arch>-gcc ports, etc.

hum did I miss a place? as far as grep tells me, I should have addressed everything. Anyway I requested an exp-run, we will know quickly.

In D22258#486564, @bapt wrote:
In D22258#486560, @jhb wrote:

Heh, I had thought about just doing this for the ones used by xtoolchain, but this looks more complete.

One thing that might really be nice would be to have an easy way to have multiple PLIST files so that one could have something like:

PLIST_FILES= ${.CURDIR}/pkg-plist ${.CURDIR}/pkg-plist.${TARGETARCH}

And put "common" files in pkg-plist and ARCH-specific files in the sub-plists rather than duplicating lots of plist content. For freebsd6-gcc I used a unified plist with PLIST_SUB's for ARCH-specific files, but having a nice way to have pkg-plist.${FOO} in addition to pkg-plist would be nicer IMO.

Agreed on that, but that requires some work on the framework which I will probably do later, if the use case becomes common ;)

I would use it in freebsd-gcc*, base/binutils, and base/gcc* at least. :)

One thing to consider is that this doesn't fix all the places that have dependencies like all the devel/<arch>-gcc ports, etc.

hum did I miss a place? as far as grep tells me, I should have addressed everything. Anyway I requested an exp-run, we will know quickly.

Oh, I guess it was just powerpc64-gcc/Makefile that had to be updated.

I'm fine with this one landing first and then updating my freebsd6-gcc one. Should be a tiny update to that.

devel/binutils/Makefile
17

base/binutils depends on this I think?

OTOH, it might be that base/binutils should not be a slave of this port anymore. There are many special cases in devel/binutils/Makefile that are just for base/binutils.

bapt marked an inline comment as done.Nov 7 2019, 8:21 AM
bapt added inline comments.
devel/binutils/Makefile
17

I do have another patch do decouple base/binutils from this, because it starts to become too complicated to handle both.
My only plan is to keep the patch directory in sync between both. And for sure I will update base/binutils before committing that.

linimon retitled this revision from Update binutils to 2.33.1 and FLAVORIZED it to Update devel/binutils to 2.33.1 and FLAVORIZED it.Nov 8 2019, 12:58 AM
bapt marked an inline comment as done.

Address exp-run issues

This revision is now accepted and ready to land.Dec 3 2019, 8:35 AM