summaryrefslogtreecommitdiff
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)
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