From 4c0a6635d81970da2f461757ff891f2528a57b5c Mon Sep 17 00:00:00 2001
Message-ID: <4c0a6635d81970da2f461757ff891f2528a57b5c.1691235884.git.iyzsong@member.fsf.org>
In-Reply-To: <1e4085670a149df7e9858ef6c52995415cf27037.1691235884.git.iyzsong@member.fsf.org>
References: <1e4085670a149df7e9858ef6c52995415cf27037.1691235884.git.iyzsong@member.fsf.org>
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>
Date: Sat, 5 Aug 2023 19:36:49 +0800
Subject: [PATCH 2/2] 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.
---
gnu/packages/kde-games.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
@@ -27,6 +27,7 @@ (define-module (gnu packages kde-games)
#: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 @@ (define-public libkmahjongg
(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
--
2.41.0