unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#39268] [PATCH 0/2] Add phase `check-setup` to qt-build-system.
@ 2020-01-24 16:22 Hartmut Goebel
  2020-01-24 16:22 ` [bug#39269] [PATCH 1/2] guix: qt-build-system: Add phase `check-setup` Hartmut Goebel
  2020-01-24 16:22 ` [bug#39270] [PATCH 2/2] gnu: Cleanup KDE packages to use the update qt-build-system Hartmut Goebel
  0 siblings, 2 replies; 8+ messages in thread
From: Hartmut Goebel @ 2020-01-24 16:22 UTC (permalink / raw)
  To: 39268; +Cc: Danny Milosavljevic, Efraim Flashner

As Danny and Efraim suggested in
<https://lists.gnu.org/archive/html/guix-patches/2020-01/msg00852.html>
and
<https://lists.gnu.org/archive/html/guix-devel/2020-01/msg00402.html>
this moves (setenv "QT_QPA_PLATFORM" "offscreen") into a phase of its own.

I added setting DBUS_FATAL_WARNINGS and CTEST_OUTPUT_ON_FAILURE, which are
comonly used, too. I did not add an TZ yet, since these are rarely used in
kde*.scm

Pleae note: There are stll quite some QPA_PLATFORM=offscreen in kde*.scm, in
cases where other preparations are required.


Hartmut Goebel (2):
  guix: qt-build-system: Add phase `check-setup`.
  gnu: Cleanup KDE packages to use the update qt-build-system.

 doc/guix.texi                   |  25 ++++-
 gnu/packages/kde-frameworks.scm | 158 ++++----------------------------
 gnu/packages/kde-plasma.scm     |  27 +-----
 gnu/packages/kde-utils.scm      |  16 ----
 gnu/packages/kde.scm            |  25 +----
 guix/build/qt-build-system.scm  |  14 ++-
 6 files changed, 59 insertions(+), 206 deletions(-)

-- 
2.21.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#39269] [PATCH 1/2] guix: qt-build-system: Add phase `check-setup`.
  2020-01-24 16:22 [bug#39268] [PATCH 0/2] Add phase `check-setup` to qt-build-system Hartmut Goebel
@ 2020-01-24 16:22 ` Hartmut Goebel
  2020-01-25 11:07   ` Danny Milosavljevic
  2020-01-25 19:34   ` [bug#39269] " Tobias Geerinckx-Rice via Guix-patches via
  2020-01-24 16:22 ` [bug#39270] [PATCH 2/2] gnu: Cleanup KDE packages to use the update qt-build-system Hartmut Goebel
  1 sibling, 2 replies; 8+ messages in thread
From: Hartmut Goebel @ 2020-01-24 16:22 UTC (permalink / raw)
  To: 39269

* guix/build/qt-build-system.scm (check-setup): New function.
  (%standard-phases): Add as new phase `check-setup before `check.
* doc/guix.texi (Build System)[qt-build-system]: Describe the new phase.
---
 doc/guix.texi                  | 25 +++++++++++++++++++++----
 guix/build/qt-build-system.scm | 14 +++++++++++++-
 2 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index d674b9484f..71365c5269 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -47,7 +47,7 @@ Copyright @copyright{} 2017 Thomas Danckaert@*
 Copyright @copyright{} 2017 humanitiesNerd@*
 Copyright @copyright{} 2017 Christopher Allan Webber@*
 Copyright @copyright{} 2017, 2018, 2019 Marius Bakke@*
-Copyright @copyright{} 2017, 2019 Hartmut Goebel@*
+Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@*
 Copyright @copyright{} 2017, 2019 Maxim Cournoyer@*
 Copyright @copyright{} 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice@*
 Copyright @copyright{} 2017 George Clemmer@*
@@ -6447,10 +6447,24 @@ Which Perl package is used can be specified with @code{#:perl}.
 This variable is exported by @code{(guix build-system qt)}.  It
 is intended for use with applications using Qt or KDE.
 
-This build system adds the phase @code{qt-wrap} to the ones defined by
-@code{cmake-build-system}, after the @code{install} phase.
+This build system adds the following two phases to the ones defined by
+@code{cmake-build-system}:
 
-This phase searches for Qt5 plugin paths, QML paths and some XDG in the inputs
+@table @code
+@item check-setup
+The phase @code{check-setup} prepares the environment for running
+the checks as commonly used by Qt test programs.
+For now this only sets some environment variables:
+@code{QT_QPA_PLATFORM=offscreen},
+@code{DBUS_FATAL_WARNINGS=0} and
+@code{CTEST_OUTPUT_ON_FAILURE=1}.
+
+This phase is added before the @code{check} phase.
+It's a separate phase to ease adjusting if necessary.
+
+@item qt-wrap
+The phase @code{qt-wrap}
+searches for Qt5 plugin paths, QML paths and some XDG in the inputs
 and output.  In case some path is found, all programs in the output's
 @file{bin/}, @file{sbin/}, @file{libexec/} and @file{lib/libexec/} directories
 are wrapped in scripts defining the necessary environment variables.
@@ -6460,6 +6474,9 @@ by listing their names in the @code{#:qt-wrap-excluded-outputs} parameter.
 This is useful when an output is known not to contain any Qt binaries, and
 where wrapping would gratuitously add a dependency of that output on Qt, KDE,
 or such.
+
+This phase is added after the @code{install} phase.
+@end table
 @end defvr
 
 @defvr {Scheme Variable} r-build-system
diff --git a/guix/build/qt-build-system.scm b/guix/build/qt-build-system.scm
index be2b808901..005157b0a4 100644
--- a/guix/build/qt-build-system.scm
+++ b/guix/build/qt-build-system.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,6 +36,17 @@
 ;;
 ;; Code:
 
+(define* (check-setup #:rest args)
+  ;; Make Qt render "offscreen". In many cases this allows to run tests
+  ;; without starting a X11 server.
+  (setenv "QT_QPA_PLATFORM" "offscreen")
+  ;; Qt/KDE tests often need dbus (`dbus-launch …`) which is not fully
+  ;; set-up the the build container.
+  (setenv "DBUS_FATAL_WARNINGS" "0")
+  ;; Set here to ease overwriting 'check (even if set there, too)
+  (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+  #t)
+
 (define (variables-for-wrapping base-directories)
 
   (define (collect-sub-dirs base-directories subdirectory)
@@ -101,6 +112,7 @@ add a dependency of that output on Qt."
 
 (define %standard-phases
   (modify-phases cmake:%standard-phases
+    (add-before 'check 'check-setup check-setup)
     (add-after 'install 'qt-wrap wrap-all-programs)))
 
 (define* (qt-build #:key inputs (phases %standard-phases)
-- 
2.21.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#39270] [PATCH 2/2] gnu: Cleanup KDE packages to use the update qt-build-system.
  2020-01-24 16:22 [bug#39268] [PATCH 0/2] Add phase `check-setup` to qt-build-system Hartmut Goebel
  2020-01-24 16:22 ` [bug#39269] [PATCH 1/2] guix: qt-build-system: Add phase `check-setup` Hartmut Goebel
@ 2020-01-24 16:22 ` Hartmut Goebel
  2020-01-25 11:07   ` Danny Milosavljevic
  1 sibling, 1 reply; 8+ messages in thread
From: Hartmut Goebel @ 2020-01-24 16:22 UTC (permalink / raw)
  To: 39270

* gnu/packages/kde.scm (grantleetheme): [arguments] Remove.
  (kdeconnect)[arguments]<phases>{check-setup}: Remove.
  libkdegames: Use qt-build-system. [arguments]: Remove.
* gnu/packages/kde-frameworks.scm (kguiaddons, kitemmodels,
  kitemviews, kplotting, sonnet, kcompletion, kcrash, kdesignerplugin,
  kglobalaccel, kparts, ktextwidgets, khtml, kmediaplayer): Use
  qt-build-system. [arguments]: Remove.
  (kpeople): Use qt-build-system. [arguments]<phases>: Remove.
  (kconfigwidgets, kwidgetsaddons) Use qt-build-system.
  [arguments]<phases>{check-setup}: Remove.
* gnu/packages/kde-plasma.scm (kdecoration) Use qt-build-system.
  [arguments]: Remove.
  (libkscreen): Use qt-build-system. [arguments]<phases>: Remove.
  (libksysguard): Use qt-build-system.
  [arguments]<phases>{check-setup}: Remove.
* gnu/packages/kde-utils.scm (kronometer, rsibreak): [arguments]
  Remove.
---
 gnu/packages/kde-frameworks.scm | 158 ++++----------------------------
 gnu/packages/kde-plasma.scm     |  27 +-----
 gnu/packages/kde-utils.scm      |  16 ----
 gnu/packages/kde.scm            |  25 +----
 4 files changed, 25 insertions(+), 201 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 9230bb71c0..aab54ec4fb 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -24,6 +24,7 @@
 
 (define-module (gnu packages kde-frameworks)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system qt)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -702,7 +703,7 @@ infrastructure.")
               (sha256
                (base32
                 "0k22kargqxf0j09wzk1x90b526npj8a0210ilk0n1k6spc8xa6mr"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     ;; TODO: Build packages for the Python bindings.  Ideally this will be
     ;; done for all versions of python guix supports.  Requires python,
     ;; python-sip, clang-python, libclang.  Requires python-2 in all cases for
@@ -713,14 +714,6 @@ infrastructure.")
     (inputs
      `(("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Utilities for graphical user interfaces")
     (description "The KDE GUI addons provide utilities for graphical user
@@ -885,20 +878,12 @@ of applications that follow the Kirigami Human Interface Guidelines.")
               (sha256
                (base32
                 "10bhg0db9gdg2hlc02ngg1i2q7a99862d5973hxqzf620d28p5rd"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
      `(("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Set of item models extending the Qt model-view framework")
     (description "KItemModels provides the following models:
@@ -944,21 +929,12 @@ model to observers
               (sha256
                (base32
                 "15h0w16wgj94kxz4vgjb34i3pyx5w1f2npj86j4d2sa0mxxpmqyz"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)))
     (inputs
      `(("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Set of item views extending the Qt model-view framework")
     (description "KItemViews includes a set of views, which can be used with
@@ -979,20 +955,12 @@ to flat and hierarchical lists.")
               (sha256
                (base32
                 "11kpq34j37c1gsvj5nxhkc31bw8gw2n7nkqsfx87jw9f4v2vhmr9"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
      `(("qtbase" ,qtbase)
        ("qttools" ,qttools)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _ ; kplotting
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Data plotting library")
     (description "KPlotWidget is a QWidget-derived class that provides a virtual
@@ -1104,7 +1072,7 @@ represented by a QPoint or a QSize.")
               (sha256
                (base32
                 "1nzgv3v3kyq5jm2b9xri6qjawspr9ycxhskfvj8kkgr46dr35qyc"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)
@@ -1114,12 +1082,6 @@ represented by a QPoint or a QSize.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             #t))
          (add-before 'check 'start-xorg-server
            (lambda* (#:key inputs #:allow-other-keys)
              ;; The test suite requires a running X server.
@@ -1414,15 +1376,7 @@ system.")
               (sha256
                (base32
                 "0gqxmyxmwn2rs9f8x2z8pfmbx0mvkyh7nalnsmfqkph8f0fja9ig"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)
@@ -1573,7 +1527,7 @@ utilities.")
               (sha256
                (base32
                 "10ggypg09acc19gkvxsigfsaq8s5vqv64ada307blpzy8j74bisb"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)))
@@ -1581,14 +1535,6 @@ utilities.")
      `(("kconfig" ,kconfig)
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Powerful autocompletion framework and widgets")
     (description "This framework helps implement autocompletion in Qt-based
@@ -1653,7 +1599,7 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca.
               (sha256
                (base32
                 "1xl3bzxfchfafcplil3g07gq1a3fnwx1i40bxp4jfsgb8d8slfwc"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
@@ -1661,14 +1607,6 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca.
        ("kwindowsystem" ,kwindowsystem)
        ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Graceful handling of application crashes")
     (description "KCrash provides support for intercepting and handling
@@ -2291,7 +2229,7 @@ KCModules can be created with the KConfigWidgets framework.")
               (sha256
                (base32
                 "098xdfvnyz9bdkc6iyq5r2s4vkfdhbrri4015yzbs73j4f2wcxz5"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (propagated-inputs
      `(("kauth" ,kauth)
        ("kcodecs" ,kcodecs)
@@ -2316,11 +2254,6 @@ KCModules can be created with the KConfigWidgets framework.")
                ;; make QDirIterator follow symlinks
                (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
                 (string-append a " | QDirIterator::FollowSymlinks" b)))
-             #t))
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Widgets for configuration dialogs")
@@ -2439,7 +2372,7 @@ started on demand.")
               (sha256
                (base32
                 "1w7glszd82iyw6kxzmp0568rm3qfadi7vw7gfxg4c15w5ikkvxn9"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)))
@@ -2461,14 +2394,6 @@ started on demand.")
        ("kxmlgui" ,kxmlgui)
        ("qtwebkit" ,qtwebkit)
        ("sonnet" ,sonnet)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Integrating KDE frameworks widgets with Qt Designer")
     (description "This framework provides plugins for Qt Designer that allow it
@@ -2594,7 +2519,7 @@ emoticons coming from different providers.")
               (sha256
                (base32
                 "1xpfvwnrj81mk3di02n37b469gxzmnk89icmcz6wwyk54m86fw76"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)
@@ -2610,14 +2535,6 @@ emoticons coming from different providers.")
        ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)
        ("xcb-util-keysyms" ,xcb-util-keysyms)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Global desktop keyboard shortcuts")
     (description "KGlobalAccel allows you to have global accelerators that are
@@ -2947,7 +2864,7 @@ notifications which can be embedded in your application.")
               (sha256
                (base32
                 "0md0349r4mdm2r04p5s3pgm17v4w40r3kz58lzp6qfcw25b969nw"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (propagated-inputs
      `(("kio" ,kio)
        ("ktextwidgets" ,ktextwidgets)
@@ -2972,14 +2889,6 @@ notifications which can be embedded in your application.")
        ("qtbase" ,qtbase)
        ("solid" ,solid)
        ("sonnet" ,sonnet)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Plugin framework for user interface components")
     (description "This library implements the framework for KDE parts, which are
@@ -2999,7 +2908,7 @@ widgets with a user-interface defined in terms of actions.")
               (sha256
                (base32
                 "1q2hh2i8hd638p907g0srdxmxm9h2ay91dmhslqzcgwnlhln4gfl"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
@@ -3012,14 +2921,7 @@ widgets with a user-interface defined in terms of actions.")
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)))
     (arguments
-     `(#:tests? #f ; FIXME: 1/3 tests fail.
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+     `(#:tests? #f)) ; FIXME: 1/3 tests fail.
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Provides access to all contacts and aggregates them by person")
     (description "KPeople offers unified access to our contacts from different
@@ -3252,7 +3154,7 @@ library.")
               (sha256
                (base32
                 "1qb1mad5bg19xwykzpwk2b3s505ka4jkg0fsi56ri57wq8gv4qha"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (propagated-inputs
      `(("ki18n" ,ki18n)
        ("sonnet" ,sonnet)))
@@ -3272,14 +3174,6 @@ library.")
        ("kwindowsystem" ,kwindowsystem)
        ("qtbase" ,qtbase)
        ("qtspeech" ,qtspeech)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Text editing widgets")
     (description "KTextWidgets provides widgets for displaying and editing text.
@@ -3747,7 +3641,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.")
              name "-" version ".tar.xz"))
        (sha256
         (base32 "15f77r6dxkkvi2vxvxlwa7qz3whmz229g79bgadiwffmzxja0ywd"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("perl" ,perl)))
@@ -3775,14 +3669,6 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.")
        ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)
        ("sonnet" ,sonnet)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; Make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE Frameworks 5 HTML widget and component")
     (description "KHTML is a web rendering engine, based on the KParts
@@ -3868,7 +3754,7 @@ QObjects, so you can script your applications.")
              name "-" version ".tar.xz"))
        (sha256
         (base32 "19v53h3lkys3ryrjacrdng9ak91g03b9s986xhnw1r84zy242kdm"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("kdoctools" ,kdoctools)
@@ -3883,14 +3769,6 @@ QObjects, so you can script your applications.")
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("kxmlgui" ,kxmlgui)
        ("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; Make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE Frameworks 5 plugin interface for media player features")
     (description "KMediaPlayer builds on the KParts framework to provide a
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index e4360362db..e2d448c6d5 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -25,6 +25,7 @@
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system qt)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages glib)
@@ -45,17 +46,12 @@
               (sha256
                (base32
                 "0rljpywpaqmar13jijphkpc9k1crma476j9my0d00hfrjil5xlnn"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
      `(("ki18n" ,ki18n)
        ("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _ (setenv "QT_QPA_PLATFORM" "offscreen") #t)))))
     (home-page "https://cgit.kde.org/kdecoration.git")
     (synopsis "Plugin based library to create window decorations")
     (description "KDecoration is a library to create window decorations.
@@ -137,7 +133,7 @@ manager which re-parents a Client window to a window decoration frame.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32 "0znxfqqyyij6i4dp95gf5g4vrhg4jsshgh2k13ldy294kby2mxw0"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ;; For testing.
@@ -148,16 +144,7 @@ manager which re-parents a Client window to a window decoration frame.")
        ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)))
     (arguments
-     '(#:tests? #f         ; FIXME: 55% tests passed, 5 tests failed out of 11
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'pre-check
-           (lambda _
-             ;; For the missing '/etc/machine-id'.
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             ;; Run the tests offscreen.
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+     '(#:tests? #f)) ;; FIXME: 55% tests passed, 5 tests failed out of 11
     (home-page "https://community.kde.org/Solid/Projects/ScreenManagement")
     (synopsis "KDE's screen management software")
     (description "KScreen is the new screen management software for KDE Plasma
@@ -199,7 +186,7 @@ basic needs and easy to configure for those who want special setups.")
        ("qtx11extras" ,qtx11extras)
        ("plasma" ,plasma-framework)
        ("zlib" ,zlib)))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (arguments
      `(#:configure-flags
        `(,(string-append "-DKDE_INSTALL_DATADIR="
@@ -212,10 +199,6 @@ basic needs and easy to configure for those who want special setups.")
              ;; KF5AuthConfig.cmake.in contains this already.
              (substitute* "processcore/CMakeLists.txt"
                (("KAUTH_HELPER_INSTALL_DIR") "KDE_INSTALL_LIBEXECDIR"))))
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")))
          (replace 'check
            (lambda _
              ;; TODO: Fix this failing test-case
diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index 9005b5014a..38bdfbfaba 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -233,14 +233,6 @@ sentences to be re-spoken.")
        ("kxmlgui" ,kxmlgui)
        ("oxygen-icons" ,oxygen-icons) ;; default icon set
        ("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://kde.org/applications/utilities/org.kde.kronometer")
     (synopsis "Simple stopwatch application")
     (description "Kronometer is a stopwatch application.  It features the
@@ -399,14 +391,6 @@ redone.")
        ("kxmlgui" ,kxmlgui)
        ("oxygen-icons" ,oxygen-icons) ;; default icon set
        ("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://kde.org/applications/utilities/org.kde.rsibreak")
     (synopsis "Assists in the Recovery and Prevention of Repetitive Strain
 Injury")
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index bb5c25014e..0c62fd9dba 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -89,13 +89,6 @@
        ("kiconthemes" ,kiconthemes)
        ("knewstuff" ,knewstuff)
        ("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://cgit.kde.org/grantleetheme.git")
     (synopsis "Library providing Grantlee theme support")
     (description "This library provides Grantlee theme support.")
@@ -521,13 +514,7 @@ different notification systems.")
     (build-system qt-build-system)
     (arguments
      `(#:configure-flags '("-DBUILD_TESTING=ON")
-       #:tests? #f ; tests fail hard in our build environment
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+       #:tests? #f)) ; tests fail hard in our build environment
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("kdoctools" ,kdoctools)
@@ -644,7 +631,7 @@ Python, PHP, and Perl.")
                           "/src/libkdegames-" version ".tar.xz"))
       (sha256
        (base32 "12dvkmjgbi8dp9y55zmx1pw3zr2i374c4vn3mfn9r31bf06dr701"))))
-    (build-system cmake-build-system)
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
@@ -674,14 +661,6 @@ Python, PHP, and Perl.")
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
        ("qtsvg" ,qtsvg)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://games.kde.org/")
     (synopsis "Runtime library for kdegames")
     (description "Runtime library for kdegames")
-- 
2.21.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#39270] [PATCH 2/2] gnu: Cleanup KDE packages to use the update qt-build-system.
  2020-01-24 16:22 ` [bug#39270] [PATCH 2/2] gnu: Cleanup KDE packages to use the update qt-build-system Hartmut Goebel
@ 2020-01-25 11:07   ` Danny Milosavljevic
  0 siblings, 0 replies; 8+ messages in thread
From: Danny Milosavljevic @ 2020-01-25 11:07 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: 39270

[-- Attachment #1: Type: text/plain, Size: 320 bytes --]

Hi Hartmut,

> diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
[...]
> @@ -148,16 +144,7 @@ manager which re-parents a Client window to a window decoration frame.")
[...]
> +     '(#:tests? #f)) ;; FIXME: 55% tests passed, 5 tests failed out of 11

Only one semicolon.

Otherwise LGTM!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#39269] [PATCH 1/2] guix: qt-build-system: Add phase `check-setup`.
  2020-01-24 16:22 ` [bug#39269] [PATCH 1/2] guix: qt-build-system: Add phase `check-setup` Hartmut Goebel
@ 2020-01-25 11:07   ` Danny Milosavljevic
  2020-01-25 13:29     ` Hartmut Goebel
  2020-01-25 19:34   ` [bug#39269] " Tobias Geerinckx-Rice via Guix-patches via
  1 sibling, 1 reply; 8+ messages in thread
From: Danny Milosavljevic @ 2020-01-25 11:07 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: 39269

[-- Attachment #1: Type: text/plain, Size: 7 bytes --]

LGTM!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#39269] [PATCH 1/2] guix: qt-build-system: Add phase `check-setup`.
  2020-01-25 11:07   ` Danny Milosavljevic
@ 2020-01-25 13:29     ` Hartmut Goebel
  2020-01-28 12:05       ` bug#39269: " Hartmut Goebel
  0 siblings, 1 reply; 8+ messages in thread
From: Hartmut Goebel @ 2020-01-25 13:29 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 39269


[-- Attachment #1.1: Type: text/plain, Size: 512 bytes --]

Am 25.01.20 um 12:07 schrieb Danny Milosavljevic:
> LGTM!

Thanks. I just wonder whether this change shall go into staging?!

$ git grep qt-build-system gnu/packages/*.scm | wc -l
90

Out of which 47 are framework packages wich additional dependencies:

$ git grep qt-build-system gnu/packages/kde*.scm | wc -l
47

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#39269] [PATCH 1/2] guix: qt-build-system: Add phase `check-setup`.
  2020-01-24 16:22 ` [bug#39269] [PATCH 1/2] guix: qt-build-system: Add phase `check-setup` Hartmut Goebel
  2020-01-25 11:07   ` Danny Milosavljevic
@ 2020-01-25 19:34   ` Tobias Geerinckx-Rice via Guix-patches via
  1 sibling, 0 replies; 8+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2020-01-25 19:34 UTC (permalink / raw)
  To: 39269

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

Hartmut Goebel 写道:
> * guix/build/qt-build-system.scm (check-setup): New function.
>   (%standard-phases): Add as new phase `check-setup before 
>   `check.

LGTM with one tweak: please rename this to ‘set-up-tests’ or 
similar.

Guix's phase naming implies that ‘check-setup’ checks something 
called setup.

Thanks!

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#39269: [PATCH 1/2] guix: qt-build-system: Add phase `check-setup`.
  2020-01-25 13:29     ` Hartmut Goebel
@ 2020-01-28 12:05       ` Hartmut Goebel
  0 siblings, 0 replies; 8+ messages in thread
From: Hartmut Goebel @ 2020-01-28 12:05 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 39269-close


[-- Attachment #1.1: Type: text/plain, Size: 284 bytes --]

I now pushed thi to staging as cd165d105a35da9094b70d0e5d5320a4a6ac8c0d

Thansk for the review

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-01-28 12:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-24 16:22 [bug#39268] [PATCH 0/2] Add phase `check-setup` to qt-build-system Hartmut Goebel
2020-01-24 16:22 ` [bug#39269] [PATCH 1/2] guix: qt-build-system: Add phase `check-setup` Hartmut Goebel
2020-01-25 11:07   ` Danny Milosavljevic
2020-01-25 13:29     ` Hartmut Goebel
2020-01-28 12:05       ` bug#39269: " Hartmut Goebel
2020-01-25 19:34   ` [bug#39269] " Tobias Geerinckx-Rice via Guix-patches via
2020-01-24 16:22 ` [bug#39270] [PATCH 2/2] gnu: Cleanup KDE packages to use the update qt-build-system Hartmut Goebel
2020-01-25 11:07   ` Danny Milosavljevic

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).