[arch-commits] Commit in pypy3/repos (8 files)

Bartłomiej Piotrowski bpiotrowski at archlinux.org
Fri Mar 4 09:12:27 UTC 2016


    Date: Friday, March 4, 2016 @ 10:12:27
  Author: bpiotrowski
Revision: 164661

archrelease: copy trunk to community-staging-i686, community-staging-x86_64

Added:
  pypy3/repos/community-staging-i686/
  pypy3/repos/community-staging-i686/PKGBUILD
    (from rev 164660, pypy3/trunk/PKGBUILD)
  pypy3/repos/community-staging-i686/disable-sslv3.patch
    (from rev 164660, pypy3/trunk/disable-sslv3.patch)
  pypy3/repos/community-staging-i686/trackgcroot-new-ops.patch
    (from rev 164660, pypy3/trunk/trackgcroot-new-ops.patch)
  pypy3/repos/community-staging-x86_64/
  pypy3/repos/community-staging-x86_64/PKGBUILD
    (from rev 164660, pypy3/trunk/PKGBUILD)
  pypy3/repos/community-staging-x86_64/disable-sslv3.patch
    (from rev 164660, pypy3/trunk/disable-sslv3.patch)
  pypy3/repos/community-staging-x86_64/trackgcroot-new-ops.patch
    (from rev 164660, pypy3/trunk/trackgcroot-new-ops.patch)

----------------------------------------------------+
 community-staging-i686/PKGBUILD                    |   81 +++++++++++++++++++
 community-staging-i686/disable-sslv3.patch         |   32 +++++++
 community-staging-i686/trackgcroot-new-ops.patch   |   26 ++++++
 community-staging-x86_64/PKGBUILD                  |   81 +++++++++++++++++++
 community-staging-x86_64/disable-sslv3.patch       |   32 +++++++
 community-staging-x86_64/trackgcroot-new-ops.patch |   26 ++++++
 6 files changed, 278 insertions(+)

