Magellan Linux

Annotation of /trunk/include/python.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 29819 - (hide annotations) (download)
Fri Oct 13 08:33:10 2017 UTC (6 years, 6 months ago) by niro
File size: 3937 byte(s)
-fixed multilib issues
1 niro 8643 # $Id$
2 niro 2
3 niro 29773 # simulate the old behavior
4     if [[ -z ${MAGE_PYTHON_EXEC} ]]
5     then
6     MAGE_PYTHON_EXEC="python"
7 niro 21029
8 niro 29773 SDEPEND="${SDEPEND}
9     >= dev-lang/python-2.7"
10     fi
11    
12 niro 2 # get the major.minor current installed python version
13     # -> ex 2.4
14 niro 22416 mget-python-version()
15 niro 2 {
16 niro 21029 local pyver
17 niro 29773 # pyver="$(${MAGE_PYTHON_EXEC} -V 2>&1 | cut -d' ' -f2 | cut -d. -f1-2)"
18 niro 29818 pyver=$(${MAGE_PYTHON_EXEC} -c "import sys ; print (sys.version[:3])")
19 niro 21029 [[ -z ${pyver} ]] && return 1
20     echo "${pyver}"
21 niro 2 return 0
22     }
23    
24 niro 22416 mget-python-libdir()
25 niro 2 {
26     local pylib
27 niro 29773 pylib=$(${MAGE_PYTHON_EXEC} -c 'from distutils import sysconfig; print (sysconfig.get_python_lib())')
28 niro 21029 [[ -z ${pylib} ]] && return 1
29 niro 2 echo "${pylib}"
30     return 0
31     }
32    
33 niro 22416 mget-python-includedir()
34 niro 8673 {
35     local pyinc
36 niro 29773 pyinc=$(${MAGE_PYTHON_EXEC} -c 'from distutils import sysconfig; print (sysconfig.get_python_inc())')
37 niro 21029 [[ -z ${pyinc} ]] && return 1
38 niro 8673 echo "${pyinc}"
39     return 0
40     }
41    
42 niro 22416 # 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 niro 2 python_src_prepare()
60     {
61     munpack ${SRCFILE} || die
62     }
63    
64 niro 8645 python_docompile()
65 niro 2 {
66 niro 6882 if [[ -e setup.py ]]
67     then
68 niro 29773 ${MAGE_PYTHON_EXEC} setup.py build $@ || die
69 niro 8121 elif [[ -e waf ]]
70     then
71 niro 29773 ${MAGE_PYTHON_EXEC} waf configure --prefix=/usr --libdir=/usr/$(mlibdir) $@ || die
72     ${MAGE_PYTHON_EXEC} waf build $@ || die
73 niro 6882 elif [[ -e configure ]]
74     then
75 niro 29819 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 niro 9471 elif [[ -e install.py ]]
84 niro 9472 then
85 niro 9471 echo "install.py found - nothing to compile here."
86 niro 6882 else
87     mmake || die
88     fi
89 niro 2 }
90    
91 niro 8645 python_doinstall()
92 niro 2 {
93 niro 6882 if [[ -e setup.py ]]
94     then
95 niro 29773 ${MAGE_PYTHON_EXEC} setup.py install --no-compile --root ${BINDIR} $@ || die
96 niro 8121 elif [[ -e waf ]]
97     then
98 niro 29773 ${MAGE_PYTHON_EXEC} waf install --destdir=${BINDIR} $@ || die
99 niro 9471 elif [[ -e install.py ]]
100 niro 9472 then
101 niro 29773 ${MAGE_PYTHON_EXEC} install.py --prefix=/usr --files-only --destdir=${BINDIR} $@ || die
102 niro 6882 else
103 niro 29819 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 niro 6882 fi
110 niro 8645 }
111 niro 6882
112 niro 8645 python_src_compile()
113     {
114     cd ${SRCDIR}
115 niro 29782 python_docompile $@ || die
116 niro 8645 }
117    
118 niro 21029 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 niro 29782 abi-${abi} python_docompile $@ || die
128 niro 21029 done
129     SRCDIR="${saved_SRCDIR}"
130     }
131    
132 niro 21031 python_src_check()
133     {
134     return 0
135     }
136    
137 niro 8645 python_src_install()
138     {
139     cd ${SRCDIR}
140 niro 29782 python_doinstall $@ || die
141 niro 8645
142 niro 2 local i
143     for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
144     FAQ LICENSE NEWS README TODO
145     do
146     if [ -f ${SRCDIR}/${i} ]
147     then
148     minstalldocs ${i} || die
149     fi
150     done
151     }
152    
153 niro 21029 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 niro 29782 abi-${abi} python_doinstall $@ || die
163 niro 21029
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 niro 21031 export_inherits python src_prepare src_check
178 niro 21029 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