From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:51473) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hToWn-0004xv-Tk for guix-patches@gnu.org; Thu, 23 May 2019 10:17:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hToWm-0002Ad-IB for guix-patches@gnu.org; Thu, 23 May 2019 10:17:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:59652) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hToWm-0002AV-ER for guix-patches@gnu.org; Thu, 23 May 2019 10:17:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hToWm-0005Ev-7P for guix-patches@gnu.org; Thu, 23 May 2019 10:17:04 -0400 Subject: [bug#35866] [PATCH] gnu: Add qtwebengine. Resent-Message-ID: Received: from eggs.gnu.org ([209.51.188.92]:51738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hThEH-0007Va-Ke for guix-patches@gnu.org; Thu, 23 May 2019 02:29:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hThEF-0006OU-1o for guix-patches@gnu.org; Thu, 23 May 2019 02:29:28 -0400 Received: from mout.perfora.net ([74.208.4.194]:35603) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hThED-0006LR-F7 for guix-patches@gnu.org; Thu, 23 May 2019 02:29:25 -0400 From: mike rosset Date: Wed, 22 May 2019 23:23:44 -0700 Message-Id: <20190523062344.20601-1-mrosset@bufio.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 35866@debbugs.gnu.org Cc: mike.rosset@gmail.com From: mike rosset * gnu/packages/qt.scm (qtwebengine): New variable. --- gnu/packages/qt.scm | 133 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index afc4d8dc06..d00cc2692a 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -48,6 +48,7 @@ #:use-module (gnu packages freedesktop) #: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) @@ -55,6 +56,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages linux) #: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) @@ -63,6 +65,7 @@ #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages re2c) #:use-module (gnu packages ruby) #:use-module (gnu packages sdl) #:use-module (gnu packages sqlite) @@ -2274,3 +2277,133 @@ user-friendly than the default @code{QColorDialog} and several other color-related widgets.") ;; Includes a license exception for combining with GPL2 code. (license license:lgpl3+)))) + +(define-public qtwebengine + (package + (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 + "1zmqsdais85cdfh2jh8h4a5jcamp1mzdk3vgqm6xnldqf6nrxd2v")))) + (build-system gnu-build-system) + (native-inputs + `( + ("perl" ,perl) + ("python-2" ,python-2) + ("pkg-config" ,pkg-config) + ("flex" ,flex) + ("bison" ,bison) + ("ruby" ,ruby) + ("ninja" ,ninja) + )) + (inputs + `( + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("libxcb" ,libxcb) + ("xcb-util" ,xcb-util) + ("libxkbcommon" ,libxkbcommon) + ("libx11" ,libx11) + ("libxrender" ,libxrender) + ("libxi" ,libxi) + ;; OpenGL + ("mesa" ,mesa) + ;; qt web engine + ("libgcrypt" ,libgcrypt) + ("pciutils" ,pciutils) + ("nss" ,nss) + ("libxtst" ,libxtst) + ("gperf" ,gperf) + ("cups-minimal" ,cups-minimal) + ("pulseaudio" ,pulseaudio) + ("udev" ,eudev) + ;; systemd-devel? no systemd on guix + ("libcap" ,libcap) + ("alsa-lib" ,alsa-lib) + ("dbus" ,dbus) + ("libxrandr" ,libxrandr) + ("libxcomposite" ,libxcomposite) + ("libxcursor" ,libxcursor) + ("fontconfig" ,fontconfig) + ("qtwebchannel" ,qtwebchannel) + ("atk" ,atk) + ("qtmultimedia" ,qtmultimedia) + ("re2c" ,re2c) + )) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'configure-qmake + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (qtbase (assoc-ref inputs "qtbase")) + (tmpdir (string-append (getenv "TMPDIR"))) + (qmake (string-append tmpdir "/qmake")) + (qt.conf (string-append tmpdir "/qt.conf"))) + ;; Use qmake with a customized qt.conf to override install + ;; paths to $out. + (symlink (which "qmake") qmake) + (setenv "CC" "gcc") + (setenv "PATH" (string-append tmpdir ":" (getenv "PATH"))) + (with-output-to-file qt.conf + (lambda () + (format #t "[Paths] +Prefix=~a +ArchData=lib/qt5 +Data=share/qt5 +Documentation=share/doc/qt5 +Headers=include/qt5 +Libraries=lib +LibraryExecutables=lib/qt5/libexec +Binaries=bin +Tests=tests +Plugins=lib/qt5/plugins +Imports=lib/qt5/imports +Qml2Imports=lib/qt5/qml +Translations=share/qt5/translations +Settings=etc/xdg +Examples=share/doc/qt5/examples +HostPrefix=~a +HostData=lib/qt5 +HostBinaries=bin +HostLibraries=lib + +[EffectiveSourcePaths] +HostPrefix=~a +HostData=lib/qt5 +" out out qtbase))) + #t))) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Valid QT_BUILD_PARTS variables are: + ;; libs tools tests examples demos docs translations + (invoke "qmake" "QT_BUILD_PARTS = libs tools"))) + (add-before 'check 'set-display + (lambda _ + ;; make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") + #t)) + (add-after 'install-binaries 'install-qt.conf + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (tmpdir (string-append (getenv "TMPDIR"))) + (in.conf (string-append tmpdir "/qt.conf")) + (out.conf (string-append out "/lib/qt5/libexec/qt.conf"))) + (copy-file in.conf out.conf)) + #t)) + ))) + (home-page "https://www.qt.io") + (synopsis "Qt5WebEngine") + (description "Qt5WebEngine provides support for web +applications using the Chromium browser project.") + (license + (package-license qt)))) -- 2.21.0