Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Dec 2013 20:51:59 +0000 (UTC)
From:      David Naylor <dbn@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r336767 - in head/lang/pypy-devel: . files
Message-ID:  <201312172051.rBHKpxe5041566@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dbn
Date: Tue Dec 17 20:51:59 2013
New Revision: 336767
URL: http://svnweb.freebsd.org/changeset/ports/336767

Log:
  Update lang/pypy-devel to development snapshot at 16-Dec-'13.
  
  Changes:
   1) Fix installation with LOCALBASE!=/usr/local
   2) Properly detect the number of CPUs for concurrent builds
  
  Notes:
   1) The cffi based module _sqlite3.py needs to know where to find
      sqlite3.h, which is hard-coded into the file, however the '.so'
      created is based on the checksum of _sqlite3.py that changes
      when changing the hard-coded path.  Change this by properly
      using the LOCALBASE environment variable.
  
   2) This change does not modify the behaviour of the port as this
      port runs the compilation stage directly, and correctly, however
      this change will be upstreamed.

Added:
  head/lang/pypy-devel/files/patch-rpython__config__support.py   (contents, props changed)
Modified:
  head/lang/pypy-devel/Makefile
  head/lang/pypy-devel/distinfo
  head/lang/pypy-devel/files/Makefile
  head/lang/pypy-devel/files/patch-lib_pypy___sqlite3.py
  head/lang/pypy-devel/pkg-plist

Modified: head/lang/pypy-devel/Makefile
==============================================================================
--- head/lang/pypy-devel/Makefile	Tue Dec 17 20:49:16 2013	(r336766)
+++ head/lang/pypy-devel/Makefile	Tue Dec 17 20:51:59 2013	(r336767)
@@ -2,11 +2,12 @@
 # $FreeBSD$
 
 PORTNAME=	pypy
-DISTVERSION=	2.2.1
+DISTVERSION=	2.3-alpha${DATE}
 CATEGORIES=	lang python
-MASTER_SITES=	http://cdn.bitbucket.org/pypy/pypy/downloads/ https://bitbucket.org/pypy/pypy/downloads/
+MASTER_SITES=	https://bitbucket.org/pypy/pypy/get/ LOCAL/dbn/${PORTNAME}
 PKGNAMESUFFIX=	-devel
-DISTNAME=	${PORTNAME}-${DISTVERSION}-src
+DISTNAME=	${COMMIT}
+DIST_SUBDIR=	${PORTNAME}
 
 MAINTAINER=	dbn@FreeBSD.org
 COMMENT=	Fast, compliant implementation of the Python language
@@ -39,12 +40,14 @@ CONFLICTS_INSTALL=	pypy-[0-9]*
 
 ALL_TARGET=	${PYPY_NAMES}
 BUILD_WRKSRC=	${WRKDIR}
-DATE=		20130810
+COMMIT=		92ff43b19372
+DATE=		20131216
 USE_BZIP2=	yes
 USES=		compiler:c11 gettext iconv
 MAKEFILE=	${FILESDIR}/Makefile
 PKGINSTALL=	${WRKDIR}/pkg-install
 PKGDEINSTALL=	${WRKDIR}/pkg-deinstall
+WRKSRC=		${WRKDIR}/pypy-pypy-${COMMIT}
 
 PYPY_VER=	${DISTVERSION:C|([0-9])\.([0-9]).*|\1.\2|}
 PYTHON_IMPL_VER=	2.7
@@ -60,9 +63,6 @@ PLIST_SUB+=	PYPY_LIBDIR=${PYPY_LIBDIR} \
 MAKE_ENV+=	DISTVERSION=${DISTVERSION} PYTHON_CMD=${PYTHON_CMD} \
 		WRKSRC=${WRKSRC} PYPY_LOCALBASE=${LOCALBASE}
 
-LOCALBASE_REFIX=	\
-		lib_pypy/_sqlite3.py
-
 .include <bsd.port.options.mk>
 .include "${MASTERDIR}/files/bsd.pypy.inst.mk"
 
