From a59d2ae6ce6a1e0d0655cfe3fc6825670e5dfd0a Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Wed, 7 Dec 2022 07:32:01 -0500 Subject: [PATCH 01/14] update to v7.3.10 --- recipe/bld.bat | 2 + recipe/build.sh | 3 + recipe/meta.yaml | 19 ++-- .../patches/0019-Disable-copying-dlls.patch | 35 ++++++ .../patches/0019a-Disable-copying-dlls.patch | 77 ------------- .../patches/0019b-Disable-copying-dlls.patch | 78 -------------- recipe/patches/0030-Swap-libffi8-for-7.patch | 28 +++-- .../0031-Disable-embedding-and-portable.patch | 20 ---- .../0031-pre-v7.3.10-fix-generic-alias.patch | 101 ------------------ .../0032a-pre-v7.3.10-fix-object-h.patch | 38 ------- .../0032b-pre-v7.3.10-fix-object-h.patch | 30 ------ ...-pre-v7.3.10-fix-windows-scratch-reg.patch | 98 ----------------- .../0034-pre-v7.3.10-libc-darwin-path.patch | 30 ------ 13 files changed, 64 insertions(+), 495 deletions(-) create mode 100644 recipe/patches/0019-Disable-copying-dlls.patch delete mode 100644 recipe/patches/0019a-Disable-copying-dlls.patch delete mode 100644 recipe/patches/0019b-Disable-copying-dlls.patch delete mode 100644 recipe/patches/0031-Disable-embedding-and-portable.patch delete mode 100644 recipe/patches/0031-pre-v7.3.10-fix-generic-alias.patch delete mode 100644 recipe/patches/0032a-pre-v7.3.10-fix-object-h.patch delete mode 100644 recipe/patches/0032b-pre-v7.3.10-fix-object-h.patch delete mode 100644 recipe/patches/0033-pre-v7.3.10-fix-windows-scratch-reg.patch delete mode 100644 recipe/patches/0034-pre-v7.3.10-libc-darwin-path.patch diff --git a/recipe/bld.bat b/recipe/bld.bat index 74da358..213b4a6 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -12,6 +12,8 @@ set "PYPY_PKG_NAME=pypy3" set "BUILD_DIR=%PREFIX%\..\build" set "TARGET_DIR=%PREFIX%\..\target" set "ARCHIVE_NAME=%PYPY_PKG_NAME%-%PKG_VERSION%" +set PYPY_PACKAGE_WITHOUTTK=1 +set PYPY_PACKAGE_NO_DLLS=1 REM Report system info systeminfo diff --git a/recipe/build.sh b/recipe/build.sh index f9e49c3..d8fa38d 100755 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -31,6 +31,9 @@ PYPY_PKG_NAME=pypy3 BUILD_DIR=${PREFIX}/../build TARGET_DIR=${PREFIX}/../target ARCHIVE_NAME="${PYPY_PKG_NAME}-${PKG_VERSION}" +PYPY_PACKAGE_WITHOUTTK=1 +PYPY_NO_EMBED_DEPENDENCIES=1 +PYPY_NO_MAKE_PORTABLE=1 # Build PyPy in stages # Force the build to use this directory diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 664ab99..baa3ceb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -2,7 +2,7 @@ {% set name_suffix = "3.8" %} {% endif %} {% set name = "pypy" ~ name_suffix %} -{% set version = "7.3.9" %} +{% set version = "7.3.10" %} package: name: {{ name }} @@ -10,8 +10,8 @@ package: source: - url: https://downloads.python.org/pypy/{{ name }}-v{{ version }}-src.tar.bz2 - sha256: 5b5d9d9256f12a129af8384e2f581bdfab3bc0fbbe3a0a480d9c1d2e95490eb1 # [name_suffix == "3.8"] - sha256: 2abaa1e9fe1ec0e233c9fbc377a0c8e9a0634080a8f4f30eb6898301f6618c12 # [name_suffix == "3.9"] + sha256: 218a1e062f17aba89f61bc398e8498f13c048b9fcf294343f5d9d56c3ac9b882 # [name_suffix == "3.8"] + sha256: 3738d32575ed2513e3e66878e4e4c6c208caed267570f3f9f814748830002967 # [name_suffix == "3.9"] folder: pypy3 patches: - patches/fficurses.patch @@ -25,6 +25,7 @@ source: - patches/0023a-Fix-LIBDIR.patch # [name_suffix=="3.8"] - patches/0023b-Fix-LIBDIR.patch # [name_suffix=="3.9"] - patches/0030-Swap-libffi8-for-7.patch + - patches/0019-Disable-copying-dlls.patch # Patches by @mingwandroid from python-feedstock - patches/0009-runtime_library_dir_option-Use-1st-word-of-CC-as-com.patch - patches/0012-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch @@ -32,23 +33,15 @@ source: - patches/0014-Add-CondaEcosystemModifyDllSearchPath.patch - patches/0020-Use-ranlib-from-env-if-env-variable-is-set.patch - patches/0024-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch - # Patches to be removed for the next version - - patches/0019a-Disable-copying-dlls.patch # [name_suffix=="3.8"] - - patches/0019b-Disable-copying-dlls.patch # [name_suffix=="3.9"] - - patches/0031-pre-v7.3.10-fix-generic-alias.patch # [name_suffix=="3.9"] - - patches/0031-Disable-embedding-and-portable.patch - - patches/0032a-pre-v7.3.10-fix-object-h.patch # [name_suffix=="3.8"] - - patches/0032b-pre-v7.3.10-fix-object-h.patch # [name_suffix=="3.9"] - - patches/0033-pre-v7.3.10-fix-windows-scratch-reg.patch - - patches/0034-pre-v7.3.10-libc-darwin-path.patch - patches/fix_tzpath.patch # [name_suffix != "3.8"] + # Patches to be removed for the next version - url: https://downloads.python.org/pypy/pypy2.7-v7.3.6-win64.zip # [win] sha256: fcc8f6b3b472a77eaa754951f288fe234b4953bfba845888dd839b9b862cb891 # [win] folder: pypy2-binary # [win] build: - number: 7 + number: 0 skip_compile_pyc: - lib* diff --git a/recipe/patches/0019-Disable-copying-dlls.patch b/recipe/patches/0019-Disable-copying-dlls.patch new file mode 100644 index 0000000..b410890 --- /dev/null +++ b/recipe/patches/0019-Disable-copying-dlls.patch @@ -0,0 +1,35 @@ +# HG changeset patch +# Date 1627474848 -10800 +# Wed Jul 28 15:20:48 2021 +0300 +# Branch conda +# Node ID ffffffffffffffffffffffffffffffffffffffff +# Parent 4aca66d6c57dd79083a1b75ea6a5b76df98eebcb + + +diff -r 4aca66d6c57d lib_pypy/_ssl_build.py +--- a/lib_pypy/_ssl_build.py ++++ b/lib_pypy/_ssl_build.py +@@ -59,22 +59,4 @@ + + if __name__ == '__main__': + ffi.compile(verbose=True) +- if sys.platform == 'win32': +- # copy dlls from externals to the pwd +- # maybe we should link to libraries instead of the dlls +- # to avoid this mess +- import os, glob, shutil +- path_parts = os.environ['PATH'].split(';') +- candidates = [x for x in path_parts if 'externals' in x] + +- def copy_from_path(dll): +- for c in candidates: +- files = glob.glob(os.path.join(c, dll + '*.dll')) +- if files: +- for fname in files: +- print('copying', fname) +- shutil.copy(fname, '.') +- +- if candidates: +- for lib in libraries: +- copy_from_path(lib) + diff --git a/recipe/patches/0019a-Disable-copying-dlls.patch b/recipe/patches/0019a-Disable-copying-dlls.patch deleted file mode 100644 index 9d51c4a..0000000 --- a/recipe/patches/0019a-Disable-copying-dlls.patch +++ /dev/null @@ -1,77 +0,0 @@ -# HG changeset patch -# Date 1627474848 -10800 -# Wed Jul 28 15:20:48 2021 +0300 -# Branch conda -# Node ID ffffffffffffffffffffffffffffffffffffffff -# Parent 4aca66d6c57dd79083a1b75ea6a5b76df98eebcb - - -diff -r 4aca66d6c57d lib_pypy/_ssl_build.py ---- a/lib_pypy/_ssl_build.py -+++ b/lib_pypy/_ssl_build.py -@@ -59,22 +59,4 @@ - - if __name__ == '__main__': - ffi.compile(verbose=True) -- if sys.platform == 'win32': -- # copy dlls from externals to the pwd -- # maybe we should link to libraries instead of the dlls -- # to avoid this mess -- import os, glob, shutil -- path_parts = os.environ['PATH'].split(';') -- candidates = [x for x in path_parts if 'externals' in x] - -- def copy_from_path(dll): -- for c in candidates: -- files = glob.glob(os.path.join(c, dll + '*.dll')) -- if files: -- for fname in files: -- print('copying', fname) -- shutil.copy(fname, '.') -- -- if candidates: -- for lib in libraries: -- copy_from_path(lib) - -diff -r e707f2e3bb96 pypy/tool/release/package.py ---- a/pypy/tool/release/package.py Sun Oct 17 08:20:21 2021 +0300 -+++ b/pypy/tool/release/package.py Mon Oct 18 20:37:26 2021 +0300 -@@ -271,15 +271,7 @@ - print('Picking {} as python{}.exe'.format(src, python_ver[0])) - # Can't rename a DLL - win_extras = [('lib' + POSIX_EXE + '-c.dll', None), -- ('sqlite3.dll', target), -- ('libffi-8.dll', None), - ] -- if not options.no__tkinter: -- tkinter_dir = target.join('_tkinter') -- win_extras += [('tcl86t.dll', tkinter_dir), ('tk86t.dll', tkinter_dir)] -- # for testing, copy the dlls to the `base_dir` as well -- tkinter_dir = basedir.join('lib_pypy', '_tkinter') -- win_extras += [('tcl86t.dll', tkinter_dir), ('tk86t.dll', tkinter_dir)] - for extra, target_dir in win_extras: - p = pypy_c.dirpath().join(extra) - if not p.check(): -@@ -303,23 +295,6 @@ - # Has the lib moved, was translation not 'shared', or are - # there no exported functions in the dll so no import - # library was created? -- if not options.no__tkinter: -- try: -- p = pypy_c.dirpath().join('tcl86t.dll') -- if not p.check(): -- p = py.path.local.sysfind('tcl86t.dll') -- if p is None: -- raise WindowsError("tcl86t.dll not found") -- tktcldir = p.dirpath().join('..').join('lib') -- copytree(str(tktcldir), str(pypydir.join('tcl'))) -- except WindowsError: -- print("Packaging Tk runtime failed. tk86t.dll and tcl86t.dll " -- "found in %s, expecting to find runtime in %s directory " -- "next to the dlls, as per build " -- "instructions." %(p, tktcldir), file=sys.stderr) -- import traceback;traceback.print_exc() -- raise MissingDependenciesError('Tk runtime') -- - print('* Binaries:', [source.relto(str(basedir)) - for source, dst, target_dir in binaries]) diff --git a/recipe/patches/0019b-Disable-copying-dlls.patch b/recipe/patches/0019b-Disable-copying-dlls.patch deleted file mode 100644 index c2fa1ff..0000000 --- a/recipe/patches/0019b-Disable-copying-dlls.patch +++ /dev/null @@ -1,78 +0,0 @@ -# HG changeset patch -# Date 1627474848 -10800 -# Wed Jul 28 15:20:48 2021 +0300 -# Branch conda -# Node ID ffffffffffffffffffffffffffffffffffffffff -# Parent 4aca66d6c57dd79083a1b75ea6a5b76df98eebcb - - -diff -r 4aca66d6c57d lib_pypy/_ssl_build.py ---- a/lib_pypy/_ssl_build.py -+++ b/lib_pypy/_ssl_build.py -@@ -59,22 +59,4 @@ - - if __name__ == '__main__': - ffi.compile(verbose=True) -- if sys.platform == 'win32': -- # copy dlls from externals to the pwd -- # maybe we should link to libraries instead of the dlls -- # to avoid this mess -- import os, glob, shutil -- path_parts = os.environ['PATH'].split(';') -- candidates = [x for x in path_parts if 'externals' in x] - -- def copy_from_path(dll): -- for c in candidates: -- files = glob.glob(os.path.join(c, dll + '*.dll')) -- if files: -- for fname in files: -- print('copying', fname) -- shutil.copy(fname, '.') -- -- if candidates: -- for lib in libraries: -- copy_from_path(lib) - -diff -r e707f2e3bb96 pypy/tool/release/package.py ---- a/pypy/tool/release/package.py Sun Oct 17 08:20:21 2021 +0300 -+++ b/pypy/tool/release/package.py Mon Oct 18 20:37:26 2021 +0300 -@@ -282,15 +282,8 @@ - print('Picking {} as python{}.exe'.format(src, python_ver[0])) - # Can't rename a DLL - win_extras = [('lib' + POSIX_EXE + '-c.dll', None), -- ('sqlite3.dll', target), -- ('libffi-8.dll', None), - ] -- if not options.no__tkinter: -- tkinter_dir = target.join('_tkinter') -- win_extras += [('tcl86t.dll', tkinter_dir), ('tk86t.dll', tkinter_dir)] -- # for testing, copy the dlls to the `base_dir` as well -- tkinter_dir = basedir.join('lib_pypy', '_tkinter') -- win_extras += [('tcl86t.dll', tkinter_dir), ('tk86t.dll', tkinter_dir)] -+ - for extra, target_dir in win_extras: - p = pypy_c.dirpath().join(extra) - if not p.check(): -@@ -314,23 +307,6 @@ - # Has the lib moved, was translation not 'shared', or are - # there no exported functions in the dll so no import - # library was created? -- if not options.no__tkinter: -- try: -- p = pypy_c.dirpath().join('tcl86t.dll') -- if not p.check(): -- p = py.path.local.sysfind('tcl86t.dll') -- if p is None: -- raise WindowsError("tcl86t.dll not found") -- tktcldir = p.dirpath().join('..').join('lib') -- copytree(str(tktcldir), str(pypydir.join('tcl'))) -- except WindowsError: -- print("Packaging Tk runtime failed. tk86t.dll and tcl86t.dll " -- "found in %s, expecting to find runtime in %s directory " -- "next to the dlls, as per build " -- "instructions." %(p, tktcldir), file=sys.stderr) -- import traceback;traceback.print_exc() -- raise MissingDependenciesError('Tk runtime') -- - print('* Binaries:', [source.relto(str(basedir)) - for source, dst, target_dir in binaries]) diff --git a/recipe/patches/0030-Swap-libffi8-for-7.patch b/recipe/patches/0030-Swap-libffi8-for-7.patch index df5aefb..6b532fd 100644 --- a/recipe/patches/0030-Swap-libffi8-for-7.patch +++ b/recipe/patches/0030-Swap-libffi8-for-7.patch @@ -10,10 +10,18 @@ iff -r ab92c5997c51 rpython/rlib/clibffi.py separate_module_sources = separate_module_sources, post_include_bits = post_include_bits, ) -diff -r ab92c5997c51 rpython/translator/driver.py ---- a/rpython/translator/driver.py Sun Feb 20 17:00:07 2022 +0200 -+++ b/rpython/translator/driver.py Sun Feb 20 19:41:27 2022 +0200 -@@ -512,12 +512,12 @@ + +# HG changeset patch +# Date 1670412092 18000 +# Wed Dec 07 06:21:32 2022 -0500 +# Branch release-pypy3.8-v7.x +# Node ID ffffffffffffffffffffffffffffffffffffffff +# Parent c20fe3f310f1d209d69a71d903dd17e5c3cf0de9 + +diff -r c20fe3f310f1 rpython/translator/driver.py +--- a/rpython/translator/driver.py ++++ b/rpython/translator/driver.py +@@ -512,11 +512,11 @@ # HACK: copy libcffi-*.dll which is required for venvs # At some point, we should stop doing this, and instead # use the artifact from packaging the build instead @@ -22,10 +30,10 @@ diff -r ab92c5997c51 rpython/translator/driver.py if sys.platform == 'win32' and not libffi: raise RuntimeError('could not find libffi') elif libffi: - # in tests, we can mock using windows without libffi -- shutil.copyfile(str(libffi), os.getcwd() + r'\libffi-8.dll') -+ shutil.copyfile(str(libffi), os.getcwd() + r'\libffi-7.dll') - self.c_entryp = newexename - self.log.info("created: %s" % (self.c_entryp,)) - +- target = os.getcwd() + r'\libffi-8.dll' ++ target = os.getcwd() + r'\libffi-7.dll' + if not os.path.exists(target): + # in tests, we can mock using windows without libffi + shutil.copyfile(str(libffi), target) + diff --git a/recipe/patches/0031-Disable-embedding-and-portable.patch b/recipe/patches/0031-Disable-embedding-and-portable.patch deleted file mode 100644 index bb76b1a..0000000 --- a/recipe/patches/0031-Disable-embedding-and-portable.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -r 1dbd2e1e1866 pypy/tool/release/package.py ---- a/pypy/tool/release/package.py -+++ b/pypy/tool/release/package.py -@@ -478,13 +478,13 @@ - parser.add_argument('--embedded-dependencies', '--no-embedded-dependencies', - dest='embed_dependencies', - action=NegateAction, -- default=(ARCH in ('darwin', 'aarch64', 'x86_64')), -+ default=False, - help='whether to embed dependencies in CFFI modules ' - '(default on OS X)') - parser.add_argument('--make-portable', '--no-make-portable', - dest='make_portable', - action=NegateAction, -- default=(ARCH in ('darwin',)), -+ default=False, - help='make the package portable by shipping ' - 'dependent shared objects and mangling RPATH') - options = parser.parse_args(args) - diff --git a/recipe/patches/0031-pre-v7.3.10-fix-generic-alias.patch b/recipe/patches/0031-pre-v7.3.10-fix-generic-alias.patch deleted file mode 100644 index 42d07ec..0000000 --- a/recipe/patches/0031-pre-v7.3.10-fix-generic-alias.patch +++ /dev/null @@ -1,101 +0,0 @@ -diff -r 05fbe3aa5b08 lib_pypy/_contextvars.py ---- a/lib_pypy/_contextvars.py Tue Mar 29 08:15:20 2022 +0300 -+++ b/lib_pypy/_contextvars.py Tue Apr 05 07:32:45 2022 +0300 -@@ -162,9 +162,8 @@ - - token._used = True - -- @classmethod -- def __class_getitem__(self, key): -- return self -+ def __class_getitem__(self, item): -+ return GenericAlias(self, item) - - def __repr__(self): - default = '' -diff -r 05fbe3aa5b08 lib_pypy/_ctypes/structure.py ---- a/lib_pypy/_ctypes/structure.py Tue Mar 29 08:15:20 2022 +0300 -+++ b/lib_pypy/_ctypes/structure.py Tue Apr 05 07:32:45 2022 +0300 -@@ -4,7 +4,7 @@ - store_reference, ensure_objects, CArgObject - from _ctypes.array import Array, swappedorder, byteorder - from _ctypes.pointer import _Pointer --import inspect, __pypy__ -+import __pypy__ - - - def names_and_fields(self, _fields_, superclass, anonymous_fields=None): -@@ -28,7 +28,7 @@ - raise TypeError('bit fields not allowed for type ' + tp.__name__) - - all_fields = [] -- for cls in reversed(inspect.getmro(superclass)): -+ for cls in reversed(superclass.__mro__): - # The first field comes from the most base class - all_fields.extend(getattr(cls, '_fields_', [])) - all_fields.extend(_fields_) -diff -r 05fbe3aa5b08 lib_pypy/_pypy_generic_alias.py ---- a/lib_pypy/_pypy_generic_alias.py Tue Mar 29 08:15:20 2022 +0300 -+++ b/lib_pypy/_pypy_generic_alias.py Tue Apr 05 07:32:45 2022 +0300 -@@ -10,20 +10,35 @@ - )) - - class GenericAlias: -+ -+ __slots__ = ("__weakref__", "_origin", "_args", "_parameters", "_hash") -+ - def __new__(cls, origin, args): - result = super(GenericAlias, cls).__new__(cls) - if not isinstance(args, tuple): - args = (args, ) -- result.__origin__ = origin -- result.__args__ = args -- result.__parameters__ = _make_parameters(args) -+ result._origin = origin -+ result._args = args -+ result._parameters = _make_parameters(args) - return result - -+ @property -+ def __origin__(self): -+ return object.__getattribute__(self, "_origin") -+ -+ @property -+ def __args__(self): -+ return object.__getattribute__(self, "_args") -+ -+ @property -+ def __parameters__(self): -+ return object.__getattribute__(self, "_parameters") -+ - def __call__(self, *args, **kwargs): - result = self.__origin__(*args, **kwargs) - try: - result.__orig_class__ = self -- except AttributeError: -+ except (AttributeError, TypeError): - pass - return result - -@@ -68,9 +83,9 @@ - return hash(self.__origin__) ^ hash(self.__args__) - - def __dir__(self): -- res = dir(self.__origin__) -- res.extend(_ATTR_EXCEPTIONS) -- return res -+ cls = type(self) -+ dir_origin = set(dir(self.__origin__)) -+ return sorted(_ATTR_EXCEPTIONS | dir_origin) - - def __subclasscheck__(self, other): - raise TypeError("issubclass() argument 2 cannot be a parameterized generic") -@@ -84,6 +99,8 @@ - def _repr_item(it): - if it == Ellipsis: - return "..." -+ if type(it) is GenericAlias: -+ return repr(it) - try: - qualname = getattr(it, "__qualname__") - module = getattr(it, "__module__") diff --git a/recipe/patches/0032a-pre-v7.3.10-fix-object-h.patch b/recipe/patches/0032a-pre-v7.3.10-fix-object-h.patch deleted file mode 100644 index 8b6928f..0000000 --- a/recipe/patches/0032a-pre-v7.3.10-fix-object-h.patch +++ /dev/null @@ -1,38 +0,0 @@ -# HG changeset patch -Fix order of #define to match CPython: push later to avoid confusing the compiler - -diff -r 4b1ae7a563b2 -r 10c7664146da pypy/module/cpyext/include/object.h ---- a/pypy/module/cpyext/include/object.h -+++ b/pypy/module/cpyext/include/object.h -@@ -12,10 +12,6 @@ - #define PY_SSIZE_T_MAX ((Py_ssize_t)(((size_t)-1)>>1)) - #define PY_SSIZE_T_MIN (-PY_SSIZE_T_MAX-1) - --#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None --#define Py_RETURN_NOTIMPLEMENTED \ -- return Py_INCREF(Py_NotImplemented), Py_NotImplemented -- - /* - CPython has this for backwards compatibility with really old extensions, and now - we have it for compatibility with CPython. -@@ -102,12 +98,19 @@ - - #define Py_None (&_Py_NoneStruct) - -+/* Macro for returning Py_None from a function */ -+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None -+ - /* - Py_NotImplemented is a singleton used to signal that an operation is - not implemented for a given type combination. - */ - #define Py_NotImplemented (&_Py_NotImplementedStruct) - -+/* Macro for returning Py_NotImplemented from a function */ -+#define Py_RETURN_NOTIMPLEMENTED \ -+ return Py_INCREF(Py_NotImplemented), Py_NotImplemented -+ - /* Rich comparison opcodes */ - /* - XXX: Also defined in slotdefs.py - diff --git a/recipe/patches/0032b-pre-v7.3.10-fix-object-h.patch b/recipe/patches/0032b-pre-v7.3.10-fix-object-h.patch deleted file mode 100644 index 1053eeb..0000000 --- a/recipe/patches/0032b-pre-v7.3.10-fix-object-h.patch +++ /dev/null @@ -1,30 +0,0 @@ -# HG changeset patch -Fix order of #define to match CPython: push later to avoid confusing the compiler - -diff -r 05fbe3aa5b08 pypy/module/cpyext/include/object.h ---- a/pypy/module/cpyext/include/object.h -+++ b/pypy/module/cpyext/include/object.h -@@ -12,8 +12,6 @@ - #define PY_SSIZE_T_MAX ((Py_ssize_t)(((size_t)-1)>>1)) - #define PY_SSIZE_T_MIN (-PY_SSIZE_T_MAX-1) - --#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None -- - /* - CPython has this for backwards compatibility with really old extensions, and now - we have it for compatibility with CPython. -@@ -139,9 +137,12 @@ - - #define _Py_ForgetReference(ob) /* nothing */ - --#define Py_None (&_Py_NoneStruct) - #endif - -+#define Py_None (&_Py_NoneStruct) -+ -+/* Macro for returning Py_None from a function */ -+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None - - /* - Py_NotImplemented is a singleton used to signal that an operation is - diff --git a/recipe/patches/0033-pre-v7.3.10-fix-windows-scratch-reg.patch b/recipe/patches/0033-pre-v7.3.10-fix-windows-scratch-reg.patch deleted file mode 100644 index 8514b1d..0000000 --- a/recipe/patches/0033-pre-v7.3.10-fix-windows-scratch-reg.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -r 18296429103c -r be7b113b4530 rpython/jit/backend/x86/regalloc.py ---- a/rpython/jit/backend/x86/regalloc.py Sat May 28 18:10:26 2022 +0200 -+++ b/rpython/jit/backend/x86/regalloc.py Sun May 29 07:36:20 2022 +0300 -@@ -128,6 +128,7 @@ - class X86_64_WIN_XMMRegisterManager(X86_64_XMMRegisterManager): - # xmm15 reserved for scratch use - all_regs = [xmm0, xmm1, xmm2, xmm3, xmm4] -+ save_around_call_regs = all_regs - - class X86FrameManager(FrameManager): - def __init__(self, base_ofs): -@@ -1326,11 +1327,7 @@ - # Do we have a temp var? - if IS_X86_64: - tmpreg = X86_64_SCRATCH_REG -- if WIN64: -- # XXX perhaps use this for all_regs and do xmmtmp = None? -- xmmtmp = xmm5 -- else: -- xmmtmp = X86_64_XMM_SCRATCH_REG -+ xmmtmp = X86_64_XMM_SCRATCH_REG - else: - tmpreg = None - xmmtmp = None -diff -r 18296429103c -r be7b113b4530 rpython/jit/backend/x86/reghint.py ---- a/rpython/jit/backend/x86/reghint.py Sat May 28 18:10:26 2022 +0200 -+++ b/rpython/jit/backend/x86/reghint.py Sun May 29 07:36:20 2022 +0300 -@@ -14,6 +14,7 @@ - SAVE_GCREF_REGS, SAVE_ALL_REGS) - - from rpython.jit.backend.x86.regalloc import ( -+ gpr_reg_mgr_cls, xmm_reg_mgr_cls, compute_gc_level, - X86RegisterManager, X86XMMRegisterManager, - X86_64_RegisterManager, X86_64_XMMRegisterManager, compute_gc_level - ) -@@ -171,8 +172,6 @@ - oplist[num] = value - - class CallHints32(object): -- RegisterManager = X86RegisterManager -- XMMRegisterManager = X86XMMRegisterManager - - def _block_non_caller_save(self, position, save_all_regs, hinted_gpr=None, hinted_xmm=None): - if hinted_gpr is None: -@@ -182,15 +181,15 @@ - # block all remaining registers that are not caller save - - # XXX the case save_all_regs == SAVE_GCREF_REGS -- # (save callee-save regs + gc ptrs) is no expressible atm -+ # (save callee-save regs + gc ptrs) is not expressible atm - if save_all_regs == SAVE_ALL_REGS: -- regs = self.RegisterManager.all_regs -+ regs = gpr_reg_mgr_cls.all_regs - else: -- regs = self.RegisterManager.save_around_call_regs -+ regs = gpr_reg_mgr_cls.save_around_call_regs - for reg in regs: - if reg not in hinted_gpr: - self.longevity.fixed_register(position, reg) -- for reg in self.XMMRegisterManager.all_regs: -+ for reg in xmm_reg_mgr_cls.all_regs: - if reg not in hinted_xmm: - self.longevity.fixed_register(position, reg) - -@@ -202,9 +201,6 @@ - ARGUMENTS_GPR = callbuilder.CallBuilder64.ARGUMENTS_GPR - ARGUMENTS_XMM = callbuilder.CallBuilder64.ARGUMENTS_XMM - -- RegisterManager = X86_64_RegisterManager -- XMMRegisterManager = X86_64_XMMRegisterManager -- - def __init__(self, longevity): - self.longevity = longevity - -diff -r 18296429103c -r be7b113b4530 rpython/jit/backend/x86/regloc.py ---- a/rpython/jit/backend/x86/regloc.py Sat May 28 18:10:26 2022 +0200 -+++ b/rpython/jit/backend/x86/regloc.py Sun May 29 07:36:20 2022 +0300 -@@ -1,7 +1,7 @@ - from rpython.jit.metainterp.history import ConstInt - from rpython.jit.backend.x86 import rx86 - from rpython.rlib.unroll import unrolling_iterable --from rpython.jit.backend.x86.arch import WORD, IS_X86_32, IS_X86_64 -+from rpython.jit.backend.x86.arch import WORD, IS_X86_32, IS_X86_64, WIN64 - from rpython.tool.sourcetools import func_with_new_name - from rpython.rlib.objectmodel import specialize, instantiate - from rpython.rlib.rarithmetic import intmask, r_uint -@@ -353,7 +353,10 @@ - - # XXX: a GPR scratch register is definitely needed, but we could probably do - # without an xmm scratch reg. --X86_64_XMM_SCRATCH_REG = xmm15 -+if WIN64: -+ X86_64_XMM_SCRATCH_REG = xmm5 -+else: -+ X86_64_XMM_SCRATCH_REG = xmm15 - - # note: 'r' is after 'i' in this list, for _binaryop() - unrolling_location_codes = unrolling_iterable(list("irbsmajx")) diff --git a/recipe/patches/0034-pre-v7.3.10-libc-darwin-path.patch b/recipe/patches/0034-pre-v7.3.10-libc-darwin-path.patch deleted file mode 100644 index 6878f69..0000000 --- a/recipe/patches/0034-pre-v7.3.10-libc-darwin-path.patch +++ /dev/null @@ -1,30 +0,0 @@ -# HG changeset patch -# User Maciej Fijalkowski -# Date 1651481758 -10800 -# Mon May 02 11:55:58 2022 +0300 -# Branch m1 -# Node ID 08f27ba7e2b3d3d0ebb57bbc9310f9cf96403faf -# Parent 7e763080b759d791cad18b1374a69ba460e6307e -try a bit harder to run more tests on OS X - -diff -r 7e763080b759 -r 08f27ba7e2b3 rpython/rlib/clibffi.py ---- a/rpython/rlib/clibffi.py Wed Apr 27 10:29:10 2022 +0300 -+++ b/rpython/rlib/clibffi.py Mon May 02 11:55:58 2022 +0300 -@@ -276,10 +276,14 @@ - - if not _WIN32: - libc_name = ctypes.util.find_library('c') -- assert libc_name is not None, "Cannot find C library, ctypes.util.find_library('c') returned None" -+ if libc_name is None and sys.platform == 'darwin': -+ def get_libc_name(): -+ return '/usr/lib/libc.dylib' -+ else: -+ assert libc_name is not None, "Cannot find C library, ctypes.util.find_library('c') returned None" - -- def get_libc_name(): -- return libc_name -+ def get_libc_name(): -+ return libc_name - elif _MSVC: - get_libc_handle = external('pypy_get_libc_handle', [], DLLHANDLE) - From 773ac95d235888601347fca8968577c0187a45ea Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Wed, 7 Dec 2022 12:37:18 +0000 Subject: [PATCH 02/14] MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2022.12.07.11.35.54 --- .azure-pipelines/azure-pipelines-win.yml | 4 ++++ .ci_support/linux_64_name_suffix3.8openssl1.1.1.yaml | 2 +- .ci_support/linux_64_name_suffix3.8openssl3.yaml | 2 +- .ci_support/linux_64_name_suffix3.9openssl1.1.1.yaml | 2 +- .ci_support/linux_64_name_suffix3.9openssl3.yaml | 2 +- README.md | 12 ++++++------ 6 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 83563a8..f6bd30c 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -27,6 +27,7 @@ jobs: timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ + UPLOAD_TEMP: D:\\tmp steps: - task: PythonScript@0 @@ -112,6 +113,9 @@ jobs: - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "TEMP=$(UPLOAD_TEMP)" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" call activate base upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package diff --git a/.ci_support/linux_64_name_suffix3.8openssl1.1.1.yaml b/.ci_support/linux_64_name_suffix3.8openssl1.1.1.yaml index 6d6c1af..21c2a9f 100644 --- a/.ci_support/linux_64_name_suffix3.8openssl1.1.1.yaml +++ b/.ci_support/linux_64_name_suffix3.8openssl1.1.1.yaml @@ -3,7 +3,7 @@ bzip2: c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos6 channel_sources: diff --git a/.ci_support/linux_64_name_suffix3.8openssl3.yaml b/.ci_support/linux_64_name_suffix3.8openssl3.yaml index 9198754..732b963 100644 --- a/.ci_support/linux_64_name_suffix3.8openssl3.yaml +++ b/.ci_support/linux_64_name_suffix3.8openssl3.yaml @@ -3,7 +3,7 @@ bzip2: c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos6 channel_sources: diff --git a/.ci_support/linux_64_name_suffix3.9openssl1.1.1.yaml b/.ci_support/linux_64_name_suffix3.9openssl1.1.1.yaml index 86c607f..71cb593 100644 --- a/.ci_support/linux_64_name_suffix3.9openssl1.1.1.yaml +++ b/.ci_support/linux_64_name_suffix3.9openssl1.1.1.yaml @@ -3,7 +3,7 @@ bzip2: c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos6 channel_sources: diff --git a/.ci_support/linux_64_name_suffix3.9openssl3.yaml b/.ci_support/linux_64_name_suffix3.9openssl3.yaml index 9c665e7..ea53fe2 100644 --- a/.ci_support/linux_64_name_suffix3.9openssl3.yaml +++ b/.ci_support/linux_64_name_suffix3.9openssl3.yaml @@ -3,7 +3,7 @@ bzip2: c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos6 channel_sources: diff --git a/README.md b/README.md index 3076e3d..6ada2f6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -About pypy3.8 +About pypy3.9 ============= Home: http://pypy.org/ @@ -127,10 +127,10 @@ Current release info | [![Conda Recipe](https://img.shields.io/badge/recipe-pypy3.8-green.svg)](https://anaconda.org/conda-forge/pypy3.8) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pypy3.8.svg)](https://anaconda.org/conda-forge/pypy3.8) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pypy3.8.svg)](https://anaconda.org/conda-forge/pypy3.8) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/pypy3.8.svg)](https://anaconda.org/conda-forge/pypy3.8) | | [![Conda Recipe](https://img.shields.io/badge/recipe-pypy3.9-green.svg)](https://anaconda.org/conda-forge/pypy3.9) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pypy3.9.svg)](https://anaconda.org/conda-forge/pypy3.9) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pypy3.9.svg)](https://anaconda.org/conda-forge/pypy3.9) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/pypy3.9.svg)](https://anaconda.org/conda-forge/pypy3.9) | -Installing pypy3.8 +Installing pypy3.9 ================== -Installing `pypy3.8` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: +Installing `pypy3.9` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: ``` conda config --add channels conda-forge @@ -216,17 +216,17 @@ Terminology produce the finished article (built conda distributions) -Updating pypy3.8-feedstock +Updating pypy3.9-feedstock ========================== -If you would like to improve the pypy3.8 recipe or build a new +If you would like to improve the pypy3.9 recipe or build a new package version, please fork this repository and submit a PR. Upon submission, your changes will be run on the appropriate platforms to give the reviewer an opportunity to confirm that the changes result in a successful build. Once merged, the recipe will be re-built and uploaded automatically to the `conda-forge` channel, whereupon the built conda packages will be available for everybody to install and use from the `conda-forge` channel. -Note that all branches in the conda-forge/pypy3.8-feedstock are +Note that all branches in the conda-forge/pypy3.9-feedstock are immediately built and any created packages are uploaded, so PRs should be based on branches in forks and branches in the main repository should only be used to build distinct package versions. From 84a6d1f202cbb6f75af541b2d322d1eb2a5f49a1 Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Wed, 7 Dec 2022 08:21:37 -0500 Subject: [PATCH 03/14] redo patch differently --- .../patches/0019-Disable-copying-dlls.patch | 37 ++++++------------- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/recipe/patches/0019-Disable-copying-dlls.patch b/recipe/patches/0019-Disable-copying-dlls.patch index b410890..9fccffb 100644 --- a/recipe/patches/0019-Disable-copying-dlls.patch +++ b/recipe/patches/0019-Disable-copying-dlls.patch @@ -1,35 +1,20 @@ # HG changeset patch -# Date 1627474848 -10800 -# Wed Jul 28 15:20:48 2021 +0300 -# Branch conda +# Date 1670419241 18000 +# Wed Dec 07 08:20:41 2022 -0500 +# Branch release-pypy3.8-v7.x # Node ID ffffffffffffffffffffffffffffffffffffffff -# Parent 4aca66d6c57dd79083a1b75ea6a5b76df98eebcb +# Parent 4b1398fe9d76ad762155d03684c2a153d230b2ef -diff -r 4aca66d6c57d lib_pypy/_ssl_build.py +diff -r 4b1398fe9d76 lib_pypy/_ssl_build.py --- a/lib_pypy/_ssl_build.py +++ b/lib_pypy/_ssl_build.py -@@ -59,22 +59,4 @@ - +@@ -61,7 +61,7 @@ + if __name__ == '__main__': ffi.compile(verbose=True) - if sys.platform == 'win32': -- # copy dlls from externals to the pwd -- # maybe we should link to libraries instead of the dlls -- # to avoid this mess -- import os, glob, shutil -- path_parts = os.environ['PATH'].split(';') -- candidates = [x for x in path_parts if 'externals' in x] - -- def copy_from_path(dll): -- for c in candidates: -- files = glob.glob(os.path.join(c, dll + '*.dll')) -- if files: -- for fname in files: -- print('copying', fname) -- shutil.copy(fname, '.') -- -- if candidates: -- for lib in libraries: -- copy_from_path(lib) - ++ if 0 and sys.platform == 'win32': + # copy dlls from externals to the pwd + # maybe we should link to libraries instead of the dlls + # to avoid this mess From 1fbe9be58b74ca6ca6daaff0678b068ec3952b8b Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Wed, 7 Dec 2022 16:12:13 -0500 Subject: [PATCH 04/14] disable obsolete NPN --- recipe/meta.yaml | 1 + recipe/patches/0015-Disable-NPN.patch | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 recipe/patches/0015-Disable-NPN.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index baa3ceb..47376e8 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -21,6 +21,7 @@ source: - patches/clibffi.patch # [osx] - patches/darwin.patch # [osx] - patches/0001-Add-conda-forge-version.patch + - patches/0015-Disable-NPN.patch # [name_suffix=="3.8"] - patches/0021-Adapt-platform-to-patch-0001.patch - patches/0023a-Fix-LIBDIR.patch # [name_suffix=="3.8"] - patches/0023b-Fix-LIBDIR.patch # [name_suffix=="3.9"] diff --git a/recipe/patches/0015-Disable-NPN.patch b/recipe/patches/0015-Disable-NPN.patch new file mode 100644 index 0000000..c676558 --- /dev/null +++ b/recipe/patches/0015-Disable-NPN.patch @@ -0,0 +1,21 @@ +# HG changeset patch +# User Matti Picus +# Date 1670442756 18000 +# Wed Dec 07 14:52:36 2022 -0500 +# Branch py3.8 +# Node ID ffffffffffffffffffffffffffffffffffffffff +# Parent 8094d9636eb3140599ba3e2f391e0f907290690e + + +diff -r 8094d9636eb3 lib_pypy/_cffi_ssl/_stdssl/__init__.py +--- a/lib_pypy/_cffi_ssl/_stdssl/__init__.py Wed Dec 07 06:49:33 2022 -0500 ++++ b/lib_pypy/_cffi_ssl/_stdssl/__init__.py Wed Dec 07 14:52:36 2022 -0500 +@@ -59,7 +59,7 @@ + HAS_ECDH = True + HAS_SNI = bool(lib.Cryptography_HAS_TLSEXT_HOSTNAME) + HAS_ALPN = bool(lib.Cryptography_HAS_ALPN) +-HAS_NPN = bool(lib.OPENSSL_NPN_NEGOTIATED) ++HAS_NPN = False + HAS_CTRL_GET_MAX_PROTO_VERSION = bool(lib.Cryptography_HAS_CTRL_GET_MAX_PROTO_VERSION) + HAS_TLS_UNIQUE = True + From 4d3a31b5f1741e822464f7727cd1c087303770ce Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Wed, 7 Dec 2022 19:08:00 -0500 Subject: [PATCH 05/14] format patch correctly --- recipe/patches/0015-Disable-NPN.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/patches/0015-Disable-NPN.patch b/recipe/patches/0015-Disable-NPN.patch index c676558..ec61c21 100644 --- a/recipe/patches/0015-Disable-NPN.patch +++ b/recipe/patches/0015-Disable-NPN.patch @@ -8,8 +8,8 @@ diff -r 8094d9636eb3 lib_pypy/_cffi_ssl/_stdssl/__init__.py ---- a/lib_pypy/_cffi_ssl/_stdssl/__init__.py Wed Dec 07 06:49:33 2022 -0500 -+++ b/lib_pypy/_cffi_ssl/_stdssl/__init__.py Wed Dec 07 14:52:36 2022 -0500 +--- a/lib_pypy/_cffi_ssl/_stdssl/__init__.py ++++ b/lib_pypy/_cffi_ssl/_stdssl/__init__.py @@ -59,7 +59,7 @@ HAS_ECDH = True HAS_SNI = bool(lib.Cryptography_HAS_TLSEXT_HOSTNAME) From 06444b814c17a042bc06a5b058c4ccfcdf6cb73f Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Thu, 8 Dec 2022 07:00:45 -0500 Subject: [PATCH 06/14] fix packaging logic around tkinter --- recipe/bld.bat | 1 - recipe/meta.yaml | 1 + recipe/patches/0040-packing-logic.patch | 21 +++++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 recipe/patches/0040-packing-logic.patch diff --git a/recipe/bld.bat b/recipe/bld.bat index 213b4a6..030875e 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -12,7 +12,6 @@ set "PYPY_PKG_NAME=pypy3" set "BUILD_DIR=%PREFIX%\..\build" set "TARGET_DIR=%PREFIX%\..\target" set "ARCHIVE_NAME=%PYPY_PKG_NAME%-%PKG_VERSION%" -set PYPY_PACKAGE_WITHOUTTK=1 set PYPY_PACKAGE_NO_DLLS=1 REM Report system info diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 47376e8..7bcf9c6 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -36,6 +36,7 @@ source: - patches/0024-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch - patches/fix_tzpath.patch # [name_suffix != "3.8"] # Patches to be removed for the next version + - patches/0040-packing-logic.patch - url: https://downloads.python.org/pypy/pypy2.7-v7.3.6-win64.zip # [win] sha256: fcc8f6b3b472a77eaa754951f288fe234b4953bfba845888dd839b9b862cb891 # [win] diff --git a/recipe/patches/0040-packing-logic.patch b/recipe/patches/0040-packing-logic.patch new file mode 100644 index 0000000..4d4b207 --- /dev/null +++ b/recipe/patches/0040-packing-logic.patch @@ -0,0 +1,21 @@ + +# HG changeset patch +# Date 1670500924 18000 +# Thu Dec 08 07:02:04 2022 -0500 +# Branch py3.8 +# Node ID ffffffffffffffffffffffffffffffffffffffff +# Parent a0f4f69b92f592bf804792ad562f22dbd3623285 + + +diff -r a0f4f69b92f5 pypy/tool/release/package.py +--- a/pypy/tool/release/package.py Wed Dec 07 19:52:26 2022 -0500 ++++ b/pypy/tool/release/package.py Thu Dec 08 07:02:04 2022 -0500 +@@ -315,7 +315,7 @@ + # Has the lib moved, was translation not 'shared', or are + # there no exported functions in the dll so no import + # library was created? +- if not options.no__tkinter: ++ if getattr(options, 'copy_dlls', True) and not options.no__tkinter: + try: + p = pypy_c.dirpath().join('tcl86t.dll') + if not p.check(): From 252d3f36671629800206d80196cd4b8392341b9a Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Mon, 12 Dec 2022 15:21:40 -0500 Subject: [PATCH 07/14] patch for macos-86_64 and macos<11 --- recipe/meta.yaml | 1 + ...-x86_64-pthread_jit_write_protect_np.patch | 54 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 recipe/patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7bcf9c6..7df8947 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -37,6 +37,7 @@ source: - patches/fix_tzpath.patch # [name_suffix != "3.8"] # Patches to be removed for the next version - patches/0040-packing-logic.patch + - patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch - url: https://downloads.python.org/pypy/pypy2.7-v7.3.6-win64.zip # [win] sha256: fcc8f6b3b472a77eaa754951f288fe234b4953bfba845888dd839b9b862cb891 # [win] diff --git a/recipe/patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch b/recipe/patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch new file mode 100644 index 0000000..a0210d9 --- /dev/null +++ b/recipe/patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch @@ -0,0 +1,54 @@ +# HG changeset patch +# Date 1670591169 18000 +# Fri Dec 09 08:06:09 2022 -0500 +# Node ID 2916967ae6c3b9d666eae43749de6def040afa87 +# Parent 24f682394df5b3946fecdc6de2e24a523b52660e +only use pthread_jit_write_protect_np on arm64 + darwin + +diff -r 24f682394df5 -r 2916967ae6c3 rpython/rlib/rmmap.py +--- a/rpython/rlib/rmmap.py ++++ b/rpython/rlib/rmmap.py +@@ -24,6 +24,7 @@ + _64BIT = "64bit" in platform.architecture()[0] + _CYGWIN = "cygwin" == sys.platform + _DARWIN = "darwin" == sys.platform ++_ARM64 = "arm64" == platform.machine() + + class RMMapError(Exception): + def __init__(self, message): +@@ -60,7 +61,7 @@ + constant_names = ['MAP_SHARED', 'MAP_PRIVATE', 'MAP_FIXED', + 'PROT_READ', 'PROT_WRITE', + 'MS_SYNC'] +- if sys.platform == 'darwin': ++ if _DARWIN and _ARM64: + constant_names.append('MAP_JIT') + opt_constant_names = ['MAP_ANON', 'MAP_ANONYMOUS', 'MAP_NORESERVE', + 'PROT_EXEC', +@@ -204,7 +205,7 @@ + includes=includes) + _get_allocation_granularity = _get_page_size = lambda: _pagesize + +- if _DARWIN: ++ if _DARWIN and _ARM64: + _, c_pthread_jit_write_protect_np = external('pthread_jit_write_protect_np', + [rffi.INT], lltype.Void) + +@@ -676,7 +677,7 @@ + if size < 0: + raise RTypeError("memory mapped size must be positive") + +-if _DARWIN: ++if _DARWIN and _ARM64: + + class Nester(object): + def __init__(self): +@@ -784,7 +785,7 @@ + + def alloc_hinted(hintp, map_size): + flags = MAP_PRIVATE | MAP_ANONYMOUS +- if _DARWIN: ++ if _DARWIN and _ARM64: + flags |= MAP_JIT + prot = PROT_EXEC | PROT_READ | PROT_WRITE + if we_are_translated(): From 044d828671a990db65650a5e5aebe5894d706ae6 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 8 Jan 2023 12:04:36 +0200 Subject: [PATCH 08/14] use pypy7.3.11, adjust patches --- recipe/build.sh | 2 ++ recipe/meta.yaml | 10 ++++------ recipe/patches/fix_tzpath.patch | 17 ----------------- 3 files changed, 6 insertions(+), 23 deletions(-) delete mode 100644 recipe/patches/fix_tzpath.patch diff --git a/recipe/build.sh b/recipe/build.sh index d8fa38d..84e8338 100755 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -24,6 +24,8 @@ if [[ "$target_platform" == "linux"* ]]; then export CPATH=${PREFIX}/include fi +PYPY_NO_EMBED_DEPENDENCIES=1 + GOAL_DIR=$PYPY3_SRC_DIR/pypy/goal RELEASE_DIR=$PYPY3_SRC_DIR/pypy/tool/release diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7df8947..d99f992 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -2,7 +2,7 @@ {% set name_suffix = "3.8" %} {% endif %} {% set name = "pypy" ~ name_suffix %} -{% set version = "7.3.10" %} +{% set version = "7.3.11" %} package: name: {{ name }} @@ -10,8 +10,8 @@ package: source: - url: https://downloads.python.org/pypy/{{ name }}-v{{ version }}-src.tar.bz2 - sha256: 218a1e062f17aba89f61bc398e8498f13c048b9fcf294343f5d9d56c3ac9b882 # [name_suffix == "3.8"] - sha256: 3738d32575ed2513e3e66878e4e4c6c208caed267570f3f9f814748830002967 # [name_suffix == "3.9"] + sha256: 4d6769bfca73734e8666fd70503b7ceb06a6e259110e617331bb3899ca4e6058 # [name_suffix == "3.8"] + sha256: b0f3166fb2a5aadfd5ceb9db5cdd5f7929a0eccca02b4a26c0dae0492f7ca8ea # [name_suffix == "3.9"] folder: pypy3 patches: - patches/fficurses.patch @@ -32,12 +32,10 @@ source: - patches/0012-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch - patches/0013-Disable-new-dtags-in-unixccompiler.py.patch - patches/0014-Add-CondaEcosystemModifyDllSearchPath.patch + - patches/0019-Disable-copying-dlls.patch - patches/0020-Use-ranlib-from-env-if-env-variable-is-set.patch - patches/0024-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch - - patches/fix_tzpath.patch # [name_suffix != "3.8"] # Patches to be removed for the next version - - patches/0040-packing-logic.patch - - patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch - url: https://downloads.python.org/pypy/pypy2.7-v7.3.6-win64.zip # [win] sha256: fcc8f6b3b472a77eaa754951f288fe234b4953bfba845888dd839b9b862cb891 # [win] diff --git a/recipe/patches/fix_tzpath.patch b/recipe/patches/fix_tzpath.patch deleted file mode 100644 index 558e555..0000000 --- a/recipe/patches/fix_tzpath.patch +++ /dev/null @@ -1,17 +0,0 @@ -From: Isuru Fernando -Date: Sat, 29 Oct 2022 23:09:07 -0500 -Subject: [PATCH 1/1] Fix TZPATH on Windows - ---- a/lib-python/3/sysconfig.py -+++ b/lib-python/3/sysconfig.py -@@ -585,9 +585,9 @@ - - if os.name == 'nt': - _init_non_posix(_CONFIG_VARS) -- _CONFIG_VARS['TZPATH'] = '' -+ _CONFIG_VARS['TZPATH'] = os.path.join(_PREFIX, "share", "zoneinfo") - if os.name == 'posix': - _init_posix(_CONFIG_VARS) - # For backward compatibility, see issue19555 - SO = _CONFIG_VARS.get('EXT_SUFFIX') - if SO is not None: From d403cb35f7f645bcad2b804cec7dc3e536d6709e Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 8 Jan 2023 16:56:39 +0200 Subject: [PATCH 09/14] fix patches --- .../patches/0019-Disable-copying-dlls.patch | 2 +- recipe/patches/0023a-Fix-LIBDIR.patch | 15 +++++------ recipe/patches/0023b-Fix-LIBDIR.patch | 15 +++++------ recipe/patches/tklib_build.patch | 27 ++++++++++--------- 4 files changed, 27 insertions(+), 32 deletions(-) diff --git a/recipe/patches/0019-Disable-copying-dlls.patch b/recipe/patches/0019-Disable-copying-dlls.patch index 9fccffb..9fe331e 100644 --- a/recipe/patches/0019-Disable-copying-dlls.patch +++ b/recipe/patches/0019-Disable-copying-dlls.patch @@ -14,7 +14,7 @@ diff -r 4b1398fe9d76 lib_pypy/_ssl_build.py if __name__ == '__main__': ffi.compile(verbose=True) - if sys.platform == 'win32': -+ if 0 and sys.platform == 'win32': ++ if sys.platform == 'win32' and "PYPY_PACKAGE_NO_DLLS" not in os.environ: # copy dlls from externals to the pwd # maybe we should link to libraries instead of the dlls # to avoid this mess diff --git a/recipe/patches/0023a-Fix-LIBDIR.patch b/recipe/patches/0023a-Fix-LIBDIR.patch index d5cbb84..383670d 100644 --- a/recipe/patches/0023a-Fix-LIBDIR.patch +++ b/recipe/patches/0023a-Fix-LIBDIR.patch @@ -1,15 +1,12 @@ -conda modifies the build to put the dll in base/lib not base/bin - -diff -r cbafdee73af5 lib_pypy/_sysconfigdata.py ---- a/lib_pypy/_sysconfigdata.py Sun Feb 20 16:59:41 2022 +0200 -+++ b/lib_pypy/_sysconfigdata.py Sun Feb 20 17:38:50 2022 +0200 -@@ -51,7 +51,7 @@ +diff -r c758c7d7097f lib_pypy/_sysconfigdata.py +--- a/lib_pypy/_sysconfigdata.py Fri Jan 06 00:00:39 2023 +0200 ++++ b/lib_pypy/_sysconfigdata.py Sun Jan 08 13:05:27 2023 +0200 +@@ -52,7 +52,7 @@ else: build_time_vars['LDLIBRARY'] = 'libpypy3-c.so' build_time_vars['INCLUDEPY'] = os.path.join(mybase, 'include', 'pypy' + pydot) - build_time_vars['LIBDIR'] = os.path.join(mybase, 'bin') + build_time_vars['LIBDIR'] = os.path.join(mybase, 'lib') + build_time_vars['CONFINCLUDEPY'] = build_time_vars['INCLUDEPY'] - if find_executable("gcc"): - build_time_vars.update({ - + if which("gcc"): diff --git a/recipe/patches/0023b-Fix-LIBDIR.patch b/recipe/patches/0023b-Fix-LIBDIR.patch index 564a052..5956290 100644 --- a/recipe/patches/0023b-Fix-LIBDIR.patch +++ b/recipe/patches/0023b-Fix-LIBDIR.patch @@ -1,15 +1,12 @@ -conda modifies the build to put the dll in base/lib not base/bin - -diff -r ab92c5997c51 lib_pypy/_sysconfigdata.py ---- a/lib_pypy/_sysconfigdata.py Sun Feb 20 17:00:07 2022 +0200 -+++ b/lib_pypy/_sysconfigdata.py Sun Feb 20 17:27:41 2022 +0200 -@@ -51,7 +51,7 @@ +diff -r cc1e666384ea lib_pypy/_sysconfigdata.py +--- a/lib_pypy/_sysconfigdata.py Fri Jan 06 00:01:13 2023 +0200 ++++ b/lib_pypy/_sysconfigdata.py Sun Jan 08 13:05:57 2023 +0200 +@@ -52,7 +52,7 @@ else: - build_time_vars['LDLIBRARY'] = 'libpypy3-c.so' + build_time_vars['LDLIBRARY'] = 'libpypy3.9-c.so' build_time_vars['INCLUDEPY'] = os.path.join(mybase, 'include', 'pypy' + pydot) - build_time_vars['LIBDIR'] = os.path.join(mybase, 'bin') + build_time_vars['LIBDIR'] = os.path.join(mybase, 'lib') + build_time_vars['CONFINCLUDEPY'] = build_time_vars['INCLUDEPY'] # try paths relative to sys.base_prefix first tzpaths = [ - os.path.join(mybase, 'share', 'zoneinfo'), - diff --git a/recipe/patches/tklib_build.patch b/recipe/patches/tklib_build.patch index 94f9dd6..064be71 100644 --- a/recipe/patches/tklib_build.patch +++ b/recipe/patches/tklib_build.patch @@ -1,18 +1,24 @@ ---- pypy3/lib_pypy/_tkinter/tklib_build.py 2018-01-10 15:58:49.000000000 +0100 -+++ pypy3/lib_pypy/_tkinter/tklib_build.py 2018-02-23 10:46:06.000000000 +0100 -@@ -18,35 +18,13 @@ - linklibs = ['tcl85', 'tk85'] +diff -r 1328cd0b061e lib_pypy/_tkinter/tklib_build.py +--- a/lib_pypy/_tkinter/tklib_build.py Sun Jan 08 09:54:04 2023 +0200 ++++ b/lib_pypy/_tkinter/tklib_build.py Sun Jan 08 12:40:36 2023 +0200 +@@ -17,40 +17,10 @@ + incdirs = [] + linklibs = ['tcl86t', 'tk86t'] libdirs = [] - elif sys.platform == 'darwin': +-elif sys.platform == 'darwin': - # homebrew +- homebrew = os.environ.get('HOMEBREW_PREFIX', '') - incdirs = ['/usr/local/opt/tcl-tk/include'] - linklibs = ['tcl8.6', 'tk8.6'] -- libdirs = ['/usr/local/opt/tcl-tk/lib'] --else: +- libdirs = [] +- if homebrew: +- incdirs.append(homebrew + '/include') +- libdirs.append(homebrew + '/opt/tcl-tk/lib') + else: - # On some Linux distributions, the tcl and tk libraries are - # stored in /usr/include, so we must check this case also + incdirs = [] -+ linklibs = ['tcl8.6', 'tk8.6'] ++ linklibs = ['tcl86', 'tk86'] libdirs = [] - found = False - for _ver in ['', '8.6', '8.5']: @@ -35,11 +41,6 @@ - sys.stderr.write("*** TCL libraries not found! Falling back...\n") - incdirs = [] - linklibs = ['tcl', 'tk'] -+else: -+ incdirs = [] -+ linklibs = ['tcl8.6', 'tk8.6'] -+ libdirs = [] config_ffi = FFI() config_ffi.cdef(""" - From 080f00380d998333d727ee7c1f909ca29e8127ec Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 8 Jan 2023 17:17:53 +0200 Subject: [PATCH 10/14] fix bad merges from cherry-picking commits in #100 --- recipe/build.sh | 2 -- recipe/meta.yaml | 2 -- recipe/patches/0015-Disable-NPN.patch | 21 --------------------- 3 files changed, 25 deletions(-) delete mode 100644 recipe/patches/0015-Disable-NPN.patch diff --git a/recipe/build.sh b/recipe/build.sh index 84e8338..d8fa38d 100755 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -24,8 +24,6 @@ if [[ "$target_platform" == "linux"* ]]; then export CPATH=${PREFIX}/include fi -PYPY_NO_EMBED_DEPENDENCIES=1 - GOAL_DIR=$PYPY3_SRC_DIR/pypy/goal RELEASE_DIR=$PYPY3_SRC_DIR/pypy/tool/release diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d99f992..92b634d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -21,7 +21,6 @@ source: - patches/clibffi.patch # [osx] - patches/darwin.patch # [osx] - patches/0001-Add-conda-forge-version.patch - - patches/0015-Disable-NPN.patch # [name_suffix=="3.8"] - patches/0021-Adapt-platform-to-patch-0001.patch - patches/0023a-Fix-LIBDIR.patch # [name_suffix=="3.8"] - patches/0023b-Fix-LIBDIR.patch # [name_suffix=="3.9"] @@ -32,7 +31,6 @@ source: - patches/0012-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch - patches/0013-Disable-new-dtags-in-unixccompiler.py.patch - patches/0014-Add-CondaEcosystemModifyDllSearchPath.patch - - patches/0019-Disable-copying-dlls.patch - patches/0020-Use-ranlib-from-env-if-env-variable-is-set.patch - patches/0024-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch # Patches to be removed for the next version diff --git a/recipe/patches/0015-Disable-NPN.patch b/recipe/patches/0015-Disable-NPN.patch deleted file mode 100644 index ec61c21..0000000 --- a/recipe/patches/0015-Disable-NPN.patch +++ /dev/null @@ -1,21 +0,0 @@ -# HG changeset patch -# User Matti Picus -# Date 1670442756 18000 -# Wed Dec 07 14:52:36 2022 -0500 -# Branch py3.8 -# Node ID ffffffffffffffffffffffffffffffffffffffff -# Parent 8094d9636eb3140599ba3e2f391e0f907290690e - - -diff -r 8094d9636eb3 lib_pypy/_cffi_ssl/_stdssl/__init__.py ---- a/lib_pypy/_cffi_ssl/_stdssl/__init__.py -+++ b/lib_pypy/_cffi_ssl/_stdssl/__init__.py -@@ -59,7 +59,7 @@ - HAS_ECDH = True - HAS_SNI = bool(lib.Cryptography_HAS_TLSEXT_HOSTNAME) - HAS_ALPN = bool(lib.Cryptography_HAS_ALPN) --HAS_NPN = bool(lib.OPENSSL_NPN_NEGOTIATED) -+HAS_NPN = False - HAS_CTRL_GET_MAX_PROTO_VERSION = bool(lib.Cryptography_HAS_CTRL_GET_MAX_PROTO_VERSION) - HAS_TLS_UNIQUE = True - From 87e931c40093191f3f2ad9675798323d9fe4fe58 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 8 Jan 2023 17:27:02 +0200 Subject: [PATCH 11/14] remove unneeded patches --- recipe/patches/0040-packing-logic.patch | 21 -------- ...-x86_64-pthread_jit_write_protect_np.patch | 54 ------------------- 2 files changed, 75 deletions(-) delete mode 100644 recipe/patches/0040-packing-logic.patch delete mode 100644 recipe/patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch diff --git a/recipe/patches/0040-packing-logic.patch b/recipe/patches/0040-packing-logic.patch deleted file mode 100644 index 4d4b207..0000000 --- a/recipe/patches/0040-packing-logic.patch +++ /dev/null @@ -1,21 +0,0 @@ - -# HG changeset patch -# Date 1670500924 18000 -# Thu Dec 08 07:02:04 2022 -0500 -# Branch py3.8 -# Node ID ffffffffffffffffffffffffffffffffffffffff -# Parent a0f4f69b92f592bf804792ad562f22dbd3623285 - - -diff -r a0f4f69b92f5 pypy/tool/release/package.py ---- a/pypy/tool/release/package.py Wed Dec 07 19:52:26 2022 -0500 -+++ b/pypy/tool/release/package.py Thu Dec 08 07:02:04 2022 -0500 -@@ -315,7 +315,7 @@ - # Has the lib moved, was translation not 'shared', or are - # there no exported functions in the dll so no import - # library was created? -- if not options.no__tkinter: -+ if getattr(options, 'copy_dlls', True) and not options.no__tkinter: - try: - p = pypy_c.dirpath().join('tcl86t.dll') - if not p.check(): diff --git a/recipe/patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch b/recipe/patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch deleted file mode 100644 index a0210d9..0000000 --- a/recipe/patches/0041-macos-x86_64-pthread_jit_write_protect_np.patch +++ /dev/null @@ -1,54 +0,0 @@ -# HG changeset patch -# Date 1670591169 18000 -# Fri Dec 09 08:06:09 2022 -0500 -# Node ID 2916967ae6c3b9d666eae43749de6def040afa87 -# Parent 24f682394df5b3946fecdc6de2e24a523b52660e -only use pthread_jit_write_protect_np on arm64 + darwin - -diff -r 24f682394df5 -r 2916967ae6c3 rpython/rlib/rmmap.py ---- a/rpython/rlib/rmmap.py -+++ b/rpython/rlib/rmmap.py -@@ -24,6 +24,7 @@ - _64BIT = "64bit" in platform.architecture()[0] - _CYGWIN = "cygwin" == sys.platform - _DARWIN = "darwin" == sys.platform -+_ARM64 = "arm64" == platform.machine() - - class RMMapError(Exception): - def __init__(self, message): -@@ -60,7 +61,7 @@ - constant_names = ['MAP_SHARED', 'MAP_PRIVATE', 'MAP_FIXED', - 'PROT_READ', 'PROT_WRITE', - 'MS_SYNC'] -- if sys.platform == 'darwin': -+ if _DARWIN and _ARM64: - constant_names.append('MAP_JIT') - opt_constant_names = ['MAP_ANON', 'MAP_ANONYMOUS', 'MAP_NORESERVE', - 'PROT_EXEC', -@@ -204,7 +205,7 @@ - includes=includes) - _get_allocation_granularity = _get_page_size = lambda: _pagesize - -- if _DARWIN: -+ if _DARWIN and _ARM64: - _, c_pthread_jit_write_protect_np = external('pthread_jit_write_protect_np', - [rffi.INT], lltype.Void) - -@@ -676,7 +677,7 @@ - if size < 0: - raise RTypeError("memory mapped size must be positive") - --if _DARWIN: -+if _DARWIN and _ARM64: - - class Nester(object): - def __init__(self): -@@ -784,7 +785,7 @@ - - def alloc_hinted(hintp, map_size): - flags = MAP_PRIVATE | MAP_ANONYMOUS -- if _DARWIN: -+ if _DARWIN and _ARM64: - flags |= MAP_JIT - prot = PROT_EXEC | PROT_READ | PROT_WRITE - if we_are_translated(): From 559e8eb8220fdd4b06740b5d2f236a9cc917bbf1 Mon Sep 17 00:00:00 2001 From: mattip Date: Mon, 9 Jan 2023 02:20:15 +0200 Subject: [PATCH 12/14] fix tk link libraries --- recipe/patches/tklib_build.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/patches/tklib_build.patch b/recipe/patches/tklib_build.patch index 064be71..c283a88 100644 --- a/recipe/patches/tklib_build.patch +++ b/recipe/patches/tklib_build.patch @@ -18,7 +18,7 @@ diff -r 1328cd0b061e lib_pypy/_tkinter/tklib_build.py - # On some Linux distributions, the tcl and tk libraries are - # stored in /usr/include, so we must check this case also + incdirs = [] -+ linklibs = ['tcl86', 'tk86'] ++ linklibs = ['tcl8.6', 'tk8.6'] libdirs = [] - found = False - for _ver in ['', '8.6', '8.5']: From 73ca5bdd9bc56afaec0560e1624074843a51ec88 Mon Sep 17 00:00:00 2001 From: mattip Date: Mon, 9 Jan 2023 02:57:37 +0200 Subject: [PATCH 13/14] fix patch --- .../patches/0019-Disable-copying-dlls.patch | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/recipe/patches/0019-Disable-copying-dlls.patch b/recipe/patches/0019-Disable-copying-dlls.patch index 9fe331e..f720065 100644 --- a/recipe/patches/0019-Disable-copying-dlls.patch +++ b/recipe/patches/0019-Disable-copying-dlls.patch @@ -1,15 +1,20 @@ # HG changeset patch -# Date 1670419241 18000 -# Wed Dec 07 08:20:41 2022 -0500 -# Branch release-pypy3.8-v7.x -# Node ID ffffffffffffffffffffffffffffffffffffffff -# Parent 4b1398fe9d76ad762155d03684c2a153d230b2ef +# Date 1673190532 -7200 +# Sun Jan 08 17:08:52 2023 +0200 +# Branch py3.8 +# Node ID d8e6b37f5231c7b59b2b639a651dd696a3732cc3 +# Parent c758c7d7097f60adffc8d9e8a8fc0dea18902e6f +make code compatible with conda - -diff -r 4b1398fe9d76 lib_pypy/_ssl_build.py ---- a/lib_pypy/_ssl_build.py -+++ b/lib_pypy/_ssl_build.py -@@ -61,7 +61,7 @@ +diff -r c758c7d7097f -r d8e6b37f5231 lib_pypy/_ssl_build.py +--- a/lib_pypy/_ssl_build.py Fri Jan 06 00:00:39 2023 +0200 ++++ b/lib_pypy/_ssl_build.py Sun Jan 08 17:08:52 2023 +0200 +@@ -1,3 +1,4 @@ ++import os + import sys + from _cffi_ssl import _cffi_src + sys.modules['_cffi_src'] = _cffi_src +@@ -60,7 +61,7 @@ if __name__ == '__main__': ffi.compile(verbose=True) From b18594130753bd94ad665cc476695e3e87a8c975 Mon Sep 17 00:00:00 2001 From: mattip Date: Mon, 9 Jan 2023 02:59:06 +0200 Subject: [PATCH 14/14] mark patch for removal in next version --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 92b634d..d5e97a4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,7 +25,6 @@ source: - patches/0023a-Fix-LIBDIR.patch # [name_suffix=="3.8"] - patches/0023b-Fix-LIBDIR.patch # [name_suffix=="3.9"] - patches/0030-Swap-libffi8-for-7.patch - - patches/0019-Disable-copying-dlls.patch # Patches by @mingwandroid from python-feedstock - patches/0009-runtime_library_dir_option-Use-1st-word-of-CC-as-com.patch - patches/0012-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch @@ -34,6 +33,7 @@ source: - patches/0020-Use-ranlib-from-env-if-env-variable-is-set.patch - patches/0024-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch # Patches to be removed for the next version + - patches/0019-Disable-copying-dlls.patch - url: https://downloads.python.org/pypy/pypy2.7-v7.3.6-win64.zip # [win] sha256: fcc8f6b3b472a77eaa754951f288fe234b4953bfba845888dd839b9b862cb891 # [win]