summary refs log tree commit diff
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2023-08-05 19:36:49 +0800
committer宋文武 <iyzsong@member.fsf.org>2023-08-05 19:36:49 +0800
commit4c0a6635d81970da2f461757ff891f2528a57b5c (patch)
tree3bd9ffe6238a5b9566d2c5afc890d07d4fa363d3
parent1e4085670a149df7e9858ef6c52995415cf27037 (diff)
downloadguix-4c0a6635d81970da2f461757ff891f2528a57b5c.tar.gz
gnu: libkmahjongg: Make its tilset available to games.
* gnu/packages/kde-games.scm (libkmahjongg)[arguments]: Add a phase
to add its "$out/share" to XDG_DATA_DIRS.
-rw-r--r--gnu/packages/kde-games.scm19
1 files changed, 19 insertions, 0 deletions
diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm
index 9e2b885c2b..8ed530d83e 100644
--- a/gnu/packages/kde-games.scm
+++ b/gnu/packages/kde-games.scm
@@ -27,6 +27,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system qt)
+  #:use-module (guix gexp)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gl)
@@ -184,6 +185,24 @@ This package is part of the KDE games module.")
       (sha256
        (base32 "1a0c0q34h5yxwx76y6934ibn6hm1ip1hc2xvl11q1kaazq0alca3"))))
     (build-system qt-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-tileset-dir
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              ;; Add "$out/share" to XDG_DATA_DIRS so that the default tileset
+              ;; is always available.
+              (substitute* "src/kmahjonggtileset.cpp"
+                (("_inited = true;")
+                 (format #f "QByteArray x = qgetenv(\"XDG_DATA_DIRS\");
+if (!x.isEmpty()) {
+  QString datadirs = QString::fromLocal8Bit(x) + QLatin1String(\":~a\");
+  qputenv(\"XDG_DATA_DIRS\", datadirs.toLocal8Bit());
+}
+_inited = true;"
+                         (string-append
+                          (assoc-ref outputs "out") "/share")))))))))
     (native-inputs
      (list extra-cmake-modules))
     (inputs