From 6f5c67d7250913bde52f47904fda08325a9334a3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jun 2018 12:46:01 +0300 Subject: [PATCH 1/6] gnu: keepassxc: Fix compilation with Qt 5.11. * gnu/packages/password-utils.scm (keepassxc)[arguments]: Add custom 'patch-sources phase to include missing headers. --- gnu/packages/password-utils.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 011cf594d1..497963af63 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Steve Sprang -;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2015 Aljosha Papsch ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 Jessica Tallon @@ -110,7 +110,17 @@ human.") (arguments '(#:configure-flags '("-DWITH_XC_NETWORKING=YES" "-DWITH_XC_BROWSER=YES" - "-DWITH_XC_SSHAGENT=YES"))) + "-DWITH_XC_SSHAGENT=YES") + #:phases + (modify-phases %standard-phases + ;; should be fixed in 2.3.3+, see: + ;; https://github.com/keepassxreboot/keepassxc/pull/1964 + (add-after 'unpack 'patch-sources + (lambda _ + (substitute* "src/gui/entry/EditEntryWidget.cpp" + (("#include ") "#include +#include ")) + #t))))) (inputs `(("argon2" ,argon2) ("curl" ,curl) ; XC_NETWORKING From 4edc431b0f1a8893e950a3ee6c2fdebe9d5a6f7a Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sun, 3 Jun 2018 12:57:52 +0200 Subject: [PATCH 2/6] gnu: w3m: Enable image support. * gnu/packages/w3m.scm (w3m)[inputs]: Add gdk-pixbuf, libx11. --- gnu/packages/w3m.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm index db23b4d8df..4e3264a47e 100644 --- a/gnu/packages/w3m.scm +++ b/gnu/packages/w3m.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017, 2018 Leo Famulari ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2018 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,10 +25,12 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages compression) + #:use-module (gnu packages gtk) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages tls) + #:use-module (gnu packages xorg) #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix git-download) @@ -61,7 +64,9 @@ (("@PERL@") (which "perl"))) #t))))) (inputs - `(("libgc" ,libgc) + `(("gdk-pixbuf" ,gdk-pixbuf) + ("libgc" ,libgc) + ("libx11" ,libx11) ("ncurses" ,ncurses) ("openssl" ,openssl) ("zlib" ,zlib))) From 68ddfb2e8d43de248a64a9baf34ff7002053ede6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jun 2018 13:17:25 +0300 Subject: [PATCH 3/6] gnu: quassel: Fix building with Qt 5.11. * gnu/packages/irc.scm (quassel)[sources]: Add patch. Return #t from snippet. * gnu/packages/patches/quassel-qt-5.11.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/irc.scm | 6 +- gnu/packages/patches/quassel-qt-5.11.patch | 72 ++++++++++++++++++++++ 3 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/quassel-qt-5.11.patch diff --git a/gnu/local.mk b/gnu/local.mk index db04ee0cd8..d291186e36 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1067,6 +1067,7 @@ dist_patch_DATA = \ %D%/packages/patches/qtbase-use-TZDIR.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ + %D%/packages/patches/quassel-qt-5.11.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/rapicorn-isnan.patch \ %D%/packages/patches/raptor2-heap-overflow.patch \ diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 219e803089..993102f272 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -74,13 +74,15 @@ (sha256 (base32 "1qkl3sb4ijx4k17m0c42j2p5bc4jymypwhmplm942rbrzm6mg50q")) + (patches (search-patches "quassel-qt-5.11.patch")) (modules '((guix build utils))) ;; We don't want to install the bundled scripts. (snippet '(begin (delete-file-recursively "data/scripts") (substitute* "data/CMakeLists.txt" - (("NOT WIN32") "WIN32")))))) + (("NOT WIN32") "WIN32")) + #t)))) (build-system cmake-build-system) (arguments ;; The three binaries are not mutually exlusive, and are all built @@ -91,7 +93,7 @@ "-DUSE_QT5=ON" ; default is qt4 "-DWITH_KDE=OFF" ; no to kde integration ... "-DWITH_OXYGEN=ON" ; therefore we install bundled icons - "-DWITH_WEBKIT=OFF") ; qtwebkit isn't packaged + "-DWITH_WEBKIT=OFF") ; we don't depend on qtwebkit #:tests? #f)) ; no test target (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/patches/quassel-qt-5.11.patch b/gnu/packages/patches/quassel-qt-5.11.patch new file mode 100644 index 0000000000..545f8b7610 --- /dev/null +++ b/gnu/packages/patches/quassel-qt-5.11.patch @@ -0,0 +1,72 @@ +https://github.com/quassel/quassel/commit/92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62.patch +This can be removed after quassel 0.12.5. + +From 92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62 Mon Sep 17 00:00:00 2001 +From: Manuel Nickschas +Date: Thu, 3 May 2018 23:19:34 +0200 +Subject: [PATCH] cmake: Fix build with Qt 5.11 + +Qt 5.11 removes the qt5_use_modules function, so add a copy. If +present, the Qt-provided function will be used instead. + +Closes GH-355. +--- + cmake/QuasselMacros.cmake | 38 ++++++++++++++++++++++++++++++++++++++ + 1 file changed, 38 insertions(+) + +diff --git a/cmake/QuasselMacros.cmake b/cmake/QuasselMacros.cmake +index 652c0042d..d77ba1cfb 100644 +--- a/cmake/QuasselMacros.cmake ++++ b/cmake/QuasselMacros.cmake +@@ -5,6 +5,9 @@ + # The qt4_use_modules function was taken from CMake's Qt4Macros.cmake: + # (C) 2005-2009 Kitware, Inc. + # ++# The qt5_use_modules function was taken from Qt 5.10.1 (and modified): ++# (C) 2005-2011 Kitware, Inc. ++# + # Redistribution and use is allowed according to the terms of the BSD license. + # For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +@@ -43,6 +46,41 @@ function(qt4_use_modules _target _link_type) + endforeach() + endfunction() + ++# Qt 5.11 removed the qt5_use_modules function, so we need to provide it until we can switch to a modern CMake version. ++# If present, the Qt-provided version will be used automatically instead. ++function(qt5_use_modules _target _link_type) ++ if (NOT TARGET ${_target}) ++ message(FATAL_ERROR "The first argument to qt5_use_modules must be an existing target.") ++ endif() ++ if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE" ) ++ set(_qt5_modules ${ARGN}) ++ set(_qt5_link_type ${_link_type}) ++ else() ++ set(_qt5_modules ${_link_type} ${ARGN}) ++ endif() ++ ++ if ("${_qt5_modules}" STREQUAL "") ++ message(FATAL_ERROR "qt5_use_modules requires at least one Qt module to use.") ++ endif() ++ foreach(_module ${_qt5_modules}) ++ if (NOT Qt5${_module}_FOUND) ++ find_package(Qt5${_module} PATHS "${_Qt5_COMPONENT_PATH}" NO_DEFAULT_PATH) ++ if (NOT Qt5${_module}_FOUND) ++ message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.") ++ endif() ++ endif() ++ target_link_libraries(${_target} ${_qt5_link_type} ${Qt5${_module}_LIBRARIES}) ++ set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS}) ++ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS}) ++ if (Qt5_POSITION_INDEPENDENT_CODE ++ AND (CMAKE_VERSION VERSION_LESS 2.8.12 ++ AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU" ++ OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0))) ++ set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE}) ++ endif() ++ endforeach() ++endfunction() ++ + # Some wrappers for simplifying dual-Qt support + + function(qt_use_modules) From d53e5b366d03ce29a16d96fbf91075a2de5bbd55 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jun 2018 19:09:12 +0300 Subject: [PATCH 4/6] gnu: gcompris-qt: Update to 0.91. * gnu/packages/education.scm (gcompris-qt): Update to 0.91. [arguments]: Add custom phase to fix building with Qt 5.11. --- gnu/packages/education.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 03050ffd0a..15b893c30d 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -115,7 +115,7 @@ of categories with some of the activities available in that category. (define-public gcompris-qt (package (name "gcompris-qt") - (version "0.90") + (version "0.91") (source (origin (method url-fetch) @@ -124,11 +124,18 @@ of categories with some of the activities available in that category. version ".tar.xz")) (sha256 (base32 - "1i5adxnhig849qxwi3c4v7r84q6agx1zxkd69fh4y7lcmq2qiaza")))) + "09h098w9q79hnzla1pcpqlnnr6dbafm4q6zmdp7wlk11ym8n9kvg")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-for-qt5.11 + (lambda _ + (substitute* "src/core/CMakeLists.txt" + (("qt5_use_modules") "target_link_libraries") + (("Qml Quick Gui Multimedia Network XmlPatterns Svg Xml Sensors Core") + "Qt5::Qml Qt5::Quick Qt5::Gui Qt5::Multimedia Qt5::Core Qt5::Svg Qt5::Xml Qt5::XmlPatterns Qt5::Sensors")) + #t)) (add-after 'install 'wrap-executable (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) From 9cdd868450c678f28e5be3bec7ea63c3ec28a99e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 4 Jun 2018 10:47:50 +0300 Subject: [PATCH 5/6] gnu: python-sip: Update to 4.19.8. * gnu/packages/qt.scm (python-sip): Update to 4.19.8. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index a48a04fe48..67e8f895e9 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1519,7 +1519,7 @@ message."))) (define-public python-sip (package (name "python-sip") - (version "4.19.3") + (version "4.19.8") (source (origin (method url-fetch) @@ -1528,7 +1528,7 @@ message."))) "sip-" version "/sip-" version ".tar.gz")) (sha256 (base32 - "0x2bghbprwl3az1ni3p87i0bq8r99694la93kg65vi0cz12gh3bl")))) + "1g4pq9vj753r2s061jc4y9ydzgb48ibhc9bdvmb8mlyllwp7mbvy")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-wrapper))) From c0e7a52996edf75a403ef6c454072271fd1c277a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 4 Jun 2018 10:48:55 +0300 Subject: [PATCH 6/6] gnu: python-pyqt: Update to 5.10.1. * gnu/packages/qt.scm (python-pyqt): Update to 5.10.1. [inputs]: Remove qtwebkit. [arguments]: Add custom phase to fix compilation with Qt 5.11. --- gnu/packages/qt.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 67e8f895e9..297ddb169c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1582,7 +1582,7 @@ module provides support functions to the automatically generated code.") (define-public python-pyqt (package (name "python-pyqt") - (version "5.9") + (version "5.10.1") (source (origin (method url-fetch) @@ -1592,7 +1592,7 @@ module provides support functions to the automatically generated code.") version ".tar.gz")) (sha256 (base32 - "15hh4z5vd45dcswjla58q6rrfr6ic7jfz2n7c8lwfb10rycpj3mb")) + "1vz9c4v0k8azk2b08swwybrshzw32x8djjpq13mf9v15x1qyjclr")) (patches (search-patches "pyqt-configure.patch")))) (build-system gnu-build-system) (native-inputs @@ -1611,7 +1611,7 @@ module provides support functions to the automatically generated code.") ("qtsvg" ,qtsvg) ("qttools" ,qttools) ("qtwebchannel" ,qtwebchannel) - ("qtwebkit" ,qtwebkit) + ;("qtwebkit" ,qtwebkit) ("qtwebsockets" ,qtwebsockets) ("qtx11extras" ,qtx11extras) ("qtxmlpatterns" ,qtxmlpatterns))) @@ -1620,6 +1620,12 @@ module provides support functions to the automatically generated code.") ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-build-with-qt-5.11 + ;; See: https://bugs.gentoo.org/654742 + (lambda _ + (substitute* "sip/QtTest/qtestmouse.sip" + (("void waitForEvents\\(\\) /ReleaseGIL/;") "")) + #t)) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))