summaryrefslogtreecommitdiff
path: root/lang/guile
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2009-04-07 10:53:07 +0000
committerdrochner <drochner@pkgsrc.org>2009-04-07 10:53:07 +0000
commitafee03fe6acf9c783fc996220bc14a157f2cc29c (patch)
tree39d8ea2c314a3b042d7eb339fac04541c7ac64ee /lang/guile
parent7238a35359e63efd1add49778cee414b71ef1747 (diff)
downloadpkgsrc-afee03fe6acf9c783fc996220bc14a157f2cc29c.tar.gz
support NetBSD's pthread_attr_get_np() which is similar to Linux's
pthread_getattr_np(), just different, needed for get_thread_stack_base() to work which is needed for the scm_init_guile() API approved by gdt bump PKGREVISION
Diffstat (limited to 'lang/guile')
-rw-r--r--lang/guile/Makefile4
-rw-r--r--lang/guile/distinfo5
-rw-r--r--lang/guile/patches/patch-am26
-rw-r--r--lang/guile/patches/patch-an14
-rw-r--r--lang/guile/patches/patch-ao31
5 files changed, 77 insertions, 3 deletions
diff --git a/lang/guile/Makefile b/lang/guile/Makefile
index 45217d801e5..bc481e1dc70 100644
--- a/lang/guile/Makefile
+++ b/lang/guile/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.89 2008/12/15 15:26:47 gdt Exp $
+# $NetBSD: Makefile,v 1.90 2009/04/07 10:53:07 drochner Exp $
DISTNAME= guile-1.8.6
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=guile/}
diff --git a/lang/guile/distinfo b/lang/guile/distinfo
index c6b78463d10..9887fe64de3 100644
--- a/lang/guile/distinfo
+++ b/lang/guile/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.40 2008/12/15 15:26:47 gdt Exp $
+$NetBSD: distinfo,v 1.41 2009/04/07 10:53:07 drochner Exp $
SHA1 (guile-1.8.6.tar.gz) = a3896f86044a2b3740dac43e045c349d656fba31
RMD160 (guile-1.8.6.tar.gz) = d6695d266a6091dc5fb1c688e3f0286f1c6d382e
@@ -8,3 +8,6 @@ SHA1 (patch-ag) = 8aeb781ba43597f37b1ce4aaa2fb0baba2e4ce9c
SHA1 (patch-ah) = 351136075aaaab96117fecc7cedc8ee989d8a1e0
SHA1 (patch-ak) = 6639ea95471a76893b0b074dcbfbd139a1571309
SHA1 (patch-al) = 6a5fb3136028bb5a5185ce7174a20d5f9d227e18
+SHA1 (patch-am) = 6806103e9887c4df39882fa8e68607fe97392e96
+SHA1 (patch-an) = 89ee76c4e74a7af3a5e2a8e65d889292de1768f1
+SHA1 (patch-ao) = b648826c5e951cd98ca6e2cdf48435cbdba096ff
diff --git a/lang/guile/patches/patch-am b/lang/guile/patches/patch-am
new file mode 100644
index 00000000000..62647744e41
--- /dev/null
+++ b/lang/guile/patches/patch-am
@@ -0,0 +1,26 @@
+$NetBSD: patch-am,v 1.5 2009/04/07 10:53:07 drochner Exp $
+
+--- configure.orig 2008-12-08 18:49:13.000000000 +0100
++++ configure
+@@ -34249,7 +34249,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+-for ac_func in pthread_attr_getstack pthread_getattr_np pthread_get_stackaddr_np pthread_sigmask
++for ac_func in pthread_attr_getstack pthread_getattr_np pthread_get_stackaddr_np pthread_sigmask pthread_attr_get_np
+ do
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -34610,7 +34610,12 @@ int main ()
+ void *start, *end;
+ size_t size;
+
++#if HAVE_PTHREAD_ATTR_GET_NP
++ pthread_attr_init(&attr);
++ pthread_attr_get_np(pthread_self (), &attr);
++#else
+ pthread_getattr_np (pthread_self (), &attr);
++#endif
+ pthread_attr_getstack (&attr, &start, &size);
+ end = (char *)start + size;
+
diff --git a/lang/guile/patches/patch-an b/lang/guile/patches/patch-an
new file mode 100644
index 00000000000..72a0b84e2b3
--- /dev/null
+++ b/lang/guile/patches/patch-an
@@ -0,0 +1,14 @@
+$NetBSD: patch-an,v 1.1 2009/04/07 10:53:08 drochner Exp $
+
+--- config.h.in.orig 2008-12-08 18:49:18.000000000 +0100
++++ config.h.in
+@@ -436,6 +436,9 @@ Boston, MA 02110-1301, USA.
+ /* Define to 1 if you have the `pthread_getattr_np' function. */
+ #undef HAVE_PTHREAD_GETATTR_NP
+
++/* XXX manually patched */
++#undef HAVE_PTHREAD_ATTR_GET_NP
++
+ /* Define to 1 if you have the `pthread_get_stackaddr_np' function. */
+ #undef HAVE_PTHREAD_GET_STACKADDR_NP
+
diff --git a/lang/guile/patches/patch-ao b/lang/guile/patches/patch-ao
new file mode 100644
index 00000000000..55960f2a283
--- /dev/null
+++ b/lang/guile/patches/patch-ao
@@ -0,0 +1,31 @@
+$NetBSD: patch-ao,v 1.3 2009/04/07 10:53:08 drochner Exp $
+
+--- libguile/threads.c.orig 2008-12-08 18:42:56.000000000 +0100
++++ libguile/threads.c
+@@ -624,7 +624,7 @@ scm_i_init_thread_for_guile (SCM_STACKIT
+
+ #if SCM_USE_PTHREAD_THREADS
+
+-#if HAVE_PTHREAD_ATTR_GETSTACK && HAVE_PTHREAD_GETATTR_NP
++#if HAVE_PTHREAD_ATTR_GETSTACK && (HAVE_PTHREAD_GETATTR_NP || HAVE_PTHREAD_ATTR_GET_NP)
+ /* This method for GNU/Linux and perhaps some other systems.
+ It's not for MacOS X or Solaris 10, since pthread_getattr_np is not
+ available on them. */
+@@ -637,9 +637,17 @@ get_thread_stack_base ()
+ void *start, *end;
+ size_t size;
+
++#ifdef HAVE_PTHREAD_ATTR_GET_NP
++ pthread_attr_init(&attr);
++ pthread_attr_get_np(pthread_self (), &attr);
++#else
+ pthread_getattr_np (pthread_self (), &attr);
++#endif
+ pthread_attr_getstack (&attr, &start, &size);
+ end = (char *)start + size;
++#ifdef HAVE_PTHREAD_ATTR_GET_NP
++ pthread_attr_destroy(&attr);
++#endif
+
+ /* XXX - pthread_getattr_np from LinuxThreads does not seem to work
+ for the main thread, but we can use scm_get_stack_base in that