Page MenuHomeFreeBSD

devel/dwarves: Add new port
ClosedPublic

Authored by cem on May 7 2020, 5:27 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 17, 11:55 PM
Unknown Object (File)
Dec 29 2023, 4:54 PM
Unknown Object (File)
Dec 29 2023, 4:51 PM
Unknown Object (File)
Dec 29 2023, 4:51 PM
Unknown Object (File)
Dec 29 2023, 4:51 PM
Unknown Object (File)
Dec 29 2023, 4:51 PM
Unknown Object (File)
Dec 29 2023, 4:50 PM
Unknown Object (File)
Dec 29 2023, 4:50 PM
Subscribers

Details

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 30963
Build 28672: arc lint + arc unit

Event Timeline

cem requested review of this revision.May 7 2020, 5:27 AM
devel/dwarves/files/patch-lib_bpf_src_libbpf.c
49–56

Whoops, this hunk can be dropped now that the whole segment is ifdef'd out. It was somewhat difficult to discover which pieces of libbpf dwarves actually needs. The short version is: not very much. Will plan to remove in the next update.

Could you also run it through portfmt and portclippy from ports-mgmt/portfmt?

devel/dwarves/Makefile
6

DISTVERSION= 1.17

19

I think you can put a short explanation here.

% portgrep 'IGNORE_FreeBSD_11='
devel/elfutils:
        IGNORE_FreeBSD_11=      fails to build: fails to compile dwarf_abbrev_hash.c

games/linux-steam-utils:
        IGNORE_FreeBSD_11=not tested at all

lang/crystal:
        IGNORE_FreeBSD_11=      prebuilt bootstrap only built for FreeBSD >=12 (ino64)

lang/zig:
        IGNORE_FreeBSD_11=      expects getrandom(2) which is unavailable on FreeBSD < 12.0

sysutils/apache-mesos:
        IGNORE_FreeBSD_11=      does not build

sysutils/crate:
        IGNORE_FreeBSD_11=      getline isn't available on 11 by simply including <stdio.h> as its manpage says #'

sysutils/iichid:
        IGNORE_FreeBSD_11=      Requires FreeBSD 12.1 or later

x11/xlockmore:
        IGNORE_FreeBSD_11=      FREETYPE support requires FreeBSD version 12+
21–22
LIB_DEPENDS=  libargp.so:devel/argp-standalone \
              libdw.so:devel/elfutils
37

Either post-extract: or post-patch:

38

${REINPLACE_CMD} -e ...

43

${REINPLACE_CMD} -e ...

45–47
@${MKDIR} ${WRKSRC}/asm \
	 ${WRKSRC}/bits \
	 ${WRKSRC}/linux
devel/dwarves/pkg-descr
6

Is this the correct URL?

cem marked 7 inline comments as done.

Address review feedback (thanks jrm):

  • DISTVERSION
  • IGNORE explanation
  • LIB_DEPENDS formatting
  • post-patch where possible
  • REINPLACE_CMD (that's a mouthful!)
  • Single MKDIR invocation

I will take a look at portfmt/portclippy in a 2nd pass.

devel/dwarves/Makefile
37

I moved the non-gnulib parts to post-patch and left gnulib in pre-configure so that it can use a normal build_depends, like devel/elfutils. Does that seem ok?

devel/dwarves/pkg-descr
6

It is the author's blog and the closest thing to a website the project has, unfortunately. E.g., this is the URL the redhat package uses, and it is maintained by the dwarves author. I suppose we could link to https://github.com/acmel/dwarves instead.

This is the dwarves-specific category on the blog: https://acmel.wordpress.com/category/dwarves/ . It's pretty sparse.

Any preference?

  • portfmt
  • portclippy
  • removed vestigial hunk in libbpf.c patch
  • I have no preference for WWW. Whatever you think is more appropriate.
  • The build fails on 12i386. Can we either fix this, or add ONLY_FOR_ARCHS= amd64?

http://pkg.awarnach.mathstat.dal.ca/data/12i386-default/2020-05-07_14h00m40s/logs/errors/dwarves-1.17.log

In D24746#544658, @jrm wrote:
  • The build fails on 12i386. Can we either fix this, or add ONLY_FOR_ARCHS= amd64?

http://pkg.awarnach.mathstat.dal.ca/data/12i386-default/2020-05-07_14h00m40s/logs/errors/dwarves-1.17.log

Hm, this is concerning. Why is gcc9 on 12i386 not defining __LP64__ nor __ILP32__?

GCC seems broken:

$ gcc9 -x c -dM -E /dev/null | grep LP
#define __LP64__ 1
#define _LP64 1
$ gcc9 -m32 -x c -dM -E /dev/null | grep LP
<empty>

Clang defines __ILP32__ correctly in -m32 mode, as is canonical (arch(7)).

We can work around this with __SIZEOF_LONG__, which Clang also supports, but I'll follow up with a GCC bug.

  • Work around broken GCC definitions

Please try 12i386 again. Thanks!

discard vestigial hunk which crept back in

This revision is now accepted and ready to land.May 7 2020, 5:23 PM

Hm, does the i386 build successfully link? I noticed warning: implicit declaration of function 'fls64' in your earlier build log which seems like it could be problematic if it still shows up with the workaround.

In D24746#544669, @cem wrote:

Hm, does the i386 build successfully link? I noticed warning: implicit declaration of function 'fls64' in your earlier build log which seems like it could be problematic if it still shows up with the workaround.

It did. http://pkg.awarnach.mathstat.dal.ca/data/12i386-default/2020-05-07_14h20m10s/logs/dwarves-1.17.log

This revision was automatically updated to reflect the committed changes.