Magellan Linux

Contents of /trunk/include/pypi.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 29776 - (show annotations) (download)
Wed Oct 11 09:52:54 2017 UTC (6 years, 7 months ago) by niro
File size: 2790 byte(s)
-be python2 and python3 friendly and automatically generate split_packages
1 # $Id$
2 # Pypi functions
3
4 # default to build modules for multiple python versions (atm python2 and python3)
5 : ${PYPI_MULTIPLE_PYTHON_VERSIONS=1}
6
7 # needs python
8 sminclude python
9
10 : ${PYPI_MODULE="${PNAME}"}
11 : ${PYPI_ARCHIVE="gz"}
12
13 # some sane defaults
14 : ${PCAT="dev-python"}
15 # always lower letters
16 : ${HOMEPAGE="http://pypi.python.org/pypi/${PYPI_MODULE}"}
17
18 case ${PYPI_ARCHIVE} in
19 gz|bz2|xz) : ${SRCFILE="${PYPI_MODULE}-${PVER}.tar.${PYPI_ARCHIVE}"} ;;
20 *) : ${SRCFILE="${PYPI_MODULE}-${PVER}.${PYPI_ARCHIVE}"} ;;
21 esac
22
23 : ${SRCDIR="${BUILDDIR}/${PYPI_MODULE}-${PVER}"}
24
25
26 if [[ ${PYPI_MULTIPLE_PYTHON_VERSIONS} = 1 ]]
27 then
28 sminclude python2 python3
29 SPLIT_PACKAGES="python2-${PNAME} python3-${PNAME}"
30
31 eval "split_info_python2-${PNAME}()
32 {
33 DEPEND=\"\${DEPEND}
34 >= dev-lang/python2-2.7\"
35 }"
36
37 eval "split_info_python3-${PNAME}()
38 {
39 DEPEND=\"\${DEPEND}
40 >= dev-lang/python3-3.6\"
41 }"
42
43 else
44 DEPEND="${DEPEND}
45 >= dev-lang/python-2.7"
46 fi
47
48 SRC_URI=(
49 ${SRC_URI[*]}
50 https://pypi.python.org/packages/source/${PYPI_MODULE:0:1}/${PYPI_MODULE}/${SRCFILE}
51 mirror://${PNAME}/${SRCFILE}
52 )
53
54 UP2SUBSTITUTE=".asc"
55 UP2DATE="updatecmd_pypi ${PYPI_MODULE} ${PYPI_ARCHIVE}"
56
57 pypi_src_prepare()
58 {
59 if [[ ${PYPI_MULTIPLE_PYTHON_VERSIONS} = 1 ]]
60 then
61 python2_src_prepare || die
62 python3_src_prepare || die
63 else
64 python_src_prepare || die
65 fi
66 }
67
68 pypi_src_compile()
69 {
70 local configure_opts="$@"
71
72 if [[ ${PYPI_MULTIPLE_PYTHON_VERSIONS} = 1 ]]
73 then
74 python2_src_compile ${configure_opts} || die
75 python3_src_compile ${configure_opts} || die
76 else
77 python_src_compile ${configure_opts} || die
78 fi
79 }
80
81 pypi_src_install()
82 {
83 if [[ ${PYPI_MULTIPLE_PYTHON_VERSIONS} = 1 ]]
84 then
85 python2_src_install || die
86 python3_src_install || die
87 else
88 python_src_install || die
89 fi
90 }
91
92 pypi_multilib_src_compile()
93 {
94 local configure_opts="$@"
95 python_multilib_src_compile ${configure_opts} || die
96
97 }
98
99 pypi_multilib_python2_src_compile()
100 {
101 local configure_opts="$@"
102
103 if [[ ${PYPI_MULTIPLE_PYTHON_VERSIONS} = 1 ]]
104 then
105 python2_multilib_src_compile ${configure_opts} || die
106 python3_multilib_src_compile ${configure_opts} || die
107 else
108 python_multilib_src_compile ${configure_opts} || die
109 fi
110 }
111
112 pypi_multilib_src_install()
113 {
114 python_multilib_src_install || die
115 }
116
117 eval "pypi_multilib_src_compile-python2-${PNAME}()
118 {
119 python2_multilib_src_install || die
120 }"
121
122 eval "pypi_multilib_src_compile-python3-${PNAME}()
123 {
124 python3_multilib_src_install || die
125 }"
126
127 export_inherits pypi src_prepare
128 if [[ ${MULTILIB_BUILD} = true ]]
129 then
130 if [[ ${PYPI_MULTIPLE_PYTHON_VERSIONS} = 1 ]]
131 then
132 export_inherits pypi_multilib src_compile src_install_python2-${PNAME} src_install_python3-${PNAME}
133 else
134 export_inherits pypi_multilib src_compile src_install
135 fi
136 else
137 export_inherits pypi src_compile src_install
138 fi