Marius Bakke writes: > On the 'staging' branch (commit > 8a7a5dc7805f4628e60f90af6b2416f951d0c034), "calibre" fails to build: > > g++ -c -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_PLUGIN -DQT_THEME_SUPPORT_LIB -DQT_FONTDATABASE_SUPPORT_LIB -DQT_SERVICE_SUPPORT_LIB -DQT_EVENTDISPATCHER_SUPPORT_LIB -DQT_GUI_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I. -isystem /gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/include/libpng16 -isystem /gnu/store/haaam6v8l4s75mj9xmpb9gc78xk001y9-freetype-2.10.1/include/freetype2 -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5 -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtThemeSupport -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtThemeSupport/5.14.2 -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtThemeSupport/5.14.2/QtThemeSupport -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtFontDatabaseSupport -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtFontDatabaseSupport/5.14.2 -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtFontDatabaseSupport/5.14.2/QtFontDatabaseSupport -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtServiceSupport -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtServiceSupport/5.14.2 -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtServiceSupport/5.14.2/QtServiceSupport -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtEventDispatcherSupport -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtEventDispatcherSupport/5.14.2 -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtEventDispatcherSupport/5.14.2/QtEventDispatcherSupport -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtGui/5.14.2 -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtGui/5.14.2/QtGui -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtGui -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtCore/5.14.2 -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtCore/5.14.2/QtCore -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtDBus -isystem /gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/include/qt5/QtCore -I. -isystem /gnu/store/ka6amik38awpprjmbj01pnl9zsxgjjgz-libdrm-2.4.101/include/libdrm -I/gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/lib/qt5/mkspecs/linux-g++ -o main.o /tmp/guix-build-calibre-3.42.0.drv-0/calibre-3.42.0/src/calibre/headless/main.cpp > /tmp/guix-build-calibre-3.42.0.drv-0/calibre-3.42.0/src/calibre/headless/headless_integration.cpp: In constructor ‘HeadlessIntegration::HeadlessIntegration(const QStringList&)’: > /tmp/guix-build-calibre-3.42.0.drv-0/calibre-3.42.0/src/calibre/headless/headless_integration.cpp:61:5: error: ‘screenAdded’ was not declared in this scope > screenAdded(mPrimaryScreen); > ^~~~~~~~~~~ > make: *** [Makefile:336: headless_integration.o] Error 1 > > Presumably this can be fixed by updating to the latest version of > Calibre (4.17.0!). Any takers? :-) I started working on this. It now needs 'python2-pyqtwebengine', but has some trouble because PyQt apparently really wants all the components (sip, pyqt, pyqtwebengine) to live in the same directory, and does not respect the standard search paths. The Calibre build script works if I run it in a 'guix environment -C', because that would set up a single union profile with all the packages. I tried this hack as a workaround, but now it hits a SIGTRAP somewhere: --8<---------------cut here---------------start------------->8--- (define (make-pyqt+pyqtwebengine-union pyqt pyqtwebengine) (package (name (string-append (package-name pyqt) "+pyqtwebengine")) (version (package-version pyqt)) (source #f) (inputs `(("pyqt" ,pyqt) ("pyqtwebengine" ,pyqtwebengine))) (build-system trivial-build-system) (arguments '(#:modules ((guix build union)) #:builder (begin (use-modules (ice-9 match) (guix build union)) (let ((out (assoc-ref %outputs "out"))) (match %build-inputs (((names . directories) ...) (union-build out directories))) #t)))) (home-page (package-home-page pyqt)) (license (package-license pyqt)) (synopsis "Union of PyQt and PyQtWebEngine") (description "This package provides PyQt and PyQtWebEngine in the same package."))) (define-public python2-pyqt+pyqtwebengine (make-pyqt+pyqtwebengine-union python2-pyqt python2-pyqtwebengine)) --8<---------------cut here---------------end--------------->8--- Also, the new Calibre has experimental Python 3 support, but I'm keeping Python 2 for now to have less "moving parts". To be continued...