Package: guix-patches;
Reported by: mike rosset <mrosset <at> bufio.org>
Date: Thu, 23 May 2019 14:17:04 UTC
Severity: normal
Tags: patch
Done: Mike Rosset <mike.rosset <at> gmail.com>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: mike rosset <mrosset <at> bufio.org> To: guix-patches <at> gnu.org Cc: mike.rosset <at> gmail.com Subject: [PATCH] gnu: Add qtwebengine. Date: Wed, 22 May 2019 23:23:44 -0700
From: mike rosset <mike.rosset <at> gmail.com> * 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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.