mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
gnu: guile-lib: Fix tests for Guile 2.2.
* gnu/packages/guile-xyz.scm (guile-lib)[source]: Add a patch that fixes tests for Guile 2.2. * gnu/packages/patches/guile-lib-fix-tests-for-guile2.2.patch: New file. * gnu/local.mk (dist_patch_DATA): Add "guile-lib-fix-tests-for-guile2.2.patch". Change-Id: Ia340e1de57c56366f0ee9271687a89fb9e41bc2d Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
parent
b5e1121677
commit
85923f9eb4
3 changed files with 55 additions and 1 deletions
|
@ -1418,6 +1418,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/guile-linux-syscalls.patch \
|
||||
%D%/packages/patches/guile-3.0-linux-syscalls.patch \
|
||||
%D%/packages/patches/guile-ac-d-bus-fix-tests.patch \
|
||||
%D%/packages/patches/guile-lib-fix-tests-for-guile2.2.patch \
|
||||
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
|
||||
%D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \
|
||||
%D%/packages/patches/guile-fibers-fd-finalizer-leak.patch \
|
||||
|
|
|
@ -2765,7 +2765,8 @@ (define-public guile-lib
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nb7swbliw9vx1ivhgd2m0r0p7nlkszw6s41zcgfwb5v1kp05sb4"))))
|
||||
"1nb7swbliw9vx1ivhgd2m0r0p7nlkszw6s41zcgfwb5v1kp05sb4"))
|
||||
(patches (search-patches "guile-lib-fix-tests-for-guile2.2.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags '("GUILE_AUTO_COMPILE=0") ;placate guild warnings
|
||||
|
|
52
gnu/packages/patches/guile-lib-fix-tests-for-guile2.2.patch
Normal file
52
gnu/packages/patches/guile-lib-fix-tests-for-guile2.2.patch
Normal file
|
@ -0,0 +1,52 @@
|
|||
From b1916e9a8ac8fa1bdd045d6e1d89e0f16ef7e441 Mon Sep 17 00:00:00 2001
|
||||
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
|
||||
Date: Mon, 29 Apr 2024 11:27:02 +0300
|
||||
Subject: [PATCH] unit-tests/logging.logger: Fix tests with Guile 2
|
||||
|
||||
When tests are run with Guile 2 "logging.logger.scm" would always fail
|
||||
due to undefined reference to "mkstemp" that was introduced only in
|
||||
Guile 3. In Guile 2 the procedure is called "mkstemp!". Also
|
||||
"call-with-port" procedure is available only from (rnrs io ports) in
|
||||
Guile 2, while in Guile 3 this procedure is available out of box.
|
||||
This patch fixes these issues by adding an additional runtime check.
|
||||
|
||||
* unit-tests/logging.logger.scm (call-with-temporary-file): Bugfix:
|
||||
Check Guile major version and use "mkstemp!" when Guile 2 is used;
|
||||
use "mkstemp" otherwise. Also for Guile 2 load "call-with-port"
|
||||
from (rnrs io ports).
|
||||
---
|
||||
unit-tests/logging.logger.scm | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/unit-tests/logging.logger.scm b/unit-tests/logging.logger.scm
|
||||
index c69a86d..fbf4ce7 100644
|
||||
--- a/unit-tests/logging.logger.scm
|
||||
+++ b/unit-tests/logging.logger.scm
|
||||
@@ -3,6 +3,7 @@
|
||||
;;; Copyright (C) 2003 Richard Todd
|
||||
;;; Copyright (C) 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright (C) 2024 David Pirotte <david@altosw.be>
|
||||
+;;; Copyright (C) 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
|
||||
;;; This program is free software; you can redistribute it and/or modify
|
||||
;;; it under the terms of the GNU General Public License as published by
|
||||
@@ -28,8 +29,12 @@
|
||||
(define* (call-with-temporary-file proc #:key (mode "w+"))
|
||||
"Open a temporary file name and pass it to PROC, a procedure of one
|
||||
argument. The port is automatically closed."
|
||||
- (let ((port (mkstemp "/tmp/file-XXXXXX" mode)))
|
||||
- (call-with-port port proc)))
|
||||
+ (let ((file-name "/tmp/file-XXXXXX"))
|
||||
+ (if (< (string->number (major-version)) 3)
|
||||
+ (let ((port (mkstemp! (string-copy file-name) mode)))
|
||||
+ ((@ (rnrs io ports) call-with-port) port proc))
|
||||
+ (let ((port (mkstemp file-name mode)))
|
||||
+ (call-with-port port proc)))))
|
||||
|
||||
(define-class <test-logging> (<test-case>))
|
||||
|
||||
|
||||
base-commit: 0e2b6b0ae5cc43c98075386bb4c69defb705f3b3
|
||||
--
|
||||
2.41.0
|
||||
|
Loading…
Reference in a new issue