diff options
author | Carlo Landmeter <clandmeter@gmail.com> | 2016-11-03 12:41:53 +0100 |
---|---|---|
committer | Carlo Landmeter <clandmeter@gmail.com> | 2016-11-03 12:42:02 +0100 |
commit | 28b3436546a7577cee65c17d93cc9f6691bb3c8e (patch) | |
tree | 261742477a5cf8fd5666d072968ae0f0328f5ebe /main/guile | |
parent | 4699a8cb5fe47563f1f3c3b1ddc0ac6c04842dda (diff) | |
download | aports-28b3436546a7577cee65c17d93cc9f6691bb3c8e.tar.bz2 aports-28b3436546a7577cee65c17d93cc9f6691bb3c8e.tar.xz |
main/guile: upgrade to 2.0.13
Diffstat (limited to 'main/guile')
10 files changed, 11 insertions, 700 deletions
diff --git a/main/guile/0003-Recognize-more-ARM-targets.patch b/main/guile/0003-Recognize-more-ARM-targets.patch deleted file mode 100644 index 59fc857f3c..0000000000 --- a/main/guile/0003-Recognize-more-ARM-targets.patch +++ /dev/null @@ -1,70 +0,0 @@ -From ff888821b2bd221ed74ce9bef8d28d94327450d4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> -Date: Fri, 4 Jul 2014 17:26:41 +0200 -Subject: Recognize more ARM targets. - -Suggested by Dale P. Smith. - -* module/system/base/target.scm (cpu-endianness): Add cases for - "arm.*eb", "^aarch64.*be", and "aarch64". Change "arm" case to - "arm.*". - (triplet-pointer-size): Allow underscore as in 'aarch64_be'. -* test-suite/tests/asm-to-bytecode.test ("cross-compilation")["armeb-unknown-linux-gnu", - "aarch64-linux-gnu", "aarch64_be-linux-gnu"]: New tests. - -Origin: upstream, commit: ffd3e55cfd12a3559621e3130d613d319243512d -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758463 -Added-by: Rob Browning <rlb@defaultvalue.org> ---- - module/system/base/target.scm | 10 +++++++++- - test-suite/tests/asm-to-bytecode.test | 9 +++++++++ - 2 files changed, 18 insertions(+), 1 deletion(-) - -diff --git a/module/system/base/target.scm b/module/system/base/target.scm -index c74ae67..9d65184 100644 ---- a/module/system/base/target.scm -+++ b/module/system/base/target.scm -@@ -72,6 +72,14 @@ - (endianness big)) - ((string-match "^arm.*el" cpu) - (endianness little)) -+ ((string-match "^arm.*eb" cpu) -+ (endianness big)) -+ ((string-prefix? "arm" cpu) ;ARMs are LE by default -+ (endianness little)) -+ ((string-match "^aarch64.*be" cpu) -+ (endianness big)) -+ ((string=? "aarch64" cpu) -+ (endianness little)) - (else - (error "unknown CPU endianness" cpu))))) - -@@ -95,7 +103,7 @@ - ((string-match "^x86_64-.*-gnux32" triplet) 4) ; x32 - - ((string-match "64$" cpu) 8) -- ((string-match "64[lbe][lbe]$" cpu) 8) -+ ((string-match "64_?[lbe][lbe]$" cpu) 8) - ((member cpu '("sparc" "powerpc" "mips" "mipsel")) 4) - ((string-match "^arm.*" cpu) 4) - (else (error "unknown CPU word size" cpu))))) -diff --git a/test-suite/tests/asm-to-bytecode.test b/test-suite/tests/asm-to-bytecode.test -index 6d2f20e..937e990 100644 ---- a/test-suite/tests/asm-to-bytecode.test -+++ b/test-suite/tests/asm-to-bytecode.test -@@ -205,6 +205,15 @@ - (test-target "x86_64-unknown-linux-gnux32" ; x32 ABI (Debian tuplet) - (endianness little) 4) - -+ (test-target "arm-unknown-linux-androideabi" -+ (endianness little) 4) -+ (test-target "armeb-unknown-linux-gnu" -+ (endianness big) 4) -+ (test-target "aarch64-linux-gnu" -+ (endianness little) 8) -+ (test-target "aarch64_be-linux-gnu" -+ (endianness big) 8) -+ - (pass-if-exception "unknown target" - exception:miscellaneous-error - (call-with-values (lambda () diff --git a/main/guile/0008-VM-ASM_MUL-for-ARM-Add-earlyclobber-constraint-to-th.patch b/main/guile/0008-VM-ASM_MUL-for-ARM-Add-earlyclobber-constraint-to-th.patch deleted file mode 100644 index c403996a0d..0000000000 --- a/main/guile/0008-VM-ASM_MUL-for-ARM-Add-earlyclobber-constraint-to-th.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 923c3afaeeacce15c22ad90e7f47d3a250c36190 Mon Sep 17 00:00:00 2001 -From: Mark H Weaver <mhw@netris.org> -Date: Fri, 19 Sep 2014 21:18:09 -0400 -Subject: VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL - outputs. - -Reported by Rob Browning <rlb@defaultvalue.org>. - -* libguile/vm-i-scheme.c (ASM_MUL)[ARM]: Add earlyclobber (&) constraint - to the SMULL output registers. - -Origin: http://git.savannah.gnu.org/cgit/guile.git/commit/?id=a85c78ea1393985fdb6e6678dea19135c553d341 -Added-by: Rob Browning <rlb@defaultvalue.org> ---- - libguile/vm-i-scheme.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c -index 587aa95..162efab 100644 ---- a/libguile/vm-i-scheme.c -+++ b/libguile/vm-i-scheme.c -@@ -1,5 +1,4 @@ --/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, -- * 2014 Free Software Foundation, Inc. -+/* Copyright (C) 2001, 2009-2014 Free Software Foundation, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License -@@ -363,7 +362,7 @@ VM_DEFINE_FUNCTION (149, ge, "ge?", 2) - { \ - scm_t_signed_bits rlo, rhi; \ - asm ("smull %0, %1, %2, %3\n" \ -- : "=r" (rlo), "=r" (rhi) \ -+ : "=&r" (rlo), "=&r" (rhi) \ - : "r" (SCM_UNPACK (x) - scm_tc2_int), \ - "r" (SCM_I_INUM (y))); \ - if (SCM_LIKELY (SCM_SRS (rlo, 31) == rhi)) \ diff --git a/main/guile/0009-VM-Allow-the-C-compiler-to-choose-FP_REG-on-ARM.patch b/main/guile/0009-VM-Allow-the-C-compiler-to-choose-FP_REG-on-ARM.patch deleted file mode 100644 index 103b334558..0000000000 --- a/main/guile/0009-VM-Allow-the-C-compiler-to-choose-FP_REG-on-ARM.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 1ebf3ef7b8318865dc85f5a18be59b6f8e23949f Mon Sep 17 00:00:00 2001 -From: Mark H Weaver <mhw@netris.org> -Date: Sat, 20 Sep 2014 03:59:51 -0400 -Subject: VM: Allow the C compiler to choose FP_REG on ARM. - -Reported by Rob Browning <rlb@defaultvalue.org>. - -* libguile/vm-engine.h (IP_REG)[__arm__]: Remove explicit register - choice ("r7") for FP_REG, which was reported to cause compilation - failures on ARM. - -Origin: http://git.savannah.gnu.org/cgit/guile.git/commit/?id=bed025bd2569b1c033f24d7d9e660e39ebf65cac -Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763115 -Added-by: Rob Browning <rlb@defaultvalue.org> ---- - libguile/vm-engine.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libguile/vm-engine.h b/libguile/vm-engine.h -index 28cab40..178828c 100644 ---- a/libguile/vm-engine.h -+++ b/libguile/vm-engine.h -@@ -1,4 +1,4 @@ --/* Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. -+/* Copyright (C) 2001, 2009-2012, 2014 Free Software Foundation, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License -@@ -81,7 +81,7 @@ - #ifdef __arm__ - #define IP_REG asm("r9") - #define SP_REG asm("r8") --#define FP_REG asm("r7") -+#define FP_REG - #endif - #endif - diff --git a/main/guile/0010-web-Keep-the-default-size-for-the-client-s-in-kernel.patch b/main/guile/0010-web-Keep-the-default-size-for-the-client-s-in-kernel.patch deleted file mode 100644 index fd3ec43fa5..0000000000 --- a/main/guile/0010-web-Keep-the-default-size-for-the-client-s-in-kernel.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 4dee57333aa8dd5017f4c45302d40f8f3b900ab6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> -Date: Fri, 23 May 2014 22:00:21 +0200 -Subject: web: Keep the default size for the client's in-kernel receive buffer. - -Fixes <http://bugs.gnu.org/15368>. - -* module/web/client.scm (open-socket-for-uri): Remove call to - 'setsockopt'. Contrary to what the comment said, its effect was to - shrink the receive buffer from 124 KiB (the default size, per - /proc/sys/net/core/rmem_default on Linux-based systems) to 12 KiB. - -Origin: http://git.savannah.gnu.org/cgit/guile.git/commit/?id=0bb3f946e97424616c1a95f2372e5bc41e8f8174 -Added-by: Rob Browning <rlb@defaultvalue.org> ---- - module/web/client.scm | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/module/web/client.scm b/module/web/client.scm -index 3f6c45b..070b0c3 100644 ---- a/module/web/client.scm -+++ b/module/web/client.scm -@@ -1,6 +1,6 @@ - ;;; Web client - --;; Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc. -+;; Copyright (C) 2011, 2012, 2013, 2014 Free Software Foundation, Inc. - - ;; This library is free software; you can redistribute it and/or - ;; modify it under the terms of the GNU Lesser General Public -@@ -92,8 +92,6 @@ - - ;; Buffer input and output on this port. - (setvbuf s _IOFBF) -- ;; Enlarge the receive buffer. -- (setsockopt s SOL_SOCKET SO_RCVBUF (* 12 1024)) - ;; If we're using a proxy, make a note of that. - (when http-proxy (set-http-proxy-port?! s #t)) - s) diff --git a/main/guile/0011-Fix-shrinking-of-contiguous-bytevectors-as-from-get-.patch b/main/guile/0011-Fix-shrinking-of-contiguous-bytevectors-as-from-get-.patch deleted file mode 100644 index 2380d838e7..0000000000 --- a/main/guile/0011-Fix-shrinking-of-contiguous-bytevectors-as-from-get-.patch +++ /dev/null @@ -1,48 +0,0 @@ -From a1784f281279f6f8b95f75c336786987e77bc84a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> -Date: Wed, 28 May 2014 19:26:45 +0200 -Subject: Fix shrinking of contiguous bytevectors, as from 'get-bytevector-n'. - -Fixes <http://bugs.gnu.org/17466>. -Reported by J Kalbhenn <jkal@posteo.eu>. - -* libguile/bytevectors.c (scm_c_shrink_bytevector): When BV is - contiguous, add use of 'SCM_BYTEVECTOR_SET_CONTENTS'. - -Origin: http://git.savannah.gnu.org/cgit/guile.git/commit/?id=1baa2159307c34683e8ede54f38f65010fc594b0 -Added-by: Rob Browning <rlb@defaultvalue.org> ---- - libguile/bytevectors.c | 16 +++++++++++----- - 1 file changed, 11 insertions(+), 5 deletions(-) - -diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c -index be8b654..b210440 100644 ---- a/libguile/bytevectors.c -+++ b/libguile/bytevectors.c -@@ -1,4 +1,4 @@ --/* Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. -+/* Copyright (C) 2009, 2010, 2011, 2012, 2014 Free Software Foundation, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License -@@ -315,10 +315,16 @@ scm_c_shrink_bytevector (SCM bv, size_t c_new_len) - SCM_BYTEVECTOR_SET_LENGTH (bv, c_new_len); - - if (SCM_BYTEVECTOR_CONTIGUOUS_P (bv)) -- new_bv = PTR2SCM (scm_gc_realloc (SCM2PTR (bv), -- c_len + SCM_BYTEVECTOR_HEADER_BYTES, -- c_new_len + SCM_BYTEVECTOR_HEADER_BYTES, -- SCM_GC_BYTEVECTOR)); -+ { -+ signed char *c_bv; -+ -+ c_bv = scm_gc_realloc (SCM2PTR (bv), -+ c_len + SCM_BYTEVECTOR_HEADER_BYTES, -+ c_new_len + SCM_BYTEVECTOR_HEADER_BYTES, -+ SCM_GC_BYTEVECTOR); -+ new_bv = PTR2SCM (c_bv); -+ SCM_BYTEVECTOR_SET_CONTENTS (new_bv, c_bv + SCM_BYTEVECTOR_HEADER_BYTES); -+ } - else - { - signed char *c_bv; diff --git a/main/guile/0013-Handle-p-in-format-warnings.patch b/main/guile/0013-Handle-p-in-format-warnings.patch deleted file mode 100644 index 1490433f42..0000000000 --- a/main/guile/0013-Handle-p-in-format-warnings.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 1366d9ed223c6953df491260ecaeb3b3867006b2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> -Date: Tue, 26 Aug 2014 23:40:22 +0200 -Subject: Handle ~p in 'format' warnings. - -Fixes <http://bugs.gnu.org/18299>. -Reported by Frank Terbeck <ft@bewatermyfriend.org>. - -* module/language/tree-il/analyze.scm (format-string-argument-count): - Add case for ~p. -* test-suite/tests/tree-il.test ("warnings")["format"]("~p", "~p, too - few arguments", "~:p", "~:@p, too many arguments", "~:@p, too few - arguments"): New tests. - -Origin: http://git.savannah.gnu.org/cgit/guile.git/commit/?id=8ac39b38d14f47b6028030fa829f1fe7d0499f21 -Added-by: Rob Browning <rlb@defaultvalue.org> ---- - module/language/tree-il/analyze.scm | 13 ++++++++++- - test-suite/tests/tree-il.test | 44 +++++++++++++++++++++++++++++++++++++ - 2 files changed, 56 insertions(+), 1 deletion(-) - -diff --git a/module/language/tree-il/analyze.scm b/module/language/tree-il/analyze.scm -index badce9f..ef625d4 100644 ---- a/module/language/tree-il/analyze.scm -+++ b/module/language/tree-il/analyze.scm -@@ -1,6 +1,7 @@ - ;;; TREE-IL -> GLIL compiler - --;; Copyright (C) 2001, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. -+;; Copyright (C) 2001, 2008, 2009, 2010, 2011, 2012, -+;; 2014 Free Software Foundation, Inc. - - ;;;; This library is free software; you can redistribute it and/or - ;;;; modify it under the terms of the GNU Lesser General Public -@@ -1273,6 +1274,16 @@ accurate information is missing from a given `tree-il' element." - conditions end-group - (+ 1 min-count) - (+ 1 max-count))) -+ ((#\p #\P) (let* ((colon? (memq #\: params)) -+ (min-count (if colon? -+ (max 1 min-count) -+ (+ 1 min-count)))) -+ (loop (cdr chars) 'literal '() -+ conditions end-group -+ min-count -+ (if colon? -+ (max max-count min-count) -+ (+ 1 max-count))))) - ((#\[) - (loop chars 'literal '() '() - (let ((selector (previous-number params)) -diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test -index 34bc810..f892033 100644 ---- a/test-suite/tests/tree-il.test -+++ b/test-suite/tests/tree-il.test -@@ -1698,6 +1698,50 @@ - (number? (string-contains (car w) - "expected 3, got 2"))))) - -+ (pass-if "~p" -+ (null? (call-with-warnings -+ (lambda () -+ (compile '(((@ (ice-9 format) format) #f "thing~p" 2)) -+ #:opts %opts-w-format -+ #:to 'assembly))))) -+ -+ (pass-if "~p, too few arguments" -+ (let ((w (call-with-warnings -+ (lambda () -+ (compile '((@ (ice-9 format) format) #f "~p") -+ #:opts %opts-w-format -+ #:to 'assembly))))) -+ (and (= (length w) 1) -+ (number? (string-contains (car w) -+ "expected 1, got 0"))))) -+ -+ (pass-if "~:p" -+ (null? (call-with-warnings -+ (lambda () -+ (compile '(((@ (ice-9 format) format) #f "~d thing~:p" 2)) -+ #:opts %opts-w-format -+ #:to 'assembly))))) -+ -+ (pass-if "~:@p, too many arguments" -+ (let ((w (call-with-warnings -+ (lambda () -+ (compile '((@ (ice-9 format) format) #f "~d pupp~:@p" 5 5) -+ #:opts %opts-w-format -+ #:to 'assembly))))) -+ (and (= (length w) 1) -+ (number? (string-contains (car w) -+ "expected 1, got 2"))))) -+ -+ (pass-if "~:@p, too few arguments" -+ (let ((w (call-with-warnings -+ (lambda () -+ (compile '((@ (ice-9 format) format) #f "pupp~:@p") -+ #:opts %opts-w-format -+ #:to 'assembly))))) -+ (and (= (length w) 1) -+ (number? (string-contains (car w) -+ "expected 1, got 0"))))) -+ - (pass-if "~?" - (null? (call-with-warnings - (lambda () diff --git a/main/guile/0015-Fix-SCM_SMOB_OBJECT-_-_0_-_1_-_2_-_3_-LOC.patch b/main/guile/0015-Fix-SCM_SMOB_OBJECT-_-_0_-_1_-_2_-_3_-LOC.patch deleted file mode 100644 index 8c82aedd15..0000000000 --- a/main/guile/0015-Fix-SCM_SMOB_OBJECT-_-_0_-_1_-_2_-_3_-LOC.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 129950433fd597c683478430240261161e5ced64 Mon Sep 17 00:00:00 2001 -From: David Kastrup <dak@gnu.org> -Date: Sat, 20 Sep 2014 05:17:54 -0400 -Subject: Fix SCM_SMOB_OBJECT{_,_0_,_1_,_2_,_3_}LOC. - -Fixes <http://bugs.gnu.org/18495>. - -* libguile/smob.h (SCM_SMOB_OBJECT_LOC, SCM_SMOB_OBJECT_0_LOC) - (SCM_SMOB_OBJECT_1_LOC, SCM_SMOB_OBJECT_2_LOC) - (SCM_SMOB_OBJECT_3_LOC): These elementary API macros have been broken - by commit 56164dc47f6616b359f0ad23be208f01a77b55fa in 2009. - -Signed-off-by: David Kastrup <dak@gnu.org> - -Origin: http://git.savannah.gnu.org/cgit/guile.git/commit/?id=8442211ef0029581b35f784489afcf210491fc41) -Added-by: Rob Browning <rlb@defaultvalue.org> ---- - libguile/smob.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/libguile/smob.h b/libguile/smob.h -index 60abe37..f910a24 100644 ---- a/libguile/smob.h -+++ b/libguile/smob.h -@@ -156,14 +156,14 @@ scm_new_double_smob (scm_t_bits tc, scm_t_bits data1, - #define SCM_SET_SMOB_OBJECT_1(x,obj) (SCM_SET_SMOB_OBJECT_N ((x), 1, (obj))) - #define SCM_SET_SMOB_OBJECT_2(x,obj) (SCM_SET_SMOB_OBJECT_N ((x), 2, (obj))) - #define SCM_SET_SMOB_OBJECT_3(x,obj) (SCM_SET_SMOB_OBJECT_N ((x), 3, (obj))) --#define SCM_SMOB_OBJECT_0_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 0))) --#define SCM_SMOB_OBJECT_1_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 1))) --#define SCM_SMOB_OBJECT_2_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 2))) --#define SCM_SMOB_OBJECT_3_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 3))) -+#define SCM_SMOB_OBJECT_0_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 0)) -+#define SCM_SMOB_OBJECT_1_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 1)) -+#define SCM_SMOB_OBJECT_2_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 2)) -+#define SCM_SMOB_OBJECT_3_LOC(x) (SCM_SMOB_OBJECT_N_LOC ((x), 3)) - - #define SCM_SMOB_OBJECT(x) (SCM_SMOB_OBJECT_1 (x)) - #define SCM_SET_SMOB_OBJECT(x,obj) (SCM_SET_SMOB_OBJECT_1 ((x), (obj))) --#define SCM_SMOB_OBJECT_LOC(x) (SCM_SMOB_OBJECT_1_LOC (x))) -+#define SCM_SMOB_OBJECT_LOC(x) (SCM_SMOB_OBJECT_1_LOC (x)) - - - #define SCM_SMOB_APPLY_0(x) (scm_call_0 (x)) diff --git a/main/guile/0016-peval-Handle-optional-argument-inits-that-refer-to-p.patch b/main/guile/0016-peval-Handle-optional-argument-inits-that-refer-to-p.patch deleted file mode 100644 index c134815c1d..0000000000 --- a/main/guile/0016-peval-Handle-optional-argument-inits-that-refer-to-p.patch +++ /dev/null @@ -1,239 +0,0 @@ -From fdc2c9e00af5f2721c4e70180d30f45c15adc65a Mon Sep 17 00:00:00 2001 -From: Mark H Weaver <mhw@netris.org> -Date: Sun, 28 Sep 2014 12:51:11 -0400 -Subject: peval: Handle optional argument inits that refer to previous - arguments. - -Fixes <http://bugs.gnu.org/17634>. -Reported by Josep Portella Florit <jpf@primfilat.com>. - -* module/language/tree-il/peval.scm (inlined-application): When inlining - an application whose operator is a lambda expression with optional - arguments that rely on default initializers, expand into a series of - nested let expressions, to ensure that previous arguments are in scope - when the default initializers are evaluated. - -* test-suite/tests/peval.test ("partial evaluation"): Add tests. - -Origin: http://git.savannah.gnu.org/cgit/guile.git/commit/?id=7a71a45cfd6092402d540e9bc5d2432941a8a336 -Added-by: Rob Browning <rlb@defaultvalue.org> ---- - module/language/tree-il/peval.scm | 94 +++++++++++++++++++++++++++++++-------- - test-suite/tests/peval.test | 86 ++++++++++++++++++++++++++++++++++- - 2 files changed, 160 insertions(+), 20 deletions(-) - -diff --git a/module/language/tree-il/peval.scm b/module/language/tree-il/peval.scm -index bd92edc..7dfbf6f 100644 ---- a/module/language/tree-il/peval.scm -+++ b/module/language/tree-il/peval.scm -@@ -1,6 +1,6 @@ - ;;; Tree-IL partial evaluator - --;; Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc. -+;; Copyright (C) 2011-2014 Free Software Foundation, Inc. - - ;;;; This library is free software; you can redistribute it and/or - ;;;; modify it under the terms of the GNU Lesser General Public -@@ -1313,24 +1313,80 @@ top-level bindings from ENV and return the resulting expression." - (nopt (if opt (length opt) 0)) - (key (source-expression proc))) - (define (inlined-application) -- (make-let src -- (append req -- (or opt '()) -- (if rest (list rest) '())) -- gensyms -- (if (> nargs (+ nreq nopt)) -- (append (list-head orig-args (+ nreq nopt)) -- (list -- (make-application -- #f -- (make-primitive-ref #f 'list) -- (drop orig-args (+ nreq nopt))))) -- (append orig-args -- (drop inits (- nargs nreq)) -- (if rest -- (list (make-const #f '())) -- '()))) -- body)) -+ (cond -+ ((= nargs (+ nreq nopt)) -+ (make-let src -+ (append req -+ (or opt '()) -+ (if rest (list rest) '())) -+ gensyms -+ (append orig-args -+ (if rest -+ (list (make-const #f '())) -+ '())) -+ body)) -+ ((> nargs (+ nreq nopt)) -+ (make-let src -+ (append req -+ (or opt '()) -+ (list rest)) -+ gensyms -+ (append (take orig-args (+ nreq nopt)) -+ (list (make-application -+ #f -+ (make-primitive-ref #f 'list) -+ (drop orig-args (+ nreq nopt))))) -+ body)) -+ (else -+ ;; Here we handle the case where nargs < nreq + nopt, -+ ;; so the rest argument (if any) will be empty, and -+ ;; there will be optional arguments that rely on their -+ ;; default initializers. -+ ;; -+ ;; The default initializers of optional arguments -+ ;; may refer to earlier arguments, so in the general -+ ;; case we must expand into a series of nested let -+ ;; expressions. -+ ;; -+ ;; In the generated code, the outermost let -+ ;; expression will bind all arguments provided by -+ ;; the application's argument list, as well as the -+ ;; empty rest argument, if any. Each remaining -+ ;; optional argument that relies on its default -+ ;; initializer will be bound within an inner let. -+ ;; -+ ;; rest-gensyms, rest-vars and rest-inits will have -+ ;; either 0 or 1 elements. They are oddly named, but -+ ;; allow simpler code below. -+ (let*-values -+ (((non-rest-gensyms rest-gensyms) -+ (split-at gensyms (+ nreq nopt))) -+ ((provided-gensyms default-gensyms) -+ (split-at non-rest-gensyms nargs)) -+ ((provided-vars default-vars) -+ (split-at (append req opt) nargs)) -+ ((rest-vars) -+ (if rest (list rest) '())) -+ ((rest-inits) -+ (if rest -+ (list (make-const #f '())) -+ '())) -+ ((default-inits) -+ (drop inits (- nargs nreq)))) -+ (make-let src -+ (append provided-vars rest-vars) -+ (append provided-gensyms rest-gensyms) -+ (append orig-args rest-inits) -+ (fold-right (lambda (var gensym init body) -+ (make-let src -+ (list var) -+ (list gensym) -+ (list init) -+ body)) -+ body -+ default-vars -+ default-gensyms -+ default-inits)))))) - - (cond - ((or (< nargs nreq) (and (not rest) (> nargs (+ nreq nopt)))) -diff --git a/test-suite/tests/peval.test b/test-suite/tests/peval.test -index 5b003d2..2183429 100644 ---- a/test-suite/tests/peval.test -+++ b/test-suite/tests/peval.test -@@ -1,7 +1,7 @@ - ;;;; tree-il.test --- test suite for compiling tree-il -*- scheme -*- - ;;;; Andy Wingo <wingo@pobox.com> --- May 2009 - ;;;; --;;;; Copyright (C) 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. -+;;;; Copyright (C) 2009-2014 Free Software Foundation, Inc. - ;;;; - ;;;; This library is free software; you can redistribute it and/or - ;;;; modify it under the terms of the GNU Lesser General Public -@@ -411,6 +411,90 @@ - (const 7)) - - (pass-if-peval -+ ;; Higher order with optional argument (default uses earlier argument). -+ ;; <http://bugs.gnu.org/17634> -+ ((lambda* (f x #:optional (y (+ 3 (car x)))) -+ (+ y (f (* (car x) (cadr x))))) -+ (lambda (x) -+ (+ x 1)) -+ '(2 3)) -+ (const 12)) -+ -+ (pass-if-peval -+ ;; Higher order with optional arguments -+ ;; (default uses earlier optional argument). -+ ((lambda* (f x #:optional (y (+ 3 (car x))) (z (+ (cadr x) y))) -+ (+ y z (f (* (car x) (cadr x))))) -+ (lambda (x) -+ (+ x 1)) -+ '(2 3)) -+ (const 20)) -+ -+ (pass-if-peval -+ ;; Higher order with optional arguments (one caller-supplied value, -+ ;; one default that uses earlier optional argument). -+ ((lambda* (f x #:optional (y (+ 3 (car x))) (z (+ (cadr x) y))) -+ (+ y z (f (* (car x) (cadr x))))) -+ (lambda (x) -+ (+ x 1)) -+ '(2 3) -+ -3) -+ (const 4)) -+ -+ (pass-if-peval -+ ;; Higher order with optional arguments (caller-supplied values). -+ ((lambda* (f x #:optional (y (+ 3 (car x))) (z (+ (cadr x) y))) -+ (+ y z (f (* (car x) (cadr x))))) -+ (lambda (x) -+ (+ x 1)) -+ '(2 3) -+ -3 -+ 17) -+ (const 21)) -+ -+ (pass-if-peval -+ ;; Higher order with optional and rest arguments (one -+ ;; caller-supplied value, one default that uses earlier optional -+ ;; argument). -+ ((lambda* (f x #:optional (y (+ 3 (car x))) (z (+ (cadr x) y)) -+ #:rest r) -+ (list r (+ y z (f (* (car x) (cadr x)))))) -+ (lambda (x) -+ (+ x 1)) -+ '(2 3) -+ -3) -+ (apply (primitive list) (const ()) (const 4))) -+ -+ (pass-if-peval -+ ;; Higher order with optional and rest arguments -+ ;; (caller-supplied values for optionals). -+ ((lambda* (f x #:optional (y (+ 3 (car x))) (z (+ (cadr x) y)) -+ #:rest r) -+ (list r (+ y z (f (* (car x) (cadr x)))))) -+ (lambda (x) -+ (+ x 1)) -+ '(2 3) -+ -3 -+ 17) -+ (apply (primitive list) (const ()) (const 21))) -+ -+ (pass-if-peval -+ ;; Higher order with optional and rest arguments -+ ;; (caller-supplied values for optionals and rest). -+ ((lambda* (f x #:optional (y (+ 3 (car x))) (z (+ (cadr x) y)) -+ #:rest r) -+ (list r (+ y z (f (* (car x) (cadr x)))))) -+ (lambda (x) -+ (+ x 1)) -+ '(2 3) -+ -3 -+ 17 -+ 8 -+ 3) -+ (let (r) (_) ((apply (primitive list) (const 8) (const 3))) -+ (apply (primitive list) (lexical r _) (const 21)))) -+ -+ (pass-if-peval - ;; Higher order with optional argument (caller-supplied value). - ((lambda* (f x #:optional (y 0)) - (+ y (f (* (car x) (cadr x))))) diff --git a/main/guile/APKBUILD b/main/guile/APKBUILD index d401afd60a..09cc1c1a33 100644 --- a/main/guile/APKBUILD +++ b/main/guile/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=guile -pkgver=2.0.11 -pkgrel=2 +pkgver=2.0.13 +pkgrel=0 pkgdesc="Guile is a portable, embeddable Scheme implementation written in C" url="http://www.gnu.org/software/guile/" arch="all" @@ -14,34 +14,12 @@ depends_dev="guile gc-dev" install= source="ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz 0002-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch - 0003-Recognize-more-ARM-targets.patch - 0008-VM-ASM_MUL-for-ARM-Add-earlyclobber-constraint-to-th.patch - 0009-VM-Allow-the-C-compiler-to-choose-FP_REG-on-ARM.patch - 0010-web-Keep-the-default-size-for-the-client-s-in-kernel.patch - 0011-Fix-shrinking-of-contiguous-bytevectors-as-from-get-.patch - 0013-Handle-p-in-format-warnings.patch - 0015-Fix-SCM_SMOB_OBJECT-_-_0_-_1_-_2_-_3_-LOC.patch - 0016-peval-Handle-optional-argument-inits-that-refer-to-p.patch - - strtol_l.patch " -_builddir="$srcdir"/$pkgname-$pkgver -prepare() { - cd "$_builddir" - update_config_sub || return 1 - for i in $source; do - case "$i" in - *.patch) - msg "Applying $i" - patch -p1 -i "$srcdir"/$i || return 1 - ;; - esac - done -} +builddir="$srcdir"/$pkgname-$pkgver build() { - cd "$_builddir" + cd "$builddir" ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -53,41 +31,14 @@ build() { } package() { - cd "$_builddir" + cd "$builddir" make DESTDIR="$pkgdir" install || return 1 rm "$pkgdir"/usr/lib/charset.alias } -md5sums="e532c68c6f17822561e3001136635ddd guile-2.0.11.tar.gz -00b381cff020d6b43de150a99d08d955 0002-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch -f140776c944bacc6cc14919f83902696 0003-Recognize-more-ARM-targets.patch -16b1a41f9cc22b2b177200a6f3961752 0008-VM-ASM_MUL-for-ARM-Add-earlyclobber-constraint-to-th.patch -25ed9239ec91a1fb78f6c4947125554f 0009-VM-Allow-the-C-compiler-to-choose-FP_REG-on-ARM.patch -4bed81aa62ff7a4b6b0cf223efce6a5f 0010-web-Keep-the-default-size-for-the-client-s-in-kernel.patch -36cd7ea5a15ace11c9c37f424baba09d 0011-Fix-shrinking-of-contiguous-bytevectors-as-from-get-.patch -9e7b0d2d52e22b253ac314c6cb317bb4 0013-Handle-p-in-format-warnings.patch -9bb62ca4bd913b5ba6a94868a2d33464 0015-Fix-SCM_SMOB_OBJECT-_-_0_-_1_-_2_-_3_-LOC.patch -04012be1e50736374564b14440e410f6 0016-peval-Handle-optional-argument-inits-that-refer-to-p.patch -54b76be46ecc9333e2a57cc0906c1927 strtol_l.patch" -sha256sums="e6786c934346fa2e38e46d8d81a622bb1c16d130153523f6129fcd79ef1fb040 guile-2.0.11.tar.gz -760355a63be9b756607a03352ceb916dfba02da917fa00c6bc07253d0f7c75f6 0002-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch -1b438b5b513f6711c098a54944f907e4b4744bfd1b9315fb8bc33c67a1481952 0003-Recognize-more-ARM-targets.patch -10c710b4e4cba8a99d5f6ca1fd24653f5f67ed6fd3263b551678648713bdc049 0008-VM-ASM_MUL-for-ARM-Add-earlyclobber-constraint-to-th.patch -9247fdd64b5bc8dc8e3b233156a6b6027c7b06778729773d5c360f16c1f85fd3 0009-VM-Allow-the-C-compiler-to-choose-FP_REG-on-ARM.patch -36a05b4aee0135897ab1322762931c5ee4ee1e9d153ec46e69c5bc1954552788 0010-web-Keep-the-default-size-for-the-client-s-in-kernel.patch -b7b3425c807d227dccf0ada653d3edd6d343d6c9d7ee648140bd13812f7776e7 0011-Fix-shrinking-of-contiguous-bytevectors-as-from-get-.patch -3557178fec43d58c62a505a3199054d4f32da97cfafaa969a8e9b90616bc603f 0013-Handle-p-in-format-warnings.patch -4ded8227e4b93a5205ddcf43f01e0e8c7684396669192b2e95b2c710573b6395 0015-Fix-SCM_SMOB_OBJECT-_-_0_-_1_-_2_-_3_-LOC.patch -d28837b89c1653d9addf80573934dc97128a0c464b531f64fc58b1577f60340a 0016-peval-Handle-optional-argument-inits-that-refer-to-p.patch -2ba49adb27db50f5ec33779ce2f002cafde99a04038ca689bee7d2098296ce33 strtol_l.patch" -sha512sums="dc1a30d44e6d432fab2407d72385e959af863f6feba6cca5813b4de24c92200c78b44f336d1f4fa8c7b4058dea880982787c69888c91a2236fd2fb1d313137fd guile-2.0.11.tar.gz -b1c309cc07830ff1741ef88857f8099187b449580e8d57862886abc367ef1accc5a35636d81eee09247f13d3a751cdc8909fdea05368d3d509bd2039ce06d078 0002-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch -0d3a5fd9ebd34d65f9c5534ea87a161099f4e0d1aae0153226962776ad0b823becd1688fe431c8425968d44377aec5ba2f81865924652125f6356b5f9d993101 0003-Recognize-more-ARM-targets.patch -b283ac11ca5d01a4ab102258ff896fb3fb6cb053144ea31ae0d43c0229c9b9509c4eadc90d757b232a3c5421f39a83107893a3cd2c06551a4b822ab82f1ba4fc 0008-VM-ASM_MUL-for-ARM-Add-earlyclobber-constraint-to-th.patch -44ed0295e4f07bec155f14d6d77e6cde36be0517f594c2304d0dc21956bdc5235586a52f1a46ddc5e2bc9106c3cc4cdac14916c6e61aaca7ffa9139dd166e02e 0009-VM-Allow-the-C-compiler-to-choose-FP_REG-on-ARM.patch -58d0531f5a5a641187e3fadd8fd3951f18751531617f0eb10da59c8b8e7686329a3e1905b888496932daf2be0dd4597231268dee3e3853448e721337ade70b37 0010-web-Keep-the-default-size-for-the-client-s-in-kernel.patch -3ad38f8ed820751203e263d58b035304d0bb1f8815d4bcd4f4d2e292acc6a2f8c3d2a2287e48520386cd9fc785e179d2f8f1f4b9252bdbba817de06ab5df7ab1 0011-Fix-shrinking-of-contiguous-bytevectors-as-from-get-.patch -8484e882723d68ea1e658a86c7be5006de1af7d457f7f9a37a99b427460db8420980174efdcaff8fbfa49346ba01252d2e6183c8b5e323bd228d223ed011655b 0013-Handle-p-in-format-warnings.patch -5f450e57968f2f0592a0de6beaa02db315d668a31a85330e3aa44d87995c82f866828fceb71012c123f5dd3b3b5c3ec944c8011ba09658ad00e8ce1c6f958a87 0015-Fix-SCM_SMOB_OBJECT-_-_0_-_1_-_2_-_3_-LOC.patch -f55e514534fd1aba547ed8d4350fbeeaef77d634d7f1915a0108244a9bef5afe7074f3292b9f74bdccd0c56cddc60e222e9ccd2519ba337b6f156123e632ec26 0016-peval-Handle-optional-argument-inits-that-refer-to-p.patch -596efb03c65df98ea9afd932cb67e5b436e35fbf2442630e8a1854818f246b5a24eb920e3502ba28b882f0afb27c5148f1ff509c29baa91a7f37b3ecdc28c000 strtol_l.patch" +md5sums="dac267e76330176d48583258aeaa7016 guile-2.0.13.tar.gz +00b381cff020d6b43de150a99d08d955 0002-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch" +sha256sums="ee8073c4582bb4f06412452fdf5dd185aae607441f1313c824f44bdd668b0bde guile-2.0.13.tar.gz +760355a63be9b756607a03352ceb916dfba02da917fa00c6bc07253d0f7c75f6 0002-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch" +sha512sums="79fd5fda5064331eb687934ec3eaf07943f5b23bd05fbce23ab5ee3698864250b33746e33b8f074692b56f7b428dac42ed5d3f5b9dc17d171aa6dfadc1625b00 guile-2.0.13.tar.gz +b1c309cc07830ff1741ef88857f8099187b449580e8d57862886abc367ef1accc5a35636d81eee09247f13d3a751cdc8909fdea05368d3d509bd2039ce06d078 0002-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch" diff --git a/main/guile/strtol_l.patch b/main/guile/strtol_l.patch deleted file mode 100644 index 61f4f331ee..0000000000 --- a/main/guile/strtol_l.patch +++ /dev/null @@ -1,20 +0,0 @@ -We dont have strtol_l on musl so the missing configure.ac check is not -a problem for us. By skipping it we also avoid regenerating configure -script. - -diff --git a/libguile/i18n.c b/libguile/i18n.c -index f0e3443..17e9eca 100644 ---- a/libguile/i18n.c -+++ b/libguile/i18n.c -@@ -1373,7 +1373,7 @@ SCM_DEFINE (scm_locale_string_to_integer, "locale-string->integer", - - if (c_locale != NULL) - { --#ifdef USE_GNU_LOCALE_API -+#if defined(USE_GNU_LOCALE_API) && defined(HAVE_STRTOL_L) - c_result = strtol_l (c_str, &c_endptr, c_base, c_locale); - #else - RUN_IN_LOCALE_SECTION (c_locale, --- -2.4.3 - |