Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Mar 2013 16:57:23 +0200
From:      David Naylor <dbn@freebsd.org>
To:        python@freebsd.org, ports@freebsd.org
Cc:        Eitan Adler <eadler@freebsd.org>, Bryan Drewery <bdrewery@freebsd.org>
Subject:   [RFC] lang/pypy
Message-ID:  <201303021657.27745.dbn@freebsd.org>

next in thread | raw e-mail | index | archive | help
--nextPart14341428.ZYfRthnmrb
Content-Type: multipart/mixed;
  boundary="Boundary-01=_UNhMR8WRKthGiUk"
Content-Transfer-Encoding: 7bit


--Boundary-01=_UNhMR8WRKthGiUk
Content-Type: Text/Plain;
  charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi All.

After many months of (sporadic) work I would like to introduce pypy-2.0.b1.=
 =20

Could you please have a look at, and test, my proposed changes (attached) a=
nd=20
the wiki page at http://wiki.FreeBSD.org/PyPy. =20

I would like to commit these changes (after incorporating feedback) sometim=
e=20
next week.  Feel free to update the wiki yourselves ;-). =20

Regards

David

P.S. Please keep my mentors CCed in any discussions :-)

--Boundary-01=_UNhMR8WRKthGiUk
Content-Type: text/x-patch;
  charset="ISO-8859-1";
  name="pypy.diff"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="pypy.diff"

Index: pypy/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/Makefile	(revision 312473)
+++ pypy/Makefile	(working copy)
@@ -2,8 +2,7 @@
 # $FreeBSD$
=20
 PORTNAME=3D	pypy
=2DDISTVERSION=3D	1.9
=2DPORTREVISION=3D	2
+DISTVERSION=3D	2.0-beta1
 CATEGORIES=3D	lang python java
 MASTER_SITES=3D	https://bitbucket.org/pypy/pypy/get/
 DISTNAME=3D	release-${DISTVERSION}
@@ -18,18 +17,30 @@
 LIB_DEPENDS=3D	expat:${PORTSDIR}/textproc/expat2 \
 		ffi:${PORTSDIR}/devel/libffi
=20
=2DOPTIONS_DEFINE=3D	SANDBOX
+CLI_DESC=3D	(BROKEN) Translate a CLI (.NET) based pypy
+JVM_DESC=3D	(BROKEN) Translate a JVM (Java) based pypy
+PYPY_DESC=3D	Use pypy to translate (faster but uses more memory)
 SANDBOX_DESC=3D	Translate a sandboxed pypy
+.if !defined(PYPY_INST)
+OPTIONS_DEFINE+=3D	CLI JVM SANDBOX
+.endif
+LOCALBASE?=3D	/usr/local
+.if exists(${LOCALBASE}/bin/pypy)
+OPTIONS_DEFINE+=3D	PYPY
+.endif
=20
+ALL_TARGET=3D	${PYPY_NAMES}
 BUILD_WRKSRC=3D	${WRKDIR}
 USE_BZIP2=3D	yes
 USE_ICONV=3D	yes
 USE_GETTEXT=3D	yes
+MAKE_JOBS_SAFE=3D	yes
+MAKEFILE=3D	${FILESDIR}/Makefile
 PKGINSTALL=3D	${WRKDIR}/pkg-install
 PKGDEINSTALL=3D	${WRKDIR}/pkg-deinstall
=2DWRKSRC=3D		${WRKDIR}/pypy-pypy-341e1e3821ff
+WRKSRC=3D		${WRKDIR}/pypy-pypy-fcb6b056f00e
=20
=2DPYPY_VER=3D	${DISTVERSION}
+PYPY_VER=3D	${DISTVERSION:C|([0-9])\.([0-9]).*|\1.\2|}
 PYTHON_IMPL_VER=3D	2.7
 PYPY_LIBDIR=3D	lib/pypy${PYPY_VER}
 PYPY_INCLUDEDIR=3D	include/pypy${PYPY_VER}
@@ -38,20 +49,26 @@
 PLIST_SUB+=3D	PYPY_LIBDIR=3D${PYPY_LIBDIR} \
 		PYPY_INCLUDEDIR=3D${PYPY_INCLUDEDIR}
=20
=2DMAKE_ENV+=3D	PYPY_LOCALBASE=3D${LOCALBASE}
=2D.if exists(/usr/bin/clang)
=2DMAKE_ARGS+=3D	CC=3Dclang
=2DMAKE_JOBS_SAFE=3D	yes
=2D.endif
+MAKE_ENV+=3D	DISTVERSION=3D${DISTVERSION} PYTHON_CMD=3D${PYTHON_CMD} \
+		WRKSRC=3D${WRKSRC} PYPY_LOCALBASE=3D${LOCALBASE}
=20
=2D# XXX !.include <bsd.port.pre.mk> as USE_* need to be set prior
 .include <bsd.port.options.mk>
=2D.include "${.CURDIR}/files/bsd.pypy.inst.mk"
+.include "${MASTERDIR}/files/bsd.pypy.inst.mk"
=20
=2D.if defined(PACKAGE_BUILDING)
=2DMANUAL_PACKAGE_BUILD=3D	fails to finish compilation on pointyhat, reason=
 unknown
