gnu: qtwebengine-5: Update to 5.15.8.

Fixes <https://issues.guix.gnu.org/52672>.

* gnu/packages/qt.scm (qtwebengine-5): Update to 5.15.8.
[source]: Fix indentation.
[arguments]: Use gexps.
This commit is contained in:
Maxim Cournoyer 2023-03-27 16:09:55 -04:00
parent 443fca970e
commit e5ae499f4c
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -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.