[arch-commits] Commit in shiboken2/trunk (PKGBUILD python310.patch)

Antonio Rojas arojas at gemini.archlinux.org
Fri Jan 14 08:24:36 UTC 2022


    Date: Friday, January 14, 2022 @ 08:24:35
  Author: arojas
Revision: 434435

Update to 5.15.2.1

Modified:
  shiboken2/trunk/PKGBUILD
  shiboken2/trunk/python310.patch

-----------------+
 PKGBUILD        |   24 +++++-----
 python310.patch |  118 ++----------------------------------------------------
 2 files changed, 17 insertions(+), 125 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-01-14 08:22:00 UTC (rev 434434)
+++ PKGBUILD	2022-01-14 08:24:35 UTC (rev 434435)
@@ -3,7 +3,7 @@
 
 pkgbase=shiboken2
 pkgname=(shiboken2 python-shiboken2)
-_qtver=5.15.2
+_qtver=5.15.2.1
 _clangver=13.0.0
 pkgver=${_qtver/-/}
 pkgrel=13
@@ -11,21 +11,15 @@
 url='https://www.qt.io'
 license=(GPL2 LGPL)
 pkgdesc='Generates bindings for C++ libraries using CPython source code'
-makedepends=(clang llvm cmake libxslt qt5-xmlpatterns python-sphinx
-             python-wheel)
+makedepends=(clang llvm cmake libxslt qt5-xmlpatterns python-sphinx python-wheel)
 _pkgfqn=pyside-setup-opensource-src-$_qtver
