Update to 3.7.0 alpha 4
This commit is contained in:
parent
d673becd53
commit
c9349a73c7
@ -105,13 +105,13 @@ index 9ee4d31..53c8606 100644
|
||||
'scripts': '{userbase}/bin',
|
||||
'data': '{userbase}',
|
||||
diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
|
||||
index 99e7b4f..c4c98a6 100644
|
||||
index 266adf0..e8513b6 100644
|
||||
--- a/Lib/test/test_site.py
|
||||
+++ b/Lib/test/test_site.py
|
||||
@@ -275,8 +275,8 @@ class HelperFunctionsTests(unittest.TestCase):
|
||||
self.assertEqual(dirs[1], wanted)
|
||||
elif os.sep == '/':
|
||||
# OS X non-framwework builds, Linux, FreeBSD, etc
|
||||
# OS X non-framework builds, Linux, FreeBSD, etc
|
||||
- self.assertEqual(len(dirs), 1)
|
||||
- wanted = os.path.join('xoxo', 'lib',
|
||||
+ self.assertEqual(len(dirs), 2)
|
||||
@ -120,7 +120,7 @@ index 99e7b4f..c4c98a6 100644
|
||||
'site-packages')
|
||||
self.assertEqual(dirs[0], wanted)
|
||||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
||||
index e8df8f7..a5a9d5e 100644
|
||||
index 59ba9d4..5780ed8 100644
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -133,7 +133,7 @@ LIBDIR= @libdir@
|
||||
@ -133,41 +133,41 @@ index e8df8f7..a5a9d5e 100644
|
||||
|
||||
# Detailed destination directories
|
||||
diff --git a/Modules/getpath.c b/Modules/getpath.c
|
||||
index dd3387a..1258fcd 100644
|
||||
index 85e737b..2a1fc79 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,
|
||||
@@ -500,7 +500,7 @@ calculate_exec_prefix(const _PyCoreConfig *core_config,
|
||||
"Could not find platform dependent libraries <exec_prefix>\n");
|
||||
wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN);
|
||||
}
|
||||
wcsncpy(exec_prefix, calculate->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.) */
|
||||
}
|
||||
@@ -742,7 +742,7 @@ calculate_zip_path(PyCalculatePath *calculate, const wchar_t *prefix)
|
||||
else {
|
||||
wcsncpy(calculate->zip_path, calculate->prefix, MAXPATHLEN);
|
||||
}
|
||||
- joinpath(calculate->zip_path, L"lib/python00.zip");
|
||||
+ joinpath(calculate->zip_path, L"lib64/python00.zip");
|
||||
|
||||
/* Replace "00" with version */
|
||||
size_t bufsz = wcslen(calculate->zip_path);
|
||||
@@ -867,7 +867,7 @@ calculate_init(PyCalculatePath *calculate,
|
||||
if (!calculate->prefix) {
|
||||
return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
|
||||
}
|
||||
- calculate->lib_python = Py_DecodeLocale("lib/python" VERSION, &len);
|
||||
+ calculate->lib_python = Py_DecodeLocale("lib64/python" VERSION, &len);
|
||||
if (!calculate->lib_python) {
|
||||
return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
|
||||
}
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 11c4ec6..c3e5512 100644
|
||||
index f1933f7..450cd8a 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -513,7 +513,7 @@ class PyBuildExt(build_ext):
|
||||
@@ -531,7 +531,7 @@ class PyBuildExt(build_ext):
|
||||
# directories (i.e. '.' and 'Include') must be first. See issue
|
||||
# 10520.
|
||||
if not cross_compiling:
|
||||
@ -176,7 +176,7 @@ index 11c4ec6..c3e5512 100644
|
||||
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:
|
||||
@@ -809,11 +809,11 @@ class PyBuildExt(build_ext):
|
||||
@@ -830,11 +830,11 @@ class PyBuildExt(build_ext):
|
||||
elif curses_library:
|
||||
readline_libs.append(curses_library)
|
||||
elif self.compiler.find_library_file(lib_dirs +
|
||||
@ -190,7 +190,7 @@ index 11c4ec6..c3e5512 100644
|
||||
extra_link_args=readline_extra_link_args,
|
||||
libraries=readline_libs) )
|
||||
else:
|
||||
@@ -850,8 +850,8 @@ class PyBuildExt(build_ext):
|
||||
@@ -871,8 +871,8 @@ class PyBuildExt(build_ext):
|
||||
if krb5_h:
|
||||
ssl_incs += krb5_h
|
||||
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
|
||||
|
83
00289-fix-nis-compilation.patch
Normal file
83
00289-fix-nis-compilation.patch
Normal file
@ -0,0 +1,83 @@
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 3eb6ad1..3437e48 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -1331,20 +1331,14 @@ class PyBuildExt(build_ext):
|
||||
exts.append( Extension('termios', ['termios.c']) )
|
||||
# Jeremy Hylton's rlimit interface
|
||||
exts.append( Extension('resource', ['resource.c']) )
|
||||
+ else:
|
||||
+ missing.extend(['resource', 'termios'])
|
||||
|
||||
- # Sun yellow pages. Some systems have the functions in libc.
|
||||
- if (host_platform not in ['cygwin', 'qnx6'] and
|
||||
- find_file('rpcsvc/yp_prot.h', inc_dirs, []) is not None):
|
||||
- if (self.compiler.find_library_file(lib_dirs, 'nsl')):
|
||||
- libs = ['nsl']
|
||||
- else:
|
||||
- libs = []
|
||||
- exts.append( Extension('nis', ['nismodule.c'],
|
||||
- libraries = libs) )
|
||||
- else:
|
||||
- missing.append('nis')
|
||||
+ nis = self._detect_nis(inc_dirs, lib_dirs)
|
||||
+ if nis is not None:
|
||||
+ exts.append(nis)
|
||||
else:
|
||||
- missing.extend(['nis', 'resource', 'termios'])
|
||||
+ missing.append('nis')
|
||||
|
||||
# Curses support, requiring the System V version of curses, often
|
||||
# provided by the ncurses library.
|
||||
@@ -2179,6 +2173,51 @@ class PyBuildExt(build_ext):
|
||||
)
|
||||
return ext
|
||||
|
||||
+ def _detect_nis(self, inc_dirs, lib_dirs):
|
||||
+ if host_platform in {'win32', 'cygwin', 'qnx6'}:
|
||||
+ return None
|
||||
+
|
||||
+ libs = []
|
||||
+ library_dirs = []
|
||||
+ includes_dirs = []
|
||||
+
|
||||
+ # Latest glibc has moved Sun RPC headers into tircp and nsl sub
|
||||
+ # directories. rpc code has been moved to libtirpc.
|
||||
+ rpcsvc_inc = find_file(
|
||||
+ 'rpcsvc/yp_prot.h', inc_dirs,
|
||||
+ ['/usr/local/include/nsl', '/usr/include/nsl']
|
||||
+ )
|
||||
+ rpc_inc = find_file(
|
||||
+ 'rpc/rpc.h', inc_dirs,
|
||||
+ ['/usr/local/include/tirpc', '/usr/include/tirpc']
|
||||
+ )
|
||||
+ if rpcsvc_inc is None or rpc_inc is None:
|
||||
+ # not found
|
||||
+ return None
|
||||
+ includes_dirs.extend(rpcsvc_inc)
|
||||
+ includes_dirs.extend(rpc_inc)
|
||||
+
|
||||
+ if self.compiler.find_library_file(lib_dirs, 'nsl'):
|
||||
+ libs.append('nsl')
|
||||
+ else:
|
||||
+ # libnsl-devel: check for libnsl in nsl/ subdirectory
|
||||
+ nsl_dirs = [os.path.join(lib_dir, 'nsl') for lib_dir in lib_dirs]
|
||||
+ libnsl = self.compiler.find_library_file(nsl_dirs, 'nsl')
|
||||
+ if libnsl is not None:
|
||||
+ library_dirs.append(os.path.dirname(libnsl))
|
||||
+ libs.append('nsl')
|
||||
+
|
||||
+ if self.compiler.find_library_file(lib_dirs, 'tirpc'):
|
||||
+ libs.append('tirpc')
|
||||
+
|
||||
+ return Extension(
|
||||
+ 'nis', ['nismodule.c'],
|
||||
+ libraries=libs,
|
||||
+ library_dirs=library_dirs,
|
||||
+ include_dirs=includes_dirs
|
||||
+ )
|
||||
+
|
||||
+
|
||||
class PyBuildInstall(install):
|
||||
# Suppress the warning about installation into the lib_dynload
|
||||
# directory, which is not in sys.path when running Python during
|
@ -13,12 +13,12 @@ URL: https://www.python.org/
|
||||
|
||||
|
||||
# Second alpha
|
||||
%global prerel a2
|
||||
%global prerel a4
|
||||
|
||||
# WARNING When rebasing to a new Python version,
|
||||
# remember to update the python3-docs package as well
|
||||
Version: %{pybasever}.0
|
||||
Release: 0.1.%{?prerel}%{?dist}
|
||||
Release: 0.2.%{?prerel}%{?dist}
|
||||
License: Python
|
||||
|
||||
|
||||
@ -203,6 +203,8 @@ BuildRequires: glibc-devel
|
||||
BuildRequires: gmp-devel
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: libffi-devel
|
||||
BuildRequires: libnsl2-devel
|
||||
BuildRequires: libtirpc-devel
|
||||
BuildRequires: libGL-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: libX11-devel
|
||||
@ -392,6 +394,14 @@ Patch273: 00273-skip-float-test.patch
|
||||
# Upstream uses Debian-style architecture naming. Change to match Fedora.
|
||||
Patch274: 00274-fix-arch-names.patch
|
||||
|
||||
# 00289 #
|
||||
# Fix the compilation of the nis module, as glibc removed the
|
||||
# interfaces related to Sun RPC and they are now provided
|
||||
# by libtirpc and libnsl2.
|
||||
# See: https://fedoraproject.org/wiki/Changes/SunRPCRemoval
|
||||
# and https://fedoraproject.org/wiki/Changes/NISIPv6
|
||||
# Fixed upstream: https://bugs.python.org/issue32521
|
||||
Patch289: 00289-fix-nis-compilation.patch
|
||||
|
||||
# (New patches go here ^^^)
|
||||
#
|
||||
@ -684,6 +694,7 @@ sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/en
|
||||
|
||||
%patch273 -p1
|
||||
%patch274 -p1
|
||||
%patch289 -p1
|
||||
|
||||
|
||||
# Remove files that should be generated by the build
|
||||
@ -1674,6 +1685,10 @@ fi
|
||||
# ======================================================
|
||||
|
||||
%changelog
|
||||
* Tue Jan 09 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-0.2.a4
|
||||
- Update to 3.7.0 alpha 4
|
||||
- Fix the compilation of the nis module
|
||||
|
||||
* Tue Nov 28 2017 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-0.1.a2
|
||||
- Update to 3.7.0 alpha 2
|
||||
- Removed merged patches 262, 277, 279
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (Python-3.7.0a2.tar.xz) = 604cef8fe079afad66f4df17752cb1afdc7d12abd392cb5995b16e83df392f56bd1ed88d6be9e0f3e9d7ea0dd394e497f6311547d277d9fd1ebd3eb039f7b068
|
||||
SHA512 (Python-3.7.0a4.tar.xz) = 3d9517fb381258e21548e3e88de88592adc75bc37fddf21e79149d7706d85f5df816ffcc170603ce93959c76d903d4fd4c0231b5b0b2b430c21701cc303d9e5a
|
||||
|
Loading…
Reference in New Issue
Block a user