~ruther/guix-local

d039c2c1c960b488e8f163f9e9d7f69ee80df110 — AwesomeAdam54321 5 months ago 4fd32c0
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>
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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		\

M gnu/packages/games.scm => gnu/packages/games.scm +5 -3
@@ 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

A gnu/packages/patches/freedink-engine-fix-const-char.patch => gnu/packages/patches/freedink-engine-fix-const-char.patch +23 -0
@@ 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));