+.if ${OSVERSION} < 1000024 || ( ${ARCH} !=3D "i386" && ${ARCH} !=3D "amd64=
" )
+.if ${CC:T} =3D=3D cc && ( exists(/usr/bin/clang) || exists(${LOCALBASE}/c=
lang) )
+CC=3D		clang
+.else
+USE_GCC=3D	yes
 .endif
+.endif
=20
+.if ${PORT_OPTIONS:MPYPY} || defined(PYTHON_CMD)
+PYTHON_CMD?=3D	${LOCALBASE}/bin/pypy
+.else
+USE_PYTHON_BUILD=3D	2.5+
+.endif
+
 # List of PyPy instances
 .if !defined(PYPY_INST)
 PYPY_INST=3D	DEFAULT
@@ -60,13 +77,26 @@
 PYPY_INST+=3D	SANDBOX
 .endif
=20
+.if ${PORT_OPTIONS:MCLI}
+PYPY_INST+=3D	CLI
+.endif
+
+.if ${PORT_OPTIONS:MJVM}
+PYPY_INST+=3D	JVM
+.endif
+
 .endif # !defined(PYPY_INST)
=20
=2DPYPY_NAMES=3D
+MAKE_ENV+=3D	PYPY_INST=3D"${PYPY_INST}"
+
 .for inst in ${PYPY_INST}
=20
 PYPY_NAMES+=3D	${PYPY_${inst}_NAME}
 PYPY_PRIMARY?=3D	${PYPY_${inst}_NAME}
+MAKE_ENV+=3D	PYPY_${inst}_NAME=3D"${PYPY_${inst}_NAME}" \
+		PYPY_${inst}_OBJSPACE_ARGS=3D"${PYPY_${inst}_OBJSPACE_ARGS}" \
+		PYPY_${inst}_OPT=3D"${PYPY_${inst}_OPT}" \
+		PYPY_${inst}_TRANSLATE_ARGS=3D"${PYPY_${inst}_TRANSLATE_ARGS}"
=20
 # Check if the boehm GC will be used
 .if ${PYPY_${inst}_OPT} =3D=3D 0 || ${PYPY_${inst}_OPT} =3D=3D 1 || ${PYPY=
_${inst}_OPT} =3D=3D size
@@ -85,24 +115,6 @@
=20
 .endfor # inst in ${PYPY_INST}
=20
=2D# Use pypy if it is installed, else use python (to translate)
=2D.if !defined(PY)
=2D.if !defined(PYPY)
=2D.if ${PYPY_PRIMARY} =3D=3D pypy
=2DPYPY!=3D		${WHICH} ${PYPY_PRIMARY} 2> /dev/null || true
=2D.else
=2DPYPY!=3D		${WHICH} ${PYPY_PRIMARY} 2> /dev/null || ${WHICH} pypy 2> /dev=
/null || true
=2D.endif
=2D.endif # !defined(PYPY)
=2D
=2D.if exists(${PYPY})
=2DPY=3D		${PYPY}
=2D.else
=2DUSE_PYTHON_BUILD=3D	2.5+
=2DPY=3D		${PYTHON_CMD}
=2D.endif
=2D.endif # !defined(PY)
=2D
 .if defined(WITH_BOEHM_GC)
 LIB_DEPENDS+=3D	gc.1:${PORTSDIR}/devel/boehm-gc
 .endif
@@ -117,7 +129,7 @@
=20
 .if defined(WITH_JVM)
 USE_JAVA=3D	yes
=2DJAVA_VERSION=3D	1.6+
+JAVA_VERSION=3D	1.5+
 ONLY_FOR_ARCHS=3D	i386 powerpc
 ONLY_FOR_ARCHS_REASON=3D	only translates on 32bit systems
 BROKEN=3D		JVM backend broken, partially supported upstream
@@ -149,19 +161,59 @@
 .endfor # inst in ${PYPY_INST}
 .endif # !defined(PYPY_JITTABLE)
=20
=2Dpre-fetch:
=2D	@${ECHO} "PyPy requires a large amount of free RAM and time to translat=
e and compile."
=2D	@${ECHO}
=2D	@${ECHO} "To translate, PyPy requires on 32bit 3G (min 2G) free RAM and=
 on 64bit"
=2D	@${ECHO} "6G (min 4G) free RAM.  Also, to compile, PyPy on amd64 gcc re=
quires an"
=2D	@${ECHO} "extra 4G however clang only requires 400M (CC=3Dclang) but cl=
ang is slower"
=2D	@${ECHO} "in compiling PyPy."
=2D	@${ECHO}
=2D	@${ECHO} "If memory is in short supply consider using a lower optimisat=
ion level"
=2D	@${ECHO} "(e.g. PYPY_DEFAULT_OPT=3D2) however that makes PyPy much slow=
er.  Also,"
=2D	@${ECHO} "consider forcing the build to use python (-DPYPY) however tha=
t makes the"
=2D	@${ECHO} "build much slower."
=2D	@${ECHO}
+# Translating requires a large amount of memory, with a two by two matrix
+# requirement (bitness vs PYTHON_CMD).  A more refined matrix is possible =
based
+# on optimisation level however this assumes "jit" is the preferred optimi=
sation
+# level.
+#
+.if ${PYPY_ARCH:M*64}
+.  if defined(PYTHON_CMD) && ${PYTHON_CMD:M*pypy*}
+# 64bit + pypy =3D 5.5 GiB
+PYPY_TRANSLATION_MEMORY=3D	5582872
+.  else
+# 64bit + python =3D 4.3 GiB
+PYPY_TRANSLATION_MEMORY=3D	4349620
+.  endif
+# 64bit system +=3D 366 MiB
+PYPY_MINIMUM_MEMORY=3D	$$((${PYPY_TRANSLATION_MEMORY} + 374784))
+.else
+.  if defined(PYTHON_CMD) && ${PYTHON_CMD:M*pypy*}
+# 32bit + pypy =3D 2.4GiB
+PYPY_TRANSLATION_MEMORY=3D	2423888
+.  else
+# 32bit + python =3D 2.1 GiB
+PYPY_TRANSLATION_MEMORY=3D	2111388
+.  endif
+# 32bit system +=3D 168 MiB
+PYPY_MINIMUM_MEMORY=3D	$$((${PYPY_TRANSLATION_MEMORY} + 171787))
+.endif
+
+.if !defined(DISABLE_MAKE_JOBS) && ${PYPY_PRIMARY} !=3D ${PYPY_NAMES}
+PYPY_MEMORY_MULTIPLY=3D	`echo ${PYPY_NAMES} | wc -w`
+.else
+PYPY_MEMORY_MULTIPLY=3D	1
+.endif
+
+PYPY_MEM_WARNING=3D	\
+	${ECHO} "warn: this system has insufficient memory, expected at least $$(=
(${PYPY_MINIMUM_MEMORY} / 1024 * ${PYPY_MEMORY_MULTIPLY} + 1))MiB RAM"
+.if defined(PYTHON_CMD) && ${PYTHON_CMD:M*pypy*}
+PYPY_MEM_WARNING+=3D	;\
+	${ECHO} "warn: pypy is being used for translation, consider using cpython=
 as it uses less memory"
+.endif
+.if ${PYPY_MEMORY_MULTIPLY} !=3D 1
+PYPY_MEM_WARNING+=3D	;\
+	${ECHO} "warn: consider using -DDISABLE_MAKE_JOBS to serialise builds and=
 to conserve memory"
+.endif
+.if !defined(PYPY_IGNORE_MEMORY)
+PYPY_MEM_WARNING+=3D	;\
+	${ECHO} "err: memory warnings are terminal, to overwrite this error defin=
e -DPYPY_IGNORE_MEMORY and try again"; \
+	exit 1
+.else
+PYPY_MEM_WARNING+=3D	;\
+	${ECHO} "warn: THIS SYSTEM MAY END UP SWAP THRASHING AD INFINITUM"
+.endif
+
+usage:
 	@${ECHO} "PyPy supports a large number of parameters and customisations. =
 This port"
 	@${ECHO} "supports building multiple instances of PyPy, for example:"
 	@${ECHO} "PYPY_INST=3D	SANDBOX CUSTOM"
@@ -178,23 +230,11 @@
 	@${ECHO}
 	@${ECHO} "On a fast machine PyPy takes around 45 minutes to translate and=
 compile,"
 	@${ECHO} "however an average machine takes in excess of 4 hours, per inst=
ance."
=2D.if !defined(PYPY_IGNORE_MEM) && (${PYPY_ARCH} =3D=3D "x86_32" || ${PYPY=
_ARCH} =3D=3D "ppc_32")
=2D	@if [ $$((`sysctl -n hw.physmem` / 1024 / 1024)) -le 2000 ]; then \
=2D		${ECHO}; \
=2D		${ECHO} "err: this system has insufficient memory, expected at least 2=
G RAM",; \
=2D		${ECHO} "err: to overwrite this error define -DPYPY_IGNORE_MEM and try=
 again"; \
=2D		exit 1; \
=2D	fi
=2D.elif !defined(PYPY_IGNORE_MEM)
=2D	@if [ $$((`sysctl -n hw.physmem` / 1024 / 1024)) -le 4000 ]; then \
=2D		${ECHO}; \
=2D		${ECHO} "err: this system has insufficient memory, expected at least 4=
G RAM",; \
=2D		${ECHO} "err: to overwrite this error define -DPYPY_IGNORE_MEM and try=
 again"; \
=2D		exit 1; \
=2D	fi
=2D.endif
=2D	@sleep 1
=20
+pre-fetch:
+	@${ECHO} Please see http://wiki.FreeBSD.org/PyPy for more details on the =
port or 'make usage' for a summary
+	@if [ $$((`sysctl -n hw.physmem` / 1024)) -le $$((${PYPY_MINIMUM_MEMORY} =
* ${PYPY_MEMORY_MULTIPLY})) ]; then ${PYPY_MEM_WARNING}; fi
+
 post-extract:
 	${MKDIR} ${WRKSRC}/lib
 	${MV} ${WRKSRC}/lib-python/${PYTHON_IMPL_VER} ${WRKSRC}/${PYPY_LIBDIR}
