Bump version to 0.36.9
[cygport.git] / cygclass / pypy-distutils.cygclass
blob2c2d37d9f7cbdf77c96d3315fa537be4212a361a
1 ################################################################################
3 # pypy-distutils.cygclass - for building PyPy modules with Distutils
5 # Part of cygport - Cygwin packaging application
6 # Copyright (C) 2006-2020 Cygport authors
7 # Provided by the Cygwin project <https://cygwin.com/>
9 # cygport is free software: you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation, either version 3 of the License, or
12 # (at your option) any later version.
14 # cygport is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 # GNU General Public License for more details.
19 # You should have received a copy of the GNU General Public License
20 # along with cygport.  If not, see <https://www.gnu.org/licenses/>.
22 ################################################################################
24 #****ih* Cygclasses/pypy-distutils.cygclass
25 #  DESCRIPTION
26 #  Distutils is the most common method for building and installing PyPy
27 #  libraries and programs.  The build is defined by a setup.py file in the
28 #  top source directory, which controls the installation of files. Many such
29 #  packages are hosted on the Python Package Index (PyPI, previously known as
30 #  Cheeseshop).
32 #  This cygclass handles the building of PyPy distutils-based packages.
33 #  INHERITS
34 #  python.org.cygclass, pypy.cygclass
35 #  REQUIRES
36 #  pypy
37 #****
39 ORIG_PN=${ORIG_PN:-${PN#pypy-}}
41 inherit python.org pypy
43 #****iC* pypy-distutils.cygclass/pypy_distutils_compile
44 #  SYNOPSIS
45 #  pypy_distutils_compile [OPTIONS]
46 #  DESCRIPTION
47 #  Runs the setup.py 'config' and 'build' commands.  All arguments are passed
48 #  to the setup.py 'build' command.
49 #****
50 pypy_distutils_compile() {
51         if [ ! -e setup.py ]
52         then
53                 error "No PyPy Distutils module detected"
54         fi
56         ${PYPY} setup.py config || error "setup.py config failed"
57         ${PYPY} setup.py build "${@}" || error "setup.py build failed"
60 #****iI* pypy-distutils.cygclass/pypy_distutils_install
61 #  SYNOPSIS
62 #  pypy_distutils_install [OPTIONS]
63 #  DESCRIPTION
64 #  Runs the setup.py 'install' phase, setting the root argument to install
65 #  into $D, followed by pypy_optimize.  All arguments are passed to the
66 #  setup.py 'install' command.
67 #****
68 pypy_distutils_install() {
69         if [ ! -e setup.py ]
70         then
71                 error "No Python Distutils module detected"
72         fi
74         ${PYPY} setup.py "${@}" install --no-compile --root=${D} || error "setup.py install failed"
76         if [ -d ${D}${PYPY_SITELIB} ]
77         then
78                 pypy_optimize ${PYPY_SITELIB}
79         fi
82 #****io* pypy-distutils.cygclass/src_compile (pypy-distutils)
83 #  DEFINITION
84 src_compile() {
85         lndirs
86         cd ${B}
87         pypy_distutils_compile
89 #****
91 #****io* pypy-distutils.cygclass/src_install (pypy-distutils)
92 #  DEFINITION
93 src_install() {
94         cd ${B}
95         pypy_distutils_install
97 #****
99 readonly -f pypy_distutils_compile pypy_distutils_install