Subject: bug#24404: "calibre" package fails to build.

From: Andreas Enge <[email-masked]>
Date: Sat, 21 Jul 2018 20:13:58 +0200

On Sat, Jul 21, 2018 at 07:32:03PM +0200, Andreas Enge wrote:
> So this needs to be corrected with respect to the disappearance of
> QtWebKitWidgets from Qt, I will have a look now.

This is due to the following commit:

commit c0e7a52996edf75a403ef6c454072271fd1c277a
Author: Efraim Flashner <[email-masked]>
Date:   Mon Jun 4 10:48:55 2018 +0300

    gnu: python-pyqt: Update to 5.10.1.

    * gnu/packages/qt.scm (python-pyqt): Update to 5.10.1.
    [inputs]: Remove qtwebkit.
    [arguments]: Add custom phase to fix compilation with Qt 5.11.

I tried adding qtwebkit (which is in version 5.9.1) to the python-pyqt
inputs again, but then compilation of python-pyqt fails with the following
error:
make[1]: Entering directory '/tmp/guix-build-python-pyqt-5.10.1.drv-0/PyQt5_gpl-5.10.1/QtWebKitWidgets'
g++ -c -pipe -O2 -std=gnu++11 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WEBKITWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -isystem /gnu/store/gx7gjwr05gzbh7f2kwbwhbxrh27hvgk8-python-3.6.5/include/python3.6m -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5 -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5/QtWebKitWidgets -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5 -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtPrintSupport -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtWidgets -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5/QtWebKit -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtGui -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtNetwork -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtCore -I. -isystem /gnu/store/n97v4mfg9dmi4ki5ijnqyvlkhd8a44zp-libdrm-2.4.92/include/libdrm -I/gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/lib/qt5/mkspecs/linux-g++ -o sipQtWebKitWidgetsQGraphicsWebView.o sipQtWebKitWidgetsQGraphicsWebView.cpp
g++ -c -pipe -O2 -std=gnu++11 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WEBKITWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -isystem /gnu/store/gx7gjwr05gzbh7f2kwbwhbxrh27hvgk8-python-3.6.5/include/python3.6m -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5 -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5/QtWebKitWidgets -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5 -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtPrintSupport -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtWidgets -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5/QtWebKit -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtGui -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtNetwork -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtCore -I. -isystem /gnu/store/n97v4mfg9dmi4ki5ijnqyvlkhd8a44zp-libdrm-2.4.92/include/libdrm -I/gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/lib/qt5/mkspecs/linux-g++ -o sipQtWebKitWidgetsQList0101QWebFrame.o sipQtWebKitWidgetsQList0101QWebFrame.cpp
g++ -c -pipe -O2 -std=gnu++11 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WEBKITWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -isystem /gnu/store/gx7gjwr05gzbh7f2kwbwhbxrh27hvgk8-python-3.6.5/include/python3.6m -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5 -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5/QtWebKitWidgets -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5 -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtPrintSupport -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtWidgets -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5/QtWebKit -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtGui -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtNetwork -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtCore -I. -isystem /gnu/store/n97v4mfg9dmi4ki5ijnqyvlkhd8a44zp-libdrm-2.4.92/include/libdrm -I/gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/lib/qt5/mkspecs/linux-g++ -o sipQtWebKitWidgetsQMultiMap0100QString0100QString.o sipQtWebKitWidgetsQMultiMap0100QString0100QString.cpp
g++ -c -pipe -O2 -std=gnu++11 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WEBKITWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -isystem /gnu/store/gx7gjwr05gzbh7f2kwbwhbxrh27hvgk8-python-3.6.5/include/python3.6m -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5 -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5/QtWebKitWidgets -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5 -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtPrintSupport -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtWidgets -isystem /gnu/store/dmb48z3jd4d2axngkgy7x279sk21js1n-qtwebkit-5.9.1/include/qt5/QtWebKit -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtGui -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtNetwork -isystem /gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/include/qt5/QtCore -I. -isystem /gnu/store/n97v4mfg9dmi4ki5ijnqyvlkhd8a44zp-libdrm-2.4.92/include/libdrm -I/gnu/store/4jpvg4rqfjpyj5rjpm6aid35145yfpzg-qtbase-5.11.0/lib/qt5/mkspecs/linux-g++ -o sipQtWebKitWidgetsQWebFrame.o sipQtWebKitWidgetsQWebFrame.cpp
In file included from sipQtWebKitWidgetsQList0101QWebFrame.cpp:24:0:
/tmp/guix-build-python-pyqt-5.10.1.drv-0/PyQt5_gpl-5.10.1/sip/QtWebKitWidgets/qgraphicswebview.sip:124:28: fatal error: QGraphicsWebView: No such file or directory
compilation terminated.
In file included from sipQtWebKitWidgetsQMultiMap0100QString0100QString.cpp:24:0:
/tmp/guix-build-python-pyqt-5.10.1.drv-0/PyQt5_gpl-5.10.1/sip/QtWebKitWidgets/qgraphicswebview.sip:124:28: fatal error: QGraphicsWebView: No such file or directory
compilation terminated.
make[1]: *** [Makefile:593: sipQtWebKitWidgetsQList0101QWebFrame.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:596: sipQtWebKitWidgetsQMultiMap0100QString0100QString.o] Error 1
In file included from sipQtWebKitWidgetsQGraphicsWebView.cpp:24:0:
/tmp/guix-build-python-pyqt-5.10.1.drv-0/PyQt5_gpl-5.10.1/sip/QtWebKitWidgets/qgraphicswebview.sip:124:28: fatal error: QGraphicsWebView: No such file or directory
compilation terminated.
make[1]: *** [Makefile:590: sipQtWebKitWidgetsQGraphicsWebView.o] Error 1

Interestingly enough, there is a commit in Calibre which claims to work
on Qt 5.11 compatibility:
   https://github.com/kovidgoyal/calibre/commit/68bbec179abc980ebcb3f13854d2e4fd46f4897c

So the Calibre author apparently has managed to put it all together.

Efraim, have you got any idea?

Andreas