summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorAwesomeAdam54321 <adam.faiz@disroot.org>2025-11-02 14:38:08 +0800
committer宋文武 <iyzsong@member.fsf.org>2025-11-03 15:14:46 +0800
commitd039c2c1c960b488e8f163f9e9d7f69ee80df110 (patch)
treef09d8b0ad6058b25ea93f14900a0d4a36230ed41 /gnu
parent4fd32c00abb59b0f275a93c3fef35d5193adbe7a (diff)
gnu: freedink-engine: Fix build.
* gnu/packages/patches/freedink-engine-fix-const-char.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register patch. * gnu/packages/games.scm (freedink-engine)[patches]: Add patch. [arguments]: Skip failing 'TestIOTouchDragAnywhere' test. Fixes: guix/guix#3982 guix/guix#4004 Change-Id: I90c8fc78fa5649f662a26cee17622fbbb1fc9bca Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/games.scm8
-rw-r--r--gnu/packages/patches/freedink-engine-fix-const-char.patch23
3 files changed, 29 insertions, 3 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 5f314bb063d..27821e071a0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1308,6 +1308,7 @@ dist_patch_DATA = \
%D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fpc-glibc-2.34-compat.patch \
%D%/packages/patches/fritzing-0.9.6-fix-types.patch \
+ %D%/packages/patches/freedink-engine-fix-const-char.patch \
%D%/packages/patches/freedict-tools-fix-determinism.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freeimage-libtiff-compat.patch \
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3cf12d22ce7..81960aed98d 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -3924,7 +3924,8 @@ interface or via an external visual interface such as GNU XBoard.")
(method url-fetch)
(uri (string-append "mirror://gnu/freedink/freedink-" version
".tar.gz"))
- (patches (search-patches "freedink-engine-fix-sdl-hints.patch"))
+ (patches (search-patches "freedink-engine-fix-const-char.patch"
+ "freedink-engine-fix-sdl-hints.patch"))
(sha256
(base32
"00hhk1bjdrc1np2qz44sa5n1mb62qzwxbvsnws3vpms6iyn3a2sy"))))
@@ -3937,8 +3938,9 @@ interface or via an external visual interface such as GNU XBoard.")
(lambda _
;; These tests require a graphical interface.
(substitute* "src/Makefile.am"
- (("test_gfx_fonts TestIOGfxDisplay") ""))
- #t))
+ (("test_gfx_fonts TestIOGfxDisplay") "")
+ ;; FIXME: Figure out why `TestIOTouchDragAnywhere` fails
+ (("TestIOTouchDragAnywhere (test_integration)" all _) _))))
(add-before 'bootstrap 'autoreconf
(lambda _
;; automake is out of date in the source
diff --git a/gnu/packages/patches/freedink-engine-fix-const-char.patch b/gnu/packages/patches/freedink-engine-fix-const-char.patch
new file mode 100644
index 00000000000..f001f8af227
--- /dev/null
+++ b/gnu/packages/patches/freedink-engine-fix-const-char.patch
@@ -0,0 +1,23 @@
+Both of these functions, TTF_FontFaceStyleName() and
+TTF_FontFaceFamilyName() return 'const char *'. Update variables to
+match expected returned type.
+
+Bug-Debian: http://bugs.debian.org/1015106
+
+Taken from https://lists.gnu.org/archive/html/bug-freedink/2022-07/msg00001.html
+--- a/src/gfx_fonts.cpp 1970-01-01 07:30:01.000000000 +0730
++++ b/src/gfx_fonts.cpp 2025-11-02 14:12:38.939879534 +0800
+@@ -293,9 +293,9 @@
+ */
+ void setup_font(TTF_Font *font)
+ {
+- char *familyname = TTF_FontFaceFamilyName(font);
++ const char *familyname = TTF_FontFaceFamilyName(font);
+ if(familyname)
+ log_info("The family name of the face in the font is: %s", familyname);
+- char *stylename = TTF_FontFaceStyleName(font);
++ const char *stylename = TTF_FontFaceStyleName(font);
+ if(stylename)
+ log_info("The name of the face in the font is: %s", stylename);
+ log_info("The font max height is: %d", TTF_FontHeight(font));
+