@@ -210,26 +250,6 @@
 		${FILESDIR}/use.pypy > ${WRKDIR}/use.pypy
 	${CP} ${WRKDIR}/use.pypy ${PKGINSTALL}
 	${CP} ${WRKDIR}/use.pypy ${PKGDEINSTALL}
=2D	${ECHO} "all: ${PYPY_NAMES}" > ${WRKDIR}/Makefile
=2D	${ECHO} >> ${WRKDIR}/Makefile
=2D.for inst in ${PYPY_INST}
=2D	${ECHO} "${PYPY_${inst}_NAME}: build_${PYPY_${inst}_NAME}/usession-rele=
ase-${DISTVERSION}-0/testing_1/pypy-c" >> ${WRKDIR}/Makefile
=2D	${ECHO} "	${CP} build_${PYPY_${inst}_NAME}/usession-release-${DISTVERSI=
ON}-0/testing_1/pypy-c ${PYPY_${inst}_NAME}" >> ${WRKDIR}/Makefile
=2D	${ECHO} >> ${WRKDIR}/Makefile
=2D	${ECHO} ".done_translate_${PYPY_${inst}_NAME}:" >> ${WRKDIR}/Makefile
=2D	${ECHO} "	${RM} -rf build_${PYPY_${inst}_NAME}" >> ${WRKDIR}/Makefile
=2D	${ECHO} "	${MKDIR} build_${PYPY_${inst}_NAME}" >> ${WRKDIR}/Makefile
=2D	${ECHO} "	(cd ${WRKSRC}/pypy/translator/goal; \
=2D				${SETENV} TMPDIR=3D${WRKDIR}/build_${PYPY_${inst}_NAME} \
=2D				${PY} translate.py --source ${PYPY_${inst}_TRANSLATE_ARGS} -O${PYPY_=
${inst}_OPT} \
=2D					targetpypystandalone.py ${PYPY_${inst}_OBJSPACE_ARGS} )" >> ${WRKDI=
R}/Makefile
=2D	${ECHO} "	${TOUCH} .done_translate_${PYPY_${inst}_NAME}" >> ${WRKDIR}/M=
akefile
=2D	${ECHO} >> ${WRKDIR}/Makefile
=2D	${ECHO} "build_${PYPY_${inst}_NAME}/usession-release-${DISTVERSION}-0/t=
esting_1/pypy-c: .done_translate_${PYPY_${inst}_NAME}" >> ${WRKDIR}/Makefile
=2D	${ECHO} "	${REINPLACE_CMD} -e 's|^%.o: %.c\$$\$$|.c.o:|g' build_${PYPY_=
${inst}_NAME}/usession-release-${DISTVERSION}-0/testing_1/Makefile" >> ${WR=
KDIR}/Makefile
=2D	${ECHO} "	${MAKE} -C build_${PYPY_${inst}_NAME}/usession-release-${DIST=
VERSION}-0/testing_1 pypy-c" >> ${WRKDIR}/Makefile
=2D	${ECHO} >> ${WRKDIR}/Makefile
=2D.endfor
=20
 post-build:
 	-${FIND} ${WRKSRC}/${PYPY_LIBDIR} -type d | \
@@ -245,7 +265,7 @@
 .endfor
 .for name in ${PYPY_NAMES:O}
 	${INSTALL_PROGRAM} ${WRKDIR}/${name} ${PREFIX}/bin/${name}${PYPY_VER}
=2D	${ECHO} bin/${name}${DISTVERSION} >> ${TMPPLIST}
+	${ECHO} bin/${name}${PYPY_VER} >> ${TMPPLIST}
 .endfor
=20
 post-install:
