summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-09-02 08:50:48 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-09-02 08:52:22 -0400
commit448deee2b73914e094f22684e2d38637502cd4f0 (patch)
treedc16465bf4626c315e27415016829701a8455a88
parent3e866e24f05e7e60cbd56a6240cdd2efede6eb4c (diff)
downloadguix-448deee2b73914e094f22684e2d38637502cd4f0.tar.gz
gnu: phoronix-test-suite: Address FSDG problems.
Fixes <https://issues.guix.gnu.org/56900>.

* gnu/packages/benchmark.scm (phoronix-test-suite) [source]: Add a snippet to
mark mis-licensed test profiles as non-free.
-rw-r--r--gnu/packages/benchmark.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 1b036e9bd4..5cd7ae113f 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -281,6 +281,53 @@ file metadata operations that can be performed per second.")
        (method url-fetch)
        (uri (string-append "https://phoronix-test-suite.com/releases/"
                            name "-" version ".tar.gz"))
+       (modules '((guix build utils)
+                  (ice-9 ftw)
+                  (ice-9 regex)
+                  (srfi srfi-26)))
+       (snippet
+        '(begin
+           ;; Many test profiles have their license identified as "Free",
+           ;; while they are in fact non-free (see:
+           ;; https://github.com/phoronix-test-suite/phoronix-test-suite/issues/667).
+           (define problems             ;see:
+             '("bioshock-infinite-1"    ;mis-licensed as free
+               "firefox"                ;not FSDG-compliant
+               "dirt-rally"             ;mis-licensed as free
+               "dirt-showdown"          ;mis-licensed as free
+               "dota2"                  ;mis-licensed as free
+               "dow3"                   ;mis-licensed as free
+               "etqw-demo"              ;mis-licensed as free
+               "f12015"                 ;mis-licensed as free
+               "f12017"                 ;mis-licensed as free
+               "geexlab"                ;mis-licensed as free
+               "gfxbench"               ;mis-licensed as free
+               "gnupg"                  ;downloads ubuntu image
+               "hitman-1"               ;mis-licensed as free
+               "hl2lostcoast"           ;mis-licensed as free
+               "linux"                  ;contains blobs
+               "madmax"                 ;mis-licensed as free
+               "metro"                  ;mis-licensed as free
+               "minion"                 ;mis-licensed as free
+               "sam2017"                ;mis-licensed as free
+               "talos-principle"        ;mis-licensed as free
+               "tomb-raider"            ;mis-licensed as free
+               "tf2"                    ;mis-licensed as free
+               "ue4"                    ;mis-licensed as free
+               "unigine"                ;mis-licensed as free
+               "ut2004"))               ;mis-licensed as free
+
+           (define rx (format #f "(~a)" (string-join problems "|")))
+
+           (define (mark-as-non-free directory)
+             (format #t "Marking ~s as non-free...~%" directory)
+             (substitute* (find-files directory "^(test|suite)-definition.xml$")
+               (("Free")
+                "Non-free")))
+
+           (with-directory-excursion "ob-cache/test-profiles/pts"
+             (for-each (cut mark-as-non-free <>)
+                       (scandir "." (cut string-match rx <>))))))
        (sha256
         (base32
          "105shk78jy46nwj6vnlmgp3y3lv9klar3dmcgasy4bslm4l2wx2b"))