summaryrefslogtreecommitdiff
path: root/recipes/python/python-pygtk_2.10.4.bb
blob: 81cb5930f3754371241408e47be5d3cc3a08914a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
DESCRIPTION = "Python GTK+ 2.10.x Bindings"
SECTION = "devel/python"
# needs gtk+ 2.10.x
DEPENDS = "gtk+ libglade python-pycairo python-pygobject"
RDEPENDS = "python-shell python-pycairo python-pygobject"
PROVIDES = "python-pygtk2"
SRCNAME = "pygtk"
LICENSE = "LGPL"
PR = "ml12"

MAJ_VER = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}"
SRC_URI = "ftp://ftp.gnome.org/pub/gnome/sources/pygtk/${MAJ_VER}/${SRCNAME}-${PV}.tar.bz2 \
           file://fix-gtkunixprint.patch;patch=1 \
           file://prevent_to_get_display_during_import.patch;patch=1 \
           file://nodocs.patch;patch=1 \
           file://gdk_display.patch;patch=1;pnum=0 \
           file://acinclude.m4"
S = "${WORKDIR}/${SRCNAME}-${PV}"

EXTRA_OECONF = "\
  --disable-docs \
  --with-python-includes=${STAGING_INCDIR}/../ \
"

inherit autotools pkgconfig distutils-base

do_configure_prepend() {
	install -m 0644 ${WORKDIR}/acinclude.m4 ${S}/
}

# dirty fix #1: remove dependency on python-pygobject-dev
do_install_append() {
	find ${D} -name "*.la"|xargs rm -f
	rm -f ${D}/${bindir}/pygtk-codegen-2.0
	rm -rf ${D}/${libdir}/pkgconfig
}

# dirty fix #2: fix build system paths leaking in
require fix-path.inc

PACKAGES =+ "${PN}-demo"
FILES_${PN}-demo = "\
  ${bindir}/pygtk-demo \
  ${libdir}/pygtk \
"
RDEPENDS_${PN}-demo = "python-pygtk python-stringold python-lang"

# todo: revamp packaging, package demo seperatly
FILES_${PN}-dev += "\
  ${libdir}/pygtk/2.0 \
  ${bindir}/pygtk-* \
  ${datadir}/pygtk/2.0"

do_stage() {
	autotools_stage_includes
	sed -i s:${prefix}/share:${STAGING_DATADIR}: codegen/pygtk-codegen-2.0
	install -m 0755 codegen/pygtk-codegen-2.0 ${STAGING_BINDIR_NATIVE}/
	# until we have a newer pygobject version, we resue pygtk's codegen
	ln -sf ./pygtk-codegen-2.0 ${STAGING_BINDIR_NATIVE}/pygobject-codegen-2.0
	install -d ${STAGING_DATADIR}/pygtk/2.0/codegen
	install -d ${STAGING_DATADIR}/pygtk/2.0/defs/
	cp -pPr codegen/*.py* ${STAGING_DATADIR}/pygtk/2.0/codegen/
	cp -pPr *.defs ${STAGING_DATADIR}/pygtk/2.0/defs/
	cp -pPr gtk/*.defs ${STAGING_DATADIR}/pygtk/2.0/defs/
}