Compare commits
6 Commits
rawhide
...
main-riscv
Author | SHA1 | Date | |
---|---|---|---|
1265675c3a | |||
052faf37d3 | |||
|
c52271071f | ||
2c98f0522e | |||
|
376e422e0c | ||
|
23628516b2 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -25,3 +25,4 @@
|
|||||||
/pypy3.9-v7.3.12-src.tar.bz2
|
/pypy3.9-v7.3.12-src.tar.bz2
|
||||||
/pypy3.9-v7.3.13-src.tar.bz2
|
/pypy3.9-v7.3.13-src.tar.bz2
|
||||||
/pypy3.9-v7.3.15-src.tar.bz2
|
/pypy3.9-v7.3.15-src.tar.bz2
|
||||||
|
/pypy3.9-v7.3.16-src.tar.bz2
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
From 2d689b133337084a6f00982462b58486bf6bd3a4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: mattip <matti.picus@gmail.com>
|
|
||||||
Date: Tue, 19 Mar 2024 08:45:03 +0200
|
|
||||||
Subject: [PATCH] fix 'const' in signature of Tcl_Merge (issue 4926)
|
|
||||||
|
|
||||||
---
|
|
||||||
lib_pypy/_tkinter/tklib_build.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/lib_pypy/_tkinter/tklib_build.py b/lib_pypy/_tkinter/tklib_build.py
|
|
||||||
index 0e4e93c..44c1d10 100644
|
|
||||||
--- a/lib_pypy/_tkinter/tklib_build.py
|
|
||||||
+++ b/lib_pypy/_tkinter/tklib_build.py
|
|
||||||
@@ -171,7 +171,7 @@ int Tcl_ListObjGetElements(Tcl_Interp *interp, Tcl_Obj *listPtr, int *objcPtr, T
|
|
||||||
int Tcl_ListObjLength(Tcl_Interp* interp, Tcl_Obj* listPtr, int* intPtr);
|
|
||||||
int Tcl_ListObjIndex(Tcl_Interp* interp, Tcl_Obj* listPtr, int index, Tcl_Obj** objPtrPtr);
|
|
||||||
int Tcl_SplitList(Tcl_Interp* interp, char* list, int* argcPtr, const char*** argvPtr);
|
|
||||||
-char* Tcl_Merge(int argc, char** argv);
|
|
||||||
+char* Tcl_Merge(int argc, const char * const* argv);
|
|
||||||
|
|
||||||
int Tcl_Eval(Tcl_Interp* interp, const char* script);
|
|
||||||
int Tcl_EvalFile(Tcl_Interp* interp, const char* filename);
|
|
||||||
--
|
|
||||||
2.43.2
|
|
||||||
|
|
61
189-use-rpm-wheels.patch
Normal file
61
189-use-rpm-wheels.patch
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
diff --git a/lib-python/3/ensurepip/__init__.py b/lib-python/3/ensurepip/__init__.py
|
||||||
|
index e510cc7..8b736b8 100644
|
||||||
|
--- a/lib-python/3/ensurepip/__init__.py
|
||||||
|
+++ b/lib-python/3/ensurepip/__init__.py
|
||||||
|
@@ -1,3 +1,5 @@
|
||||||
|
+import distutils.version
|
||||||
|
+import glob
|
||||||
|
import os
|
||||||
|
import os.path
|
||||||
|
import sys
|
||||||
|
@@ -6,13 +8,28 @@ import tempfile
|
||||||
|
import subprocess
|
||||||
|
from importlib import resources
|
||||||
|
|
||||||
|
-from . import _bundled
|
||||||
|
|
||||||
|
+__all__ = ["version", "bootstrap"]
|
||||||
|
|
||||||
|
+_WHEEL_DIR = "/usr/share/python-wheels/"
|
||||||
|
+
|
||||||
|
+_wheels = {}
|
||||||
|
+
|
||||||
|
+def _get_most_recent_wheel_version(pkg):
|
||||||
|
+ prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg))
|
||||||
|
+ _wheels[pkg] = {}
|
||||||
|
+ for suffix in "-py2.py3-none-any.whl", "-py3-none-any.whl":
|
||||||
|
+ pattern = "{}*{}".format(prefix, suffix)
|
||||||
|
+ for path in glob.glob(pattern):
|
||||||
|
+ version_str = path[len(prefix):-len(suffix)]
|
||||||
|
+ _wheels[pkg][version_str] = os.path.basename(path)
|
||||||
|
+ return str(max(_wheels[pkg], key=distutils.version.LooseVersion))
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+_SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools")
|
||||||
|
+
|
||||||
|
+_PIP_VERSION = _get_most_recent_wheel_version("pip")
|
||||||
|
|
||||||
|
-__all__ = ["version", "bootstrap"]
|
||||||
|
-_SETUPTOOLS_VERSION = "58.1.0"
|
||||||
|
-_PIP_VERSION = "23.0.1"
|
||||||
|
_PROJECTS = [
|
||||||
|
("setuptools", _SETUPTOOLS_VERSION, "py3"),
|
||||||
|
("pip", _PIP_VERSION, "py3"),
|
||||||
|
@@ -101,13 +118,10 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
|
||||||
|
# additional paths that need added to sys.path
|
||||||
|
additional_paths = []
|
||||||
|
for project, version, py_tag in _PROJECTS:
|
||||||
|
- wheel_name = "{}-{}-{}-none-any.whl".format(project, version, py_tag)
|
||||||
|
- whl = resources.read_binary(
|
||||||
|
- _bundled,
|
||||||
|
- wheel_name,
|
||||||
|
- )
|
||||||
|
- with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
|
||||||
|
- fp.write(whl)
|
||||||
|
+ wheel_name = _wheels[project][version]
|
||||||
|
+ with open(os.path.join(_WHEEL_DIR, wheel_name), "rb") as sfp:
|
||||||
|
+ with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
|
||||||
|
+ fp.write(sfp.read())
|
||||||
|
|
||||||
|
additional_paths.append(os.path.join(tmpdir, wheel_name))
|
||||||
|
|
32
pypy3.9.spec
32
pypy3.9.spec
@ -1,5 +1,5 @@
|
|||||||
%global basever 7.3
|
%global basever 7.3
|
||||||
%global micro 15
|
%global micro 16
|
||||||
#global pre ...
|
#global pre ...
|
||||||
%global pyversion 3.9
|
%global pyversion 3.9
|
||||||
Name: pypy%{pyversion}
|
Name: pypy%{pyversion}
|
||||||
@ -11,7 +11,7 @@ Version: %{basever}.%{micro}%{?pre:~%{pre}}
|
|||||||
# This potentially allows tags like Obsoletes: pypy3 < %%{version}-%%{release}.
|
# This potentially allows tags like Obsoletes: pypy3 < %%{version}-%%{release}.
|
||||||
# https://bugzilla.redhat.com/2053880
|
# https://bugzilla.redhat.com/2053880
|
||||||
%global baserelease %{autorelease -n}
|
%global baserelease %{autorelease -n}
|
||||||
Release: %{baserelease}.%{pyversion}%{?dist}
|
Release: %{baserelease}.%{pyversion}.0.riscv64%{?dist}
|
||||||
Summary: Python %{pyversion} implementation with a Just-In-Time compiler
|
Summary: Python %{pyversion} implementation with a Just-In-Time compiler
|
||||||
|
|
||||||
# PyPy is MIT
|
# PyPy is MIT
|
||||||
@ -82,6 +82,7 @@ ExcludeArch: %{ix86}
|
|||||||
|
|
||||||
%ifarch %{ix86} x86_64 %{arm}
|
%ifarch %{ix86} x86_64 %{arm}
|
||||||
%global _package_note_linker gold
|
%global _package_note_linker gold
|
||||||
|
BuildRequires: binutils-gold
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Source and patches:
|
# Source and patches:
|
||||||
@ -113,11 +114,10 @@ Patch7: 007-remove-startup-message.patch
|
|||||||
# https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt
|
# https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt
|
||||||
Patch9: 009-add-libxcrypt-support.patch
|
Patch9: 009-add-libxcrypt-support.patch
|
||||||
|
|
||||||
# Fix function signatures uncovered by GCC 14 enforcement of
|
# Instead of bundled wheels, use our RPM packaged wheels from
|
||||||
# -Wincompatible-pointer-types
|
# /usr/share/python-wheels
|
||||||
# Resolved upstream:
|
# We conditionally apply this, but we use autosetup, so we use Source here
|
||||||
# https://github.com/pypy/pypy/commit/8831ebf1cd4af225c2212dbade45624f9305a8f0
|
Source189: 189-use-rpm-wheels.patch
|
||||||
Patch10: 010-fix-pointers.patch
|
|
||||||
|
|
||||||
# Build-time requirements:
|
# Build-time requirements:
|
||||||
|
|
||||||
@ -152,6 +152,9 @@ BuildRequires: bzip2-devel
|
|||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: expat-devel
|
BuildRequires: expat-devel
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
|
%if 0%{?fedora} >= 41
|
||||||
|
BuildRequires: openssl-devel-engine
|
||||||
|
%endif
|
||||||
BuildRequires: gdbm-devel
|
BuildRequires: gdbm-devel
|
||||||
BuildRequires: xz-devel
|
BuildRequires: xz-devel
|
||||||
|
|
||||||
@ -249,7 +252,7 @@ Requires: python-setuptools-wheel
|
|||||||
Requires: python-pip-wheel
|
Requires: python-pip-wheel
|
||||||
%else
|
%else
|
||||||
Provides: bundled(python3dist(pip)) = 23.0.1
|
Provides: bundled(python3dist(pip)) = 23.0.1
|
||||||
Provides: bundled(python3dist(setuptools)) = 65.5.0
|
Provides: bundled(python3dist(setuptools)) = 58.1.0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Provides for the bundled libmpdec
|
# Provides for the bundled libmpdec
|
||||||
@ -259,10 +262,10 @@ Provides: bundled(libmpdec) = %{libmpdec_version}
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Find the version in lib_pypy/cffi-XXX.dist-info/METADATA
|
# Find the version in lib_pypy/cffi-XXX.dist-info/METADATA
|
||||||
Provides: bundled(python3dist(cffi)) = 1.16.0
|
Provides: bundled(python3dist(cffi)) = 1.17.0
|
||||||
|
|
||||||
# Find the version in lib_pypy/cffi/_pycparser/__init__.py
|
# Find the version in lib_pypy/cffi/_pycparser/__init__.py
|
||||||
Provides: bundled(python3dist(pycparser)) = 2.21
|
Provides: bundled(python3dist(pycparser)) = 2.22
|
||||||
|
|
||||||
# Find the version in lib_pypy/cffi/_pycparser/ply/__init__.py
|
# Find the version in lib_pypy/cffi/_pycparser/ply/__init__.py
|
||||||
Provides: bundled(python3dist(ply)) = 3.9
|
Provides: bundled(python3dist(ply)) = 3.9
|
||||||
@ -324,8 +327,8 @@ Header files for building C extension modules against PyPy%{pyversion}.
|
|||||||
%{?!apply_patch:%define apply_patch(qp:m:) {%__apply_patch %**}}
|
%{?!apply_patch:%define apply_patch(qp:m:) {%__apply_patch %**}}
|
||||||
|
|
||||||
%if %{with rpmwheels}
|
%if %{with rpmwheels}
|
||||||
|
%apply_patch -m %(basename %{SOURCE189}) %{SOURCE189}
|
||||||
rm lib-python/3/ensurepip/_bundled/*.whl
|
rm lib-python/3/ensurepip/_bundled/*.whl
|
||||||
echo "build_time_vars['WHEEL_PKG_DIR'] = '%{python_wheel_dir}'" >> lib_pypy/_sysconfigdata.py
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
@ -368,6 +371,10 @@ rm lib-python/3/distutils/command/*.exe
|
|||||||
# Top memory usage is about 4.5GB on arm7hf
|
# Top memory usage is about 4.5GB on arm7hf
|
||||||
free
|
free
|
||||||
|
|
||||||
|
%ifarch riscv64
|
||||||
|
export PYPY_MULTIARCH=riscv64-linux-gnu
|
||||||
|
%endif
|
||||||
|
|
||||||
BuildPyPy() {
|
BuildPyPy() {
|
||||||
ExeName=$1
|
ExeName=$1
|
||||||
Options=$2
|
Options=$2
|
||||||
@ -448,6 +455,9 @@ BuildPyPy() {
|
|||||||
--gcrootfinder=shadowstack \
|
--gcrootfinder=shadowstack \
|
||||||
$Options \
|
$Options \
|
||||||
targetpypystandalone \
|
targetpypystandalone \
|
||||||
|
%ifarch riscv64
|
||||||
|
--withoutmod-_continuation \
|
||||||
|
%endif
|
||||||
--platlibdir=%{_lib}
|
--platlibdir=%{_lib}
|
||||||
|
|
||||||
echo "--------------------------------------------------------------"
|
echo "--------------------------------------------------------------"
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (pypy3.9-v7.3.15-src.tar.bz2) = 64faca74c507ef3e8dd2df34ad81874c24bc336e79ecf53bbbb43c21adebdea60efafe6ad38bdbf15bc2a677980d7db2c2c0affa04beb7e7e1b739d85e17f333
|
SHA512 (pypy3.9-v7.3.16-src.tar.bz2) = bd13cddb0b4cab4e200d2eafd8239c76209a49f8e847193c5ed0fe446ca46271446fc762cafd2aa8f410d022bc65abcd48ba7148502b70b901565e187058310d
|
||||||
|
Loading…
Reference in New Issue
Block a user