From patchwork Wed Dec 18 20:45:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rosset X-Patchwork-Id: 16560 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 364C617943; Wed, 18 Dec 2019 21:02:28 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID,URIBL_BLOCKED,URI_NOVOWEL autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id D333517941 for ; Wed, 18 Dec 2019 21:02:27 +0000 (GMT) Received: from localhost ([::1]:60618 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihgSh-0001E0-81 for patchwork@mira.cbaines.net; Wed, 18 Dec 2019 16:02:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36891) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihgSX-000195-3V for guix-patches@gnu.org; Wed, 18 Dec 2019 16:02:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihgSU-0006oX-AN for guix-patches@gnu.org; Wed, 18 Dec 2019 16:02:15 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:38032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ihgST-0006Zm-7g for guix-patches@gnu.org; Wed, 18 Dec 2019 16:02:13 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ihgDl-00024O-Q8 for guix-patches@gnu.org; Wed, 18 Dec 2019 15:47:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#35866] [PATCH] gnu: Add qtwebengine. References: <20190523062344.20601-1-mrosset@bufio.org> In-Reply-To: <20190523062344.20601-1-mrosset@bufio.org> Resent-From: Mike Rosset Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 18 Dec 2019 20:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 35866 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 35866@debbugs.gnu.org Cc: mike.rosset@gmail.com Received: via spool by 35866-submit@debbugs.gnu.org id=B35866.15767019657874 (code B ref 35866); Wed, 18 Dec 2019 20:47:01 +0000 Received: (at 35866) by debbugs.gnu.org; 18 Dec 2019 20:46:05 +0000 Received: from localhost ([127.0.0.1]:43998 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihgCq-00022u-MD for submit@debbugs.gnu.org; Wed, 18 Dec 2019 15:46:05 -0500 Received: from mail-pl1-f172.google.com ([209.85.214.172]:37639) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihgCn-00022B-V9 for 35866@debbugs.gnu.org; Wed, 18 Dec 2019 15:46:03 -0500 Received: by mail-pl1-f172.google.com with SMTP id c23so1511821plz.4 for <35866@debbugs.gnu.org>; Wed, 18 Dec 2019 12:46:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=3RdJ9GvR/6sgnmrKySiRH2iiRpGak2Pwrutlb7IqLdw=; b=hg7iz9lbZBIjUhle9sLyAK/wtrJFzEyKH3BBbJiXn+0JsQPnyWxhnUgQegflsxIsQJ Az2IWTvO8ncmsTTCk7YGicpu4uAjD7OgK4TTDN1GDokicSYXPNKvutthK1FLGPamU/zk 85Iq/bZDcJGXhP6g1WLiwOeKDNgRnFZoB5GcsCqe6WSkKr+PGIeO2ibd5YNtIunO/Dxi O6ke5MM0otM02v5HLjFTbg9V4ZcmHlLWjmh0nqC1ZP64+pArz2UH996zL9tYaB9VPvlk 1j8hEsgvtVv4pvkMVt+2vCmLrzG41lReLOGQuMvbxe/orBQZngUtENS/Xl7NPjMKEuNp 1VLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=3RdJ9GvR/6sgnmrKySiRH2iiRpGak2Pwrutlb7IqLdw=; b=UUpDiNEzwfz/NzEEotKtZzJCOaQbt9LIkUEqSz0ElOuOVvZ4QPNYiotir8taQ6zdSR KHPBfco0nAh6ieQ702d3VI9nCmFyEn6HYET3LbTOfjHQS9nBrrXgCcWpjP2KrtQ4UA5B +dsuu8RHKWJQojZkURNvk2j60dKh/zgkS1y3YWZWqojAuSm5q1RjnbXrIS3AXWeYUFWZ EY86u8uyDMWQJknk4uOQaTf4NKELlYM2riQE+9MjCFABuOA2MyQRLBPsm+Ztot8Ki98r oiBNnjpErD1rGgLGImIbHEEsnqxbvQiixq3QniXfSKJsuTpdpxQEkItlNWudy2V5jr8u lGLw== X-Gm-Message-State: APjAAAW3R3aaTVTU0PH2Hkz9lkS4h2yJkvP3Rx/V6mX/QI8m50clAbOe QwkUj5bPaT2QvWOM4hS3QVZhQLrg X-Google-Smtp-Source: APXvYqzenQ/h0ecDjNcdldhnl5l1DT3QBPk4ri2dWP9kLFWa7oC8kLFyVa7+1ymQRzP6njMrYQiVGA== X-Received: by 2002:a17:902:a516:: with SMTP id s22mr4990976plq.89.1576701955620; Wed, 18 Dec 2019 12:45:55 -0800 (PST) Received: from neutron.telus (node-1w7jr9qlfahmev9dakqkc7if6.ipv6.telus.net. [2001:569:74e0:7d00:c8c3:b228:84c0:5502]) by smtp.gmail.com with ESMTPSA id c68sm4591479pfc.156.2019.12.18.12.45.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Dec 2019 12:45:55 -0800 (PST) From: Mike Rosset Date: Wed, 18 Dec 2019 12:45:37 -0800 Message-Id: <20191218204537.24069-1-mike.rosset@gmail.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/qt.scm (qtwebengine): New variable. This is a new qtwebengine patch with working locales. qtwebengine now inherits qtsvg This also uses substitute-keyword-arguments to only replace configure phase. --- gnu/packages/qt.scm | 129 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index c0d652a407..12028fd64c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -52,30 +52,40 @@ #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) + #:use-module (gnu packages gnupg) #:use-module (gnu packages gperf) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages maths) + #:use-module (gnu packages ninja) #:use-module (gnu packages nss) #:use-module (gnu packages pciutils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages regex) #:use-module (gnu packages ruby) #:use-module (gnu packages sdl) + #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) + #:use-module (gnu packages telephony) #:use-module (gnu packages tls) + #:use-module (gnu packages video) #:use-module (gnu packages vulkan) #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module (gnu packages xml) #:use-module (srfi srfi-1)) @@ -2020,6 +2030,125 @@ time Web content can be enhanced with native controls.") (license license:lgpl2.1+))) +(define-public qtwebengine + (package (inherit qtsvg) + (name "qtwebengine") + (version (package-version qtbase)) + (source + (origin + (method url-fetch) + (uri + (string-append "https://download.qt.io/official_releases/qt/" + (substring version 0 4) + "/" version "/submodules/" + (string-append name "-everywhere-src-" version) + ".tar.xz")) + (sha256 + (base32 + "08c60nh95m98mcqk444axs76xi6m9x0wvdxrzk9c2cxwqdbz59fa")))) + (build-system gnu-build-system) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ("gperf" ,gperf) + ("ninja" ,ninja) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python-2" ,python-2) + ("ruby" ,ruby) + )) + (inputs + `(("alsa-lib" ,alsa-lib) + ("atk" ,atk) + ("cups-minimal" ,cups-minimal) + ("dbus" ,dbus) + ("ffmpeg" ,ffmpeg) + ("fontconfig" ,fontconfig) + ("harbuzz" ,harfbuzz) + ("icu4c" ,icu4c) + ("jsoncpp" ,jsoncpp) + ("lcms" ,lcms) + ("libcap" ,libcap) + ("libevent" ,libevent) + ("libgcrypt" ,libgcrypt) + ("libjpeg" ,libjpeg-turbo) + ;; libsrtp not found by qmake. seems to not have config.tests? + ("libsrtp" ,libsrtp) + ;; FIXME: error: ?struct vpx_svc_ref_frame_config? has no member named ?frame_flags? + ;; ("libvpx" ,libvpx) + ("libwebp" ,libwebp) + ("libx11" ,libx11) + ("libxcb" ,libxcb) + ("libxcomposite" ,libxcomposite) + ("libxcursor" ,libxcursor) + ("libxi" ,libxi) + ("libxkbcommon" ,libxkbcommon) + ;; libxml not found due to icu not enabled in libxml? + ("libxml2" ,libxml2) + ("libxrandr" ,libxrandr) + ("libxrender" ,libxrender) + ("libxslt" ,libxslt) + ("libxtst" ,libxtst) + ("mesa" ,mesa) + ("minizip" ,minizip) + ("nss" ,nss) + ("opus" ,opus) + ("pciutils" ,pciutils) + ("protobuf" ,protobuf) + ;; ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtmultimedia" ,qtmultimedia) + ("qtwebchannel" ,qtwebchannel) + ("re2" ,re2) + ("snappy" ,snappy) + ("udev" ,eudev) + ("xcb-util" ,xcb-util))) + (arguments + (substitute-keyword-arguments (package-arguments qtsvg) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Avoids potential race conditions + (setenv "PYTHONDONTWRITEBYTECODE" "1") + ;; Make build output less verbose + (setenv "NINJAFLAGS" "-k1") + ;; Use this output translations not qtbase + (substitute* "src/core/web_engine_library_info.cpp" + (("QLibraryInfo::location\\(QLibraryInfo::TranslationsPath\\)") + (format #f "QLatin1String(\"~a\")" (string-append (assoc-ref outputs "out") "/share/qt5/translations"))) + (("QLibraryInfo::location\\(QLibraryInfo::DataPath\\)") + (format #f "QLatin1String(\"~a\")" (string-append (assoc-ref outputs "out") "/share/qt5")))) + ;; Substitute full dynamic path for nss + (substitute* "src/3rdparty/chromium/crypto/nss_util.cc" + (("libnssckbi.so") + (string-append (assoc-ref inputs "nss") "/lib/nss/libnssckbi.so"))) + ;; Substitute full dynamic path for udev + (substitute* "src/3rdparty/chromium/device/udev_linux/udev1_loader.cc" + (("libudev.so.1") + (string-append (assoc-ref inputs "udev") "/lib/libudev.so.1"))) + ;; 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" + "--webengine-icu=system" + "--webengine-pepper-plugins=no"))))) + ((#:tests? _ #f) #f))) + (native-search-paths + (list (search-path-specification + (file-type 'regular) + (separator #f) + (variable "QTWEBENGINEPROCESS_PATH") + (files '("lib/qt5/libexec/QtWebEngineProcess"))))) + (home-page "https://www.qt.io") + (synopsis "Qt WebEngine Module") + (description "Qt5WebEngine provides support for web +applications using the Chromium browser project.") + (license + (package-license qt)))) + (define-public dotherside (package (name "dotherside")