Copied: pypy3/repos/community-staging-i686/PKGBUILD (from rev 164660, pypy3/trunk/PKGBUILD)
===================================================================
--- community-staging-i686/PKGBUILD	                        (rev 0)
+++ community-staging-i686/PKGBUILD	2016-03-04 09:12:27 UTC (rev 164661)
@@ -0,0 +1,81 @@
+# $Id: PKGBUILD 95035 2013-08-04 09:44:24Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+
+#_hgrev=63547
+
+pkgname=pypy3
+pkgver=2.4.0
+_pkgver=2.4.0
+#[[ -n $_hgrev ]] && pkgver=2.0beta2.$_hgrev
+pkgrel=4
+pkgdesc="A Python3 implementation written in Python, JIT enabled"
+url="http://pypy.org"
+arch=('i686' 'x86_64')
+depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib')
+makedepends=('python2' 'sqlite' 'tk')
+optdepends=('sqlite: sqlite module'
+            'tk: tk module')
+options=(!buildflags)
+license=('custom:MIT')
+#source=("hg+https://bitbucket.org/pypy/pypy#revision=$_hgrev")
+source=("https://bitbucket.org/pypy/pypy/downloads/$pkgname-$_pkgver-src.tar.bz2"
+        "disable-sslv3.patch"
+        "trackgcroot-new-ops.patch")
+md5sums=('96ba72916114d16904e12562b5d84e51'
+         '383f6220bb64a963a6c071a62d110ec7'
+         '3294fd2919c3372615b59c5f82552f64')
+
+prepare() {
+  cd ${pkgname}-${_pkgver}-src
+  patch -Np1 -i ../disable-sslv3.patch
+  patch -Np1 -i ../trackgcroot-new-ops.patch
+
+  # Hacky fix to allow the curses module to build on x86_64; otherwise we get:
+  #   cffi.ffiplatform.VerificationError: anonymous MEVENT: wrong total size
+  #                                       (we have 24, but C compiler says 20)
+  if [[ $CARCH == x86_64 ]]; then
+    _type=unsigned
+  else
+    _type=uint32_t
+  fi
+  sed -i -e "s/typedef unsigned long mmask_t/typedef $_type mmask_t/" \
+         -e "s/typedef unsigned long chtype/typedef $_type chtype/" \
+    lib_pypy/_curses.py
+}
+
+build() {
+  cd ${pkgname}-${_pkgver}-src/pypy/goal
+
+  #python2 ../../rpython/bin/rpython -Ojit --shared targetpypystandalone
+  python2 ../../rpython/bin/rpython -Ojit targetpypystandalone
+}
+
+package() {
+  cd ${pkgname}-${_pkgver}-src
+
+  install -Dm755 pypy/goal/pypy-c "${pkgdir}"/opt/pypy3/bin/pypy-c
+  #install -Dm755 pypy/goal/libpypy-c.so "${pkgdir}"/usr/lib/libpypy3-c.so
+  cp -r include lib_pypy site-packages "${pkgdir}"/opt/pypy3/
+
+  mkdir "${pkgdir}"/opt/pypy3/lib-python/
+  cp -r lib-python/3 "${pkgdir}"/opt/pypy3/lib-python/
+
+  mkdir -p "${pkgdir}"/usr/bin
+  ln -s /opt/pypy3/bin/pypy-c "${pkgdir}"/usr/bin/pypy3
+
+  install -Dm644 LICENSE "${pkgdir}"/opt/pypy3/LICENSE
+  install -Dm644 README.rst "${pkgdir}"/opt/pypy3/README.rst
+  install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/pypy3/LICENSE
+
+  # Compile binary modules
+  #export LD_LIBRARY_PATH="${pkgdir}"/usr/lib:${LD_LIBRARY_PATH}
+  for module in _curses syslog dbm sqlite3 _tkinter; do
+    "${pkgdir}/opt/pypy3/bin/pypy-c" -c "import ${module}"
+  done
+
+  # Generate bytecode (currently impossibru)
+  #"${pkgdir}"/opt/pypy3/bin/pypy-c -m compileall "${pkgdir}"/opt/pypy3
+  #"${pkgdir}"/opt/pypy3/bin/pypy-c -O -m compileall "${pkgdir}"/opt/pypy3
+
+}
+# vim: ts=2 sw=2 et:

Copied: pypy3/repos/community-staging-i686/disable-sslv3.patch (from rev 164660, pypy3/trunk/disable-sslv3.patch)
===================================================================
--- community-staging-i686/disable-sslv3.patch	                        (rev 0)
+++ community-staging-i686/disable-sslv3.patch	2016-03-04 09:12:27 UTC (rev 164661)
@@ -0,0 +1,32 @@
+diff -u -r pypy3-2.4.0-src/pypy/module/_ssl/interp_ssl.py pypy3-2.4.0-src-nossl3/pypy/module/_ssl/interp_ssl.py
+--- pypy3-2.4.0-src/pypy/module/_ssl/interp_ssl.py	2014-10-17 22:09:50.000000000 +0200
++++ pypy3-2.4.0-src-nossl3/pypy/module/_ssl/interp_ssl.py	2016-03-03 18:09:29.810745956 +0100
+@@ -95,7 +95,7 @@
+     def __init__(self, space, protocol):
+         if protocol == PY_SSL_VERSION_TLS1:
+             method = libssl_TLSv1_method()
+-        elif protocol == PY_SSL_VERSION_SSL3:
++        elif protocol == PY_SSL_VERSION_SSL3 and not OPENSSL_NO_SSL3:
+             method = libssl_SSLv3_method()
+         elif protocol == PY_SSL_VERSION_SSL2 and not OPENSSL_NO_SSL2:
+             method = libssl_SSLv2_method()
+@@ -110,6 +110,8 @@
+         options = SSL_OP_ALL & ~SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
+         if protocol != PY_SSL_VERSION_SSL2:
+             options |= SSL_OP_NO_SSLv2
++        if protocol != PY_SSL_VERSION_SSL3:
++            options |= SSL_OP_NO_SSLv3
+         libssl_SSL_CTX_set_options(self.ctx, options)
+         libssl_SSL_CTX_set_session_id_context(self.ctx, "Python", len("Python"))
+ 
+diff -u -r pypy3-2.4.0-src/rpython/rlib/ropenssl.py pypy3-2.4.0-src-nossl3/rpython/rlib/ropenssl.py
+--- pypy3-2.4.0-src/rpython/rlib/ropenssl.py	2014-10-17 22:09:50.000000000 +0200
++++ pypy3-2.4.0-src-nossl3/rpython/rlib/ropenssl.py	2016-03-03 18:07:59.587706148 +0100
+@@ -69,6 +69,7 @@
+     SSLEAY_VERSION = rffi_platform.DefinedConstantString(
+         "SSLEAY_VERSION", "SSLeay_version(SSLEAY_VERSION)")
+     OPENSSL_NO_SSL2 = rffi_platform.Defined("OPENSSL_NO_SSL2")
++    OPENSSL_NO_SSL3 = rffi_platform.Defined("OPENSSL_NO_SSL3")
+     SSL_FILETYPE_PEM = rffi_platform.ConstantInteger("SSL_FILETYPE_PEM")
+     SSL_OP_ALL = rffi_platform.ConstantInteger("SSL_OP_ALL")
+     SSL_OP_NO_SSLv2 = rffi_platform.ConstantInteger("SSL_OP_NO_SSLv2")

