diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 30b6a94391..80155d39e4 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2430,14 +2430,14 @@ (define-public qtwebengine-5 (package (inherit qtsvg-5) (name "qtwebengine") - (version "5.15.5") + (version "5.15.8") (source (origin (method url-fetch) (uri (qt-urls name version)) (sha256 (base32 - "0zahr9w6rqdxwh2whsgk3fhcszs7wa9j95lq4sqi8xzin2wcgl17")) + "1qv15g5anhlfsdwnjxy21vc3zxxm8149vysi774l93iab6mxqmjg")) (modules '((ice-9 ftw) (ice-9 match) (srfi srfi-1) @@ -2445,180 +2445,181 @@ (define-public qtwebengine-5 (guix build utils))) (snippet #~(begin - (let ((preserved-third-party-files - '("base/third_party/double_conversion" - "base/third_party/cityhash" - "base/third_party/cityhash_v103" - "base/third_party/dynamic_annotations" - "base/third_party/icu" - "base/third_party/libevent" - "base/third_party/nspr" - "base/third_party/superfasthash" - "base/third_party/symbolize" - "base/third_party/xdg_mime" - "base/third_party/xdg_user_dirs" - "net/third_party/mozilla_security_manager" - "net/third_party/nss" - "net/third_party/quiche" - "net/third_party/uri_template" - "third_party/abseil-cpp" - "third_party/angle" - "third_party/angle/src/common/third_party/base" - "third_party/angle/src/common/third_party/smhasher" - "third_party/angle/src/common/third_party/xxhash" - "third_party/angle/src/third_party/compiler" - "third_party/axe-core" - "third_party/blink" - "third_party/boringssl" - "third_party/boringssl/src/third_party/fiat" - "third_party/breakpad" - "third_party/brotli" - "third_party/catapult/common/py_vulcanize/py_vulcanize" - "third_party/catapult/common/py_vulcanize/third_party" - "third_party/catapult/third_party/beautifulsoup4" - "third_party/catapult/third_party/html5lib-python" - "third_party/catapult/third_party/polymer/components" - "third_party/catapult/tracing" - "third_party/catapult/tracing/third_party" - "third_party/ced" - "third_party/cld_3" - "third_party/closure_compiler" - "third_party/crashpad" - "third_party/crashpad/crashpad/third_party/lss" - "third_party/crashpad/crashpad/third_party/zlib" - "third_party/crc32c" - "third_party/dav1d" - "third_party/dawn" - "third_party/devtools-frontend" - "third_party/devtools-frontend/src/front_end/third_party" - "third_party/devtools-frontend/src/third_party/typescript" - "third_party/emoji-segmenter" - "third_party/ffmpeg" - "third_party/googletest" - "third_party/harfbuzz-ng/utils" - "third_party/hunspell" - "third_party/iccjpeg" - "third_party/icu" - "third_party/inspector_protocol" - "third_party/jinja2" - "third_party/jsoncpp" - "third_party/jstemplate" - "third_party/khronos" - "third_party/leveldatabase" - "third_party/libaddressinput" - "third_party/libavif" - "third_party/libgifcodec" - "third_party/libjingle_xmpp" - "third_party/libjpeg_turbo" - "third_party/libpng" - "third_party/libsrtp" - "third_party/libsync" - "third_party/libudev" - "third_party/libvpx" - "third_party/libwebm" - "third_party/libwebp" - "third_party/libxml" - "third_party/libxslt" - "third_party/libyuv" - "third_party/lottie" - "third_party/lss" - "third_party/mako" - "third_party/markupsafe" - "third_party/mesa_headers" - "third_party/metrics_proto" - "third_party/modp_b64" - "third_party/nasm" - "third_party/node" - "third_party/one_euro_filter" - "third_party/openh264/src/codec/api/svc" - "third_party/opus" - "third_party/ots" - "third_party/pdfium" - "third_party/pdfium/third_party/agg23" - "third_party/pdfium/third_party/base" - "third_party/pdfium/third_party/freetype" - "third_party/pdfium/third_party/lcms" - "third_party/pdfium/third_party/libopenjpeg20" - "third_party/pdfium/third_party/skia_shared" - "third_party/perfetto" - "third_party/pffft" - "third_party/ply" - "third_party/polymer" - "third_party/protobuf" - "third_party/protobuf/third_party/six" - "third_party/pyjson5" - "third_party/re2" - "third_party/rnnoise" - "third_party/skia" - "third_party/skia/include/third_party/skcms/skcms.h" - "third_party/skia/include/third_party/vulkan" - "third_party/skia/third_party/skcms" - "third_party/smhasher" - "third_party/snappy" - "third_party/sqlite" - "third_party/usb_ids" - "third_party/usrsctp" - "third_party/vulkan_memory_allocator" - "third_party/web-animations-js" - "third_party/webrtc" - "third_party/webrtc/common_audio/third_party/ooura/fft_size_128" - "third_party/webrtc/common_audio/third_party/ooura/fft_size_256" - "third_party/webrtc/common_audio/third_party/spl_sqrt_floor" - "third_party/webrtc/modules/third_party/fft" - "third_party/webrtc/modules/third_party/g711" - "third_party/webrtc/modules/third_party/g722" - "third_party/webrtc/rtc_base/third_party/base64" - "third_party/webrtc/rtc_base/third_party/sigslot" - "third_party/webrtc_overrides" - "third_party/widevine/cdm/widevine_cdm_common.h" - "third_party/widevine/cdm/widevine_cdm_version.h" - "third_party/woff2" - "third_party/xcbproto" - "third_party/zlib" - "url/third_party/mozilla" - "v8/src/third_party/utf8-decoder" - "v8/src/third_party/valgrind" - "v8/src/third_party/siphash" - "v8/third_party/v8/builtins" - "v8/third_party/inspector_protocol"))) + (let ((preserved-third-party-files + '("base/third_party/double_conversion" + "base/third_party/cityhash" + "base/third_party/cityhash_v103" + "base/third_party/dynamic_annotations" + "base/third_party/icu" + "base/third_party/libevent" + "base/third_party/nspr" + "base/third_party/superfasthash" + "base/third_party/symbolize" + "base/third_party/xdg_mime" + "base/third_party/xdg_user_dirs" + "net/third_party/mozilla_security_manager" + "net/third_party/nss" + "net/third_party/quiche" + "net/third_party/uri_template" + "third_party/abseil-cpp" + "third_party/angle" + "third_party/angle/src/common/third_party/base" + "third_party/angle/src/common/third_party/smhasher" + "third_party/angle/src/common/third_party/xxhash" + "third_party/angle/src/third_party/compiler" + "third_party/axe-core" + "third_party/blink" + "third_party/boringssl" + "third_party/boringssl/src/third_party/fiat" + "third_party/breakpad" + "third_party/brotli" + "third_party/catapult/common/py_vulcanize/py_vulcanize" + "third_party/catapult/common/py_vulcanize/third_party" + "third_party/catapult/third_party/beautifulsoup4" + "third_party/catapult/third_party/html5lib-python" + "third_party/catapult/third_party/polymer/components" + "third_party/catapult/tracing" + "third_party/catapult/tracing/third_party" + "third_party/ced" + "third_party/cld_3" + "third_party/closure_compiler" + "third_party/crashpad" + "third_party/crashpad/crashpad/third_party/lss" + "third_party/crashpad/crashpad/third_party/zlib" + "third_party/crc32c" + "third_party/dav1d" + "third_party/dawn" + "third_party/devtools-frontend" + "third_party/devtools-frontend/src/front_end/third_party" + "third_party/devtools-frontend/src/third_party/typescript" + "third_party/emoji-segmenter" + "third_party/ffmpeg" + "third_party/googletest" + "third_party/harfbuzz-ng/utils" + "third_party/hunspell" + "third_party/iccjpeg" + "third_party/icu" + "third_party/inspector_protocol" + "third_party/jinja2" + "third_party/jsoncpp" + "third_party/jstemplate" + "third_party/khronos" + "third_party/leveldatabase" + "third_party/libaddressinput" + "third_party/libavif" + "third_party/libgifcodec" + "third_party/libjingle_xmpp" + "third_party/libjpeg_turbo" + "third_party/libpng" + "third_party/libsrtp" + "third_party/libsync" + "third_party/libudev" + "third_party/libvpx" + "third_party/libwebm" + "third_party/libwebp" + "third_party/libxml" + "third_party/libxslt" + "third_party/libyuv" + "third_party/lottie" + "third_party/lss" + "third_party/mako" + "third_party/markupsafe" + "third_party/mesa_headers" + "third_party/metrics_proto" + "third_party/modp_b64" + "third_party/nasm" + "third_party/node" + "third_party/one_euro_filter" + "third_party/openh264/src/codec/api/svc" + "third_party/opus" + "third_party/ots" + "third_party/pdfium" + "third_party/pdfium/third_party/agg23" + "third_party/pdfium/third_party/base" + "third_party/pdfium/third_party/freetype" + "third_party/pdfium/third_party/lcms" + "third_party/pdfium/third_party/libopenjpeg20" + "third_party/pdfium/third_party/skia_shared" + "third_party/perfetto" + "third_party/pffft" + "third_party/ply" + "third_party/polymer" + "third_party/protobuf" + "third_party/protobuf/third_party/six" + "third_party/pyjson5" + "third_party/re2" + "third_party/rnnoise" + "third_party/skia" + "third_party/skia/include/third_party/skcms/skcms.h" + "third_party/skia/include/third_party/vulkan" + "third_party/skia/third_party/skcms" + "third_party/smhasher" + "third_party/snappy" + "third_party/sqlite" + "third_party/usb_ids" + "third_party/usrsctp" + "third_party/vulkan_memory_allocator" + "third_party/web-animations-js" + "third_party/webrtc" + "third_party/webrtc/common_audio/third_party/ooura/fft_size_128" + "third_party/webrtc/common_audio/third_party/ooura/fft_size_256" + "third_party/webrtc/common_audio/third_party/spl_sqrt_floor" + "third_party/webrtc/modules/third_party/fft" + "third_party/webrtc/modules/third_party/g711" + "third_party/webrtc/modules/third_party/g722" + "third_party/webrtc/rtc_base/third_party/base64" + "third_party/webrtc/rtc_base/third_party/sigslot" + "third_party/webrtc_overrides" + "third_party/widevine/cdm/widevine_cdm_common.h" + "third_party/widevine/cdm/widevine_cdm_version.h" + "third_party/woff2" + "third_party/xcbproto" + "third_party/zlib" + "url/third_party/mozilla" + "v8/src/third_party/utf8-decoder" + "v8/src/third_party/valgrind" + "v8/src/third_party/siphash" + "v8/third_party/v8/builtins" + "v8/third_party/inspector_protocol"))) - (with-directory-excursion "src/3rdparty" - ;; TODO: Try removing "gn" too for future versions of qtwebengine-5. - (delete-file-recursively "ninja") + (with-directory-excursion "src/3rdparty" + ;; TODO: Try removing "gn" too for future versions of qtwebengine-5. + (delete-file-recursively "ninja") - (with-directory-excursion "chromium" - ;; Delete bundled software and binaries that were not explicitly - ;; preserved above. - #$remove-third-party-files + (with-directory-excursion "chromium" + ;; Delete bundled software and binaries that were not explicitly + ;; preserved above. + #$remove-third-party-files - ;; Use relative header locations instead of hard coded ones. - (substitute* - "base/third_party/dynamic_annotations/dynamic_annotations.c" - (("base/third_party/valgrind") "valgrind")) - (substitute* - '("third_party/breakpad/breakpad/src/common/linux/http_upload.cc" - "third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h") - (("third_party/curl") "curl")) - (substitute* - '("components/viz/common/gpu/vulkan_context_provider.h" - "components/viz/common/resources/resource_format_utils.h" - "gpu/config/gpu_info_collector_win.cc" - "gpu/config/gpu_util.cc" - "gpu/config/vulkan_info.h") - (("third_party/vulkan_headers/include/") - "")) + ;; Use relative header locations instead of hard coded ones. + (substitute* + "base/third_party/dynamic_annotations/dynamic_annotations.c" + (("base/third_party/valgrind") "valgrind")) + (substitute* '("third_party/breakpad/breakpad/src/common\ +/linux/http_upload.cc" + "third_party/breakpad/breakpad/src/common/\ +linux/libcurl_wrapper.h") + (("third_party/curl") "curl")) + (substitute* + '("components/viz/common/gpu/vulkan_context_provider.h" + "components/viz/common/resources/resource_format_utils.h" + "gpu/config/gpu_info_collector_win.cc" + "gpu/config/gpu_util.cc" + "gpu/config/vulkan_info.h") + (("third_party/vulkan_headers/include/") + "")) - ;; Replace Google Analytics bundle with an empty file and hope - ;; no one notices. - (mkdir-p "third_party/analytics") - (call-with-output-file - "third_party/analytics/google-analytics-bundle.js" - (lambda (port) - (const #t))))) - ;; Do not enable support for loading the Widevine DRM plugin. - (substitute* "src/buildtools/config/common.pri" - (("enable_widevine=true") - "enable_widevine=false"))))))) + ;; Replace Google Analytics bundle with an empty file and hope + ;; no one notices. + (mkdir-p "third_party/analytics") + (call-with-output-file + "third_party/analytics/google-analytics-bundle.js" + (lambda (port) + (const #t))))) + ;; Do not enable support for loading the Widevine DRM plugin. + (substitute* "src/buildtools/config/common.pri" + (("enable_widevine=true") + "enable_widevine=false"))))))) (build-system gnu-build-system) (native-inputs (list bison @@ -2689,53 +2690,54 @@ (define-public qtwebengine-5 (guix build utils) (ice-9 textual-ports))) ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'substitute-source - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-atomic-file-replacement - "src/buildtools/config/linux.pri" - (lambda (in out) - (display (get-string-all in) out) - (display "\ngn_args += use_system_openh264=true\n" out) - (display "\ngn_args += link_pulseaudio = true\n" out))) - ;; Qtwebengine is not installed into the same prefix as - ;; qtbase. Some qtbase QTLibraryInfo constants will not - ;; work. Replace with the full path to the qtwebengine-5 - ;; translations and locales in the store. - (substitute* "src/core/web_engine_library_info.cpp" - (("QLibraryInfo::location\\(QLibraryInfo::TranslationsPath\\)") - (string-append "QLatin1String(\"" out "/share/qt5/translations\")")) - (("QLibraryInfo::location\\(QLibraryInfo::DataPath\\)") - (string-append "QLatin1String(\"" out "/share/qt5\")"))) - ;; Substitute full dynamic library path for nss. - (substitute* "src/3rdparty/chromium/crypto/nss_util.cc" - (("libnssckbi.so") - (search-input-file inputs "lib/nss/libnssckbi.so"))) - ;; Substitute full dynamic library path for udev. - (substitute* "src/3rdparty/chromium/device/udev_linux/udev1_loader.cc" - (("libudev.so.1") - (search-input-file inputs "lib/libudev.so.1")))))) - (add-before 'configure 'set-env - (lambda _ - ;; Avoids potential race conditions. - (setenv "PYTHONDONTWRITEBYTECODE" "1") - (setenv "NINJAFLAGS" - (string-append "-k1" ;less verbose build output - ;; Respect the '--cores' option of 'guix build'. - " -j" (number->string (parallel-job-count)))))) - (replace 'configure - (lambda _ - ;; Valid QT_BUILD_PARTS variables are: - ;; libs tools tests examples demos docs translations - (invoke "qmake" "QT_BUILD_PARTS = libs tools" "--" - "--webengine-printing-and-pdf=no" - "--webengine-ffmpeg=system" + #~(modify-phases #$phases + (add-before 'configure 'substitute-source + (lambda* (#:key inputs #:allow-other-keys) + (with-atomic-file-replacement + "src/buildtools/config/linux.pri" + (lambda (in out) + (display (get-string-all in) out) + (display "\ngn_args += use_system_openh264=true\n" out) + (display "\ngn_args += link_pulseaudio = true\n" out))) + ;; Qtwebengine is not installed into the same prefix as + ;; qtbase. Some qtbase QTLibraryInfo constants will not + ;; work. Replace with the full path to the qtwebengine-5 + ;; translations and locales in the store. + (substitute* "src/core/web_engine_library_info.cpp" + (("QLibraryInfo::location\\(QLibraryInfo::TranslationsPath\\)") + (string-append "QLatin1String(\"" #$output + "/share/qt5/translations\")")) + (("QLibraryInfo::location\\(QLibraryInfo::DataPath\\)") + (string-append "QLatin1String(\"" #$output + "/share/qt5\")"))) + ;; Substitute full dynamic library path for nss. + (substitute* "src/3rdparty/chromium/crypto/nss_util.cc" + (("libnssckbi.so") + (search-input-file inputs "lib/nss/libnssckbi.so"))) + ;; Substitute full dynamic library path for udev. + (substitute* "src/3rdparty/chromium/device/udev_linux/udev1_loader.cc" + (("libudev.so.1") + (search-input-file inputs "lib/libudev.so.1"))))) + (add-before 'configure 'set-env + (lambda _ + ;; Avoids potential race conditions. + (setenv "PYTHONDONTWRITEBYTECODE" "1") + (setenv "NINJAFLAGS" + (string-append "-k1" ;less verbose build output + ;; Respect the '--cores' option of 'guix build'. + " -j" (number->string (parallel-job-count)))))) + (replace 'configure + (lambda _ + ;; Valid QT_BUILD_PARTS variables are: + ;; libs tools tests examples demos docs translations + (invoke "qmake" "QT_BUILD_PARTS = libs tools" "--" + "--webengine-printing-and-pdf=no" + "--webengine-ffmpeg=system" ;; FIXME: Building qtwebengine-5 5.12.2 with ;; icu4c >= 68 fails. ;;"--webengine-icu=system" - "--webengine-pepper-plugins=no" - "-webengine-proprietary-codecs"))))) + "--webengine-pepper-plugins=no" + "-webengine-proprietary-codecs"))))) ;; Tests are disabled due to "Could not find QtWebEngineProcess error" ;; It's possible this can be fixed by setting QTWEBENGINEPROCESS_PATH ;; before running tests.