Bug 248020 - devel/qt5-core: Missing LIB_DEPENDS+=libdouble-conversion.so:devel/double-conversion
Summary: devel/qt5-core: Missing LIB_DEPENDS+=libdouble-conversion.so:devel/double-con...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-kde (group)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-16 17:41 UTC by Yuri Victorovich
Modified: 2020-07-19 11:37 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yuri Victorovich freebsd_committer freebsd_triage 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 freebsd_triage 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 freebsd_triage 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