Qt 6

Fab Stz fabstz-it at yahoo.fr
Sat Sep 25 07:20:49 BST 2021


> > 
> > So I also set:
> >  perl (>= 5.14),
> >  python3,
> 
> Perl is required to run a script used to prepare the git repo in order
> to create a tarball. I don't think we are using it.
> 
> I also don't remember that we use python at all.

grep -r "qt_qml_find_python"

qtbase/cmake/QtProcessConfigureArgs.cmake:defstub(qt_qml_find_python)
qtdeclarative/src/qml/configure.cmake:qt_qml_find_python(__qt_qml_python_path 
__qt_qml_python_found)
qtdeclarative/cmake/QtDeclarativeSetup.cmake:function(qt_qml_find_python 
out_var_path out_var_found)

Indeed, it seems to be a mandatory requirement for qtdeclarative only 
according to cmake files.

It seems also necessary when configuring the "./configure" way.

 
> >         # This one is not for qtbase but for qtqml I guess
> >         # Reproducible builds: remove build paths from qqmljsparser_p.h
> >         sed -i -e 's,^\(#line.\+ "\).*\(parser/qqmljs.g"\)$$,\1\2,'
> >         debian/
> > 
> > tmp/usr/lib/*/include/QtQml/*/QtQml/private/qqmljsparser_p.h
> 
> That sounds like a hack that needs to get solved upstrea, Do you know
> which tool generates it?

Apparently it is in qtdeclarative.
File is generated by qlalr

qtdeclarative/src/qml/CMakeLists.txt:qt_process_qlalr(Qml "$
{CMAKE_CURRENT_SOURCE_DIR}/parser/qqmljs.g" "${_qt_qlalr_flags}")

qtdeclarative/src/qmldevtools/CMakeLists.txt:qt_process_qlalr(QmlDevTools "$
{CMAKE_CURRENT_SOURCE_DIR}/../qml/parser/qqmljs.g" "${_qt_qlalr_flags}")

It seems that since the file is passed with its full path to qlalr, it then 
writes the full path in qqmljsparser_p.h

Workaround would be 
- to add this parameter '--no-lines' to qlalr, then these references are not 
in qqmljsparser_p.h
- or to call qlalr with a relative path

Right now file contains such lines
#line 185 "/build/...../qt6/qtdeclarative/src/qml/parser/qqmljs.g"

Regards





More information about the pkg-kde-talk mailing list