From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 4B5bFNwj32I0HAAAbAwnHQ (envelope-from ) for ; Tue, 26 Jul 2022 01:14:36 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id +K5sFNwj32J6UQEAauVa8A (envelope-from ) for ; Tue, 26 Jul 2022 01:14:36 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CC12138EE5 for ; Tue, 26 Jul 2022 01:14:35 +0200 (CEST) Received: from localhost ([::1]:39080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oG7HX-0001fd-0H for larch@yhetil.org; Mon, 25 Jul 2022 19:14:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36986) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oG7EE-0006dD-3E for guix-patches@gnu.org; Mon, 25 Jul 2022 19:11:10 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33745) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oG7ED-0005lI-QP for guix-patches@gnu.org; Mon, 25 Jul 2022 19:11:09 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oG7EC-0000JG-MQ for guix-patches@gnu.org; Mon, 25 Jul 2022 19:11:08 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56771] [PATCH 21/33] gnu: Add qtwebengine, version 6.3.1. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 25 Jul 2022 23:11:08 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56771 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56771@debbugs.gnu.org Cc: Maxim Cournoyer Received: via spool by 56771-submit@debbugs.gnu.org id=B56771.1658790629976 (code B ref 56771); Mon, 25 Jul 2022 23:11:08 +0000 Received: (at 56771) by debbugs.gnu.org; 25 Jul 2022 23:10:29 +0000 Received: from localhost ([127.0.0.1]:51702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oG7DY-0000Fa-25 for submit@debbugs.gnu.org; Mon, 25 Jul 2022 19:10:28 -0400 Received: from mail-qk1-f173.google.com ([209.85.222.173]:45739) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oG7Bj-00007n-KJ for 56771@debbugs.gnu.org; Mon, 25 Jul 2022 19:08:37 -0400 Received: by mail-qk1-f173.google.com with SMTP id m16so9841963qka.12 for <56771@debbugs.gnu.org>; Mon, 25 Jul 2022 16:08:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qhbFOQKa8MMtAbW886ygdLUMn/DlU3nVfHvylFezPC0=; b=bWcm7EIqWBYBiAoODvBenDL9bGw1v6dxqLVNFp49Oyxl5Qg5fKtoGqum+1b9c1AIj1 Rf79ht2EsCu3Oh5gRjhtOmuMj0mdrC0qX1Ln3CoLccqoBmHLDtrZ8E3lQ0mnJsujn4iI t8TeBQRStoGVVG1sxN3FE2Ne3XJMjQwYrvZM8iROf9wrc7JYJ3seBRQ251eLcVxPvQP4 uL5TnqgXQFRKTQm59TusEZ4bn69whdg5RjvNLr3fIJZI5JoSlnMtGBxAq1XAObr4elSh eMHEdQEB/WUz1x51+PlO0djKxkVX7RGtvrFpMA3xCHM8kv531Ve6DoTRc38JvZ5Jmqo8 k+JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qhbFOQKa8MMtAbW886ygdLUMn/DlU3nVfHvylFezPC0=; b=Syi4oM8zi1GZhjEkxABzx+o9wDeVK0Jube44LuSftyLvFsCd7gx1O+iD0YnblO+Ey6 qUSv2DFGty+tJ4aGXFgq1XHCLwmUnwQMSJfTfmn5Ugic85cEjtLS4GPQgwEUegEGF6Le 15gwkW3nf1GdG9Zi3bNMwXQlwybxbeEKZCFDAeSTqHds+uKgSC4LFngY0ZSQABIYDE0u jkqgMXJ6wcchseb7vQyESwoqoyQPmQrqle13z2oHrZM/SKhsNQVOGB/E9jTF4sgqgFa/ /0qeFI+jAzHfaejPH/peXxoYan7r2i6ktoFUT9G9YB3gwc+ux9zml2SGFT+oedDtW2+w O3SA== X-Gm-Message-State: AJIora886MNpYRQMzU90FJ0stRy8d8DhN2ZLxGb3AKRaod7uxweEWNQF 1opbTmsuPHveKQJ4sldGW/A1J7ijdSc= X-Google-Smtp-Source: AGRyM1vhicIJRUoZ8CcKHeqVEvO56qXM2ZwZjCB7hW0Sp/UWakcpLbR1tIEwQmfF+pJBw3OgTY10WQ== X-Received: by 2002:a05:620a:2484:b0:6b5:ca61:ace7 with SMTP id i4-20020a05620a248400b006b5ca61ace7mr10832996qkn.541.1658790509872; Mon, 25 Jul 2022 16:08:29 -0700 (PDT) Received: from localhost.localdomain (dsl-205-233-125-69.b2b2c.ca. [205.233.125.69]) by smtp.gmail.com with ESMTPSA id c15-20020ac8008f000000b0031ee9afafccsm8110580qtg.14.2022.07.25.16.08.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Jul 2022 16:08:29 -0700 (PDT) From: Maxim Cournoyer Date: Mon, 25 Jul 2022 19:07:51 -0400 Message-Id: <20220725230803.10002-21-maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220725230803.10002-1-maxim.cournoyer@gmail.com> References: <20220725230803.10002-1-maxim.cournoyer@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1658790876; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=qhbFOQKa8MMtAbW886ygdLUMn/DlU3nVfHvylFezPC0=; b=UaH3oKq3j9Hp8228B0zJ+p5NWFvqQMH84HVCZJXYzXxC9/vMYs2Ex6Uo3SCyP46aV8fui1 nEnU/DqHKVWFbh0qWkSEDFOHRpGEPq4p8rxQYdA4oWZiJ6J55sEVMqdpiJnKHBzalv9hx9 lq5cK6nWgvAX74NhpK0mEf0XfHAj2GlNnr3If8pJlsKme2Ys2+GN8qXGTJRwGGDinSKnr3 8hLb1UNUs0ZiaIEB1j4tnqqOnCo/X8YSEAofKjQUJ6Q7eIlE1I0/wT7PN9XFqsiFoJokQZ 5E83QPr4xyvhSylV0+Tkf4yFpKcz1dVZOKG5v+l3s96um8j4HlnK1jDE6C2viA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1658790876; a=rsa-sha256; cv=none; b=ZKC+l2MxpCi0/I7T7OIGLX51aWLRYNMC3VTz+uUbwLks5J0KXRZZK46bA3ThGe2i39L1U/ 0tXL7QruheiOkTHUtgmjyaN+Ixzu+EKrQpLJGwc+Jk0nWptq47f823GG5U7XUdsg6ahHZu JHVs96nysTXt7xmyDKSej6Q8hCJUyghXXZb1IgdU1pD1oWlcljdaaQCRoJ1OtF+TIWdOlS DkxPwINAKHUKTPeWvUBvgggZ7YwE/sB3RtQ6uOyDsFL+dLbYGNnqgssfmLU1nQILgivAdL WDKYFT7jRKrJ/C+dgWgPHrf5uouvO0Rlyj8JZ06mMGmZM9iQXT9UfgGj8WxKSQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=bWcm7EIq; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 5.17 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=bWcm7EIq; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: CC12138EE5 X-Spam-Score: 5.17 X-Migadu-Scanner: scn0.migadu.com X-TUID: aJbjoWmWrGjx * gnu/packages/qt.scm (qtwebengine): New variable. --- gnu/packages/qt.scm | 345 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 345 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 578837fb14..5abd691665 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -88,6 +88,7 @@ (define-module (gnu packages qt) #:use-module (gnu packages markup) #:use-module (gnu packages networking) #:use-module (gnu packages ninja) + #:use-module (gnu packages node) #:use-module (gnu packages nss) #:use-module (gnu packages pciutils) #:use-module (gnu packages pcre) @@ -98,6 +99,7 @@ (define-module (gnu packages qt) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages python-web) #:use-module (gnu packages regex) #:use-module (gnu packages ruby) #:use-module (gnu packages sdl) @@ -2378,6 +2380,349 @@ (define (delete-unwanted-files child stat flag base level) and binaries removed, and adds modular support for using system libraries.") (license license:lgpl2.1+))) +(define-public qtwebengine + (package + (name "qtwebengine") + (version "6.3.1") + (source + (origin + (method url-fetch) + (uri (qt5-urls name version)) + (sha256 + (base32 + "0ivfsqd5c0cxsnssj6z37901cf6a47w50zaqgjiysvcm3ar36ymd")) + (modules '((ice-9 ftw) + (ice-9 match) + (srfi srfi-1) + (srfi srfi-26) + (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/axe-core" + "third_party/blink" + "third_party/boringssl" + "third_party/boringssl/src/third_party/fiat" + "third_party/breakpad" + "third_party/brotli" + "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/lighthouse" + "third_party/devtools-frontend/src/front_end/third_party/wasmparser" + "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/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/lss" + "third_party/mako" + "third_party/markupsafe" + "third_party/mesa_headers" + "third_party/metrics_proto" + "third_party/modp_b64" + "third_party/nasm" + "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/skia/third_party/vulkanmemoryallocator" + "third_party/smhasher" + "third_party/snappy" + "third_party/sqlite" + "third_party/usb_ids" + "third_party/usrsctp" + "third_party/web-animations-js" + "third_party/webrtc" + "third_party/webrtc/common_audio/third_party/ooura" + "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/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")) + (protected (make-regexp "\\.(gn|gyp)i?$"))) + (define preserved-club + (map (lambda (member) + (string-append "./" member)) + preserved-third-party-files)) + (define (empty? dir) + (equal? (scandir dir) '("." ".."))) + (define (third-party? file) + (string-contains file "third_party/")) + (define (useless? file) + (any (cute string-suffix? <> file) + '(".zip" ".so" ".dll" ".exe" ".jar"))) + (define (parents child) + ;; Return all parent directories of CHILD up to and including + ;; the closest "third_party". + (let* ((dirs (match (string-split child #\/) + ((dirs ... last) dirs))) + (closest (list-index (lambda (dir) + (string=? "third_party" dir)) + (reverse dirs))) + (delim (- (length dirs) closest))) + (fold (lambda (dir prev) + (cons (string-append (car prev) "/" dir) + prev)) + (list (string-join (list-head dirs delim) "/")) + (list-tail dirs delim)))) + (define (remove-loudly file) + (format #t "deleting ~a...~%" file) + (force-output) + (delete-file file)) + (define (delete-unwanted-files child stat flag base level) + (match flag + ((or 'regular 'symlink 'stale-symlink) + (when (third-party? child) + (unless (or (member child preserved-club) + (any (cute member <> preserved-club) + (parents child)) + (regexp-exec protected child)) + (remove-loudly child))) + (when (and (useless? child) (file-exists? child)) + (remove-loudly child))) + ('directory-processed + (when (empty? child) + (rmdir child))) + (_ #t))) + + (with-directory-excursion "src/3rdparty" + (delete-file-recursively "ninja") + + (with-directory-excursion "chromium" + ;; Delete bundled software and binaries that were not + ;; explicitly preserved above. + (nftw "." delete-unwanted-files 'depth 'physical) + + ;; Assert that each preserved item is present to catch + ;; removals. + (for-each (lambda (third-party) + (unless (file-exists? third-party) + (error (format #f "~s does not exist!~%" + third-party)))) + preserved-club) + + ;; 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/libcurl_wrapper.h" + (("third_party/curl") "curl")) + (substitute* + '("components/viz/common/gpu/vulkan_context_provider.h" + "gpu/config/gpu_util.cc") + (("third_party/vulkan/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/core/CMakeLists.txt" + (("enable_widevine=true") + "enable_widevine=false"))))))) + (build-system cmake-build-system) + (arguments + (list + ;; XXX: The test suite is not built by default; leave it off to save + ;; some build time and resources. + #:tests? #f + #:configure-flags + ;; Use the CMake ninja generator, otherwise the build fails (see: + ;; https://bugreports.qt.io/browse/QTBUG-96897). + #~(list "-GNinja" ; + ;; Manually add the NSS library prefix to the linker + ;; search path, otherwise it fails to be linked (see: + ;; https://bugreports.qt.io/browse/QTBUG-105053). + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=-L" + (search-input-directory %build-inputs "lib/nss")) + + ;; The PDF renderer plugin fails to build with errors such as + ;; "src/3rdparty/chromium/components/pdf + ;; /renderer/pdf_accessibility_tree.cc:1373:39: + ;; error: use of undeclared identifier 'IDS_PDF_PAGE_INDEX'"; + ;; disable it. + "-DQT_FEATURE_webengine_printing_and_pdf=OFF" + "-DQT_FEATURE_webengine_pepper_plugins=OFF" ;widevine + "-DQT_FEATURE_system_ffmpeg=ON" + ;; Do not artificially limit codec support; video decoding is + ;; done by ffmpeg. + "-DQT_FEATURE_webengine_proprietary_codecs=ON" + "-DQT_FEATURE_webengine_system_alsa=ON" + "-DQT_FEATURE_webengine_system_icu=ON" + "-DQT_FEATURE_webengine_system_libxml=ON" + "-DQT_FEATURE_webengine_system_libpci=ON" + "-DQT_FEATURE_webengine_system_libpng=ON" + "-DQT_FEATURE_webengine_system_pulseaudio=ON" + "-DQT_FEATURE_webengine_system_zlib=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; 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 translations and + ;; locales in the store. + (substitute* "src/core/web_engine_library_info.cpp" + (("QLibraryInfo::path\\(QLibraryInfo::TranslationsPath)") + (string-append "QLatin1String(\"" #$output + "/share/qt6/translations\")")) + (("QLibraryInfo::path\\(QLibraryInfo::DataPath)") + (string-append "QLatin1String(\"" #$output + "/share/qt6\")"))) + ;; 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"))) + ;; Patch the location of the X11 keywoard layouts, otherwise + ;; webengine *crashes* at run time when the default directory, + ;; '/usr/share/X11/xkb' is empty (see: + ;; https://bugreports.qt.io/browse/QTBUG-105124). + (substitute* "src/3rdparty/chromium/ui/events/ozone/layout/xkb\ +/xkb_keyboard_layout_engine.cc" + (("/usr/share/X11/xkb") + (search-input-directory inputs "share/X11/xkb"))))) + (add-before 'configure 'prepare-build-environment + (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)))) + ;; Use Clang/LDD to help tame the memory requirements and hasten + ;; the build. + (setenv "AR" "llvm-ar") (setenv "NM" "llvm-nm") + (setenv "CC" "clang") (setenv "CXX" "clang++"))) + (replace 'build + (lambda* (#:key parallel-build? #:allow-other-keys) + (apply invoke "cmake" "--build" "." + (if parallel-build? + `("--parallel" ,(number->string (parallel-job-count))) + '())))) + (replace 'install + (lambda _ + (invoke "cmake" "--install" ".")))))) + (native-inputs + (modify-inputs (package-native-inputs qtwebengine-5) + (delete "python2" "python2-six") + (append clang-14 + lld-as-ld-wrapper + node-lts + python-wrapper + python-html5lib))) + (inputs + (modify-inputs (package-inputs qtwebengine-5) + (replace "qtbase" qtbase) + (replace "qtdeclarative" qtdeclarative) + (replace "qtmultimedia" qtmultimedia) + (replace "qtwebchannel" qtwebchannel) + (append libxkbfile xkeyboard-config))) + (native-search-paths + (list (search-path-specification + (file-type 'regular) + (separator #f) + (variable "QTWEBENGINEPROCESS_PATH") + (files '("lib/qt5/libexec/QtWebEngineProcess"))))) + (home-page "https://wiki.qt.io/QtWebEngine") + (synopsis "Qt WebEngine module") + (description "The Qt WebEngine module provides support for web +applications using the Chromium browser project. The Chromium source code has +Google services and binaries removed, and adds modular support for using +system libraries.") + (license license:lgpl2.1+))) + (define-public single-application-qt5 ;; Change in function signature, nheko requires at least this commit (let ((commit "dc8042b5db58f36e06ba54f16f38b16c5eea9053")) -- 2.36.1