Commit 221d609b authored by Yegor Yefremov's avatar Yegor Yefremov Committed by Peter Korsgaard
Browse files

New package: python-netifaces

parent e64b34e9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -241,6 +241,7 @@ if BR2_PACKAGE_PYTHON
menu "external python modules"
source "package/python-dpkt/Config.in"
source "package/python-mad/Config.in"
source "package/python-netifaces/Config.in"
source "package/python-serial/Config.in"
source "package/python-setuptools/Config.in"
endmenu
+8 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_PYTHON_NETIFACES
	bool "python-netifaces"
	depends on BR2_PACKAGE_PYTHON
	select BR2_PACKAGE_PYTHON_SETUPTOOLS
	help
	  Portable access to network interfaces from Python.

	  http://alastairs-place.net/projects/netifaces
+54 −0
Original line number Diff line number Diff line
fix cross-compilation issues:

- don't execute cross-compiled binaries
- pass LDFLAGS to linker

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 setup.py |   19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

Index: b/setup.py
===================================================================
--- a/setup.py
+++ b/setup.py
@@ -67,17 +67,8 @@
                                                   libraries=libraries,
                                                   debug=self.debug)
                     if execute:
-                        abspath = os.path.abspath(os.path.join(self.build_temp,
-                                                               'conftest'))
-                        pipe = os.popen(abspath, 'r')
-                        result = pipe.read().strip()
-                        status = pipe.close()
-                        if status is None:
-                            status = 0
-                        if result == '':
-                            result = True
-                        if status != 0:
-                            result = False
+                        # cross-compiled code can't be executed
+                        result = True
                         
             finally:
                 os.dup2(mystdout, 1)
@@ -89,6 +80,10 @@
         return result
 
     def check_requirements(self):
+        # get library dirs
+	if os.environ.has_key('LDFLAGS'):
+	    lib_dirs = os.environ['LDFLAGS']
+
         # Load the cached config data from a previous run if possible; compiling
         # things to test for features is slow
         cache_file = os.path.join(self.build_temp, 'config.cache')
@@ -356,7 +351,7 @@
                                                    in optional_headers]),
                             'sockaddr': sockaddr }
 
-                    if self.test_build(testrig, execute=False):
+                    if self.test_build(testrig, execute=False, library_dirs = [lib_dirs]):
                         result.append(sockaddr)
                 
             if result:
+25 −0
Original line number Diff line number Diff line
#############################################################
#
# python-netifaces
#
#############################################################

PYTHON_NETIFACES_VERSION = 0.6
PYTHON_NETIFACES_SOURCE  = netifaces-$(PYTHON_NETIFACES_VERSION).tar.gz
PYTHON_NETIFACES_SITE    = http://alastairs-place.net/projects/netifaces

PYTHON_NETIFACES_DEPENDENCIES = python host-python-setuptools host-python-distutilscross

define PYTHON_NETIFACES_BUILD_CMDS
	(cd $(@D); \
		PYTHONXCPREFIX="$(STAGING_DIR)/usr/" \
		LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
	$(HOST_DIR)/usr/bin/python setup.py build)
endef

define PYTHON_NETIFACES_INSTALL_TARGET_CMDS
	(cd $(@D); PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
	$(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
endef

$(eval $(call GENTARGETS))