Copied: pypy3/repos/community-staging-i686/trackgcroot-new-ops.patch (from rev 164660, pypy3/trunk/trackgcroot-new-ops.patch)
===================================================================
--- community-staging-i686/trackgcroot-new-ops.patch	                        (rev 0)
+++ community-staging-i686/trackgcroot-new-ops.patch	2016-03-04 09:12:27 UTC (rev 164661)
@@ -0,0 +1,26 @@
+Description: Expect cmovnb and jnb
+ Fixes an FTBFS since gcc 4.9.2, which is emmiting new operations
+Author: Stefano Rivera <stefanor at debian.org>
+Forwarded: https://bitbucket.org/pypy/pypy/commits/c1abec418acf30bb04891c3249bc12cbe8f48d4a
+Bug-Debian: https://bugs.debian.org/771137
+Last-Update: 2014-11-26
+
+--- a/rpython/translator/c/gcc/trackgcroot.py
++++ b/rpython/translator/c/gcc/trackgcroot.py
+@@ -590,7 +590,7 @@
+ 
+     # The various cmov* operations
+     for name in '''
+-        e ne g ge l le a ae b be p np s ns o no
++        e ne g ge l le a ae b be nb p np s ns o no
+         '''.split():
+         locals()['visit_cmov' + name] = binary_insn
+         locals()['visit_cmov' + name + 'l'] = binary_insn
+@@ -837,6 +837,7 @@
+     visit_jb = conditional_jump
+     visit_jbe = conditional_jump
+     visit_jp = conditional_jump
++    visit_jnb = conditional_jump
+     visit_jnp = conditional_jump
+     visit_js = conditional_jump
+     visit_jns = conditional_jump