-source=("https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-$pkgver-src/${_pkgfqn}.tar.xz"
+source=(https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-$pkgver-src/${_pkgfqn}.tar.gz
         python310.patch)
-sha256sums=('b306504b0b8037079a8eab772ee774b9e877a2d84bab2dbefbe4fa6f83941418'
-            '04d4a4205e9a03d31032bf9979855d7644402466b83dccd53d4239d745c42f54')
+sha256sums=('91e78e4e3b31ebb0053c2e4f1029703e578615695450c0dd03072248d713b391'
+            '20da52cf2a17da606a2d3aa82eb5ff3ccdb2367b7415289e1e33ac071a73d35b')
 
-prepare() {
-  cd ${_pkgfqn}
-  patch -Np1 -i ../python310.patch
-}
-
 build() {
-  cmake -B build -S ${_pkgfqn}/sources/shiboken2 \
+  cmake -B build -S ${_pkgfqn%.*}/sources/shiboken2 \
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DBUILD_TESTS=OFF \
     -DUSE_PYTHON_VERSION=3
@@ -32,6 +26,10 @@
   cmake --build build
 }
 
+prepare() {
+  patch -d ${_pkgfqn%.*} -p1 -i ../python310.patch # Fix build with Python 3.10
+}
+
 package_shiboken2() {
   depends=(clang=$_clangver llvm libxslt qt5-xmlpatterns)
 
@@ -50,7 +48,7 @@
   rm -r "$pkgdir"/usr/{bin,include,lib/{cmake,pkgconfig}}
 
 # Install egg-info
-  cd $_pkgfqn
+  cd ${_pkgfqn%.*}
   python setup.py egg_info --build-type=shiboken2
   _pythonpath=`python -c "from sysconfig import get_path; print(get_path('platlib'))"`
   cp -r shiboken2.egg-info "$pkgdir"/$_pythonpath

Modified: python310.patch
===================================================================
--- python310.patch	2022-01-14 08:22:00 UTC (rev 434434)
+++ python310.patch	2022-01-14 08:24:35 UTC (rev 434435)
@@ -1,119 +1,13 @@
-# Based on:
-# https://github.com/pyside/pyside-setup/commit/81e9cff884d6
-# https://github.com/pyside/pyside-setup/commit/2530cb3f165a
-
-diff -upr pyside-setup-opensource-src-5.15.2.orig/build_scripts/config.py pyside-setup-opensource-src-5.15.2/build_scripts/config.py
---- pyside-setup-opensource-src-5.15.2.orig/build_scripts/config.py	2020-11-11 14:51:30.000000000 +0200
-+++ pyside-setup-opensource-src-5.15.2/build_scripts/config.py	2021-12-01 15:15:52.323808457 +0200
-@@ -93,6 +93,7 @@ class Config(object):
-             'Programming Language :: Python :: 3.7',
-             'Programming Language :: Python :: 3.8',
-             'Programming Language :: Python :: 3.9',
-+            'Programming Language :: Python :: 3.10',
-         ]
- 
-         self.setup_script_dir = None
 diff -upr pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/libshiboken/pep384impl.cpp pyside-setup-opensource-src-5.15.2/sources/shiboken2/libshiboken/pep384impl.cpp
 --- pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/libshiboken/pep384impl.cpp	2020-11-11 14:51:30.000000000 +0200
 +++ pyside-setup-opensource-src-5.15.2/sources/shiboken2/libshiboken/pep384impl.cpp	2021-12-01 15:17:21.444888977 +0200
-@@ -751,14 +751,14 @@ _Pep_PrivateMangle(PyObject *self, PyObj
+@@ -751,7 +751,7 @@ _Pep_PrivateMangle(PyObject *self, PyObj
  #endif // IS_PY2
      Shiboken::AutoDecRef privateobj(PyObject_GetAttr(
          reinterpret_cast<PyObject *>(Py_TYPE(self)), Shiboken::PyMagicName::name()));
 -#ifndef Py_LIMITED_API
--    return _Py_Mangle(privateobj, name);
--#else
--    // For some reason, _Py_Mangle is not in the Limited API. Why?
--    size_t plen = PyUnicode_GET_LENGTH(privateobj);
-+
-+    // PYSIDE-1436: _Py_Mangle is no longer exposed; implement it always.
-+    // The rest of this function is our own implementation of _Py_Mangle.
-+    // Please compare the original function in compile.c .
-+    size_t plen = PyUnicode_GET_LENGTH(privateobj.object());
-     /* Strip leading underscores from class name */
-     size_t ipriv = 0;
--    while (PyUnicode_READ_CHAR(privateobj, ipriv) == '_')
-+    while (PyUnicode_READ_CHAR(privateobj.object(), ipriv) == '_')
-         ipriv++;
-     if (ipriv == plen) {
-         Py_INCREF(name);
-@@ -787,7 +787,6 @@ _Pep_PrivateMangle(PyObject *self, PyObj
-     if (amount > big_stack)
-         free(resbuf);
-     return result;
--#endif // else Py_LIMITED_API
- }
- 
- /*****************************************************************************
-diff -upr pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/libshiboken/pep384impl.h pyside-setup-opensource-src-5.15.2/sources/shiboken2/libshiboken/pep384impl.h
---- pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/libshiboken/pep384impl.h	2020-11-11 14:51:30.000000000 +0200
-+++ pyside-setup-opensource-src-5.15.2/sources/shiboken2/libshiboken/pep384impl.h	2021-12-01 15:13:58.899521842 +0200
-@@ -40,6 +40,11 @@
- #ifndef PEP384IMPL_H
- #define PEP384IMPL_H
- 
-+// PYSIDE-1436: Adapt to Python 3.10
-+#if PY_VERSION_HEX < 0x030900A4
-+#  define Py_SET_REFCNT(obj, refcnt) ((Py_REFCNT(obj) = (refcnt)), (void)0)
-+#endif
-+
- extern "C"
- {
- 
-@@ -327,7 +332,7 @@ LIBSHIBOKEN_API PyObject *PyRun_String(c
- // But this is no problem as we check it's validity for every version.
- 
- #define PYTHON_BUFFER_VERSION_COMPATIBLE    (PY_VERSION_HEX >= 0x03030000 && \
--                                             PY_VERSION_HEX <  0x0309FFFF)
-+                                             PY_VERSION_HEX <  0x030AFFFF)
- #if !PYTHON_BUFFER_VERSION_COMPATIBLE
- # error Please check the buffer compatibility for this python version!
- #endif
-diff -upr pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/libshiboken/sbkstring.cpp pyside-setup-opensource-src-5.15.2/sources/shiboken2/libshiboken/sbkstring.cpp
---- pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/libshiboken/sbkstring.cpp	2020-11-11 14:51:30.000000000 +0200
-+++ pyside-setup-opensource-src-5.15.2/sources/shiboken2/libshiboken/sbkstring.cpp	2021-12-01 15:14:47.703201473 +0200
-@@ -247,7 +247,7 @@ static void finalizeStaticStrings()
- {
-     auto &set = staticStrings();
-     for (PyObject *ob : set) {
--        Py_REFCNT(ob) = 1;
-+        Py_SET_REFCNT(ob, 1);
-         Py_DECREF(ob);
-     }
-     set.clear();
-diff -upr pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/mapping.py pyside-setup-opensource-src-5.15.2/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/mapping.py
---- pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/mapping.py	2020-11-11 14:51:30.000000000 +0200
-+++ pyside-setup-opensource-src-5.15.2/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/mapping.py	2021-12-01 15:15:14.560100869 +0200
-@@ -300,6 +300,7 @@ type_map.update({
-     "zero(object)": None,
-     "zero(str)": "",
-     "zero(typing.Any)": None,
-+    "zero(Any)": None,
-     })
- 
- type_map.update({
-diff -upr pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py pyside-setup-opensource-src-5.15.2/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py
---- pyside-setup-opensource-src-5.15.2.orig/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py	2020-11-11 14:51:30.000000000 +0200
-+++ pyside-setup-opensource-src-5.15.2/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py	2021-12-01 15:25:43.267843740 +0200
-@@ -43,10 +43,11 @@ import sys
- import re
- import warnings
- import types
-+import typing
- import keyword
- import functools
- from shibokensupport.signature.mapping import (type_map, update_mapping,
--    namespace, typing, _NotCalled, ResultVariable, ArrayLikeVariable)
-+    namespace, _NotCalled, ResultVariable, ArrayLikeVariable)
- from shibokensupport.signature.lib.tool import (SimpleNamespace,
-     build_brace_pattern)
- 
-@@ -222,7 +223,7 @@ def _resolve_arraytype(thing, line):
- def to_string(thing):
-     if isinstance(thing, str):
-         return thing
--    if hasattr(thing, "__name__"):
-+    if hasattr(thing, "__name__") and thing.__module__ != "typing":
-         dot = "." in str(thing)
-         name = get_name(thing)
-         return thing.__module__ + "." + name if dot else name
++#if 0
+     return _Py_Mangle(privateobj, name);
+ #else
+     // PYSIDE-1436: _Py_Mangle is no longer exposed; implement it always.
+



More information about the arch-commits mailing list