diff options
author | he <he@pkgsrc.org> | 2012-07-07 10:46:52 +0000 |
---|---|---|
committer | he <he@pkgsrc.org> | 2012-07-07 10:46:52 +0000 |
commit | 10e31375cb9f004fef128e2cdac6d20b5c603086 (patch) | |
tree | 4b583dc8f0336bc0181fcf9d7c66bc2808a1d572 /lang | |
parent | 4901655fade298963530d0595a1808315f32a5c3 (diff) | |
download | pkgsrc-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')
-rw-r--r-- | lang/parrot/Makefile | 6 | ||||
-rw-r--r-- | lang/parrot/distinfo | 9 | ||||
-rw-r--r-- | lang/parrot/patches/patch-ak | 115 |
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; - } - - /* |