summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-01-11 11:29:00 +0100
committerMathieu Othacehe <othacehe@gnu.org>2021-01-11 12:06:12 +0100
commit21cf0d36db9f02b3da976088b5ab466822d16625 (patch)
tree913e347c63bdf5d3c578d4be0d0ed8b166a7d339
parentb54b3f5419849286611279231d8a2c61d3e935b4 (diff)
downloadguix-21cf0d36db9f02b3da976088b5ab466822d16625.tar.gz
gnu: guile: Fix tests on emulated architectures.
The stack overflow test limits the virtual memory size using setrlimit with
RLIMIT_AS argument. This is ignored when using QEMU transparent emulation,
causing the test to crash.

* gnu/packages/patches/guile-2.2-skip-so-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/guile.scm (guile-3.0-latest): Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/guile.scm23
-rw-r--r--gnu/packages/patches/guile-2.2-skip-so-test.patch23
3 files changed, 37 insertions, 10 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index dea7b3a906..a41795d8aa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1126,6 +1126,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
+  %D%/packages/patches/guile-2.2-skip-so-test.patch             \
   %D%/packages/patches/guile-default-utf8.patch			\
   %D%/packages/patches/guile-2.2-default-utf8.patch		\
   %D%/packages/patches/guile-relocatable.patch			\
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 1c983e50eb..dfba797b79 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -310,16 +310,19 @@ without requiring the source code to be rewritten.")
 
 (define-public guile-3.0-latest
   ;; TODO: Make this 'guile-3.0' on the next rebuild cycle.
-  (package
-    (inherit guile-3.0)
-    (version "3.0.5")
-    (source (origin
-              (inherit (package-source guile-3.0))
-              (uri (string-append "mirror://gnu/guile/guile-"
-                                  version ".tar.xz"))
-              (sha256
-               (base32
-                "1wah6fq1h8vmbpdadjych1mq8hyqkd7p015cbxm14ri37l1gnxid"))))))
+  (package-with-extra-patches
+   (package
+     (inherit guile-3.0)
+     (version "3.0.5")
+     (source (origin
+               (inherit (package-source guile-3.0))
+               (uri (string-append "mirror://gnu/guile/guile-"
+                                   version ".tar.xz"))
+               (sha256
+                (base32
+                 "1wah6fq1h8vmbpdadjych1mq8hyqkd7p015cbxm14ri37l1gnxid")))))
+   ;; Remove on the next rebuild cycle.
+   (search-patches "guile-2.2-skip-so-test.patch")))
 
 (define-public guile-next
   (deprecated-package "guile-next" guile-3.0))
diff --git a/gnu/packages/patches/guile-2.2-skip-so-test.patch b/gnu/packages/patches/guile-2.2-skip-so-test.patch
new file mode 100644
index 0000000000..e7c2594e91
--- /dev/null
+++ b/gnu/packages/patches/guile-2.2-skip-so-test.patch
@@ -0,0 +1,23 @@
+Skip 'test-stack-overflow' that crashes when using QEMU transparent emulation.
+
+--- a/test-suite/standalone/Makefile.in	1970-01-01 01:00:01.000000000 +0100
++++ b/test-suite/standalone/Makefile.in	2021-01-11 10:59:31.606269449 +0100
+@@ -102,8 +102,7 @@
+ 	test-scm-to-latin1-string$(EXEEXT) test-scm-values$(EXEEXT) \
+ 	test-scm-c-bind-keyword-arguments$(EXEEXT) \
+ 	test-srfi-4$(EXEEXT) $(am__append_6) $(am__EXEEXT_1) \
+-	test-smob-mark$(EXEEXT) test-smob-mark-race$(EXEEXT) \
+-	test-stack-overflow
++	test-smob-mark$(EXEEXT) test-smob-mark-race$(EXEEXT)
+ check_PROGRAMS = test-num2integral$(EXEEXT) test-round$(EXEEXT) \
+ 	test-foreign-object-c$(EXEEXT) test-list$(EXEEXT) \
+ 	test-unwind$(EXEEXT) test-conversion$(EXEEXT) \
+@@ -1938,7 +1937,7 @@
+ 	test-command-line-encoding test-command-line-encoding2 \
+ 	test-language test-guild-compile $(am__append_3) \
+ 	test-foreign-object-scm test-fast-slot-ref test-mb-regexp \
+-	test-use-srfi $(am__append_5) test-stack-overflow
++	test-use-srfi $(am__append_5)
+ BUILT_SOURCES = $(am__append_2)
+ EXTRA_DIST = test-import-order-a.scm test-import-order-b.scm \
+ 	test-import-order-c.scm test-import-order-d.scm \