Bug 247810

Summary: textproc/qt5-xmlpatterns build fails
Product: Ports & Packages Reporter: rkoberman
Component: Individual Port(s)Assignee: freebsd-kde (group) <kde>
Status: Closed FIXED    
Severity: Affects Only Me CC: rhurlin, tcberner
Priority: --- Flags: tcberner: maintainer-feedback+
Version: Latest   
Hardware: Any   
OS: Any   

Description rkoberman 2020-07-06 16:35:34 UTC
Building textproc/qt5-xmlpatterns fails when updating to 5.15.0 on 12.1-STABLE.

The error is in compiling qqmlxmllistmodel.cpp.
qqmlxmllistmodel.cpp:748:46: error: no matching constructor for initialization of 'QQmlListProperty<QQuickXmlListModelRole>'
    QQmlListProperty<QQuickXmlListModelRole> list(this, &d->roleObjects);
                                             ^    ~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/qt5/QtQml/qqmllist.h:69:5: note: candidate constructor not viable: no known conversion from 'QList<QQuickXmlListModelRole *> *' to
      'QList<QQuickXmlListModelRole *> &' for 2nd argument; remove &
    QQmlListProperty(QObject *o, QList<T *> &list)
    ^
/usr/local/include/qt5/QtQml/qqmllist.h:56:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class QQmlListProperty {
      ^
/usr/local/include/qt5/QtQml/qqmllist.h:56:7: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
/usr/local/include/qt5/QtQml/qqmllist.h:63:5: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
    QQmlListProperty()
    ^
/usr/local/include/qt5/QtQml/qqmllist.h:84:5: note: candidate constructor not viable: requires 4 arguments, but 2 were provided
    QQmlListProperty(QObject *o, void *d, CountFunction c, AtFunction t)
    ^
/usr/local/include/qt5/QtQml/qqmllist.h:74:5: note: candidate constructor not viable: requires 6 arguments, but 2 were provided
    QQmlListProperty(QObject *o, void *d, AppendFunction a, CountFunction c, AtFunction t,
    ^
1 error generated.
*** Error code 1

Stop.
Comment 1 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-06 17:40:26 UTC
Moin moin 

This is caused by an optional dependency on qt5-declarative, which we have not tracked yet (and is dependency loopy ).
This leads to qt5-declarative not being updated already, and your upgrade of qt5-xmlpattern is therefore picking up the 5.14 version that is installed already.

You could likely work around the issue quickly by force-upgrading qt5-declarative beforehand.


I'll work on a proper fix.


mfg Tobias
Comment 2 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-06 17:44:29 UTC
(In reply to Tobias C. Berner from comment #1)

Could you give this one a try:

https://people.freebsd.org/~tcberner/patches/qt5-xmlpattern_qt5-declarative.v1.patch


mfg Tobias
Comment 3 rkoberman 2020-07-06 19:53:15 UTC
That seems to have done the job. Some ports that depend on qt5-xmlpatterns are still building, but both qt5-declarative and qt5-xmlpatterns have updated correctly,

Thanks so much for the prompt fix. I really needed to use my Windows VM!
Comment 4 rkoberman 2020-07-06 20:32:16 UTC
qt5 now fully updated.

There is a warning from pkg that @exec is deprecated and should be replaced by @[pre|post][un]exec in the pkg-plist on qt5-multimedia.
Comment 5 commit-hook freebsd_committer freebsd_triage 2020-07-07 18:20:41 UTC
A commit references this bug:

Author: tcberner
Date: Tue Jul  7 18:20:35 UTC 2020
New revision: 541444
URL: https://svnweb.freebsd.org/changeset/ports/541444

Log:
  textproc/qt5-xmlpatterns add dependendcy on x11-toolkits/qt5-declarative

  - remove (obsolete?/never needed?) inverse dependency

  PR:		247810
  Reported by:	rkoberman@gmail.com

Changes:
  head/textproc/qt5-xmlpatterns/Makefile
  head/textproc/qt5-xmlpatterns/pkg-plist
  head/x11-toolkits/qt5-declarative/Makefile
Comment 6 Tobias C. Berner freebsd_committer freebsd_triage 2020-07-07 18:20:55 UTC
No worries, thanks for testing.