@@ -229,11 +229,6 @@ post-extract:
 .endfor
 	${LN} -s ${WRKDIR}/lib ${WRKSRC}/lib
 
-post-patch:
-.for file in ${LOCALBASE_REFIX}
-	${REINPLACE_CMD} 's|/usr/local|${LOCALBASE}|g' ${WRKSRC}/${file}
-.endfor
-
 do-configure:
 	${SED} -e 's|%%PREFIX%%|${PREFIX}|g' \
 		-e 's|%%PYPY_NAMES%%|${PYPY_NAMES}|g' \
@@ -245,7 +240,7 @@ do-configure:
 post-build:
 # UPDATING: check pypy/tool/release/package.py for list of cffi modules
 .for mod in _sqlite3 _curses syslog
-	${WRKDIR}/${PYPY_PRIMARY} -c 'import ${mod}'
+	${SETENV} ${MAKE_ENV} ${WRKDIR}/${PYPY_PRIMARY} -c 'import ${mod}'
 .endfor
 	${STRIP_CMD} ${WRKDIR}/${PYPY_LIBDIR}/lib_pypy/__pycache__/_cffi__*.pypy-${PYPY_VER:C/\.//}.so
 .for _path in ${PYPYDIRS}

Modified: head/lang/pypy-devel/distinfo
==============================================================================
--- head/lang/pypy-devel/distinfo	Tue Dec 17 20:49:16 2013	(r336766)
+++ head/lang/pypy-devel/distinfo	Tue Dec 17 20:51:59 2013	(r336767)
@@ -1,2 +1,2 @@
-SHA256 (pypy-2.2.1-src.tar.bz2) = 252045187e443656a2beb412dadac9296e8fe8db0f75a66ed5265db58c35035f
-SIZE (pypy-2.2.1-src.tar.bz2) = 14439822
+SHA256 (pypy/92ff43b19372.tar.bz2) = 64f4c31f9f609535fcf33fdf33c71524ef9bd0c0e1abff181cc06c0c25985563
+SIZE (pypy/92ff43b19372.tar.bz2) = 14291630

Modified: head/lang/pypy-devel/files/Makefile
==============================================================================
--- head/lang/pypy-devel/files/Makefile	Tue Dec 17 20:49:16 2013	(r336766)
+++ head/lang/pypy-devel/files/Makefile	Tue Dec 17 20:51:59 2013	(r336767)
@@ -21,7 +21,7 @@ TOUCH?=		touch
 
 REINPLACE_CMD?=	${SED} -i~
 
-BUILDDIR=	usession-release-${DISTVERSION:C/.[0-9]*$//}.x-0
+BUILDDIR=	usession-default-0
 
 .for inst in ${PYPY_INST}
 

Modified: head/lang/pypy-devel/files/patch-lib_pypy___sqlite3.py
==============================================================================
--- head/lang/pypy-devel/files/patch-lib_pypy___sqlite3.py	Tue Dec 17 20:49:16 2013	(r336766)
+++ head/lang/pypy-devel/files/patch-lib_pypy___sqlite3.py	Tue Dec 17 20:51:59 2013	(r336767)
@@ -1,11 +1,19 @@
---- lib_pypy/_sqlite3.py.orig	2013-05-18 16:20:00.000000000 +0200
-+++ lib_pypy/_sqlite3.py	2013-05-18 16:21:06.000000000 +0200
-@@ -270,7 +270,7 @@
+--- lib_pypy/_sqlite3.py.bak	2013-12-15 23:45:52.000000000 +0200
++++ lib_pypy/_sqlite3.py	2013-12-16 12:07:57.000000000 +0200
+@@ -269,11 +269,14 @@
+     _ffi.cdef("int sqlite3_enable_load_extension(sqlite3 *db, int onoff);")
  
- _lib = _ffi.verify("""
- #include <sqlite3.h>
--""", libraries=['sqlite3']
-+""", libraries=['sqlite3'], include_dirs=['/usr/local/include'], library_dirs=['/usr/local/lib']
- )
- 
- exported_sqlite_symbols = [
+ if sys.platform.startswith('freebsd'):
++    import os
++    import os.path
++    _localbase = os.environ.get('LOCALBASE', '/usr/local')
+     _lib = _ffi.verify("""
+     #include <sqlite3.h>
+     """, libraries=['sqlite3'],
+-         include_dirs=['/usr/local/include'],
+-         library_dirs=['/usr/local/lib']
++         include_dirs=[os.path.join(_localbase, 'include')],
++         library_dirs=[os.path.join(_localbase, 'lib')]
+     )
+ else:
+     _lib = _ffi.verify("""

Added: head/lang/pypy-devel/files/patch-rpython__config__support.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/pypy-devel/files/patch-rpython__config__support.py	Tue Dec 17 20:51:59 2013	(r336767)
@@ -0,0 +1,28 @@
+--- ./rpython/config/support.py~	2013-12-16 12:34:17.000000000 +0200
++++ ./rpython/config/support.py	2013-12-16 12:33:52.000000000 +0200
+@@ -8,7 +8,9 @@
+     if os.environ.get('MAKEFLAGS'):
+         return 1    # don't override MAKEFLAGS.  This will call 'make' without any '-j' option
+     if sys.platform == 'darwin':
+-        return darwin_get_cpu_count()
++        return sysctl_get_cpu_count('/usr/sbin/sysctl')
++    elif sys.platform.startswith('freebsd'):
++        return sysctl_get_cpu_count('/sbin/sysctl')
+     elif not sys.platform.startswith('linux'):
+         return 1    # implement me
+     try:
+@@ -26,11 +28,10 @@
+     except:
+         return 1 # we really don't want to explode here, at worst we have 1
+ 
+-def darwin_get_cpu_count(cmd = "/usr/sbin/sysctl hw.ncpu"):
++def sysctl_get_cpu_count(cmd, name='hw.ncpu'):
+     try:
+-        proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
+-        # 'hw.ncpu: 20'
+-        count = proc.communicate()[0].rstrip()[8:]
++        proc = subprocess.Popen([cmd, '-n', name], stdout=subprocess.PIPE)
++        count = proc.communicate()[0]
+         return int(count)
+     except (OSError, ValueError):
+         return 1

Modified: head/lang/pypy-devel/pkg-plist
==============================================================================
--- head/lang/pypy-devel/pkg-plist	Tue Dec 17 20:49:16 2013	(r336766)
+++ head/lang/pypy-devel/pkg-plist	Tue Dec 17 20:51:59 2013	(r336767)
@@ -1454,9 +1454,9 @@
 %%PYPY_LIBDIR%%/lib2to3/tests/test_util.pyc
 %%PYPY_LIBDIR%%/lib_pypy/__init__.py
 %%PYPY_LIBDIR%%/lib_pypy/__init__.pyc
-%%PYPY_LIBDIR%%/lib_pypy/__pycache__/_cffi__g3e8f69b6x1fd01a91.pypy-%%PYPY_VER%%.so
-%%PYPY_LIBDIR%%/lib_pypy/__pycache__/_cffi__g45f34413x310af836.pypy-%%PYPY_VER%%.so
-%%PYPY_LIBDIR%%/lib_pypy/__pycache__/_cffi__ga01735dbxad93c709.pypy-%%PYPY_VER%%.so
+%%PYPY_LIBDIR%%/lib_pypy/__pycache__/_cffi__g16926e9ax39a3fadd.pypy-%%PYPY_VER%%.so
+%%PYPY_LIBDIR%%/lib_pypy/__pycache__/_cffi__g3ed5c373x359e5476.pypy-%%PYPY_VER%%.so
+%%PYPY_LIBDIR%%/lib_pypy/__pycache__/_cffi__g8b5895b6x576c1bb2.pypy-%%PYPY_VER%%.so
 %%PYPY_LIBDIR%%/lib_pypy/_codecs_cn.py
 %%PYPY_LIBDIR%%/lib_pypy/_codecs_cn.pyc
 %%PYPY_LIBDIR%%/lib_pypy/_codecs_hk.py



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