GNU bug report logs - #73573
[PATCH] gnu: skia: Honor tests? argument

Previous Next

Package: guix-patches;

Reported by: Dariqq <dariqq <at> posteo.net>

Date: Mon, 30 Sep 2024 20:31:02 UTC

Severity: normal

Tags: patch

Done: Tobias Geerinckx-Rice <me <at> tobias.gr>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#73573: closed ([PATCH] gnu: skia: Honor tests? argument)
Date: Mon, 30 Sep 2024 21:11:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 30 Sep 2024 22:43:41 +0200
with message-id <5ca7343b6690c4807487a16897a51552 <at> tobias.gr>
and subject line Re: [bug#73573] [PATCH] gnu: skia: Honor tests? argument
has caused the debbugs.gnu.org bug report #73573,
regarding [PATCH] gnu: skia: Honor tests? argument
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
73573: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73573
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Dariqq <dariqq <at> posteo.net>
To: guix-patches <at> gnu.org
Cc: Dariqq <dariqq <at> posteo.net>
Subject: [PATCH] gnu: skia: Honor tests? argument
Date: Mon, 30 Sep 2024 20:21:44 +0000
* gnu/packages/graphics.scm (skia):
[#:phases]: Allow skipping of 'check phase.

Change-Id: I529d91cf9cedfe36fa14a2ae514589810054eac8
---
The tests are failing on i686-linux. This makes it possible to use --without-tests to easily skip them.

 gnu/packages/graphics.scm | 262 +++++++++++++++++++-------------------
 1 file changed, 132 insertions(+), 130 deletions(-)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 7ed5cdc92d..f5e0ca7352 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2223,136 +2223,138 @@ (define-public skia
 Libs: -L${libdir} -lskia
 Cflags: -I${includedir}~%" #$output #$version)))))
             (replace 'check
-              (lambda* (#:key inputs native-inputs #:allow-other-keys)
-                (let ((icu #$(this-package-native-input "icu4c-for-skia")))
-                  ;; Unbundle SPIRV-Tools dependency.
-                  (substitute* "BUILD.gn"
-                    (("deps \\+= \\[ \"//third_party/externals/spirv-tools:spvtools_val\" \\]")
-                      "libs += [ \"SPIRV-Tools\" ]"))
-                  (substitute* "src/sksl/SkSLCompiler.cpp"
-                    (("\"spirv-tools/libspirv.hpp\"")
-                     "<libspirv.hpp>"))
-                  ;; Configure ICU dependency.
-                  (substitute* "third_party/icu/BUILD.gn"
-                    (("data_dir = \"\\.\\./externals/icu/\"")
-                     (string-append "data_dir = \"" icu "/share/data/\""))
-                    (("script = \"\\.\\./externals/icu/scripts/")
-                     (string-append "script = \"" icu "/share/scripts/"))
-                    (("\\.\\./externals/icu/common/icudtl\\.dat")
-                     (string-append icu "/share/data/icudtl.dat"))
-                    (("sources = icu_sources")
-                     "")
-                    (("sources \\+= \\[ \"\\$data_assembly\" \\]")
-                     "sources = [ \"$data_assembly\" ]"))
-                  ;; Enable system libraries without is_official_build=true.
-                  ;; This is necessary because is_official_build prevents from
-                  ;; building dm.
-                  (for-each
-                   (lambda (libname)
-                     (let ((snake (string-join (string-split libname #\-) "_")))
-                       (substitute*
-                           (string-append "third_party/" libname "/BUILD.gn")
-                         (((string-append "skia_use_system_"
-                                          snake
-                                          " = is_official_build.*"))
-                          (string-append "skia_use_system_" snake " = true")))))
-                   '("zlib" "libjpeg-turbo" "harfbuzz" "libpng" "libwebp"))
-                  ;; Configure with gn.
-                  (invoke "gn" "gen" "out/Debug"
-                          (string-append
-                           "--args="
-                           "cc=\"gcc\" "              ;defaults to 'cc'
-                           "skia_compile_sksl_tests=false " ; disable some tests
-                           "skia_use_perfetto=false " ; disable performance tests
-                           "skia_use_wuffs=false "  ; missing performance tool
-                           "skia_use_system_expat=true " ; use system expat library
-                           "skia_use_system_zlib=true " ; use system zlib library
-                           ;; Specify where to locate the includes.
-                           "extra_cflags=["
-                           (string-join
-                            (map
-                             (lambda (lib)
-                               (string-append
-                                "\"-I"
-                                (search-input-directory
-                                 inputs
-                                 (string-append "include/" lib)) "\""))
-                             '("harfbuzz"
-                               "freetype2"
-                               "spirv-tools"
-                               "spirv"
-                               "unicode"))
-                            ",")
-                           "] "
-                           ;; Otherwise the validate-runpath phase fails.
-                           "extra_ldflags=["
-                           "\"-Wl,-rpath=" #$output "/lib\""
-                           "] "
-                           ;; Disabled, otherwise the build system attempts to
-                           ;; download the SDK at build time.
-                           "skia_use_dng_sdk=false "
-                           "skia_use_runtime_icu=true "))
-                  ;; Build dm testing tool.
-                  (symlink
-                   (string-append #$(this-package-native-input "gn") "/bin/gn")
-                   "./bin/gn")
-                  (invoke "ninja" "-C" "out/Debug" "dm")
-                  ;; The test suite requires an X server.
-                  (let ((xvfb (search-input-file (or native-inputs inputs)
-                                                 "bin/Xvfb"))
-                        (display ":1"))
-                    (setenv "DISPLAY" display)
-                    (system (string-append xvfb " " display " &")))
-                  ;; Run tests.
-                  (invoke "out/Debug/dm" "-v"
-                          "-w" "dm_output"
-                          "--codecWritePath" "dm_output"
-                          "--simpleCodec"
-                          "--skip"
-                          ;; The underscores are part of the dm syntax for
-                          ;; skipping tests.
-                          ;; These tests fail with segmentation fault.
-                          "_" "_" "_" "Codec_trunc"
-                          "_" "_" "_" "AnimCodecPlayer"
-                          "_" "_" "_" "Codec_partialAnim"
-                          "_" "_" "_" "Codec_InvalidImages"
-                          "_" "_" "_" "Codec_GifInterlacedTruncated"
-                          ;; This test started failing possibly after mesa
-                          ;; being updated to 23.2.1 and possibly only on some
-                          ;; hardware.
-                          "_" "_" "_" "SkRuntimeBlender_GPU"
-                          "_" "_" "_" "SkText_UnicodeText_Flags"
-                          "_" "_" "_" "SkParagraph_FontStyle"
-                          "_" "_" "_" "flight_animated_image"
-                          ;; These tests fail because of Codec/Sk failure.
-                          "_" "_" "_" "AndroidCodec_computeSampleSize"
-                          "_" "_" "_" "AnimatedImage_invalidCrop"
-                          "_" "_" "_" "AnimatedImage_scaled"
-                          "_" "_" "_" "AnimatedImage_copyOnWrite"
-                          "_" "_" "_" "AnimatedImage"
-                          "_" "_" "_" "BRD_types"
-                          "_" "_" "_" "Codec_frames"
-                          "_" "_" "_" "Codec_partial"
-                          "_" "_" "_" "Codec_partialWuffs"
-                          "_" "_" "_" "Codec_requiredFrame"
-                          "_" "_" "_" "Codec_rewind"
-                          "_" "_" "_" "Codec_incomplete"
-                          "_" "_" "_" "Codec_InvalidAnimated"
-                          "_" "_" "_" "Codec_ossfuzz6274"
-                          "_" "_" "_" "Codec_gif_out_of_palette"
-                          "_" "_" "_" "Codec_xOffsetTooBig"
-                          "_" "_" "_" "Codec_gif"
-                          "_" "_" "_" "Codec_skipFullParse"
-                          "_" "_" "_" "AndroidCodec_animated_gif"
-                          ;; These fail for unknown reasons.
-                          "_" "_" "_" "Gif"
-                          "_" "_" "_" "Wuffs_seek_and_decode"
-                          "_" "_" "_" "Skottie_Shaper_ExplicitFontMgr"
-                          "8888" "skp" "_" "_"
-                          "8888" "lottie" "_" "_"
-                          "gl" "skp" "_" "_"
-                          "gl" "lottie" "_" "_"
-                          "_" "_" "_" "ES2BlendWithNoTexture")))))))
+              (lambda* (#:key tests? inputs native-inputs #:allow-other-keys)
+                (if tests?
+                  (let ((icu #$(this-package-native-input "icu4c-for-skia")))
+                    ;; Unbundle SPIRV-Tools dependency.
+                    (substitute* "BUILD.gn"
+                      (("deps \\+= \\[ \"//third_party/externals/spirv-tools:spvtools_val\" \\]")
+                       "libs += [ \"SPIRV-Tools\" ]"))
+                    (substitute* "src/sksl/SkSLCompiler.cpp"
+                      (("\"spirv-tools/libspirv.hpp\"")
+                       "<libspirv.hpp>"))
+                    ;; Configure ICU dependency.
+                    (substitute* "third_party/icu/BUILD.gn"
+                      (("data_dir = \"\\.\\./externals/icu/\"")
+                       (string-append "data_dir = \"" icu "/share/data/\""))
+                      (("script = \"\\.\\./externals/icu/scripts/")
+                       (string-append "script = \"" icu "/share/scripts/"))
+                      (("\\.\\./externals/icu/common/icudtl\\.dat")
+                       (string-append icu "/share/data/icudtl.dat"))
+                      (("sources = icu_sources")
+                       "")
+                      (("sources \\+= \\[ \"\\$data_assembly\" \\]")
+                       "sources = [ \"$data_assembly\" ]"))
+                    ;; Enable system libraries without is_official_build=true.
+                    ;; This is necessary because is_official_build prevents from
+                    ;; building dm.
+                    (for-each
+                     (lambda (libname)
+                       (let ((snake (string-join (string-split libname #\-) "_")))
+                         (substitute*
+                             (string-append "third_party/" libname "/BUILD.gn")
+                           (((string-append "skia_use_system_"
+                                            snake
+                                            " = is_official_build.*"))
+                            (string-append "skia_use_system_" snake " = true")))))
+                     '("zlib" "libjpeg-turbo" "harfbuzz" "libpng" "libwebp"))
+                    ;; Configure with gn.
+                    (invoke "gn" "gen" "out/Debug"
+                            (string-append
+                             "--args="
+                             "cc=\"gcc\" "                    ;defaults to 'cc'
+                             "skia_compile_sksl_tests=false " ; disable some tests
+                             "skia_use_perfetto=false " ; disable performance tests
+                             "skia_use_wuffs=false " ; missing performance tool
+                             "skia_use_system_expat=true " ; use system expat library
+                             "skia_use_system_zlib=true " ; use system zlib library
+                             ;; Specify where to locate the includes.
+                             "extra_cflags=["
+                             (string-join
+                              (map
+                               (lambda (lib)
+                                 (string-append
+                                  "\"-I"
+                                  (search-input-directory
+                                   inputs
+                                   (string-append "include/" lib)) "\""))
+                               '("harfbuzz"
+                                 "freetype2"
+                                 "spirv-tools"
+                                 "spirv"
+                                 "unicode"))
+                              ",")
+                             "] "
+                             ;; Otherwise the validate-runpath phase fails.
+                             "extra_ldflags=["
+                             "\"-Wl,-rpath=" #$output "/lib\""
+                             "] "
+                             ;; Disabled, otherwise the build system attempts to
+                             ;; download the SDK at build time.
+                             "skia_use_dng_sdk=false "
+                             "skia_use_runtime_icu=true "))
+                    ;; Build dm testing tool.
+                    (symlink
+                     (string-append #$(this-package-native-input "gn") "/bin/gn")
+                     "./bin/gn")
+                    (invoke "ninja" "-C" "out/Debug" "dm")
+                    ;; The test suite requires an X server.
+                    (let ((xvfb (search-input-file (or native-inputs inputs)
+                                                   "bin/Xvfb"))
+                          (display ":1"))
+                      (setenv "DISPLAY" display)
+                      (system (string-append xvfb " " display " &")))
+                    ;; Run tests.
+                    (invoke "out/Debug/dm" "-v"
+                            "-w" "dm_output"
+                            "--codecWritePath" "dm_output"
+                            "--simpleCodec"
+                            "--skip"
+                            ;; The underscores are part of the dm syntax for
+                            ;; skipping tests.
+                            ;; These tests fail with segmentation fault.
+                            "_" "_" "_" "Codec_trunc"
+                            "_" "_" "_" "AnimCodecPlayer"
+                            "_" "_" "_" "Codec_partialAnim"
+                            "_" "_" "_" "Codec_InvalidImages"
+                            "_" "_" "_" "Codec_GifInterlacedTruncated"
+                            ;; This test started failing possibly after mesa
+                            ;; being updated to 23.2.1 and possibly only on some
+                            ;; hardware.
+                            "_" "_" "_" "SkRuntimeBlender_GPU"
+                            "_" "_" "_" "SkText_UnicodeText_Flags"
+                            "_" "_" "_" "SkParagraph_FontStyle"
+                            "_" "_" "_" "flight_animated_image"
+                            ;; These tests fail because of Codec/Sk failure.
+                            "_" "_" "_" "AndroidCodec_computeSampleSize"
+                            "_" "_" "_" "AnimatedImage_invalidCrop"
+                            "_" "_" "_" "AnimatedImage_scaled"
+                            "_" "_" "_" "AnimatedImage_copyOnWrite"
+                            "_" "_" "_" "AnimatedImage"
+                            "_" "_" "_" "BRD_types"
+                            "_" "_" "_" "Codec_frames"
+                            "_" "_" "_" "Codec_partial"
+                            "_" "_" "_" "Codec_partialWuffs"
+                            "_" "_" "_" "Codec_requiredFrame"
+                            "_" "_" "_" "Codec_rewind"
+                            "_" "_" "_" "Codec_incomplete"
+                            "_" "_" "_" "Codec_InvalidAnimated"
+                            "_" "_" "_" "Codec_ossfuzz6274"
+                            "_" "_" "_" "Codec_gif_out_of_palette"
+                            "_" "_" "_" "Codec_xOffsetTooBig"
+                            "_" "_" "_" "Codec_gif"
+                            "_" "_" "_" "Codec_skipFullParse"
+                            "_" "_" "_" "AndroidCodec_animated_gif"
+                            ;; These fail for unknown reasons.
+                            "_" "_" "_" "Gif"
+                            "_" "_" "_" "Wuffs_seek_and_decode"
+                            "_" "_" "_" "Skottie_Shaper_ExplicitFontMgr"
+                            "8888" "skp" "_" "_"
+                            "8888" "lottie" "_" "_"
+                            "gl" "skp" "_" "_"
+                            "gl" "lottie" "_" "_"
+                            "_" "_" "_" "ES2BlendWithNoTexture"))
+                  (format #t "test suite not run~%")))))))
   (native-inputs (list gn libjpeg-turbo ninja pkg-config python-wrapper
                        spirv-tools spirv-headers
                        icu4c-for-skia glu xorg-server-for-tests))

base-commit: 7e63a35ff265f5cb6efa8bbe0bbf62bb9c102cf0
-- 
2.46.0



[Message part 3 (message/rfc822, inline)]
From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Dariqq <dariqq <at> posteo.net>
Cc: 73573-done <at> debbugs.gnu.org
Subject: Re: [bug#73573] [PATCH] gnu: skia: Honor tests? argument
Date: Mon, 30 Sep 2024 22:43:41 +0200
Hi Dariqq,

On 2024-09-30 22:21, Dariqq wrote:
> * gnu/packages/graphics.scm (skia):
> [#:phases]: Allow skipping of 'check phase.

Changed to:

  * gnu/packages/graphics.scm (skia)[arguments]: Blah.

> +                  (format #t "test suite not run~%")))))))

I wouldn't have printed this myself, but I know you're just following 
Guix's default behaviour.

Pushed as 2bd04883ed644fb2b8a3c33d03574cdd810043f4.  Thanks!

Kind regards,

T G-R

Sent from a Web browser.  Excuse or enjoy my brevity.


This bug report was last modified 290 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.