[3.6] bpo-32521: nis libtirpc (GH-5137) (#5165)

glibc has removed Sun RPC. Use replacement libtirpc headers and library in
nis module

Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit f3031b8a7a)
This commit is contained in:
Miss Islington (bot) 2018-01-12 07:29:35 -08:00 committed by Christian Heimes
parent a91662affe
commit d55d6825d7
2 changed files with 14 additions and 5 deletions

View file

@ -0,0 +1,2 @@
glibc has removed Sun RPC. Use replacement libtirpc headers and library in
nis module.

View file

@ -1365,12 +1365,19 @@ class PyBuildExt(build_ext):
# Sun yellow pages. Some systems have the functions in libc. # Sun yellow pages. Some systems have the functions in libc.
if (host_platform not in ['cygwin', 'qnx6'] and if (host_platform not in ['cygwin', 'qnx6'] and
find_file('rpcsvc/yp_prot.h', inc_dirs, []) is not None): find_file('rpcsvc/yp_prot.h', inc_dirs, []) is not None):
if (self.compiler.find_library_file(lib_dirs, 'nsl')): nis_libs = []
libs = ['nsl'] nis_includes = []
else: if self.compiler.find_library_file(lib_dirs, 'nsl'):
libs = [] nis_libs.append('nsl')
if self.compiler.find_library_file(lib_dirs, 'tirpc'):
# Sun RPC has been moved from glibc to libtirpc
# rpcsvc/yp_prot.h is still in /usr/include, but
# rpc/rpc.h has been moved into tirpc/ subdir.
nis_libs.append('tirpc')
nis_includes.append('/usr/include/tirpc')
exts.append( Extension('nis', ['nismodule.c'], exts.append( Extension('nis', ['nismodule.c'],
libraries = libs) ) libraries = nis_libs,
include_dirs=nis_includes) )
else: else:
missing.append('nis') missing.append('nis')
else: else: