aboutsummaryrefslogtreecommitdiffstats
path: root/usermanual/reference/class_distutils.xml
blob: 96be6f68841e01a9048fb21f85616933a9c21883 (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
<?xml version="1.0" encoding="UTF-8"?>
<section>
  <title>distutils class</title>

  <para>Distutils is a standard python system for building and installing
  modules. This class is used to automate the building of python modules that
  use the distutils system.</para>

  <para>Any python package that requires the standard python commands to build
  and install: <screen>python setup.py build
python setup.py install</screen>is using distutils and can use this class.
  </para>

  <para>The distutils class will perform the build and install actions on the
  setup.py package as required for building distutils packages, including
  setting all the required parameters for cross compiling. It'll also do the
  following:</para>

  <orderedlist>
    <listitem>
      <para>Adds python-native to DEPENDS to ensure that python is built and
      installed on the build host. This also ensure that the version of python
      that is used during package creation matches the version of python that
      will be installed on the target.</para>
    </listitem>

    <listitem>
      <para>Adds python-core to RDEPENDS to ensure that the python-core is
      installed when this module is installed. Note that you need to manually
      add any other python module dependencies to RDEPENDS.</para>
    </listitem>
  </orderedlist>

  <para>The following example from the moin recipe shows how simple this can
  make a python package:<screen>DESCRIPTION = "A full fledged WikiWiki system written in Python"
LICENSE = "GPL"
SECTION = "base"
PRIORITY = "optional"
MAINTAINER = "Your name &lt;yname@example.com&gt;"
PR = "r1"

SRC_URI = "${SOURCEFORGE_MIRROR}/moin/moin-${PV}.tar.gz"

inherit distutils</screen>The header, source location and the inherit are all
  that is required.</para>
</section>