Bug 268994

Summary: [exp-run] Schedule exp run for devel/binutils update to 2.40
Product: Ports & Packages Reporter: Cy Schubert <cy>
Component: Individual Port(s)Assignee: Cy Schubert <cy>
Status: Closed FIXED    
Severity: Affects Only Me CC: diizzy, ports-bugs
Priority: --- Flags: antoine: exp-run+
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Update devel/binutils from 2.39 to 2.40
none
Two commits: Update to 2.40 and secondly, enable zstd suppport.
none
Two commits: Update to 2.40, add zstd support, depend on zstd port
none
Patch for binutils
none
This version disables tests. none

Description Cy Schubert freebsd_committer freebsd_triage 2023-01-17 00:11:16 UTC
Created attachment 239518 [details]
Update devel/binutils from 2.39 to 2.40

Can you please schedule an exp-run for this new release of binutils?
Comment 1 Daniel Engberg freebsd_committer freebsd_triage 2023-01-17 08:52:31 UTC
Thanks for looking into this, we might also want to consider enabling zstd support?
Comment 2 Cy Schubert freebsd_committer freebsd_triage 2023-01-17 15:28:32 UTC
Created attachment 239535 [details]
Two commits: Update to 2.40 and secondly, enable zstd suppport.

This patch, includes two commits. The first patch uploaded and a commit to enable zstd support.
Comment 3 Daniel Engberg freebsd_committer freebsd_triage 2023-01-20 12:05:53 UTC
Thanks, shouldn't we depend on archives/zstd too?
Comment 4 Cy Schubert freebsd_committer freebsd_triage 2023-02-01 18:42:06 UTC
(In reply to Daniel Engberg from comment #3)

The patch uploaded Jan 17 includes zstd support. You should be able to do an exp-run anytime.
Comment 5 Cy Schubert freebsd_committer freebsd_triage 2023-02-01 18:45:19 UTC
(In reply to Daniel Engberg from comment #3)

I don't know if we should depend on the zstd port. zstd should be in all versions of -STABLE now. Or am I mistaken? I run 14-CURRENT here.
Comment 6 Daniel Engberg freebsd_committer freebsd_triage 2023-02-01 22:22:14 UTC
Since it's a port I think we should always depend on the port (just like libarchive etc) abd simply because base can become stale for ports users.
Comment 7 Cy Schubert freebsd_committer freebsd_triage 2023-02-01 22:25:07 UTC
(In reply to Daniel Engberg from comment #6)

Good enough. I'll update the patch.
Comment 8 Cy Schubert freebsd_committer freebsd_triage 2023-02-06 15:27:44 UTC
Created attachment 239949 [details]
Two commits: Update to 2.40, add zstd support, depend on zstd port

These two commits will:

1. Update to 2.40.
2. Add zstd support and depend on the zstd port.
Comment 9 Antoine Brodin freebsd_committer freebsd_triage 2023-02-10 08:25:28 UTC
binutils fails to configure:

checking for libzstd >= 1.4.0... no
configure: error: --with-zstd was given, but pkgconfig/libzstd.pc is not found
Comment 10 Daniel Engberg freebsd_committer freebsd_triage 2023-02-14 11:09:34 UTC
Created attachment 240151 [details]
Patch for binutils

This includes previous patch by cy and following changes

- Use DISTVERSION instead of PORTVERSION
- Drop (reset) PORTREVISION
- Define zstd as LIB_DEPENDS rather than DEPENDS
- Add USES= localbase pkgconfig to fix (lib)zstd detection
- Set zstd as default compression algorithm for compressed debug sections
- Enable verbose output during build
- Drop STATIC option, it's unsupported upstream and fails to build [1]

Compile and runtime tested on FreeBSD 13.2-BETA1 (amd64) (make, make check-plist)
Poudriere testport (default options) OK 12.3-RELEASE (amd64)
Poudriere testport (default options) OK 13.1-RELEASE (i386)

1:
/bin/sh ./libtool  --tag=CC   --mode=link cc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow  -I/usr/local/include  -O2 -pipe -march=tigerlake  -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing       -all-static -fstack-protector-strong  -o windres windres.o resrc.o rescoff.o resbin.o rcparse.o rclex.o winduni.o resres.o bucomm.o version.o filemode.o ../bfd/libbfd.la ../libiberty/libiberty.a -lfl  /usr/local/lib/libiconv.so -Wl,-rpath -Wl,/usr/local/lib -L/usr/local/lib

ld: error: attempted static link of dynamic object /usr/local/lib/libiconv.so
cc: error: linker command failed with exit code 1 (use -v to see invocation)

*** Notes ***
--enable-threads=yes configure switch seems to be retired since years ago?
Unit tests seems to be broken, disable(?)
error: invalid value 'zlib-gabi' in '--compress-debug-sections=zlib-gabi'
Comment 11 Cy Schubert freebsd_committer freebsd_triage 2023-02-15 03:54:27 UTC
(In reply to Daniel Engberg from comment #10)

This is certainly an improvement of the original two patches.

Proposed commit log message:

devel/binutils: Update from 2.39 to 2.40

Update our binutils port from 2.39 to 2.40.

Enable zstd support. Depend on the port in case the port is newer
than base.

Additional contributions by dizzy@: 

- Use DISTVERSION instead of PORTVERSION
- Drop (reset) PORTREVISION
- Define zstd as LIB_DEPENDS rather than DEPENDS
- Add USES= localbase pkgconfig to fix (lib)zstd detection
- Set zstd as default compression algorithm for compressed debug sections
- Enable verbose output during build
- Drop STATIC option, it's unsupported upstream and fails to build

Exp-run PR:     268994
Exp-run by:     dizzy
Comment 12 Daniel Engberg freebsd_committer freebsd_triage 2023-02-15 06:57:52 UTC
Hi,

We still need an exp-run by antoine, I've only tested the port itself in Poudriere. If "make test" is broken we should disable it for now at least.

Best regards,
Daniel
Comment 13 Cy Schubert freebsd_committer freebsd_triage 2023-02-22 18:16:28 UTC
Created attachment 240331 [details]
This version disables tests.

make test will fail because --compress-debug-sections is always set to zlib-gabi regardless of the compression setting by ./configure.
Comment 14 Antoine Brodin freebsd_committer freebsd_triage 2023-02-24 09:13:55 UTC
Exp-run looks fine (with patch from 15 feb)
Comment 15 Cy Schubert freebsd_committer freebsd_triage 2023-03-17 18:46:25 UTC
This can be closed.