Bug 248020

Summary: devel/qt5-core: Missing LIB_DEPENDS+=libdouble-conversion.so:devel/double-conversion
Product: Ports & Packages Reporter: Yuri Victorovich <yuri>
Component: Individual Port(s)Assignee: freebsd-kde (Team) <kde>
Status: Closed FIXED    
Severity: Affects Only Me CC: adridg, kde
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248021

Description Yuri Victorovich freebsd_committer 2020-07-16 17:41:08 UTC
> ====> Running Q/A tests (stage-qa)
> Error: /usr/local/lib/qt5/libQt5Core.so.5.15.0 is linked to /usr/local/lib/libdouble-conversion.so.3 from devel/double-conversion but it is not declared as a dependency
> Warning: you need LIB_DEPENDS+=libdouble-conversion.so:devel/double-conversion


5.15.0
Comment 1 Adriaan de Groot freebsd_committer 2020-07-19 08:54:27 UTC
There's a similar PR 245946.

It comes down to this:
 - in a dirty build environment, Qt can pick up the library for double-conversion and use it.
 - clean, it builds its own bundled copy.

There is a configure flag for Qt parts as to what it should build, so I'm intending to add `-qt-doubleconversion` (I just don't quite know *where* yet) to sidestep the whole issue.
Comment 2 commit-hook freebsd_committer 2020-07-19 11:36:47 UTC
A commit references this bug:

Author: adridg
Date: Sun Jul 19 11:35:50 UTC 2020
New revision: 542563
URL: https://svnweb.freebsd.org/changeset/ports/542563

Log:
  Make qt5-core and qt5-webengine depend explicitly on double-conversion.

  In a dirty build-environment, double-conversion was being picked up
  automatically (as "system double-conversion"). We could bung in
  a configure flag to ignore it, so that Qt would always build its
  own copy. Or we could depend explicitly on it, dropping the build
  of the bundled copy.

  Do the latter, because:
  - it's the same code, but now extracted from V8 JS into a separate
    library by upstream (that is, by Chromium / Google),
  - the dependency package is only 168kB.
  - this reduces code-bundling and improves reuse when other things
    also use double-conversion.

  (This is the opposite of what I originally intended; using the flag
  is harder to implement, and since the dependency is small ..)

  I've taken the patch from Andy Mender and applied it in two cases.
  Perhaps adding it to qt5-core would have been enough, duplication
  here can't hurt.

  PR:		245946 248020
  Submitted by:	Andy Mender
  Reported by:	Andy Mender, yuri

Changes:
  head/devel/qt5-core/Makefile
  head/www/qt5-webengine/Makefile