Magellan Linux

Diff of /trunk/include/python.sminc

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

revision 22416 by niro, Thu Apr 3 23:08:50 2014 UTC revision 33631 by niro, Thu Aug 10 15:18:55 2023 UTC
# Line 1  Line 1 
1  # $Id$  # $Id$
2    
3  SDEPEND="${SDEPEND}  # simulate the old behavior
4   >= dev-lang/python-2.7"  if [[ -z ${MAGE_PYTHON_EXEC} ]]
5    then
6     MAGE_PYTHON_EXEC="python"
7    
8     SDEPEND="${SDEPEND}
9     >= dev-lang/python-3"
10    fi
11    
12    # call meson include in the smage2, to prevent unnecessary dependencies
13    #sminclude meson
14    
15  # get the major.minor current installed python version  # get the major.minor current installed python version
16  # -> ex 2.4  # -> ex 2.4
17  mget-python-version()  mget-python-version()
18  {  {
19   local pyver   local pyver
20  # pyver="$(python -V 2>&1 | cut -d' ' -f2 | cut -d. -f1-2)"  # pyver="$(${MAGE_PYTHON_EXEC} -V 2>&1 | cut -d' ' -f2 | cut -d. -f1-2)"
21   pyver=$(python -c "import sys ; print sys.version[:3]")   pyver=$(${MAGE_PYTHON_EXEC} -c "import sys ; print (sys.version[:3])")
22   [[ -z ${pyver} ]] && return 1   [[ -z ${pyver} ]] && return 1
23   echo "${pyver}"   echo "${pyver}"
24   return 0   return 0
# Line 18  mget-python-version() Line 27  mget-python-version()
27  mget-python-libdir()  mget-python-libdir()
28  {  {
29   local pylib   local pylib
30   pylib=$(python -c 'from distutils import sysconfig; print sysconfig.get_python_lib()')   pylib=$(${MAGE_PYTHON_EXEC} -c 'import sysconfig; print (sysconfig.get_path("platlib"))')
31   [[ -z ${pylib} ]] && return 1   [[ -z ${pylib} ]] && return 1
32   echo "${pylib}"   echo "${pylib}"
33   return 0   return 0
# Line 27  mget-python-libdir() Line 36  mget-python-libdir()
36  mget-python-includedir()  mget-python-includedir()
37  {  {
38   local pyinc   local pyinc
39   pyinc=$(python -c 'from distutils import sysconfig; print sysconfig.get_python_inc()')   pyinc=$(${MAGE_PYTHON_EXEC} -c 'import sysconfig; print (sysconfig.get_path("platinclude"))')
40   [[ -z ${pyinc} ]] && return 1   [[ -z ${pyinc} ]] && return 1
41   echo "${pyinc}"   echo "${pyinc}"
42   return 0   return 0
# Line 57  python_src_prepare() Line 66  python_src_prepare()
66    
67  python_docompile()  python_docompile()
68  {  {
69   if [[ -e setup.py ]]   if [[ -e pyproject.toml ]]
70     then
71     TMPDIR=${BUILDDIR} ${MAGE_PYTHON_EXEC} \
72     -m pip wheel --wheel-dir dist --no-build-isolation --no-deps --disable-pip-version-check \
73     --no-cache-dir --use-pep517 --no-clean ${PWD} || die
74     elif [[ -e setup.py ]]
75   then   then
76   python setup.py build $@ || die   ${MAGE_PYTHON_EXEC} setup.py build $@ || die
77   elif [[ -e waf ]]   elif [[ -e waf ]]
78   then   then
79   python waf configure --prefix=/usr --libdir=/usr/$(mlibdir) $@ || die   ${MAGE_PYTHON_EXEC} waf configure --prefix=/usr --libdir=/usr/$(mlibdir) $@ || die
80   python waf build $@ || die   ${MAGE_PYTHON_EXEC} waf build $@ || die
81     elif [[ -e meson.build ]]
82     then
83     # never run multilib builds here, multilib will be enabled by python_multilib_src_compile
84     # this honors the logic of other build methods (python, waf, autotools)
85     MULTILIB_BUILD=false meson_configure -D python=${MAGE_PYTHON_EXEC} || die
86     MULTILIB_BUILD=false mninja || die
87   elif [[ -e configure ]]   elif [[ -e configure ]]
88   then   then
89   mconfigure $@ || die   if [[ ${MULTILIB_BUILD} = true ]] && [[ ! -z $(typeset -f oldmconfigure) ]]  && [[ ! -z $(typeset -f oldmmake) ]]
90   mmake || die   then
91     oldmconfigure $@ || die
92     oldmmake || die
93     else
94     mconfigure $@ || die
95     mmake || die
96     fi
97   elif [[ -e install.py ]]   elif [[ -e install.py ]]
98   then   then
99   echo "install.py found - nothing to compile here."   echo "install.py found - nothing to compile here."
# Line 78  python_docompile() Line 104  python_docompile()
104    
105  python_doinstall()  python_doinstall()
106  {  {
107   if [[ -e setup.py ]]   if [[ -e pyproject.toml ]]
108   then   then
109   python setup.py install --no-compile --root ${BINDIR} $@ || die   TMPDIR=${BUILDDIR} ${MAGE_PYTHON_EXEC} \
110     -m pip install --root ${BINDIR} --no-index --no-deps --disable-pip-version-check \
111     --no-cache-dir --use-pep517 --ignore-installed --no-warn-script-location $(find dist -name \*.whl) || die
112     elif [[ -e setup.py ]]
113     then
114     ${MAGE_PYTHON_EXEC} setup.py install --no-compile --root ${BINDIR} $@ || die
115   elif [[ -e waf ]]   elif [[ -e waf ]]
116   then   then
117   python waf install --destdir=${BINDIR} $@ || die   ${MAGE_PYTHON_EXEC} waf install --destdir=${BINDIR} $@ || die
118     elif [[ -e meson.build ]]
119     then
120     # never run multilib builds here, multilib will be enabled by python_multilib_src_compile
121     # this honors the logic of other build methods (python, waf, autotools)
122     MULTILIB=false DESTDIR=${BINDIR} mninja install || die
123   elif [[ -e install.py ]]   elif [[ -e install.py ]]
124   then   then
125   python install.py --prefix=/usr --files-only --destdir=${BINDIR} $@ || die   ${MAGE_PYTHON_EXEC} install.py --prefix=/usr --files-only --destdir=${BINDIR} $@ || die
126   else   else
127   mmake DESTDIR=${BINDIR} install || die   if [[ ${MULTILIB_BUILD} = true ]] && [[ ! -z $(typeset -f oldmconfigure) ]]  && [[ ! -z $(typeset -f oldmmake) ]]
128     then
129     oldmmake DESTDIR=${BINDIR} install || die
130     else
131     mmake DESTDIR=${BINDIR} install || die
132     fi
133   fi   fi
134  }  }
135    
136  python_src_compile()  python_src_compile()
137  {  {
138   cd ${SRCDIR}   cd ${SRCDIR}
139   python_docompile || die   python_docompile $@ || die
140  }  }
141    
142  python_multilib_src_compile()  python_multilib_src_compile()
# Line 107  python_multilib_src_compile() Line 148  python_multilib_src_compile()
148   do   do
149   SRCDIR="${saved_SRCDIR}-${abi}/${SRCSUBDIR}"   SRCDIR="${saved_SRCDIR}-${abi}/${SRCSUBDIR}"
150   cd ${SRCDIR}   cd ${SRCDIR}
151   abi-${abi} python_docompile || die   abi-${abi} python_docompile $@ || die
152   done   done
153   SRCDIR="${saved_SRCDIR}"   SRCDIR="${saved_SRCDIR}"
154  }  }
# Line 120  python_src_check() Line 161  python_src_check()
161  python_src_install()  python_src_install()
162  {  {
163   cd ${SRCDIR}   cd ${SRCDIR}
164   python_doinstall || die   python_doinstall $@ || die
165    
166   local i   local i
167   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
168   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README* TODO PKG-INFO
169   do   do
170   if [ -f ${SRCDIR}/${i} ]   if [ -f ${SRCDIR}/${i} ]
171   then   then
# Line 142  python_multilib_src_install() Line 183  python_multilib_src_install()
183   do   do
184   SRCDIR="${saved_SRCDIR}-${abi}/${SRCSUBDIR}"   SRCDIR="${saved_SRCDIR}-${abi}/${SRCSUBDIR}"
185   cd ${SRCDIR}   cd ${SRCDIR}
186   abi-${abi} python_doinstall || die   abi-${abi} python_doinstall $@ || die
187    
188   local i   local i
189   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
190   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README* TODO PKG-INFO
191   do   do
192   if [ -f ${SRCDIR}/${i} ]   if [ -f ${SRCDIR}/${i} ]
193   then   then

Legend:
Removed from v.22416  
changed lines
  Added in v.33631