summaryrefslogtreecommitdiff
path: root/lang/parrot
diff options
context:
space:
mode:
authorhe <he@pkgsrc.org>2012-07-07 10:46:52 +0000
committerhe <he@pkgsrc.org>2012-07-07 10:46:52 +0000
commit10e31375cb9f004fef128e2cdac6d20b5c603086 (patch)
tree4b583dc8f0336bc0181fcf9d7c66bc2808a1d572 /lang/parrot
parent4901655fade298963530d0595a1808315f32a5c3 (diff)
downloadpkgsrc-10e31375cb9f004fef128e2cdac6d20b5c603086.tar.gz
Update lang/parrot to 4.3.0.
Pkgsrc changes: * Remove patch-ak, as the fix is now adopted upstream. Upstream changes: - Core + Winxed snapshot updated to 1.7.0 + Add type introspection to lexical variables. + New 'tools/release/parrot_github_release.pl' script to automate updates to the 'parrot.github.com' and 'parrot-docsx' repositories. + Numerous casting and consting fixes thanks to GCC 4.8. - Documentation + Updated 'docs/projects/release_manager_guide.pod' + Updated 'docs/projects/release_parrot_github_guide.pod' + Improved function documentation. - Tests - Community - Platforms + Fixed alignment issues on ia64, sparc and mipsel. + Fixed a platform-specific issue with dlclose().
Diffstat (limited to 'lang/parrot')
-rw-r--r--lang/parrot/Makefile6
-rw-r--r--lang/parrot/distinfo9
-rw-r--r--lang/parrot/patches/patch-ak115
3 files changed, 7 insertions, 123 deletions
diff --git a/lang/parrot/Makefile b/lang/parrot/Makefile
index d2180a19865..5d945b6be25 100644
--- a/lang/parrot/Makefile
+++ b/lang/parrot/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.59 2012/07/03 13:29:25 he Exp $
+# $NetBSD: Makefile,v 1.60 2012/07/07 10:46:52 he Exp $
#
-VERSION= 4.2.0
-RTYPE= devel
+VERSION= 4.3.0
+RTYPE= stable
DISTNAME= parrot-${VERSION}
CATEGORIES= lang
MASTER_SITES= ftp://ftp.parrot.org/pub/parrot/releases/${RTYPE}/${VERSION}/
diff --git a/lang/parrot/distinfo b/lang/parrot/distinfo
index d6a2f4c00a7..064cb6a5643 100644
--- a/lang/parrot/distinfo
+++ b/lang/parrot/distinfo
@@ -1,7 +1,6 @@
-$NetBSD: distinfo,v 1.48 2012/07/03 13:29:25 he Exp $
+$NetBSD: distinfo,v 1.49 2012/07/07 10:46:52 he Exp $
-SHA1 (parrot-4.2.0.tar.gz) = a67783bf3eb9de92302c47cb5ffabfa95a255353
-RMD160 (parrot-4.2.0.tar.gz) = 99756d73fcb6866133fcdc39bc8dda83e0057174
-Size (parrot-4.2.0.tar.gz) = 4514090 bytes
+SHA1 (parrot-4.3.0.tar.gz) = 6df35372f08f4cd50c8090253eea66faf5622abc
+RMD160 (parrot-4.3.0.tar.gz) = 27beab3045f96105da0087edc865a4ccabf5bc65
+Size (parrot-4.3.0.tar.gz) = 4521527 bytes
SHA1 (patch-ad) = a972d48a879e541f6894f2eeb82a70b1756437d9
-SHA1 (patch-ak) = 19d7dfff43bb08ba046040771e45b95774e024b7
diff --git a/lang/parrot/patches/patch-ak b/lang/parrot/patches/patch-ak
deleted file mode 100644
index fbc8a6c0181..00000000000
--- a/lang/parrot/patches/patch-ak
+++ /dev/null
@@ -1,115 +0,0 @@
-$NetBSD: patch-ak,v 1.4 2011/02/19 13:07:48 he Exp $
-
-Prevent problem exposed by "library cloning", where the dlopen()-returned
-handle is copied, causing dlclose() to be called twice with the same handle,
-which in turn triggers a warning from ld.elf_so on NetBSD. Ref.
-http://trac.parrot.org/parrot/ticket/1340.
-
---- src/platform/generic/dl.c.orig 2010-03-22 13:39:23.000000000 +0100
-+++ src/platform/generic/dl.c
-@@ -23,6 +23,8 @@ Parrot functions which wrap around stand
- #include "parrot/parrot.h"
-
- #ifdef PARROT_HAS_HEADER_DLFCN
-+# include <stddef.h>
-+# include <stdlib.h>
- # include <dlfcn.h>
- #endif
-
-@@ -30,6 +32,62 @@ Parrot functions which wrap around stand
-
- /* HEADERIZER HFILE: none */
-
-+
-+#ifdef PARROT_HAS_HEADER_DLFCN
-+
-+struct handle_entry {
-+ void *handle;
-+ struct handle_entry *next;
-+};
-+
-+struct handle_entry *handle_list = NULL;
-+
-+static void
-+push_handle_entry(void *handle)
-+{
-+ struct handle_entry *e;
-+
-+ e = (struct handle_entry *) malloc(sizeof(struct handle_entry));
-+ if (!e) { return; }
-+ e->handle = handle;
-+ e->next = handle_list;
-+ handle_list = e;
-+}
-+
-+static void *
-+find_handle_entry(void *handle)
-+{
-+ struct handle_entry *e;
-+
-+ for(e = handle_list; e; e = e->next) {
-+ if (e->handle == handle)
-+ return handle;
-+ }
-+ return NULL;
-+}
-+
-+static void
-+remove_handle_entry(void *handle)
-+{
-+ struct handle_entry *cur, *prev, *p;
-+
-+ if (handle_list) {
-+ if (handle_list->handle == handle) {
-+ p = handle_list;
-+ handle_list = p->next;
-+ free(p);
-+ } else {
-+ for (cur = handle_list; cur; prev = cur, cur = cur->next) {
-+ if (cur->handle == handle) {
-+ prev->next = cur->next;
-+ free(cur);
-+ }
-+ }
-+ }
-+ }
-+}
-+#endif /* PARROT_HAS_HEADER_DLFCN */
-+
- /*
-
- =item C<void * Parrot_dlopen(const char *filename, Parrot_dlopen_flags flags)>
-@@ -46,8 +104,12 @@ void *
- Parrot_dlopen(const char *filename, Parrot_dlopen_flags flags)
- {
- #ifdef PARROT_HAS_HEADER_DLFCN
-- return dlopen(filename, PARROT_DLOPEN_FLAGS
-- | ((flags & Parrot_dlopen_global_FLAG) ? RTLD_GLOBAL : 0));
-+ void *h;
-+
-+ h = dlopen(filename, PARROT_DLOPEN_FLAGS
-+ | ((flags & Parrot_dlopen_global_FLAG) ? RTLD_GLOBAL : 0));
-+ push_handle_entry(h);
-+ return h;
- #else
- return 0;
- #endif
-@@ -112,10 +174,15 @@ int
- Parrot_dlclose(void *handle)
- {
- #ifdef PARROT_HAS_HEADER_DLFCN
-- return dlclose(handle);
--#else
-- return -1;
-+ int rv;
-+
-+ if (find_handle_entry(handle)) {
-+ remove_handle_entry(handle);
-+ rv = dlclose(handle);
-+ return rv;
-+ }
- #endif
-+ return -1;
- }
-
- /*