~ruther/guix-local

1fef6828095a37ddc955820c164dd8537ef124e1 — Noé Lopez 11 months ago 2de40d7
gnu: guile-gi: Fix build.

* gnu/packages/patches/guile-gi-fix-marshall-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/guile-xyz.scm (guile-gi)
[source]: Use git-fetch.  Use “guile-gi-fix-marshall-tests.patch”.
[#:configure-flags]: Add “--enable-hardening” like upstream.
[#:phases]: Remove ‘remove-dotted-circle-from-combining-character’.
Add ‘disable-failing-tests’.
[inputs]: Remove webkitgtk-for-gtk3.  Move gtk+…
[native-inputs]: … here.  Add autoconf, automake, texinfo and grilo.
Replace xorg-server with xorg-server-for-tests.

Change-Id: Idbc92cac219947fec268e8afcc9bf6527cc8a217
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1572,6 1572,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/guile-fibers-libevent-timeout.patch	\
  %D%/packages/patches/guile-fix-invalid-unicode-handling.patch \
  %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch	\
  %D%/packages/patches/guile-gi-fix-marshall-tests.patch	\
  %D%/packages/patches/guile-hurd-posix-spawn.patch		\
  %D%/packages/patches/guile-lzlib-gcc-14.patch			\
  %D%/packages/patches/guile-lzlib-hurd64.patch			\

M gnu/packages/guile-xyz.scm => gnu/packages/guile-xyz.scm +31 -23
@@ 4476,37 4476,40 @@ list of components.  This module takes care of that for you.")
    (license license:lgpl3+)))

(define-public guile-gi
  (let ((commit "388653ac9e95802d1a69c585aef1d60e35e6b71c")
        (revision "0"))
  (package
    (name "guile-gi")
    (version "0.3.2")
    (version (git-version "0.3.2" revision commit))
    (source (origin
              (method url-fetch)
              (uri (string-append "http://lonelycactus.com/tarball/guile_gi-"
                                  version ".tar.gz"))
              (method git-fetch)
              (uri (git-reference
                     (url "https://github.com/spk121/guile-gi.git")
                     (commit commit)))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "019mbhgyga57k2074kg97mh3qsa8ny9l0kjgqids8cg3c6vbjdby"))))
                "1ndzqbgy5jbfm2fan6y31xfxdxglzjhgqib4c34b3w5inxzkrm6v"))
              (patches (search-patches "guile-gi-fix-marshall-tests.patch"))))
    (build-system glib-or-gtk-build-system)
    (arguments
     `(#:configure-flags '("CFLAGS=-Wno-error=incompatible-pointer-types"
                           "--with-gnu-filesystem-hierarchy")
                           "--with-gnu-filesystem-hierarchy"
                           "--enable-hardening")
       #:modules ((guix build glib-or-gtk-build-system)
                  (guix build utils)
                  (ice-9 popen)
                  (ice-9 rdelim))
       #:disallowed-references ,(list gtk+ webkitgtk-for-gtk3)
       #:disallowed-references ,(list grilo gtk+)
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'remove-dotted-circle-from-combining-character
           ;; The test/string.scm files contain ◌̀, which is a dotted circle
           ;; (U+25cc) followed by an upper combining character (U+0300). The
           ;; old guile 3.0.2 reader incorrectly ignores the dotted circle,
           ;; and parses it as the combining character alone, but the new
           ;; guile reader does not.
           ;; See https://github.com/spk121/guile-gi/issues/112
           (lambda* _
             (substitute* "test/string.scm"
               (("#\\\\◌̀") "#\\x0300"))))
         (add-after 'unpack 'disable-failing-tests
           (lambda _
             (substitute* "test/value.scm"
               ;; This test segfaults sometimes. Reported at
               ;; <https://github.com/spk121/guile-gi/issues/143>.
               (("\\(test-equal \"inout-closure\"")
                "#;(test-equal \"inout-closure\""))))
         (add-after 'unpack 'patch-references-to-extension
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((effective (read-line


@@ 4534,20 4537,25 @@ list of components.  This module takes care of that for you.")
             (setenv "DISPLAY" ":1")
             #t)))))
    (native-inputs
     (list gettext-minimal
     (list autoconf
           automake
           texinfo
           gettext-minimal
           `(,glib "bin") ; for glib-compile-resources
           libtool pkg-config xorg-server))
           grilo
           gtk+
           libtool
           pkg-config
           xorg-server-for-tests))
    (propagated-inputs (list gobject-introspection))
    (inputs (list guile-3.0 glib
                  ;; For tests, only relevant when compiling natively
                  gtk+ webkitgtk-for-gtk3))
    (inputs (list guile-3.0 glib))
    (home-page "https://github.com/spk121/guile-gi")
    (synopsis "GObject bindings for Guile")
    (description
     "Guile-GI is a library for Guile that allows using GObject-based
libraries, such as GTK+3.  Its README comes with the disclaimer: This is
pre-alpha code.")
    (license license:gpl3+)))
    (license license:gpl3+))))

(define-public guile2.2-gi
  (package

A gnu/packages/patches/guile-gi-fix-marshall-tests.patch => gnu/packages/patches/guile-gi-fix-marshall-tests.patch +27 -0
@@ 0,0 1,27 @@
From 776c456dc767a261e026865ab5c3a76fe68ff4a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?No=C3=A9=20Lopez?= <noelopez@free.fr>
Date: Tue, 12 Aug 2025 12:30:31 +0200
Subject: [PATCH] Fix marshall tests

See <https://github.com/spk121/guile-gi/pull/142>.

---
 test/marshall.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/marshall.scm b/test/marshall.scm
index e15b3ee..fd826de 100644
--- a/test/marshall.scm
+++ b/test/marshall.scm
@@ -23,7 +23,7 @@
               (("Marshall" "1.0")
                #:renamer (protect* '(sizeof short int long size_t)))
               (("GLib" "2.0")
-               #:renamer (protect* '(test-equal test-assert test-skip))))
+               #:renamer (protect* '(test-equal test-assert test-skip int))))
 
 (define-syntax-rule (boolarray-input f)
   (test-assert (symbol->string (quote f))
-- 
2.50.1