+++ /dev/null
-diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
-index 9474e9c..c0ce4c6 100644
---- a/Lib/distutils/command/install.py
-+++ b/Lib/distutils/command/install.py
-@@ -30,14 +30,14 @@ WINDOWS_SCHEME = {
- INSTALL_SCHEMES = {
- 'unix_prefix': {
- 'purelib': '$base/lib/python$py_version_short/site-packages',
-- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
-+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages',
- 'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
- 'scripts': '$base/bin',
- 'data' : '$base',
- },
- 'unix_home': {
- 'purelib': '$base/lib/python',
-- 'platlib': '$base/lib/python',
-+ 'platlib': '$base/lib64/python',
- 'headers': '$base/include/python/$dist_name',
- 'scripts': '$base/bin',
- 'data' : '$base',
-diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 026cca7..6d3e077 100644
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -132,8 +132,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
- prefix = plat_specific and EXEC_PREFIX or PREFIX
-
- if os.name == "posix":
-+ if plat_specific or standard_lib:
-+ lib = "lib64"
-+ else:
-+ lib = "lib"
- libpython = os.path.join(prefix,
-- "lib", "python" + get_python_version())
-+ lib, "python" + get_python_version())
- if standard_lib:
- return libpython
- else:
-diff --git a/Lib/site.py b/Lib/site.py
-index a84e3bb..ba0d3ea 100644
---- a/Lib/site.py
-+++ b/Lib/site.py
-@@ -303,11 +303,15 @@ def getsitepackages(prefixes=None):
- seen.add(prefix)
-
- if os.sep == '/':
-+ sitepackages.append(os.path.join(prefix, "lib64",
-+ "python" + sys.version[:3],
-+ "site-packages"))
- sitepackages.append(os.path.join(prefix, "lib",
- "python%d.%d" % sys.version_info[:2],
- "site-packages"))
- else:
- sitepackages.append(prefix)
-+ sitepackages.append(os.path.join(prefix, "lib64", "site-packages"))
- sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
- if sys.platform == "darwin":
- # for framework builds *only* we add the standard Apple
-diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index b9bbfe5..2a5f29c 100644
---- a/Lib/sysconfig.py
-+++ b/Lib/sysconfig.py
-@@ -20,10 +20,10 @@ __all__ = [
-
- _INSTALL_SCHEMES = {
- 'posix_prefix': {
-- 'stdlib': '{installed_base}/lib/python{py_version_short}',
-- 'platstdlib': '{platbase}/lib/python{py_version_short}',
-+ 'stdlib': '{installed_base}/lib64/python{py_version_short}',
-+ 'platstdlib': '{platbase}/lib64/python{py_version_short}',
- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
-- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
-+ 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
- 'include':
- '{installed_base}/include/python{py_version_short}{abiflags}',
- 'platinclude':
-@@ -61,10 +61,10 @@ _INSTALL_SCHEMES = {
- 'data': '{userbase}',
- },
- 'posix_user': {
-- 'stdlib': '{userbase}/lib/python{py_version_short}',
-- 'platstdlib': '{userbase}/lib/python{py_version_short}',
-+ 'stdlib': '{userbase}/lib64/python{py_version_short}',
-+ 'platstdlib': '{userbase}/lib64/python{py_version_short}',
- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
-- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
-+ 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages',
- 'include': '{userbase}/include/python{py_version_short}',
- 'scripts': '{userbase}/bin',
- 'data': '{userbase}',
-diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
-index f698927..bc977b5 100644
---- a/Lib/test/test_site.py
-+++ b/Lib/test/test_site.py
-@@ -248,8 +248,8 @@ class HelperFunctionsTests(unittest.TestCase):
- self.assertEqual(dirs[1], wanted)
- elif os.sep == '/':
- # OS X non-framwework builds, Linux, FreeBSD, etc
-- self.assertEqual(len(dirs), 1)
-- wanted = os.path.join('xoxo', 'lib',
-+ self.assertEqual(len(dirs), 2)
-+ wanted = os.path.join('xoxo', 'lib64',
- 'python%d.%d' % sys.version_info[:2],
- 'site-packages')
- self.assertEqual(dirs[0], wanted)
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 8fa7934..a693917 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -126,7 +126,7 @@ LIBDIR= @libdir@
- MANDIR= @mandir@
- INCLUDEDIR= @includedir@
- CONFINCLUDEDIR= $(exec_prefix)/include
--SCRIPTDIR= $(prefix)/lib
-+SCRIPTDIR= $(prefix)/lib64
- ABIFLAGS= @ABIFLAGS@
-
- # Detailed destination directories
-diff --git a/Modules/getpath.c b/Modules/getpath.c
-index 65b47a3..eaa756c 100644
---- a/Modules/getpath.c
-+++ b/Modules/getpath.c
-@@ -494,7 +494,7 @@ calculate_path(void)
- _pythonpath = Py_DecodeLocale(PYTHONPATH, NULL);
- _prefix = Py_DecodeLocale(PREFIX, NULL);
- _exec_prefix = Py_DecodeLocale(EXEC_PREFIX, NULL);
-- lib_python = Py_DecodeLocale("lib/python" VERSION, NULL);
-+ lib_python = Py_DecodeLocale("lib64/python" VERSION, NULL);
-
- if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) {
- Py_FatalError(
-@@ -683,7 +683,7 @@ calculate_path(void)
- }
- else
- wcsncpy(zip_path, _prefix, MAXPATHLEN);
-- joinpath(zip_path, L"lib/python00.zip");
-+ joinpath(zip_path, L"lib64/python00.zip");
- bufsz = wcslen(zip_path); /* Replace "00" with version */
- zip_path[bufsz - 6] = VERSION[0];
- zip_path[bufsz - 5] = VERSION[2];
-@@ -695,7 +695,7 @@ calculate_path(void)
- fprintf(stderr,
- "Could not find platform dependent libraries <exec_prefix>\n");
- wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN);
-- joinpath(exec_prefix, L"lib/lib-dynload");
-+ joinpath(exec_prefix, L"lib64/lib-dynload");
- }
- /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
-
-diff --git a/setup.py b/setup.py
-index 0f2dfc4..da37896 100644
---- a/setup.py
-+++ b/setup.py
-@@ -492,7 +492,7 @@ class PyBuildExt(build_ext):
- # directories (i.e. '.' and 'Include') must be first. See issue
- # 10520.
- if not cross_compiling:
-- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
- # only change this for cross builds for 3.3, issues on Mageia
- if cross_compiling:
-@@ -780,11 +780,11 @@ class PyBuildExt(build_ext):
- elif curses_library:
- readline_libs.append(curses_library)
- elif self.compiler.find_library_file(lib_dirs +
-- ['/usr/lib/termcap'],
-+ ['/usr/lib64/termcap'],
- 'termcap'):
- readline_libs.append('termcap')
- exts.append( Extension('readline', ['readline.c'],
-- library_dirs=['/usr/lib/termcap'],
-+ library_dirs=['/usr/lib64/termcap'],
- extra_link_args=readline_extra_link_args,
- libraries=readline_libs) )
- else:
-@@ -821,8 +821,8 @@ class PyBuildExt(build_ext):
- if krb5_h:
- ssl_incs += krb5_h
- ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
-- ['/usr/local/ssl/lib',
-- '/usr/contrib/ssl/lib/'
-+ ['/usr/local/ssl/lib64',
-+ '/usr/contrib/ssl/lib64/'
- ] )
-
- if (ssl_incs is not None and
###############################################################################
name = python3
-major_ver = 3.6
-version = %{major_ver}.4
+major_ver = 3.11
+version = %{major_ver}.0
release = 1
thisapp = Python-%{version}
libraries, as well as to various windowing systems.
end
-source_dl = http://python.org/ftp/python/%{version}/
+source_dl = https://python.org/ftp/python/%{version}/
sources = %{thisapp}.tar.xz
pylibdir = %{libdir}/python%{major_ver}
findutils
gdbm-devel >= 1.10
gcc-c++
- glibc-devel
+ glibc-devel >= 2.26
gmp-devel
libdb-devel
libffi-devel
zlib-devel
end
- export CFLAGS += -D_GNU_SOURCE -fwrapv
- export CXXFLAGS += -D_GNU_SOURCE -fwrapv
export OPT = %{CFLAGS}
export LINKCC = gcc
prepare_cmds
- if [ "%{lib}" = "lib64" ]; then
- patch -Np1 -i %{DIR_SOURCE}/python-3.6.0-lib64.patch
- fi
-
# Remove embedded copies of expat and libffi
rm -rf Modules/{expat,zlib}
rm -rf Modules/_ctypes/{darwin,libffi,libffi_arm_wince,libffi_msvc,libffi_osx}
# Make all source files owned by root.
chown root.root -R .
-
- autoreconf --force
end
configure_options += \
+ --with-platlibdir=%{lib} \
--enable-ipv6 \
+ --enable-shared \
--with-computed-gotos=yes \
--with-dbmliborder=gdbm:ndbm:bdb \
--with-system-expat \
--with-system-ffi \
+ --with-system-libmpdec \
+ --with-lto \
+ --with-ssl-default-suites=openssl \
--enable-loadable-sqlite-extensions \
- --enable-shared \
--without-ensurepip
- test
- LD_LIBRARY_PATH=$(pwd) $(pwd)/python \
- -m test.regrtest \
- --verbose \
- --findleaks \
- -x test_distutils \
- -x test_faulthandler \
- -x test_gdb \
- -x test_email \
- -x test_subprocess \
- -x test_float \
- -x test_cmath \
- -x test_asynchat \
- -x test_asyncore
-
- # # test_subprocess won't work on grsecurity-enabled kernels
- # # test_float and test_cmath do not work on armv5tel (soft FPU)
- end
+ #test
+ # make test
+ #end
install_cmds
install -d -m 0755 %{BUILDROOT}%{pylibdir}/site-packages/__pycache__
install -d -m 0755 %{BUILDROOT}/usr/lib/python${major_ver}/site-packages/__pycache__
- # Development tools
- mv -v %{BUILDROOT}%{bindir}/{,python3-}2to3
- install -m 755 -d %{BUILDROOT}%{pylibdir}/Tools
- install Tools/README %{BUILDROOT}%{pylibdir}/Tools/
- cp -avr Tools/{freeze,i18n,pynche,scripts} %{BUILDROOT}%{pylibdir}/Tools/
-
- rm -vf %{BUILDROOT}%{pylibdir}/email/test/data/audiotest.au %{BUILDROOT}%{pylibdir}/test/audiotest.au
-
# Switch all shebangs to refer to the specific Python version.
LD_LIBRARY_PATH=. ./python Tools/scripts/pathfix.py \
-i "%{bindir}/python%{major_ver}" \
-perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \
-exec chmod a-x {} \; \) \)
- # .xpm and .xbm files should not be executable:
- find %{BUILDROOT} \
- \( -name \*.xbm -o -name \*.xpm -o -name \*.xpm.1 \) \
- -exec chmod a-x {} \;
-
- # Remove executable flag from files that shouldn't have it:
- chmod a-x \
- %{BUILDROOT}%{pylibdir}/distutils/tests/Setup.sample \
- %{BUILDROOT}%{pylibdir}/Tools/README
-
- # Get rid of DOS batch files:
- find %{BUILDROOT} -name \*.bat -exec rm {} \;
-
# Get rid of backup files:
find %{BUILDROOT}/ -name "*~" -exec rm -f {} \;
rm -f %{BUILDROOT}%{pylibdir}/LICENSE.txt
-
- # Junk, no point in putting in -test sub-pkg
- rm -f %{BUILDROOT}%{pylibdir}/idlelib/testcode.py*
-
- # Fix end-of-line encodings:
- find %{BUILDROOT}/ -name \*.py -exec sed -i 's/\r//' {} \;
-
- # Do bytecompilation with the newly installed interpreter.
- # compile *.pyo
- find %{BUILDROOT} -type f -a -name "*.py" -print0 | \
- LD_LIBRARY_PATH="%{BUILDROOT}%{dynload_dir}:%{BUILDROOT}%{libdir}" \
- PYTHONPATH="%{BUILDROOT}%{libdir}python%{major_ver} %{BUILDROOT}/%{libdir}python%{major_ver}/site-packages" \
- xargs -0 %{BUILDROOT}%{bindir}/python%{major_ver} -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("%{BUILDROOT}")[2]) for f in sys.argv[1:]]' || :
- # compile *.pyc
- find %{BUILDROOT} -type f -a -name "*.py" -print0 | \
- LD_LIBRARY_PATH="%{BUILDROOT}%{dynload_dir}:%{BUILDROOT}%{libdir}" \
- PYTHONPATH="%{BUILDROOT}%{libdir}python%{major_ver} %{BUILDROOT}/%{libdir}python%{major_ver}/site-packages" \
- xargs -0 %{BUILDROOT}%{bindir}/python%{major_ver} -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("%{BUILDROOT}")[2], optimize=0) for f in sys.argv[1:]]' || :
-
- # Fixup permissions for shared libraries from non-standard 555 to standard 755:
- find %{BUILDROOT} -perm 555 -exec chmod 755 {} \;
end
end
requires
expat >= 2.1.0
end
-
- files += %{dynload_dir}
end
package %{name}-devel
template DEVEL
- requires += %{name}-libs = %{thisver}
+ requires
+ %{name} = %{thisver}
+ %{name}-libs = %{thisver}
+ end
files += \
!%{libdir}/python*/config*/Makefile \
- !%{includedir}/python*/pyconfig.h
+ !%{includedir}/python*/pyconfig.h \
+ !%{pylibdir}/lib-dynload
end
package %{name}-test