aboutsummaryrefslogtreecommitdiff
path: root/devel/py-psyco
diff options
context:
space:
mode:
authorMario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>2004-12-24 09:27:07 +0000
committerMario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>2004-12-24 09:27:07 +0000
commitb908acd9c8358674fcaf72061f3d4653bd37a231 (patch)
tree402eecd09a2ab547a5616e23676c60f0eb24e790 /devel/py-psyco
parent64dead460139a69526ef96d6a6bf40a8dfefbd62 (diff)
downloadports-b908acd9c8358674fcaf72061f3d4653bd37a231.tar.gz
ports-b908acd9c8358674fcaf72061f3d4653bd37a231.zip
Notes
Diffstat (limited to 'devel/py-psyco')
-rw-r--r--devel/py-psyco/Makefile7
-rw-r--r--devel/py-psyco/distinfo4
-rw-r--r--devel/py-psyco/files/patch-c::codemanager.c85
3 files changed, 7 insertions, 89 deletions
diff --git a/devel/py-psyco/Makefile b/devel/py-psyco/Makefile
index aa70cd85b98e..3c106252c254 100644
--- a/devel/py-psyco/Makefile
+++ b/devel/py-psyco/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= psyco
-PORTVERSION= 1.2
-PORTREVISION= 1
+PORTVERSION= 1.3
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= psyco
@@ -24,4 +23,8 @@ USE_PYDISTUTILS=yes
WRKSRC= ${WRKDIR}/psyco-${PORTVERSION}
+post-install:
+# fix installation permissions
+ @${CHMOD} ${SHAREMODE} ${PYTHON_SITELIBDIR}/psyco/*
+
.include <bsd.port.mk>
diff --git a/devel/py-psyco/distinfo b/devel/py-psyco/distinfo
index ddbf35ed708d..c00f62079589 100644
--- a/devel/py-psyco/distinfo
+++ b/devel/py-psyco/distinfo
@@ -1,2 +1,2 @@
-MD5 (psyco-1.2-src.tar.gz) = 441bfc7693bf13902a479550dcbaabd2
-SIZE (psyco-1.2-src.tar.gz) = 318472
+MD5 (psyco-1.3-src.tar.gz) = ef2dd14e933c40b420693d0cf5bb2aff
+SIZE (psyco-1.3-src.tar.gz) = 1099318
diff --git a/devel/py-psyco/files/patch-c::codemanager.c b/devel/py-psyco/files/patch-c::codemanager.c
deleted file mode 100644
index fa5a6a3bb61b..000000000000
--- a/devel/py-psyco/files/patch-c::codemanager.c
+++ /dev/null
@@ -1,85 +0,0 @@
---- c/codemanager.c.orig Tue Dec 2 17:46:39 2003
-+++ c/codemanager.c Sun Aug 1 08:41:16 2004
-@@ -2,21 +2,12 @@
- #include <ipyencoding.h>
-
- /*** Allocators for Large Executable Blocks of Memory ***/
--/* Defaults, possibly overridden below */
--#define LEBM_WITH_MMAP 0 /* assume memory executable by default */
--#define LEBM_NUM_BIGBLOCKS 1 /* not too large blocks */
-
- #ifndef MS_WINDOWS
- /* Assume UNIX */
- # include <sys/mman.h>
--# if defined(MAP_ANONYMOUS) || defined(MAP_ANON)
--# undef LEBM_WITH_MMAP
--# undef LEBM_NUM_BIGBLOCKS
--# define LEBM_WITH_MMAP 1 /* use mmap() with PROT_EXEC */
--# define LEBM_NUM_BIGBLOCKS 32 /* ask for 32MB at a time */
--# ifndef MAP_ANONYMOUS
--# define MAP_ANONYMOUS MAP_ANON
--# endif
-+# if defined(MAP_ANON) && !defined(MAP_ANONYMOUS)
-+# define MAP_ANONYMOUS MAP_ANON
- # endif
- #endif
-
-@@ -42,22 +33,44 @@
-
- static void allocate_more_buffers(codemanager_buf_t** bb)
- {
-- char* p;
-- int i;
--
--#if LEBM_WITH_MMAP
-- p = (char*) mmap(NULL, BIG_BUFFER_SIZE * LEBM_NUM_BIGBLOCKS,
-- PROT_EXEC|PROT_READ|PROT_WRITE,
-- MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);
-- if (p == MAP_FAILED)
-- OUT_OF_MEMORY();
--#else
-- p = (char*) PyMem_MALLOC(BIG_BUFFER_SIZE * LEBM_NUM_BIGBLOCKS);
-- if (!p)
-- OUT_OF_MEMORY();
-+ char* p = NULL;
-+ int num_bigblocks = 1;
-+
-+#if defined(MAP_ANONYMOUS) && defined(MAP_PRIVATE)
-+ /* if we have anonymous mmap's, try using that -- this is known
-+ to fail on some platforms */
-+ static int mmap_works = -1;
-+ if (mmap_works != 0)
-+ {
-+ num_bigblocks = 32; /* allocate 32MB at a time */
-+ p = (char*) mmap(NULL, BIG_BUFFER_SIZE * num_bigblocks,
-+ PROT_EXEC|PROT_READ|PROT_WRITE,
-+ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
-+ if (p == MAP_FAILED || p == NULL)
-+ {
-+ if (mmap_works == 1)
-+ OUT_OF_MEMORY();
-+ mmap_works = 0; /* doesn't work */
-+ p = NULL;
-+ num_bigblocks = 1;
-+ /* note that some platforms *require* the allocation to be performed
-+ by mmap, because PyMem_MALLOC() doesn't set the PROT_EXEC flag.
-+ On these platforms we just hope that the first allocation is
-+ successful, which sets mmap_works to 1; a failure in a subsequent
-+ allocation correctly signals the OUT_OF_MEMORY. */
-+ }
-+ else
-+ mmap_works = 1;
-+ }
- #endif
-
-- for (i=0; i<LEBM_NUM_BIGBLOCKS; i++)
-+ if (p == NULL)
-+ {
-+ p = (char*) PyMem_MALLOC(BIG_BUFFER_SIZE);
-+ if (p == NULL)
-+ OUT_OF_MEMORY();
-+ }
-+ while (--num_bigblocks >= 0)
- {
- /* the codemanager_buf_t structure is put at the end of the buffer,
- with its signature to detect overflows (just in case) */