@@ -254,7 +274,7 @@
 test: patch
 .for inst in ${PYPY_INST}
 	@${WHICH} ${PYPY_${inst}_NAME} > /dev/null 2>&1 || (${ECHO} "Unable to fi=
nd ${PYPY_${inst}_NAME}, please install port first!"; exit 1)
=2D	(${CD} ${PYPY_LIBDIR}; ${PYPY_${inst}_NAME} ../../pypy/test_all.py)
+	(cd ${WRKSRC}; ${PYPY_${inst}_NAME} pypy/test_all.py ${PYPY_LIBDIR}/lib_p=
ypy/pypy_test pypy/module)
 .endfor
=20
 pkg-plist: build
Index: pypy/distinfo
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/distinfo	(revision 312473)
+++ pypy/distinfo	(working copy)
@@ -1,2 +1,2 @@
=2DSHA256 (pypy/release-1.9.tar.bz2) =3D 9fd599acade49ef98017bbce4f179f19cf=
2680489ff15235d3bad5b20bde0d68
=2DSIZE (pypy/release-1.9.tar.bz2) =3D 13466551
+SHA256 (pypy/release-2.0-beta1.tar.bz2) =3D 40d8c91fa639232d7689e2f04cec4b=
1f153dbbf2ea1a7e7c58dd35724ce37371
+SIZE (pypy/release-2.0-beta1.tar.bz2) =3D 13653701
Index: pypy/files/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/Makefile	(revision 0)
+++ pypy/files/Makefile	(working copy)
@@ -0,0 +1,43 @@
+# Build Makefile for lang/pypy
+# $FreeBSD$
+
+# Required environment variables
+# - DISTVERSION
+# - PORTSDIR
+# - PYTHON_CMD
+# - PYPY_INST
+# - PYPY_${inst}_NAME
+# - PYPY_${inst}_OBJSPACE_ARGS
+# - PYPY_${inst}_OPT
+# - PYPY_${inst}_TRANSLATE_ARGS
+# - WRKSRC
+
+CP?=3D		cp
+ECHO?=3D		echo
+MKDIR?=3D		mkdir
+RM?=3D		rm
+SED?=3D		sed
+SETENV?=3D	env
+TOUCH?=3D		touch
+
+REINPLACE_CMD?=3D	${SED} -i~
+
+.for inst in ${PYPY_INST}
+
+${PYPY_${inst}_NAME}: build_${PYPY_${inst}_NAME}/usession-release-${DISTVE=
RSION}-0/testing_1/pypy-c
+	${CP} build_${PYPY_${inst}_NAME}/usession-release-${DISTVERSION}-0/testin=
g_1/pypy-c \
+		${PYPY_${inst}_NAME}
+
+.done_translate_${PYPY_${inst}_NAME}:
+	${RM} -rf build_${PYPY_${inst}_NAME}
+	${MKDIR} build_${PYPY_${inst}_NAME}
+	(cd ${WRKSRC}/pypy/translator/goal; \
+		${SETENV} TMPDIR=3D${.CURDIR}/build_${PYPY_${inst}_NAME} \
+		${PYTHON_CMD} translate.py --source ${PYPY_${inst}_TRANSLATE_ARGS} -O${P=
YPY_${inst}_OPT} \
+			targetpypystandalone.py ${PYPY_${inst}_OBJSPACE_ARGS} )
+	${TOUCH} .done_translate_${PYPY_${inst}_NAME}
+
+build_${PYPY_${inst}_NAME}/usession-release-${DISTVERSION}-0/testing_1/pyp=
y-c: .done_translate_${PYPY_${inst}_NAME}
+	${REINPLACE_CMD} -e 's|^%.o: %.c$$|.c.o:|g' build_${PYPY_${inst}_NAME}/us=
ession-release-${DISTVERSION}-0/testing_1/Makefile
+	${MAKE} -C build_${PYPY_${inst}_NAME}/usession-release-${DISTVERSION}-0/t=
esting_1 pypy-c
+.endfor

Property changes on: pypy/files/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=3D%H
\ No newline at end of property
Index: pypy/files/patch-lib__pypy1.9__distutils__command__install.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-lib__pypy1.9__distutils__command__install.py	(revisi=
on 312473)
+++ pypy/files/patch-lib__pypy1.9__distutils__command__install.py	(working =
copy)
@@ -1,33 +0,0 @@
=2D--- lib/pypy1.9/distutils/command/install.py.orig	2012-07-15 10:10:18.00=
0000000 +0200
=2D+++ lib/pypy1.9/distutils/command/install.py	2012-07-15 10:13:15.0000000=
00 +0200
=2D@@ -84,9 +84,9 @@
=2D         'data'   : '$userbase',
=2D         },
=2D     'pypy': {
=2D-        'purelib': '$base/site-packages',
=2D-        'platlib': '$base/site-packages',
=2D-        'headers': '$base/include',
=2D+        'purelib': '$base/lib/pypy$pypy_version_short/site-packages',
=2D+        'platlib': '$platbase/lib/pypy$pypy_version_short/site-packages=
',
=2D+        'headers': '$base/include/pypy$pypy_version_short/$dist_name',
=2D         'scripts': '$base/bin',
=2D         'data'   : '$base',
=2D         },
=2D@@ -304,6 +304,7 @@
=2D         # about needing recursive variable expansion (shudder).
=2D=20
=2D         py_version =3D (string.split(sys.version))[0]
=2D+        pypy_version =3D sys.version[-6:-3]
=2D         (prefix, exec_prefix) =3D get_config_vars('prefix', 'exec_prefi=
x')
=2D         self.config_vars =3D {'dist_name': self.distribution.get_name(),
=2D                             'dist_version': self.distribution.get_versi=
on(),
=2D@@ -311,6 +312,9 @@
=2D                             'py_version': py_version,
=2D                             'py_version_short': py_version[0:3],
=2D                             'py_version_nodot': py_version[0] + py_vers=
ion[2],
=2D+                            'pypy_version': pypy_version,
=2D+                            'pypy_version_short': pypy_version[0:3],
=2D+                            'pypy_version_nodot': pypy_version[0] + pyp=
y_version[2],
=2D                             'sys_prefix': prefix,
=2D                             'prefix': prefix,
=2D                             'sys_exec_prefix': exec_prefix,
Index: pypy/files/patch-lib__pypy1.9__distutils__sysconfig_pypy.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-lib__pypy1.9__distutils__sysconfig_pypy.py	(revision=
 312473)
+++ pypy/files/patch-lib__pypy1.9__distutils__sysconfig_pypy.py	(working co=
py)
@@ -1,20 +0,0 @@
=2D--- lib/pypy1.9/distutils/sysconfig_pypy.py.orig	2012-07-13 22:52:04.000=
000000 +0200
=2D+++ lib/pypy1.9/distutils/sysconfig_pypy.py	2012-07-13 22:58:35.00000000=
0 +0200
=2D@@ -15,7 +15,7 @@
=2D=20
=2D def get_python_inc(plat_specific=3D0, prefix=3DNone):
=2D     from os.path import join as j
=2D-    return j(sys.prefix, 'include')
=2D+    return j(sys.prefix, 'include', 'pypy' + sys.version[-6:-3])
=2D=20
=2D def get_python_version():
=2D     """Return a string containing the major and minor Python version,
=2D@@ -44,7 +44,7 @@
=2D             "calls to get_python_lib(standard_lib=3D1) cannot succeed")
=2D     if prefix is None:
=2D         prefix =3D PREFIX
=2D-    return os.path.join(prefix, 'site-packages')
=2D+    return os.path.join(prefix, 'lib', 'pypy' + sys.version[-6:-3], 'si=
te-packages')
=2D=20
=2D=20
=2D _config_vars =3D None
Index: pypy/files/patch-lib__pypy1.9__lib_pypy__ctypes_config_cache__rebuil=
d.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-lib__pypy1.9__lib_pypy__ctypes_config_cache__rebuild=
=2Epy	(revision 312473)
+++ pypy/files/patch-lib__pypy1.9__lib_pypy__ctypes_config_cache__rebuild.p=
y	(working copy)
@@ -1,11 +0,0 @@
=2D--- lib/pypy1.9/lib_pypy/ctypes_config_cache/rebuild.py~	2012-06-22 11:4=
2:55.000000000 +0200
=2D+++ lib/pypy1.9/lib_pypy/ctypes_config_cache/rebuild.py	2012-06-22 11:43=
:12.000000000 +0200
=2D@@ -6,7 +6,7 @@
=2D # get the correct path
=2D import os.path
=2D this_dir =3D os.path.dirname(__file__)
=2D-autopath_py =3D os.path.join(this_dir, '../../pypy/tool/autopath.py')
=2D+autopath_py =3D os.path.join(this_dir, '../../../../pypy/tool/autopath.=
py')
=2D autopath_py =3D os.path.abspath(autopath_py)
=2D execfile(autopath_py, dict(__name__=3D'autopath', __file__=3Dautopath_p=
y))
=2D=20
Index: pypy/files/patch-lib__pypy1.9__sysconfig.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-lib__pypy1.9__sysconfig.py	(revision 312473)
+++ pypy/files/patch-lib__pypy1.9__sysconfig.py	(working copy)
@@ -1,40 +0,0 @@
=2D--- lib/pypy1.9/sysconfig.py.orig	2012-07-15 09:57:14.000000000 +0200
=2D+++ lib/pypy1.9/sysconfig.py	2012-07-15 10:03:25.000000000 +0200
=2D@@ -27,12 +27,12 @@
=2D         'data'   : '{base}',
=2D         },
=2D     'pypy': {
=2D-        'stdlib': '{base}/lib-python',
=2D-        'platstdlib': '{base}/lib-python',
=2D-        'purelib': '{base}/lib-python',
=2D-        'platlib': '{base}/lib-python',
=2D-        'include': '{base}/include',
=2D-        'platinclude': '{base}/include',
=2D+        'stdlib': '{base}/lib/pypy{pypy_version_short}',
=2D+        'platstdlib': '{platbase}/lib/pypy{pypy_version_short}',
=2D+        'purelib': '{base}/lib/pypy{pypy_version_short}',
=2D+        'platlib': '{platbase}/lib/pypy{pypy_version_short}',
=2D+        'include': '{base}/include{pypy_version_short}',
=2D+        'platinclude': '{platbase}/include/pypy{pypy_version_short}',
=2D         'scripts': '{base}/bin',
=2D         'data'   : '{base}',
=2D         },
=2D@@ -98,6 +98,8 @@
=2D                 'scripts', 'data')
=2D _PY_VERSION =3D sys.version.split()[0]
=2D _PY_VERSION_SHORT =3D sys.version[:3]
=2D+_PYPY_VERSION =3D sys.version[-6:-1]
=2D+_PYPY_VERSION_SHORT =3D sys.version[-6:-3]
=2D _PY_VERSION_SHORT_NO_DOT =3D _PY_VERSION[0] + _PY_VERSION[2]
=2D _PREFIX =3D os.path.normpath(sys.prefix)
=2D _EXEC_PREFIX =3D os.path.normpath(sys.exec_prefix)
=2D@@ -304,6 +306,9 @@
=2D         _CONFIG_VARS['py_version'] =3D _PY_VERSION
=2D         _CONFIG_VARS['py_version_short'] =3D _PY_VERSION_SHORT
=2D         _CONFIG_VARS['py_version_nodot'] =3D _PY_VERSION[0] + _PY_VERSI=
ON[2]
=2D+        _CONFIG_VARS['py_version'] =3D _PYPY_VERSION
=2D+        _CONFIG_VARS['pypy_version_short'] =3D _PYPY_VERSION_SHORT
=2D+        _CONFIG_VARS['pypy_version_nodot'] =3D _PYPY_VERSION[0] + _PYPY=
_VERSION[2]
=2D         _CONFIG_VARS['base'] =3D _PREFIX
=2D         _CONFIG_VARS['platbase'] =3D _EXEC_PREFIX
=2D         _CONFIG_VARS['projectbase'] =3D _PROJECT_BASE
Index: pypy/files/patch-lib__pypyX.Y__distutils__command__install.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-lib__pypyX.Y__distutils__command__install.py	(revisi=
on 0)
+++ pypy/files/patch-lib__pypyX.Y__distutils__command__install.py	(working =
copy)
@@ -0,0 +1,33 @@
+--- lib/pypy2.0/distutils/command/install.py.orig	2012-07-15 10:10:18.0000=
00000 +0200
++++ lib/pypy2.0/distutils/command/install.py	2012-07-15 10:13:15.000000000=
 +0200
+@@ -84,9 +84,9 @@
+         'data'   : '$userbase',
+         },
+     'pypy': {
+-        'purelib': '$base/site-packages',
+-        'platlib': '$base/site-packages',
+-        'headers': '$base/include',
++        'purelib': '$base/lib/pypy$pypy_version_short/site-packages',
++        'platlib': '$platbase/lib/pypy$pypy_version_short/site-packages',
++        'headers': '$base/include/pypy$pypy_version_short/$dist_name',
+         'scripts': '$base/bin',
+         'data'   : '$base',
+         },
+@@ -304,6 +304,7 @@
+         # about needing recursive variable expansion (shudder).
+=20
+         py_version =3D (string.split(sys.version))[0]
++        pypy_version =3D sys.version[-6:-3]
+         (prefix, exec_prefix) =3D get_config_vars('prefix', 'exec_prefix')
+         self.config_vars =3D {'dist_name': self.distribution.get_name(),
+                             'dist_version': self.distribution.get_version=
(),
+@@ -311,6 +312,9 @@
+                             'py_version': py_version,
+                             'py_version_short': py_version[0:3],
+                             'py_version_nodot': py_version[0] + py_versio=
n[2],
++                            'pypy_version': pypy_version,
++                            'pypy_version_short': pypy_version[0:3],
++                            'pypy_version_nodot': pypy_version[0] + pypy_=
version[2],
+                             'sys_prefix': prefix,
+                             'prefix': prefix,
+                             'sys_exec_prefix': exec_prefix,

Property changes on: pypy/files/patch-lib__pypyX.Y__distutils__command__ins=
tall.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+1
\ No newline at end of property
Index: pypy/files/patch-lib__pypyX.Y__distutils__sysconfig_pypy.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-lib__pypyX.Y__distutils__sysconfig_pypy.py	(revision=
 0)
+++ pypy/files/patch-lib__pypyX.Y__distutils__sysconfig_pypy.py	(working co=
py)
@@ -0,0 +1,22 @@
+--- lib/pypy2.0/distutils/sysconfig_pypy.py.orig	2012-11-22 14:52:20.00000=
0000 +0200
++++ lib/pypy2.0/distutils/sysconfig_pypy.py	2012-11-27 17:59:44.000000000 =
+0200
+@@ -15,7 +15,7 @@
+=20
+ def get_python_inc(plat_specific=3D0, prefix=3DNone):
+     from os.path import join as j
+-    return j(sys.prefix, 'include')
++    return j(sys.prefix, 'include', 'pypy' + sys.version.rsplit(' ', 1)[-=
1][:3])
+=20
+ def get_python_version():
+     """Return a string containing the major and minor Python version,
+@@ -42,8 +42,8 @@
+     if prefix is None:
+         prefix =3D PREFIX
+     if standard_lib:
+-        return os.path.join(prefix, "lib-python", get_python_version())
+-    return os.path.join(prefix, 'site-packages')
++        return os.path.join(prefix, 'lib', 'pypy' + sys.version[-6:-3])
++    return os.path.join(prefix, 'lib', 'pypy' + sys.version.rsplit(' ', 1=
)[-1][:3], 'site-packages')
+=20
+=20
+ _config_vars =3D None

Property changes on: pypy/files/patch-lib__pypyX.Y__distutils__sysconfig_py=
py.py
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+1
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: pypy/files/patch-lib__pypyX.Y__lib_pypy__ctypes_config_cache__rebuil=
d.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-lib__pypyX.Y__lib_pypy__ctypes_config_cache__rebuild=
=2Epy	(revision 0)
+++ pypy/files/patch-lib__pypyX.Y__lib_pypy__ctypes_config_cache__rebuild.p=
y	(working copy)
@@ -0,0 +1,11 @@
+--- lib/pypy2.0/lib_pypy/ctypes_config_cache/rebuild.py~	2012-06-22 11:42:=
55.000000000 +0200
++++ lib/pypy2.0/lib_pypy/ctypes_config_cache/rebuild.py	2012-06-22 11:43:1=
2.000000000 +0200
+@@ -6,7 +6,7 @@
+ # get the correct path
+ import os.path
+ this_dir =3D os.path.dirname(__file__)
+-autopath_py =3D os.path.join(this_dir, '../../pypy/tool/autopath.py')
++autopath_py =3D os.path.join(this_dir, '../../../../pypy/tool/autopath.py=
')
+ autopath_py =3D os.path.abspath(autopath_py)
+ execfile(autopath_py, dict(__name__=3D'autopath', __file__=3Dautopath_py))
+=20

Property changes on: pypy/files/patch-lib__pypyX.Y__lib_pypy__ctypes_config=
_cache__rebuild.py
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Index: pypy/files/patch-lib__pypyX.Y__sysconfig.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-lib__pypyX.Y__sysconfig.py	(revision 0)
+++ pypy/files/patch-lib__pypyX.Y__sysconfig.py	(working copy)
@@ -0,0 +1,40 @@
+--- lib/pypy2.0/sysconfig.py.orig	2012-07-15 09:57:14.000000000 +0200
++++ lib/pypy2.0/sysconfig.py	2012-07-15 10:03:25.000000000 +0200
+@@ -27,12 +27,12 @@
+         'data'   : '{base}',
+         },
+     'pypy': {
+-        'stdlib': '{base}/lib-python',
+-        'platstdlib': '{base}/lib-python',
+-        'purelib': '{base}/lib-python',
+-        'platlib': '{base}/lib-python',
+-        'include': '{base}/include',
+-        'platinclude': '{base}/include',
++        'stdlib': '{base}/lib/pypy{pypy_version_short}',
++        'platstdlib': '{platbase}/lib/pypy{pypy_version_short}',
++        'purelib': '{base}/lib/pypy{pypy_version_short}',
++        'platlib': '{platbase}/lib/pypy{pypy_version_short}',
++        'include': '{base}/include{pypy_version_short}',
++        'platinclude': '{platbase}/include/pypy{pypy_version_short}',
+         'scripts': '{base}/bin',
+         'data'   : '{base}',
+         },
+@@ -98,6 +98,8 @@
+                 'scripts', 'data')
+ _PY_VERSION =3D sys.version.split()[0]
+ _PY_VERSION_SHORT =3D sys.version[:3]
++_PYPY_VERSION =3D sys.version.rsplit(' ', 1)[-1][:-1]
++_PYPY_VERSION_SHORT =3D _PYPY_VERSION[:3]
+ _PY_VERSION_SHORT_NO_DOT =3D _PY_VERSION[0] + _PY_VERSION[2]
+ _PREFIX =3D os.path.normpath(sys.prefix)
+ _EXEC_PREFIX =3D os.path.normpath(sys.exec_prefix)
+@@ -304,6 +306,9 @@
+         _CONFIG_VARS['py_version'] =3D _PY_VERSION
+         _CONFIG_VARS['py_version_short'] =3D _PY_VERSION_SHORT
+         _CONFIG_VARS['py_version_nodot'] =3D _PY_VERSION[0] + _PY_VERSION=
[2]
++        _CONFIG_VARS['py_version'] =3D _PYPY_VERSION
++        _CONFIG_VARS['pypy_version_short'] =3D _PYPY_VERSION_SHORT
++        _CONFIG_VARS['pypy_version_nodot'] =3D _PYPY_VERSION[0] + _PYPY_V=
ERSION[2]
+         _CONFIG_VARS['base'] =3D _PREFIX
+         _CONFIG_VARS['platbase'] =3D _EXEC_PREFIX
+         _CONFIG_VARS['projectbase'] =3D _PROJECT_BASE

Property changes on: pypy/files/patch-lib__pypyX.Y__sysconfig.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+1
\ No newline at end of property
Index: pypy/files/patch-py___path__local.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-py___path__local.py	(revision 312473)
+++ pypy/files/patch-py___path__local.py	(working copy)
@@ -1,12 +0,0 @@
=2D--- py/_path/local.py~	2012-06-22 12:20:36.000000000 +0200
=2D+++ py/_path/local.py	2012-06-22 12:21:45.000000000 +0200
=2D@@ -516,6 +516,9 @@
=2D             pkgpath =3D self.pypkgpath()
=2D             if pkgpath is not None:
=2D                 if ensuresyspath:
=2D+                    import sys
=2D+                    if pkgpath.basename in sys.modules:
=2D+                        del sys.modules[pkgpath.basename]
=2D                     self._prependsyspath(pkgpath.dirpath())
=2D                 pkg =3D __import__(pkgpath.basename, None, None, [])
=2D                 names =3D self.new(ext=3D'').relto(pkgpath.dirpath())
Index: pypy/files/patch-pypy__module__sys__initpath.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-pypy__module__sys__initpath.py	(revision 0)
+++ pypy/files/patch-pypy__module__sys__initpath.py	(working copy)
@@ -0,0 +1,21 @@
+--- pypy/module/sys/initpath.py.orig	2012-11-27 18:15:02.000000000 +0200
++++ pypy/module/sys/initpath.py	2012-11-27 18:19:45.000000000 +0200
+@@ -91,14 +91,13 @@
+     least contain a directory called ``lib-python/X.Y`` and another one c=
alled
+     ``lib_pypy``. If they cannot be found, it raises OSError.
+     """
+-    from pypy.module.sys.version import CPYTHON_VERSION
+-    dirname =3D '%d.%d' % (CPYTHON_VERSION[0],
+-                         CPYTHON_VERSION[1])
+-    lib_python =3D os.path.join(prefix, 'lib-python')
++    from pypy.module.sys.version import PYPY_VERSION
++    dirname =3D 'pypy%d.%d' % PYPY_VERSION[:2]
++    lib_python =3D os.path.join(prefix, 'lib')
+     python_std_lib =3D os.path.join(lib_python, dirname)
+     checkdir(python_std_lib)
+    =20
+-    lib_pypy =3D os.path.join(prefix, 'lib_pypy')
++    lib_pypy =3D os.path.join(python_std_lib, 'lib_pypy')
+     checkdir(lib_pypy)
+=20
+     importlist =3D []

Property changes on: pypy/files/patch-pypy__module__sys__initpath.py
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Index: pypy/files/patch-pypy__module__sys__state.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-pypy__module__sys__state.py	(revision 312473)
+++ pypy/files/patch-pypy__module__sys__state.py	(working copy)
@@ -1,21 +0,0 @@
=2D--- pypy/module/sys/state.py.orig	2012-06-07 14:24:48.000000000 +0200
=2D+++ pypy/module/sys/state.py	2012-06-22 14:45:23.000000000 +0200
=2D@@ -36,14 +36,12 @@
=2D platform =3D sys.platform
=2D=20
=2D def getinitialpath(state, prefix):
=2D-    from pypy.module.sys.version import CPYTHON_VERSION
=2D-    dirname =3D '%d.%d' % (CPYTHON_VERSION[0],
=2D-                         CPYTHON_VERSION[1])
=2D-    lib_python =3D os.path.join(prefix, 'lib-python')
=2D-    python_std_lib =3D os.path.join(lib_python, dirname)
=2D+    from pypy.module.sys.version import PYPY_VERSION
=2D+    libpath =3D os.path.join(prefix, 'lib')
=2D+    python_std_lib =3D os.path.join(libpath, 'pypy%d.%d' % PYPY_VERSION=
[:2])
=2D     checkdir(python_std_lib)
=2D    =20
=2D-    lib_pypy =3D os.path.join(prefix, 'lib_pypy')
=2D+    lib_pypy =3D os.path.join(python_std_lib, 'lib_pypy')
=2D     checkdir(lib_pypy)
=2D=20
=2D     importlist =3D []
Index: pypy/files/patch-pypy__translator__platform__freebsd.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-pypy__translator__platform__freebsd.py	(revision 0)
+++ pypy/files/patch-pypy__translator__platform__freebsd.py	(working copy)
@@ -0,0 +1,61 @@
+--- ./pypy/translator/platform/freebsd.py.orig	2012-11-22 14:52:20.0000000=
00 +0200
++++ ./pypy/translator/platform/freebsd.py	2013-02-28 19:28:49.000000000 +0=
200
+@@ -4,23 +4,15 @@
+=20
+ from pypy.translator.platform import posix
+=20
+-def get_env(key, default):
+-    if key in os.environ:
+-        return os.environ[key]
+-    else:
+-        return default
+-
+-def get_env_vector(key, default):
+-    string =3D get_env(key, default)
+-    # XXX: handle quotes
+-    return string.split()
++if 'PYPY_LOCALBASE' not in os.environ:
++    os.environ['PYPY_LOCALBASE'] =3D os.environ.get('LOCALBASE', '/usr/lo=
cal')
+=20
+ class Freebsd(posix.BasePosix):
+     name =3D "freebsd"
+=20
+-    link_flags =3D ['-pthread'] + get_env_vector('LDFLAGS', '')
++    link_flags =3D ['-pthread'] + os.environ.get('LDFLAGS', '').split()
+     cflags =3D ['-O3', '-pthread', '-fomit-frame-pointer'
+-             ] + get_env_vector('CFLAGS', '')
++             ] + os.environ.get('CFLAGS', '').split()
+     standalone_only =3D []
+     shared_only =3D []
+     so_ext =3D 'so'
+@@ -28,27 +20,17 @@
+=20
+     def __init__(self, cc=3DNone):
+         if cc is None:
+-            cc =3D get_env("CC", "gcc")
++            cc =3D os.environ.get('CC', 'cc')
+         super(Freebsd, self).__init__(cc)
+=20
+     def _args_for_shared(self, args):
+         return ['-shared'] + args
+=20
+-    def _preprocess_include_dirs(self, include_dirs):
+-        res_incl_dirs =3D list(include_dirs)
+-        res_incl_dirs.append(os.path.join(get_env("LOCALBASE", "/usr/loca=
l"), "include"))
+-        return res_incl_dirs
+-
+-    def _preprocess_library_dirs(self, library_dirs):
+-        res_lib_dirs =3D list(library_dirs)
+-        res_lib_dirs.append(os.path.join(get_env("LOCALBASE", "/usr/local=
"), "lib"))
+-        return res_lib_dirs
+-
+     def _include_dirs_for_libffi(self):
+-        return [os.path.join(get_env("LOCALBASE", "/usr/local"), "include=
")]
++        return []
+=20
+     def _library_dirs_for_libffi(self):
+-        return [os.path.join(get_env("LOCALBASE", "/usr/local"), "lib")]
++        return []
+=20
+ class Freebsd_64(Freebsd):
+     shared_only =3D ('-fPIC',)

Property changes on: pypy/files/patch-pypy__translator__platform__freebsd.py
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: pypy/files/patch-pypy__translator__sandbox__pypy_interactive.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/files/patch-pypy__translator__sandbox__pypy_interactive.py	(revi=
sion 0)
+++ pypy/files/patch-pypy__translator__sandbox__pypy_interactive.py	(workin=
g copy)
@@ -0,0 +1,32 @@
+--- pypy/translator/sandbox/pypy_interact.py.orig	2012-06-07 14:24:48.0000=
00000 +0200
++++ pypy/translator/sandbox/pypy_interact.py	2012-07-02 21:08:19.000000000=
 +0200
+@@ -24,11 +24,14 @@
+=20
+ import sys, os
+ import autopath
++from pypy.module.sys.version import PYPY_VERSION
+ from pypy.translator.sandbox.sandlib import SimpleIOSandboxedProc
+ from pypy.translator.sandbox.sandlib import VirtualizedSandboxedProc
+ from pypy.translator.sandbox.vfs import Dir, RealDir, RealFile
+ import pypy
+ LIB_ROOT =3D os.path.dirname(os.path.dirname(pypy.__file__))
++LIB_ROOT =3D os.path.join(LIB_ROOT, 'lib')
++LIB_ROOT =3D os.path.join(LIB_ROOT, 'pypy%d.%d' % PYPY_VERSION[:2])
+=20
+ class PyPySandboxedProc(VirtualizedSandboxedProc, SimpleIOSandboxedProc):
+     argv0 =3D '/bin/pypy-c'
+@@ -58,10 +61,10 @@
+         return Dir({
+             'bin': Dir({
+                 'pypy-c': RealFile(self.executable),
+-                'lib-python': RealDir(os.path.join(libroot, 'lib-python'),
+-                                      exclude=3Dexclude),=20
+-                'lib_pypy': RealDir(os.path.join(libroot, 'lib_pypy'),
+-                                      exclude=3Dexclude),
++                'lib': Dir({
++                    'pypy%d.%d' % PYPY_VERSION[:2] : RealDir(libroot,=20
++                                                             exclude=3Dex=
clude)
++                    })
+                 }),
+              'tmp': tmpdirnode,
+              })

Property changes on: pypy/files/patch-pypy__translator__sandbox__pypy_inter=
active.py
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: pypy/pkg-descr
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/pkg-descr	(revision 312473)
+++ pypy/pkg-descr	(working copy)
@@ -1,5 +1,5 @@
 PyPy is a fast, compliant alternative implementation of the Python language
=2D(2.7.2). It has several advantages and distinct features:
+(2.7.1). It has several advantages and distinct features:
=20
  - Speed: thanks to its Just-in-Time compiler, Python programs often run f=
aster
           on PyPy.
Index: pypy/pkg-plist
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=2D-- pypy/pkg-plist	(revision 312473)
+++ pypy/pkg-plist	(working copy)
@@ -1447,8 +1447,6 @@
 %%PYPY_LIBDIR%%/lib2to3/tests/test_refactor.pyc
 %%PYPY_LIBDIR%%/lib2to3/tests/test_util.py
 %%PYPY_LIBDIR%%/lib2to3/tests/test_util.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/PyQt4.py
=2D%%PYPY_LIBDIR%%/lib_pypy/PyQt4.pyc
 %%PYPY_LIBDIR%%/lib_pypy/__init__.py
 %%PYPY_LIBDIR%%/lib_pypy/__init__.pyc
 %%PYPY_LIBDIR%%/lib_pypy/_codecs_cn.py
@@ -1509,8 +1507,6 @@
 %%PYPY_LIBDIR%%/lib_pypy/_pypy_irc_topic.pyc
 %%PYPY_LIBDIR%%/lib_pypy/_pypy_wait.py
 %%PYPY_LIBDIR%%/lib_pypy/_pypy_wait.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/_rpyc_support.py
=2D%%PYPY_LIBDIR%%/lib_pypy/_rpyc_support.pyc
 %%PYPY_LIBDIR%%/lib_pypy/_scproxy.py
 %%PYPY_LIBDIR%%/lib_pypy/_scproxy.pyc
 %%PYPY_LIBDIR%%/lib_pypy/_sha.py
@@ -1570,28 +1566,6 @@
 %%PYPY_LIBDIR%%/lib_pypy/dbm.pyc
 %%PYPY_LIBDIR%%/lib_pypy/disassembler.py
 %%PYPY_LIBDIR%%/lib_pypy/disassembler.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/__init__.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/__init__.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/demo/sockdemo.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/demo/sockdemo.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/faker.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/faker.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/objkeeper.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/objkeeper.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/protocol.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/protocol.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/socklayer.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/socklayer.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/support.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/support.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/test/__init__.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/test/__init__.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/test/test_distributed.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/test/test_distributed.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/test/test_greensock.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/test/test_greensock.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/test/test_socklayer.py
=2D%%PYPY_LIBDIR%%/lib_pypy/distributed/test/test_socklayer.pyc
 %%PYPY_LIBDIR%%/lib_pypy/future_builtins.py
 %%PYPY_LIBDIR%%/lib_pypy/future_builtins.pyc
 %%PYPY_LIBDIR%%/lib_pypy/greenlet.py
@@ -1600,8 +1574,6 @@
 %%PYPY_LIBDIR%%/lib_pypy/grp.pyc
 %%PYPY_LIBDIR%%/lib_pypy/identity_dict.py
 %%PYPY_LIBDIR%%/lib_pypy/identity_dict.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/itertools.py
=2D%%PYPY_LIBDIR%%/lib_pypy/itertools.pyc
 %%PYPY_LIBDIR%%/lib_pypy/marshal.py
 %%PYPY_LIBDIR%%/lib_pypy/marshal.pyc
 %%PYPY_LIBDIR%%/lib_pypy/msvcrt.py
@@ -1634,8 +1606,6 @@
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_collections.pyc
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_coroutine.py
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_coroutine.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_ctypes_support.py
=2D%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_ctypes_support.pyc
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_datetime.py
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_datetime.pyc
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_dbm_extra.py
@@ -1648,8 +1618,6 @@
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_exception_extra.pyc
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_grp_extra.py
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_grp_extra.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_itertools.py
=2D%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_itertools.pyc
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_marshal_extra.py
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_marshal_extra.pyc
 %%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_md5_extra.py
@@ -1734,8 +1702,6 @@
 %%PYPY_LIBDIR%%/lib_pypy/readline.pyc
 %%PYPY_LIBDIR%%/lib_pypy/resource.py
 %%PYPY_LIBDIR%%/lib_pypy/resource.pyc
=2D%%PYPY_LIBDIR%%/lib_pypy/sip.py
=2D%%PYPY_LIBDIR%%/lib_pypy/sip.pyc
 %%PYPY_LIBDIR%%/lib_pypy/stackless.py
 %%PYPY_LIBDIR%%/lib_pypy/stackless.pyc
 %%PYPY_LIBDIR%%/lib_pypy/syslog.py
@@ -2503,6 +2469,10 @@
 %%PYPY_LIBDIR%%/test/cjkencodings/gbk.txt
 %%PYPY_LIBDIR%%/test/cjkencodings/hz-utf8.txt
 %%PYPY_LIBDIR%%/test/cjkencodings/hz.txt
+%%PYPY_LIBDIR%%/test/cjkencodings/iso2022_jp-utf8.txt
+%%PYPY_LIBDIR%%/test/cjkencodings/iso2022_jp.txt
+%%PYPY_LIBDIR%%/test/cjkencodings/iso2022_kr-utf8.txt
+%%PYPY_LIBDIR%%/test/cjkencodings/iso2022_kr.txt
 %%PYPY_LIBDIR%%/test/cjkencodings/johab-utf8.txt
 %%PYPY_LIBDIR%%/test/cjkencodings/johab.txt
 %%PYPY_LIBDIR%%/test/cjkencodings/shift_jis-utf8.txt
@@ -2721,6 +2691,7 @@
 %%PYPY_LIBDIR%%/test/mapping_tests.py
 %%PYPY_LIBDIR%%/test/mapping_tests.pyc
 %%PYPY_LIBDIR%%/test/math_testcases.txt
+%%PYPY_LIBDIR%%/test/nokia.pem
 %%PYPY_LIBDIR%%/test/nullcert.pem
 %%PYPY_LIBDIR%%/test/outstanding_bugs.py
 %%PYPY_LIBDIR%%/test/outstanding_bugs.pyc
@@ -2741,8 +2712,6 @@
 %%PYPY_LIBDIR%%/test/randv3.pck
 %%PYPY_LIBDIR%%/test/re_tests.py
 %%PYPY_LIBDIR%%/test/re_tests.pyc
=2D%%PYPY_LIBDIR%%/test/regex_tests.py
=2D%%PYPY_LIBDIR%%/test/regex_tests.pyc
 %%PYPY_LIBDIR%%/test/regrtest.py
 %%PYPY_LIBDIR%%/test/regrtest.pyc
 %%PYPY_LIBDIR%%/test/relimport.py
@@ -2765,7 +2734,6 @@
 %%PYPY_LIBDIR%%/test/string_tests.pyc
 %%PYPY_LIBDIR%%/test/subprocessdata/sigchild_ignore.py
 %%PYPY_LIBDIR%%/test/subprocessdata/sigchild_ignore.pyc
=2D%%PYPY_LIBDIR%%/test/svn_python_org_https_cert.pem
 %%PYPY_LIBDIR%%/test/test_MimeWriter.py
 %%PYPY_LIBDIR%%/test/test_MimeWriter.pyc
 %%PYPY_LIBDIR%%/test/test_SimpleHTTPServer.py
@@ -2878,6 +2846,8 @@
 %%PYPY_LIBDIR%%/test/test_codecencodings_cn.pyc
 %%PYPY_LIBDIR%%/test/test_codecencodings_hk.py
 %%PYPY_LIBDIR%%/test/test_codecencodings_hk.pyc
+%%PYPY_LIBDIR%%/test/test_codecencodings_iso2022.py
+%%PYPY_LIBDIR%%/test/test_codecencodings_iso2022.pyc
 %%PYPY_LIBDIR%%/test/test_codecencodings_jp.py
 %%PYPY_LIBDIR%%/test/test_codecencodings_jp.pyc
 %%PYPY_LIBDIR%%/test/test_codecencodings_kr.py
@@ -3299,6 +3269,8 @@
 %%PYPY_LIBDIR%%/test/test_pwd.pyc
 %%PYPY_LIBDIR%%/test/test_py3kwarn.py
 %%PYPY_LIBDIR%%/test/test_py3kwarn.pyc
+%%PYPY_LIBDIR%%/test/test_py_compile.py
+%%PYPY_LIBDIR%%/test/test_py_compile.pyc
 %%PYPY_LIBDIR%%/test/test_pyclbr.py
 %%PYPY_LIBDIR%%/test/test_pyclbr.pyc
 %%PYPY_LIBDIR%%/test/test_pydoc.py
@@ -3803,9 +3775,6 @@
 @dirrm %%PYPY_LIBDIR%%/lib_pypy/pypy_test
 @dirrm %%PYPY_LIBDIR%%/lib_pypy/numpypy/core
 @dirrm %%PYPY_LIBDIR%%/lib_pypy/numpypy
=2D@dirrm %%PYPY_LIBDIR%%/lib_pypy/distributed/test
=2D@dirrm %%PYPY_LIBDIR%%/lib_pypy/distributed/demo
=2D@dirrm %%PYPY_LIBDIR%%/lib_pypy/distributed
 @dirrm %%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/test
 @dirrm %%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache
 @dirrm %%PYPY_LIBDIR%%/lib_pypy/_ctypes

--Boundary-01=_UNhMR8WRKthGiUk--

--nextPart14341428.ZYfRthnmrb
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iEYEABECAAYFAlEyE1cACgkQUaaFgP9pFrK85wCfZJxT98Az6ujUu27CwX7lJ9O7
Fi0An21+cp51okLzCNUjIwK6p0GPDha2
=9xAe
-----END PGP SIGNATURE-----

--nextPart14341428.ZYfRthnmrb--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303021657.27745.dbn>