Fix the whole python building process to do proper crosscompiling for all python

modules in openwrt. Thanks to ryd for helping to make this possible.
(Only numpy is completly broken now because it has dependencies which
where pervioulsy taken from the build system)



git-svn-id: svn://svn.openwrt.org/openwrt/packages@12821 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
lars
2008-10-02 15:33:26 +00:00
parent 40daf3db15
commit 1a7ebdeb62
22 changed files with 409 additions and 176 deletions

View File

@ -4,59 +4,90 @@
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=pygtk
PKG_VERSION:=2.10.6
PKG_RELEASE:=1
PKG_VERSION:=2.12.1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.10/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@GNOME/$(PKG_NAME)/2.12/
PKG_MD5SUM:=a816346d750d61e3fa67a200e4292694
PKG_FIXUP:=libtool
PKG_MD5SUM:=d033b7617b9074357f687326b52b6296
include $(INCLUDE_DIR)/package.mk
-include $(if $(DUMP),,$(STAGING_DIR)/mk/python-package.mk)
EXTRA_CFLAGS:=-I$(STAGING_DIR)/usr/include/pycairo/ -I$(STAGING_DIR)/usr/lib/libintl/include/ -I$(STAGING_DIR)/usr/lib/libiconv/include/
EXTRA_LDFLAGS:=-L$(STAGING_DIR)/usr/lib/libintl/lib -L$(STAGING_DIR)/usr/lib/libiconv/lib
EXTRA_CFLAGS+= \
-I$(STAGING_DIR)/usr/lib/libintl/include/ \
-I$(STAGING_DIR)/usr/lib/libiconv/include/
EXTRA_LDFLAGS+= \
-L$(STAGING_DIR)/usr/lib/libintl/lib \
-L$(STAGING_DIR)/usr/lib/libiconv/lib
define Package/python-gtk
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=GTK bindings to python
TITLE:=GTK bindings for python
URL:=http://www.pygtk.org/
DEPENDS:=python-core +python-gobject +gtk2 +pycairo
endef
define Package/python-gtk/description
API to GTK and glade library from python
API to GTK and glade library from python.
endef
define Build/Compile
PYTHON_HOST="python2.5" \
DESTDIR="$(PKG_INSTALL_DIR)" \
$(MAKE) -C $(PKG_BUILD_DIR) \
SUBDIRS="codegen . gtk" \
all install
sed -i "s/UCS4/UCS2/g" $(PKG_INSTALL_DIR)/usr/lib/python2.5/site-packages/gtk-2.0/gtk/_gtk.so
all install DESTDIR="$(PKG_INSTALL_DIR)"
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)
$(CP) $(PKG_INSTALL_DIR)/* $(1)
$(INSTALL_DIR) $(1)/usr/include/pygtk-2.0/pygtk
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)/usr/include/pygtk-2.0/pygtk/* \
$(1)/usr/include/pygtk-2.0/pygtk
$(INSTALL_DIR) $(1)/usr/share/pygtk/2.0/codegen
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)/usr/share/pygtk/2.0/codegen/*.py \
$(1)/usr/share/pygtk/2.0/codegen/
$(INSTALL_DIR) $(1)/usr/share/pygtk/2.0/defs/
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)/usr/share/pygtk/2.0/defs/* \
$(1)/usr/share/pygtk/2.0/defs
$(INSTALL_DIR) $(2)/bin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/* \
$(2)/bin
$(SED) 's,^\(datadir\|prefix\)=,\1=$(STAGING_DIR),g' $(2)/bin/pygtk-codegen-2.0
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \
$(1)/usr/lib/pkgconfig
$(SED) 's,^datadir=,datadir=$(STAGING_DIR),g' $(1)/usr/lib/pkgconfig/pygtk-2.0.pc
endef
define Package/python-gtk/install
$(INSTALL_DIR) $(1)
$(CP) $(PKG_INSTALL_DIR)/* $(1)
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/gtk-2.0
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/gtk-2.0/*.so \
$(1)$(PYTHON_PKG_DIR)/gtk-2.0
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/gtk-2.0/gtk
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/gtk-2.0/gtk/*.{py,so} \
$(1)$(PYTHON_PKG_DIR)/gtk-2.0/gtk
endef
$(eval $(call BuildPackage,python-gtk))
$(eval $(call RequireCommand,pygtk-codegen-2.0, \
Please install the pygtk 2.0 development package \
))
$(eval $(call RequireCommand,python2.5, \
Please install Python 2.5 \
))

View File

@ -0,0 +1,24 @@
diff -urN pygtk-2.12.1.orig/configure pygtk-2.12.1/configure
--- pygtk-2.12.1.orig/configure 2008-09-30 17:05:56.000000000 +0200
+++ pygtk-2.12.1/configure 2008-09-30 17:06:38.000000000 +0200
@@ -10399,8 +10399,6 @@
{ echo "$as_me:$LINENO: checking for PySignal_SetWakeupFd in Python.h" >&5
echo $ECHO_N "checking for PySignal_SetWakeupFd in Python.h... $ECHO_C" >&6; }
-py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
-PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wall -Werror $PYTHON_INCLUDES"
cat >conftest.$ac_ext <<_ACEOF
diff -urN pygtk-2.12.1.orig/configure.in pygtk-2.12.1/configure.in
--- pygtk-2.12.1.orig/configure.in 2008-09-30 17:05:56.000000000 +0200
+++ pygtk-2.12.1/configure.in 2008-09-30 17:06:24.000000000 +0200
@@ -78,8 +78,6 @@
AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
AC_MSG_CHECKING([for PySignal_SetWakeupFd in Python.h])
-py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
-PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wall -Werror $PYTHON_INCLUDES"
AC_TRY_COMPILE([#include <Python.h>],

View File

@ -1,48 +0,0 @@
diff -urN pygtk-2.10.6.orig/Makefile.am pygtk-2.10.6/Makefile.am
--- pygtk-2.10.6.orig/Makefile.am 2008-05-24 15:18:49.000000000 +0100
+++ pygtk-2.10.6/Makefile.am 2008-05-24 15:20:50.000000000 +0100
@@ -105,7 +105,7 @@
# code generator
.defs.c:
(cd $(srcdir)\
- && $(PYTHON) codegen/codegen.py \
+ && $(PYTHON_HOST) codegen/codegen.py \
--py_ssize_t-clean \
--register pango-types.defs \
--register atk-types.defs \
diff -urN pygtk-2.10.6.orig/Makefile.in pygtk-2.10.6/Makefile.in
--- pygtk-2.10.6.orig/Makefile.in 2008-05-24 15:18:49.000000000 +0100
+++ pygtk-2.10.6/Makefile.in 2008-05-24 15:20:39.000000000 +0100
@@ -1085,7 +1085,7 @@
# code generator
.defs.c:
(cd $(srcdir)\
- && $(PYTHON) codegen/codegen.py \
+ && $(PYTHON_HOST) codegen/codegen.py \
--py_ssize_t-clean \
--register pango-types.defs \
--register atk-types.defs \
diff -urN pygtk-2.10.6.orig/gtk/Makefile.am pygtk-2.10.6/gtk/Makefile.am
--- pygtk-2.10.6.orig/gtk/Makefile.am 2008-05-24 15:18:49.000000000 +0100
+++ pygtk-2.10.6/gtk/Makefile.am 2008-05-24 15:21:10.000000000 +0100
@@ -170,7 +170,7 @@
.defs.c:
- ($(PYTHON) $(top_srcdir)/codegen/codegen.py \
+ ($(PYTHON_HOST) $(top_srcdir)/codegen/codegen.py \
$(PYGTK_CODEGEN_DEFINES) \
-I $(srcdir) \
--py_ssize_t-clean \
diff -urN pygtk-2.10.6.orig/gtk/Makefile.in pygtk-2.10.6/gtk/Makefile.in
--- pygtk-2.10.6.orig/gtk/Makefile.in 2008-05-24 15:18:49.000000000 +0100
+++ pygtk-2.10.6/gtk/Makefile.in 2008-05-24 15:21:20.000000000 +0100
@@ -1056,7 +1056,7 @@
gtk-types.defs
.defs.c:
- ($(PYTHON) $(top_srcdir)/codegen/codegen.py \
+ ($(PYTHON_HOST) $(top_srcdir)/codegen/codegen.py \
$(PYGTK_CODEGEN_DEFINES) \
-I $(srcdir) \
--py_ssize_t-clean \