summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/guile/files/opensuse
diff options
context:
space:
mode:
authorNitin A Kamble <nitin.a.kamble@intel.com>2012-01-13 18:19:36 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-19 11:29:07 +0000
commit7726884826332387180cd24ebe565cd13a193e13 (patch)
tree307f0c40cf36ce8a584a640ff326ff0348cad76f /meta/recipes-devtools/guile/files/opensuse
parentb9006a6fe807f6717fd6ee7237b23987184d2316 (diff)
downloadopenembedded-core-7726884826332387180cd24ebe565cd13a193e13.tar.gz
openembedded-core-7726884826332387180cd24ebe565cd13a193e13.tar.bz2
openembedded-core-7726884826332387180cd24ebe565cd13a193e13.zip
guile: new recipe for autogen
guile recipe is needed by autogen. Imported & updated the guile-cross-config generation & guile-2.0.pc manipulation code from the meta-oe guile recipe. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Diffstat (limited to 'meta/recipes-devtools/guile/files/opensuse')
-rw-r--r--meta/recipes-devtools/guile/files/opensuse/guile-64bit.patch38
-rw-r--r--meta/recipes-devtools/guile/files/opensuse/guile-turn-off-gc-test.patch48
2 files changed, 86 insertions, 0 deletions
diff --git a/meta/recipes-devtools/guile/files/opensuse/guile-64bit.patch b/meta/recipes-devtools/guile/files/opensuse/guile-64bit.patch
new file mode 100644
index 0000000000..be3191a039
--- /dev/null
+++ b/meta/recipes-devtools/guile/files/opensuse/guile-64bit.patch
@@ -0,0 +1,38 @@
+
+Upstream-Status: Inappropriate [opensuse patch]
+
+Index: guile-2.0.3/libguile/hash.c
+===================================================================
+--- guile-2.0.3.orig/libguile/hash.c 2011-07-06 15:49:59.000000000 -0700
++++ guile-2.0.3/libguile/hash.c 2012-01-13 21:49:43.332844884 -0800
+@@ -270,7 +270,7 @@ scm_hasher(SCM obj, unsigned long n, siz
+ unsigned long
+ scm_ihashq (SCM obj, unsigned long n)
+ {
+- return (SCM_UNPACK (obj) >> 1) % n;
++ return ((unsigned long) SCM_UNPACK (obj) >> 1) % n;
+ }
+
+
+@@ -306,7 +306,7 @@ scm_ihashv (SCM obj, unsigned long n)
+ if (SCM_NUMP(obj))
+ return (unsigned long) scm_hasher(obj, n, 10);
+ else
+- return SCM_UNPACK (obj) % n;
++ return (unsigned long) SCM_UNPACK (obj) % n;
+ }
+
+
+Index: guile-2.0.3/libguile/struct.c
+===================================================================
+--- guile-2.0.3.orig/libguile/struct.c 2011-07-06 15:50:00.000000000 -0700
++++ guile-2.0.3/libguile/struct.c 2012-01-13 21:49:43.332844884 -0800
+@@ -942,7 +942,7 @@ scm_struct_ihashq (SCM obj, unsigned lon
+ {
+ /* The length of the hash table should be a relative prime it's not
+ necessary to shift down the address. */
+- return SCM_UNPACK (obj) % n;
++ return (unsigned long) SCM_UNPACK (obj) % n;
+ }
+
+ SCM_DEFINE (scm_struct_vtable_name, "struct-vtable-name", 1, 0, 0,
diff --git a/meta/recipes-devtools/guile/files/opensuse/guile-turn-off-gc-test.patch b/meta/recipes-devtools/guile/files/opensuse/guile-turn-off-gc-test.patch
new file mode 100644
index 0000000000..ed56694a98
--- /dev/null
+++ b/meta/recipes-devtools/guile/files/opensuse/guile-turn-off-gc-test.patch
@@ -0,0 +1,48 @@
+
+Upstream-Status: Inappropriate [opensuse patch]
+
+See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10096
+why this test is turned off.
+Index: guile-2.0.3/test-suite/tests/gc.test
+===================================================================
+--- guile-2.0.3.orig/test-suite/tests/gc.test 2011-10-15 09:34:40.000000000 -0700
++++ guile-2.0.3/test-suite/tests/gc.test 2012-01-13 21:52:10.282540355 -0800
+@@ -65,23 +65,23 @@
+ foo)))
+
+
+-(with-test-prefix "gc"
+- (pass-if "Unused modules are removed"
+- (let* ((guard (make-guardian))
+- (total 1000))
+-
+- (for-each (lambda (x) (guard (make-module))) (iota total))
++;;(with-test-prefix "gc"
++;; (pass-if "Unused modules are removed"
++;; (let* ((guard (make-guardian))
++;; (total 1000))
++;;
++;; (for-each (lambda (x) (guard (make-module))) (iota total))
+
+ ;; Avoid false references to the modules on the stack.
+- (stack-cleanup 20)
++;; (stack-cleanup 20)
+
+- (gc)
+- (gc) ;; twice: have to kill the weak vectors.
+- (gc) ;; thrice: because the test doesn't succeed with only
++;; (gc)
++;; (gc) ;; twice: have to kill the weak vectors.
++;; (gc) ;; thrice: because the test doesn't succeed with only
+ ;; one gc round. not sure why.
+
+- (= (let lp ((i 0))
+- (if (guard)
+- (lp (1+ i))
+- i))
+- total))))
++;; (= (let lp ((i 0))
++;; (if (guard)
++;; (lp (1+ i))
++;; i))
++;; total))))