Magellan Linux

Diff of /trunk/include/python.sminc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/core/include/python.sminc revision 2 by niro, Fri Oct 10 13:29:42 2008 UTC trunk/include/python.sminc revision 29819 by niro, Fri Oct 13 08:33:10 2017 UTC
# Line 1  Line 1 
1  # $Header: /magellan-cvs/smage/include/python.sminc,v 1.4 2007/01/23 20:46:41 niro Exp $  # $Id$
2    
3    # simulate the old behavior
4    if [[ -z ${MAGE_PYTHON_EXEC} ]]
5    then
6     MAGE_PYTHON_EXEC="python"
7    
8     SDEPEND="${SDEPEND}
9     >= dev-lang/python-2.7"
10    fi
11    
12  # get the major.minor current installed python version  # get the major.minor current installed python version
13  # -> ex 2.4  # -> ex 2.4
14  get_python_version()  mget-python-version()
15  {  {
16  # PYVER="$(python -V 2>&1 | cut -d' ' -f2 | cut -d. -f1-2)"   local pyver
17   PYVER=$(python -c "import sys ; print sys.version[:3]")  # pyver="$(${MAGE_PYTHON_EXEC} -V 2>&1 | cut -d' ' -f2 | cut -d. -f1-2)"
18   [[ -z ${PYVER} ]] && return 1   pyver=$(${MAGE_PYTHON_EXEC} -c "import sys ; print (sys.version[:3])")
19   echo "${PYVER}"   [[ -z ${pyver} ]] && return 1
20     echo "${pyver}"
21   return 0   return 0
22  }  }
23    
24  get_python_libdir()  mget-python-libdir()
25  {  {
26   local pylib   local pylib
27   pylib=$(python -c 'from distutils import sysconfig; print sysconfig.get_python_version()')   pylib=$(${MAGE_PYTHON_EXEC} -c 'from distutils import sysconfig; print (sysconfig.get_python_lib())')
28     [[ -z ${pylib} ]] && return 1
29   echo "${pylib}"   echo "${pylib}"
30   return 0   return 0
31  }  }
32    
33    mget-python-includedir()
34    {
35     local pyinc
36     pyinc=$(${MAGE_PYTHON_EXEC} -c 'from distutils import sysconfig; print (sysconfig.get_python_inc())')
37     [[ -z ${pyinc} ]] && return 1
38     echo "${pyinc}"
39     return 0
40    }
41    
42    # fallback functions to support old smage scripts, dropped in near future
43    get_python_version()
44    {
45     echo -e "${COLYELLOW}Warning: get_python_version() is depcrecated, please use mget-python-version() instead${COLDEFAULT}" >&2
46     mget-python-version
47    }
48    get_python_libdir()
49    {
50     echo -e "${COLYELLOW}Warning: get_python_libdir() is depcrecated, please use mget-python-libdir() instead${COLDEFAULT}" >&2
51     mget-python-libdir
52    }
53    get_python_includedir()
54    {
55     echo -e "${COLYELLOW}Warning: get_python_includedir() is depcrecated, please use mget-python-includedir() instead${COLDEFAULT}" >&2
56     mget-python-includedir
57    }
58    
59  python_src_prepare()  python_src_prepare()
60  {  {
61   munpack ${SRCFILE} || die   munpack ${SRCFILE} || die
62  }  }
63    
64    python_docompile()
65    {
66     if [[ -e setup.py ]]
67     then
68     ${MAGE_PYTHON_EXEC} setup.py build $@ || die
69     elif [[ -e waf ]]
70     then
71     ${MAGE_PYTHON_EXEC} waf configure --prefix=/usr --libdir=/usr/$(mlibdir) $@ || die
72     ${MAGE_PYTHON_EXEC} waf build $@ || die
73     elif [[ -e configure ]]
74     then
75     if [[ ${MULTILIB_BUILD} = true ]] && [[ ! -z $(typeset -f oldmconfigure) ]]  && [[ ! -z $(typeset -f oldmmake) ]]
76     then
77     oldmconfigure $@ || die
78     oldmmake || die
79     else
80     mconfigure $@ || die
81     mmake || die
82     fi
83     elif [[ -e install.py ]]
84     then
85     echo "install.py found - nothing to compile here."
86     else
87     mmake || die
88     fi
89    }
90    
91    python_doinstall()
92    {
93     if [[ -e setup.py ]]
94     then
95     ${MAGE_PYTHON_EXEC} setup.py install --no-compile --root ${BINDIR} $@ || die
96     elif [[ -e waf ]]
97     then
98     ${MAGE_PYTHON_EXEC} waf install --destdir=${BINDIR} $@ || die
99     elif [[ -e install.py ]]
100     then
101     ${MAGE_PYTHON_EXEC} install.py --prefix=/usr --files-only --destdir=${BINDIR} $@ || die
102     else
103     if [[ ${MULTILIB_BUILD} = true ]] && [[ ! -z $(typeset -f oldmconfigure) ]]  && [[ ! -z $(typeset -f oldmmake) ]]
104     then
105     oldmmake DESTDIR=${BINDIR} install || die
106     else
107     mmake DESTDIR=${BINDIR} install || die
108     fi
109     fi
110    }
111    
112  python_src_compile()  python_src_compile()
113  {  {
114   cd ${SRCDIR}   cd ${SRCDIR}
115   python setup.py build "$@" || die   python_docompile $@ || die
116    }
117    
118    python_multilib_src_compile()
119    {
120     local abi
121     local saved_SRCDIR="${SRCDIR}"
122    
123     for abi in ${MULTILIB_ABIS}
124     do
125     SRCDIR="${saved_SRCDIR}-${abi}/${SRCSUBDIR}"
126     cd ${SRCDIR}
127     abi-${abi} python_docompile $@ || die
128     done
129     SRCDIR="${saved_SRCDIR}"
130    }
131    
132    python_src_check()
133    {
134     return 0
135  }  }
136    
137  python_src_install()  python_src_install()
138  {  {
139   cd ${SRCDIR}   cd ${SRCDIR}
140   python setup.py install --no-compile --root ${BINDIR} "$@" || die   python_doinstall $@ || die
141    
142   local i   local i
143   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
# Line 46  python_src_install() Line 150  python_src_install()
150   done   done
151  }  }
152    
153  export_inherits python src_prepare src_compile src_install  python_multilib_src_install()
154    {
155     local abi
156     local saved_SRCDIR="${SRCDIR}"
157    
158     for abi in ${MULTILIB_ABIS}
159     do
160     SRCDIR="${saved_SRCDIR}-${abi}/${SRCSUBDIR}"
161     cd ${SRCDIR}
162     abi-${abi} python_doinstall $@ || die
163    
164     local i
165     for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
166     FAQ LICENSE NEWS README TODO
167     do
168     if [ -f ${SRCDIR}/${i} ]
169     then
170     oldminstalldocs ${i} || die
171     fi
172     done
173     done
174     SRCDIR="${saved_SRCDIR}"
175    }
176    
177    export_inherits python src_prepare src_check
178    if [[ ${MULTILIB_BUILD} = true ]]
179    then
180     export_inherits python_multilib src_compile src_install
181    else
182     export_inherits python src_compile src_install
183    fi

Legend:
Removed from v.2  
changed lines
  Added in v.29819