Copied: pypy3/repos/community-staging-x86_64/PKGBUILD (from rev 164660, pypy3/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2016-03-04 09:12:27 UTC (rev 164661)
@@ -0,0 +1,81 @@
+# $Id: PKGBUILD 95035 2013-08-04 09:44:24Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+
+#_hgrev=63547
+
+pkgname=pypy3
+pkgver=2.4.0
+_pkgver=2.4.0
+#[[ -n $_hgrev ]] && pkgver=2.0beta2.$_hgrev
+pkgrel=4
+pkgdesc="A Python3 implementation written in Python, JIT enabled"
+url="http://pypy.org"
+arch=('i686' 'x86_64')
+depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib')
+makedepends=('python2' 'sqlite' 'tk')
+optdepends=('sqlite: sqlite module'
+            'tk: tk module')
+options=(!buildflags)
+license=('custom:MIT')
+#source=("hg+https://bitbucket.org/pypy/pypy#revision=$_hgrev")
+source=("https://bitbucket.org/pypy/pypy/downloads/$pkgname-$_pkgver-src.tar.bz2"
+        "disable-sslv3.patch"
+        "trackgcroot-new-ops.patch")
+md5sums=('96ba72916114d16904e12562b5d84e51'
+         '383f6220bb64a963a6c071a62d110ec7'
+         '3294fd2919c3372615b59c5f82552f64')
+
+prepare() {
+  cd ${pkgname}-${_pkgver}-src
+  patch -Np1 -i ../disable-sslv3.patch
+  patch -Np1 -i ../trackgcroot-new-ops.patch
+
+  # Hacky fix to allow the curses module to build on x86_64; otherwise we get:
+  #   cffi.ffiplatform.VerificationError: anonymous MEVENT: wrong total size
+  #                                       (we have 24, but C compiler says 20)
+  if [[ $CARCH == x86_64 ]]; then
+    _type=unsigned
+  else
+    _type=uint32_t
+  fi
+  sed -i -e "s/typedef unsigned long mmask_t/typedef $_type mmask_t/" \
+         -e "s/typedef unsigned long chtype/typedef $_type chtype/" \
+    lib_pypy/_curses.py
+}
+
+build() {
+  cd ${pkgname}-${_pkgver}-src/pypy/goal
+
+  #python2 ../../rpython/bin/rpython -Ojit --shared targetpypystandalone
+  python2 ../../rpython/bin/rpython -Ojit targetpypystandalone
+}
+
+package() {
+  cd ${pkgname}-${_pkgver}-src
+
+  install -Dm755 pypy/goal/pypy-c "${pkgdir}"/opt/pypy3/bin/pypy-c
+  #install -Dm755 pypy/goal/libpypy-c.so "${pkgdir}"/usr/lib/libpypy3-c.so
+  cp -r include lib_pypy site-packages "${pkgdir}"/opt/pypy3/
+
+  mkdir "${pkgdir}"/opt/pypy3/lib-python/
+  cp -r lib-python/3 "${pkgdir}"/opt/pypy3/lib-python/
+
+  mkdir -p "${pkgdir}"/usr/bin
+  ln -s /opt/pypy3/bin/pypy-c "${pkgdir}"/usr/bin/pypy3
+
+  install -Dm644 LICENSE "${pkgdir}"/opt/pypy3/LICENSE
+  install -Dm644 README.rst "${pkgdir}"/opt/pypy3/README.rst
+  install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/pypy3/LICENSE
+
+  # Compile binary modules
+  #export LD_LIBRARY_PATH="${pkgdir}"/usr/lib:${LD_LIBRARY_PATH}
+  for module in _curses syslog dbm sqlite3 _tkinter; do
+    "${pkgdir}/opt/pypy3/bin/pypy-c" -c "import ${module}"
+  done
+
+  # Generate bytecode (currently impossibru)
+  #"${pkgdir}"/opt/pypy3/bin/pypy-c -m compileall "${pkgdir}"/opt/pypy3
+  #"${pkgdir}"/opt/pypy3/bin/pypy-c -O -m compileall "${pkgdir}"/opt/pypy3
+
+}
+# vim: ts=2 sw=2 et:

Copied: pypy3/repos/community-staging-x86_64/disable-sslv3.patch (from rev 164660, pypy3/trunk/disable-sslv3.patch)
===================================================================
--- community-staging-x86_64/disable-sslv3.patch	                        (rev 0)
+++ community-staging-x86_64/disable-sslv3.patch	2016-03-04 09:12:27 UTC (rev 164661)
@@ -0,0 +1,32 @@
+diff -u -r pypy3-2.4.0-src/pypy/module/_ssl/interp_ssl.py pypy3-2.4.0-src-nossl3/pypy/module/_ssl/interp_ssl.py
+--- pypy3-2.4.0-src/pypy/module/_ssl/interp_ssl.py	2014-10-17 22:09:50.000000000 +0200
++++ pypy3-2.4.0-src-nossl3/pypy/module/_ssl/interp_ssl.py	2016-03-03 18:09:29.810745956 +0100
+@@ -95,7 +95,7 @@
+     def __init__(self, space, protocol):
+         if protocol == PY_SSL_VERSION_TLS1:
+             method = libssl_TLSv1_method()
+-        elif protocol == PY_SSL_VERSION_SSL3:
++        elif protocol == PY_SSL_VERSION_SSL3 and not OPENSSL_NO_SSL3:
+             method = libssl_SSLv3_method()
+         elif protocol == PY_SSL_VERSION_SSL2 and not OPENSSL_NO_SSL2:
+             method = libssl_SSLv2_method()
+@@ -110,6 +110,8 @@
+         options = SSL_OP_ALL & ~SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
+         if protocol != PY_SSL_VERSION_SSL2:
+             options |= SSL_OP_NO_SSLv2
++        if protocol != PY_SSL_VERSION_SSL3:
++            options |= SSL_OP_NO_SSLv3
+         libssl_SSL_CTX_set_options(self.ctx, options)
+         libssl_SSL_CTX_set_session_id_context(self.ctx, "Python", len("Python"))
+ 
+diff -u -r pypy3-2.4.0-src/rpython/rlib/ropenssl.py pypy3-2.4.0-src-nossl3/rpython/rlib/ropenssl.py
+--- pypy3-2.4.0-src/rpython/rlib/ropenssl.py	2014-10-17 22:09:50.000000000 +0200
++++ pypy3-2.4.0-src-nossl3/rpython/rlib/ropenssl.py	2016-03-03 18:07:59.587706148 +0100
+@@ -69,6 +69,7 @@
+     SSLEAY_VERSION = rffi_platform.DefinedConstantString(
+         "SSLEAY_VERSION", "SSLeay_version(SSLEAY_VERSION)")
+     OPENSSL_NO_SSL2 = rffi_platform.Defined("OPENSSL_NO_SSL2")
++    OPENSSL_NO_SSL3 = rffi_platform.Defined("OPENSSL_NO_SSL3")
+     SSL_FILETYPE_PEM = rffi_platform.ConstantInteger("SSL_FILETYPE_PEM")
+     SSL_OP_ALL = rffi_platform.ConstantInteger("SSL_OP_ALL")
+     SSL_OP_NO_SSLv2 = rffi_platform.ConstantInteger("SSL_OP_NO_SSLv2")

Copied: pypy3/repos/community-staging-x86_64/trackgcroot-new-ops.patch (from rev 164660, pypy3/trunk/trackgcroot-new-ops.patch)
===================================================================
--- community-staging-x86_64/trackgcroot-new-ops.patch	                        (rev 0)
+++ community-staging-x86_64/trackgcroot-new-ops.patch	2016-03-04 09:12:27 UTC (rev 164661)
@@ -0,0 +1,26 @@
+Description: Expect cmovnb and jnb
+ Fixes an FTBFS since gcc 4.9.2, which is emmiting new operations
+Author: Stefano Rivera <stefanor at debian.org>
+Forwarded: https://bitbucket.org/pypy/pypy/commits/c1abec418acf30bb04891c3249bc12cbe8f48d4a
+Bug-Debian: https://bugs.debian.org/771137
+Last-Update: 2014-11-26
+
+--- a/rpython/translator/c/gcc/trackgcroot.py
++++ b/rpython/translator/c/gcc/trackgcroot.py
+@@ -590,7 +590,7 @@
+ 
+     # The various cmov* operations
+     for name in '''
+-        e ne g ge l le a ae b be p np s ns o no
++        e ne g ge l le a ae b be nb p np s ns o no
+         '''.split():
+         locals()['visit_cmov' + name] = binary_insn
+         locals()['visit_cmov' + name + 'l'] = binary_insn
+@@ -837,6 +837,7 @@
+     visit_jb = conditional_jump
+     visit_jbe = conditional_jump
+     visit_jp = conditional_jump
++    visit_jnb = conditional_jump
+     visit_jnp = conditional_jump
+     visit_js = conditional_jump
+     visit_jns = conditional_jump



More information about the arch-commits mailing list