From patchwork Wed Dec 18 20:32:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rosset X-Patchwork-Id: 16559 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 F2F4F17943; Wed, 18 Dec 2019 20:33:20 +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, 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 7321C17942 for ; Wed, 18 Dec 2019 20:33:20 +0000 (GMT) Received: from localhost ([::1]:60344 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihg0V-00089r-9w for patchwork@mira.cbaines.net; Wed, 18 Dec 2019 15:33:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:44476) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihg0G-000879-J1 for guix-patches@gnu.org; Wed, 18 Dec 2019 15:33:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihg0E-0002ST-Vo for guix-patches@gnu.org; Wed, 18 Dec 2019 15:33:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:38013) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ihg0D-0002Qy-TW for guix-patches@gnu.org; Wed, 18 Dec 2019 15:33:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ihg0D-0001fJ-Od for guix-patches@gnu.org; Wed, 18 Dec 2019 15:33: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:33: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.15767011706379 (code B ref 35866); Wed, 18 Dec 2019 20:33:01 +0000 Received: (at 35866) by debbugs.gnu.org; 18 Dec 2019 20:32:50 +0000 Received: from localhost ([127.0.0.1]:43986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihg01-0001ep-Il for submit@debbugs.gnu.org; Wed, 18 Dec 2019 15:32:50 -0500 Received: from mout.perfora.net ([74.208.4.197]:60841) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihfzz-0001eb-S7 for 35866@debbugs.gnu.org; Wed, 18 Dec 2019 15:32:48 -0500 Received: from neutron.telus ([50.98.116.177]) by mrelay.perfora.net (mreueus001 [74.208.5.2]) with ESMTPSA (Nemesis) id 0Lwpjy-1hbSDJ0JZo-016SaM; Wed, 18 Dec 2019 21:32:41 +0100 From: Mike Rosset Date: Wed, 18 Dec 2019 12:32:23 -0800 Message-Id: <20191218203223.22861-1-mike.rosset@gmail.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 X-Provags-ID: V03:K1:xqWoY1HEcnT7zjHTkLkjO7XXLMWZSTRjbiDnjChzfEcC+1pU05q jlpmgOE4xAUar7KkEj7cs06lh75YB6TOZD5q/HgQsMGwhcFm/zk9MloWE4V/cMwih+EEQxU JC2rtk/4tlcs15W5ka+lQmd7s89u8kjVPMiDXOOokcwJGJfCQ0oAKMqOsjkE8Yk5xN1PNye nXDFG4gjOmKKjmRzAmckg== X-UI-Out-Filterresults: notjunk:1;V03:K0:bZYuEUBmZcY=:ybOv6PQNSQDa9l1/Zm8/Ap TzT0Ofhw3tmQfLTmM51u6abppUzrgWfgC/iLHPHe4KpyG+N66TCdelltqhLWG9PJo6d9kNL/n YRjYky9zDSqfP7WpvgiVmI5e4S5pOrZylj6eHa5AjEM86ppwUZli+lsVqx97p7rY9KDb36/qh fFQ6qNAjBUWljpD3XGrBc+H9o9fraRO4zGtfUTyTud6VdJtCf6wlj07SUfnMGzBtKe5ikP1K9 903gBa19AselzAqQRERM/y+ekMZMnVIA2WEwlxMcznQdGVe3FF15tHHeo516n0+60VZlH6QO0 Qq7ipcHhK/mvA5TWOxGUriK8zOkd5rM14FuBQvDGkWPfw47woYQl8PotgE+vfNweObAd26ovR zsEY2iCMgc96PwlUiLll0MOyYAVk9tCZ/vrwGDnnUg99GuLMPA9RjEo2JNgweknKDSYwm5Kx/ L0n/SIZbcueKgFTeWZLxAeIfc1mSnKBoeY8knzejWO+wHpaNfoFLkfk8n2LLETk7VvVn5kWMr zVToh8HG9UPAQgDJAp1t3gzYq/HuoRsRnSVrjtZlIInDNRQ+yZoYCpJ0ZIaFpRVpGWa3j8/si mduCAuJASSXcNv6ukM/mLzGirTGarQ9Jiyp2zRsgw4uruSWumM4RQCQ1Y8oMJZO5CmX5XcTZ/ 9kKUaJrGWHwMAfKaYi9iEpad76tpoiV0LWPaOQqgBxV/Z0caVQQI1C6eegxiOSMFM6HKlbqDz 30saRcF1Tb5O3I7zV0RA9HJkyuENHQiuZjpU0vjy/siogyXpSlVTIXj4b62gM5JtAEWjkN4Iy NqNDQFhfWU9xfmtRsmG1gJJJfhbPHwdz2Fie/hpSU8W9WLo08ev7U1b5Pfgjze6gRvbftOR7v drNiTg6CLTwgaZ1emW9JSATXU9ooZQZJHzrHir7V8= 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")