diff options
| author | Noé Lopez <noelopez@free.fr> | 2025-07-06 23:43:52 +0200 |
|---|---|---|
| committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2025-08-17 21:43:35 +0200 |
| commit | 1fef6828095a37ddc955820c164dd8537ef124e1 (patch) | |
| tree | f4051ddd2221a8cac38ebcbe966b14229a9653bd /gnu/packages | |
| parent | 2de40d784e238d4d176704eba4eeacbca238d9c8 (diff) | |
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>
Diffstat (limited to 'gnu/packages')
| -rw-r--r-- | gnu/packages/guile-xyz.scm | 54 | ||||
| -rw-r--r-- | gnu/packages/patches/guile-gi-fix-marshall-tests.patch | 27 |
2 files changed, 58 insertions, 23 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 11eed6dba59..32227b4af86 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -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 diff --git a/gnu/packages/patches/guile-gi-fix-marshall-tests.patch b/gnu/packages/patches/guile-gi-fix-marshall-tests.patch new file mode 100644 index 00000000000..dc2bd2607be --- /dev/null +++ b/gnu/packages/patches/guile-gi-fix-marshall-tests.patch @@ -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 + |
