From 86b995dcce534363ef56ae4335e402f77740ae24 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 16 Jul 2019 17:11:03 +0200 Subject: gnu: Qt@4: Build with GCC 5 and OpenSSL 1.0. * gnu/packages/qt.scm (qt-4)[inputs]: Replace OPENSSL with OPENSSL-1.0. [native-inputs]: Add GCC-5. --- gnu/packages/qt.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index afc4d8dc06..e5fc40b351 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Nicolas Goaziou ;;; Copyright © 2018 Hartmut Goebel ;;; Copyright © 2018 Eric Bavier +;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gperf) @@ -423,11 +425,16 @@ system, and the core design of Django is reused in Grantlee.") (inputs `(,@(fold alist-delete (package-inputs qt) - '("harfbuzz" "libjpeg")) + '("harfbuzz" "libjpeg" "openssl")) ("libjpeg" ,libjpeg-8) - ("libsm" ,libsm))) + ("libsm" ,libsm) + ("openssl" ,openssl-1.0))) (native-inputs - `(,@(fold alist-delete + `(;; XXX: The JavaScriptCore engine does not build with the C++11 standard. + ;; We could build it with -std=gnu++98, but then we'll get in trouble with + ;; ICU later. Just keep using GCC 5 for now. + ("gcc" ,gcc-5) + ,@(fold alist-delete (package-native-inputs qt) '("vulkan-headers")))) -- cgit v1.2.3 From af9afb0bc40ac74b75e820fbd6a6222c82febc9f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 18 Aug 2019 15:48:46 +0200 Subject: gnu: QtWebKit: Increase build timeout. * gnu/packages/qt.scm (qtwebkit)[properties]: New field. --- gnu/packages/qt.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index daef46faf6..52eb46cce0 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2209,6 +2209,9 @@ content") (description "QtWebKit provides a Web browser engine that makes it easy to embed content from the World Wide Web into your Qt application. At the same time Web content can be enhanced with native controls.") + ;; Building QtWebKit takes around 13 hours on an AArch64 machine. Give some + ;; room for slower or busy hardware. + (properties '((timeout . 64800))) ;18 hours (license license:lgpl2.1+))) (define-public dotherside -- cgit v1.2.3 From 4961364f1681ea5c3fc7a988b4f48db448338cb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 6 Sep 2019 22:58:26 +0200 Subject: gnu: qtwebkit: Disable non-x86 builds. * gnu/packages/qt.scm (qtwebkit)[supported-systems]: New field. --- gnu/packages/qt.scm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 52eb46cce0..165b8fd7b4 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2212,6 +2212,12 @@ time Web content can be enhanced with native controls.") ;; Building QtWebKit takes around 13 hours on an AArch64 machine. Give some ;; room for slower or busy hardware. (properties '((timeout . 64800))) ;18 hours + + ;; XXX: This consumes too much RAM to successfully build on AArch64 (e.g., + ;; SoftIron OverDrive with 8 GiB of RAM), so instead of wasting resources, + ;; disable it on non-Intel platforms. + (supported-systems '("x86_64-linux" "i686-linux")) + (license license:lgpl2.1+))) (define-public dotherside -- cgit v1.2.3 From 37a3abb1c6281fb883e114e8bf828817e0c65845 Mon Sep 17 00:00:00 2001 From: John Soo Date: Sat, 6 Jul 2019 09:13:50 -0700 Subject: gnu: Add python-shiboken-2. * gnu/packages/qt.scm (python-shiboken-2): New variable. --- gnu/packages/qt.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 165b8fd7b4..9f012f121c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Nicolas Goaziou ;;; Copyright © 2018 Hartmut Goebel ;;; Copyright © 2018 Eric Bavier +;;; Copyright © 2018 John Soo ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,7 +39,9 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cups) #:use-module (gnu packages databases) @@ -54,6 +57,7 @@ #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages maths) #:use-module (gnu packages nss) #:use-module (gnu packages pciutils) @@ -2283,3 +2287,58 @@ 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 python-shiboken-2 + (let ((revision "1") + ;; Pinned to branches with support for qt 5.11.3 + (commit "4018787a3cc01d632fdca7891ac8aa9487110c26")) + (package + (name "python-shiboken-2") + (version (git-version "v5.11.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + ;; The latest versions of Shiboken live in the pyside repo. + ;; There is another standalone repo only for Shiboken + ;; but it is outdated + (url "https://code.qt.io/pyside/pyside-setup") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0g8jacm2iqd7lw2m7f1dp1nnrsk38bl3m8pihm8zz9gxs8d31sf5")))) + (build-system cmake-build-system) + (inputs + `(("llvm-6" ,llvm-6) + ("clang-6" ,clang-6) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("python-wrapper" ,python-wrapper) + ("qtbase" ,qtbase) + ("qtxmlpatterns" ,qtxmlpatterns))) + (arguments + `(#:tests? #f + ;; FIXME: Building tests fails + #:configure-flags '("-DBUILD_TESTS=off") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-shiboken-dir-only + (lambda _ (chdir "sources/shiboken2") #t)) + (add-before 'configure 'set-build-env + (lambda* (#:key inputs #:allow-other-keys) + (let ((llvm (assoc-ref inputs "llvm-6"))) + (setenv "CLANG_INSTALL_DIR" llvm) + #t)))))) + (home-page "https://wiki.qt.io/Qt_for_Python") + (synopsis + "Shiboken generates bindings for C++ libraries using CPython source code") + (description + "Shiboken generates bindings for C++ libraries using CPython source code") + (license + (list + ;; The main code is GPL3 or LGPL3. + ;; Examples are BSD-3. + license:gpl3 + license:lgpl3 + license:bsd-3))))) -- cgit v1.2.3 From f1c4dbfa552fd543ec89a58ab9fee680272d1663 Mon Sep 17 00:00:00 2001 From: John Soo Date: Mon, 2 Sep 2019 07:27:15 -0700 Subject: gnu: Add python-pyside-2. * gnu/packages/qt.scm (python-pyside-2): New variable. --- gnu/packages/qt.scm | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 9f012f121c..138ca2becb 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2342,3 +2342,86 @@ color-related widgets.") license:gpl3 license:lgpl3 license:bsd-3))))) + +(define-public python-pyside-2 + (let ((revision "1") + ;; Pinned to branches with support for qt 5.11.3 + (commit "4018787a3cc01d632fdca7891ac8aa9487110c26")) + (package + (name "python-pyside-2") + (version (git-version "v5.11.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.qt.io/pyside/pyside-setup") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0g8jacm2iqd7lw2m7f1dp1nnrsk38bl3m8pihm8zz9gxs8d31sf5")))) + (build-system cmake-build-system) + (inputs + `(("libcxx" ,libcxx-6) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("llvm-6" ,llvm-6) + ("clang-6" ,clang-6) + ("qtbase" ,qtbase) + ("qtdatavis3d" ,qtdatavis3d) + ("qtlocation" ,qtlocation) + ("qtmultimedia" ,qtmultimedia) + ("qtquickcontrols" ,qtquickcontrols) + ("qtscript" ,qtscript) + ("qtscxml" ,qtscxml) + ("qtsensors" ,qtsensors) + ("qtspeech" ,qtspeech) + ("qtsvg" ,qtsvg) + ("qtwebchannel" ,qtwebchannel) + ("qtwebsockets" ,qtwebsockets) + ("qtx11extras" ,qtx11extras) + ("qtxmlpatterns" ,qtxmlpatterns))) + (native-inputs + `(("cmake" ,cmake) + ("python-shiboken-2" ,python-shiboken-2) + ("python-wrapper" ,python-wrapper) + ("qttools" ,qttools) + ("which" ,which))) + (arguments + `(#:tests? #f + ;; FIXME: Building tests fail. + #:configure-flags '("-DBUILD_TESTS=FALSE") + #:phases + (modify-phases + %standard-phases + (add-after 'unpack 'go-to-source-dir + (lambda _ (chdir "sources/pyside2") #t)) + (add-before 'configure 'set-clang-dir + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "clang-6")) + (libcxx (assoc-ref inputs "libcxx"))) + (setenv "CLANG_INSTALL_DIR" clang) + (substitute* "cmake/Macros/PySideModules.cmake" + (("--include-paths=") + (string-append "--include-paths=" libcxx "/include/c++/v1:"))) + #t)))))) + (home-page "https://wiki.qt.io/Qt_for_Python") + (synopsis + "The Qt for Python product enables the use of Qt5 APIs in Python applications") + (description + "The Qt for Python product enables the use of Qt5 APIs in Python +applications. It lets Python developers utilize the full potential of Qt, +using the PySide2 module. The PySide2 module provides access to the +individual Qt modules such as QtCore, QtGui,and so on. Qt for Python also +comes with the Shiboken2 CPython binding code generator, which can be used to +generate Python bindings for your C or C++ code.") + (license (list + license:lgpl3 + ;;They state that: + ;; this file may be used under the terms of the GNU General + ;; Public License version 2.0 or (at your option) the GNU + ;; General Public license version 3 or any later version + ;; approved by the KDE Free Qt Foundation. + ;; Thus, it is currently v2 or v3, but no "+". + license:gpl3 + license:gpl2))))) -- cgit v1.2.3 From 2ea8b51a713716f38b99c727a6020aa471718e96 Mon Sep 17 00:00:00 2001 From: John Soo Date: Sat, 6 Jul 2019 18:49:08 -0700 Subject: gnu: Add python-pyside-2-tools. * gnu/packages/qt.scm (python-pyside-2-tools): New variable. --- gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 138ca2becb..3ee3a2c044 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2425,3 +2425,35 @@ generate Python bindings for your C or C++ code.") ;; Thus, it is currently v2 or v3, but no "+". license:gpl3 license:gpl2))))) + +(define-public python-pyside-2-tools + (let ((revision "1") + ;; Pinned to branches with support for qt 5.11.3 + (commit "f1b775537e7fbd718516749583b2abf1cb6adbce")) + (package + (name "python-pyside-2-tools") + (version (git-version "v5.11.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.qt.io/pyside/pyside-tools") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1w2g5afvww9r89wmdm9jx8sz67x4bzy9difkh72n4c73ya1n91ry")))) + (build-system cmake-build-system) + (inputs + `(("python-pyside-2" ,python-pyside-2) + ("python-shiboken-2" ,python-shiboken-2) + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f + #:configure-flags '("-DBUILD_TESTS=off"))) + (home-page "https://wiki.qt.io/Qt_for_Python") + (synopsis + "Contains command line tools for PySide2") + (description + "Contains lupdate, rcc and uic tools for PySide2") + (license license:gpl2)))) -- cgit v1.2.3