guix/gnu/packages/patches/python-3-search-paths.patch
Mathieu Othacehe ceb9de75a6
gnu: python: Further cross-compilation fixes.
* gnu/packages/patches/python-2.7-search-paths.patch: Add cross-compilation
support.
* gnu/packages/patches/python-3-search-paths.patch: Ditto.
* gnu/packages/patches/python-cross-compile.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add above new patch.
* gnu/packages/python.scm (python-2.7)[patches]: Add new patch above,
[arguments]: Set _PYTHON_HOST_PLATFORM env variable when cross compiling.
2019-09-24 08:12:54 +02:00

25 lines
1.3 KiB
Diff

Make sure the build system honors CPATH and LIBRARY_PATH when
looking for headers and libraries.
--- a/setup.py 2015-10-07 23:32:58.891329173 +0200
+++ b/setup.py 2015-10-07 23:46:29.653349924 +0200
@@ -575,15 +575,15 @@
# if a file is found in one of those directories, it can
# be assumed that no additional -I,-L directives are needed.
if not cross_compiling:
- lib_dirs = self.compiler.library_dirs + system_lib_dirs
- inc_dirs = self.compiler.include_dirs + system_include_dirs
+ lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep)
+ inc_dirs = os.getenv('CPATH', '').split(os.pathsep)
else:
# Add the sysroot paths. 'sysroot' is a compiler option used to
# set the logical path of the standard system headers and
# libraries.
- lib_dirs = (self.compiler.library_dirs +
+ lib_dirs = (os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) +
sysroot_paths(('LDFLAGS', 'CC'), system_lib_dirs))
- inc_dirs = (self.compiler.include_dirs +
+ inc_dirs = (os.getenv('CROSS_CPATH', '').split(os.pathsep) +
sysroot_paths(('CPPFLAGS', 'CFLAGS', 'CC'),
system_include_dirs))
exts = []