Contents of /smage/branches/alx08x-unstable/extras/python3/python3-3.11.4-r2.smage2
Parent Directory | Revision Log
Revision 16567 -
(show annotations)
(download)
Mon Oct 2 14:07:26 2023 UTC (8 months, 2 weeks ago) by niro
File size: 4988 byte(s)
Mon Oct 2 14:07:26 2023 UTC (8 months, 2 weeks ago) by niro
File size: 4988 byte(s)
-release branches/alx08x-unstable
1 | # $Id$ |
2 | |
3 | PNAME="python3" |
4 | PVER="3.11.4" |
5 | PBUILD="r2" |
6 | |
7 | SPLIT_PACKAGES="python3 python3-tests" |
8 | PCAT="dev-lang" |
9 | |
10 | DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." |
11 | HOMEPAGE="http://www.python.org/" |
12 | |
13 | DEPEND=">= virtual/glibc |
14 | >= sys-libs/ncurses-6.4 |
15 | >= sys-libs/zlib-1.2 |
16 | >= sys-libs/libuuid-2.39 |
17 | >= dev-libs/expat-2 |
18 | >= dev-libs/openssl-3.1 |
19 | >= sys-libs/libxcrypt-4.4 |
20 | >= sys-libs/readline-8.2 |
21 | >= dev-db/db-6.2 |
22 | >= dev-db/sqlite-3.42 |
23 | >= app-arch/bzip2-1.0.6 |
24 | >= dev-libs/libffi-3.4" |
25 | |
26 | SDEPEND=">= virtual/sed |
27 | >= virtual/glibc-dev |
28 | >= sys-libs/ncurses-dev-6.4 |
29 | >= sys-libs/zlib-dev-1.2 |
30 | >= sys-libs/libuuid-dev-2.39 |
31 | >= dev-libs/expat-dev-2 |
32 | >= dev-libs/openssl-dev-3.1 |
33 | >= sys-libs/libxcrypt-dev-4.4 |
34 | >= sys-libs/readline-dev-8.2 |
35 | >= dev-db/db-dev-6.2 |
36 | >= dev-db/sqlite-dev-3.42 |
37 | >= app-arch/bzip2-dev-1.0.6 |
38 | >= dev-libs/libffi-dev-3.4" |
39 | |
40 | SRCFILE="Python-${PVER/.0}.tar.xz" |
41 | SRCDIR="${BUILDDIR}/Python-${PVER/.0}" |
42 | |
43 | # force usage of our CFLAGS |
44 | export OPT="${CFLAGS}" |
45 | |
46 | sminclude mtools mbuild cleanutils |
47 | msetfeature "!check" |
48 | |
49 | # uses PYVER and sometimes PVER; so keep both |
50 | SRC_URI=( |
51 | http://www.python.org/ftp/python/${PVER%.*}/${SRCFILE} |
52 | http://www.python.org/ftp/python/${PVER}/${SRCFILE} |
53 | mirror://python/${SRCFILE} |
54 | mirror://python/python-${PVER}-remove-rpath.patch |
55 | ) |
56 | |
57 | # sed line: on 2 digits add an zero: 2.6 -> 2.6.0 |
58 | #UP2DATE="updatecmd ${HOMEPAGE}/download/releases/ | grep 'Python .*(.*)' | sed 's/.*Python\ \([0-9].*\) (.*/\1/g;s/\([0-9]\.[0-9]\$\)/\1.0/;q'" |
59 | #UP2DATE="updatecmd -listonly https://www.python.org/downloads/ | grep '/releases/[0-9]' | sed 's:.*/releases/\(.*\)/:\1:' | upsort_pipe" |
60 | UP2DATE="updatecmd ${HOMEPAGE}/download/ | grep -- '-3\.' | highesttarball xz" |
61 | |
62 | split_info_python3() |
63 | { |
64 | DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." |
65 | } |
66 | |
67 | split_info_python3-tests() |
68 | { |
69 | DESCRIPTION="Python regression test packages." |
70 | DEPEND="== ${PCAT}/python3-${PVER}" |
71 | } |
72 | |
73 | src_prepare() |
74 | { |
75 | munpack ${SRCFILE} || die |
76 | cd ${SRCDIR} |
77 | |
78 | # remove rpath |
79 | mpatch python-${PVER}-remove-rpath.patch || die |
80 | |
81 | # ensure to use system-wide copies of expat, libmpdec and libffi |
82 | # rather than copies shipped in the tarball |
83 | rm -r Modules/expat || die |
84 | rm -r Modules/_ctypes/{darwin,libffi}* || die |
85 | #rm -r Modules/_decimal/libmpdec || die |
86 | } |
87 | |
88 | src_compile() |
89 | { |
90 | cd ${SRCDIR} |
91 | |
92 | mconfigure \ |
93 | --enable-shared \ |
94 | --enable-ipv6 \ |
95 | --infodir=/usr/share/info \ |
96 | --mandir=/usr/share/man \ |
97 | --with-threads \ |
98 | --with-computed-gotos \ |
99 | --with-system-expat \ |
100 | --with-system-ffi \ |
101 | --enable-optimizations \ |
102 | --with-platlibdir=$(mlibdir) \ |
103 | || die |
104 | |
105 | # disabled some modules (gdbm dbm bsddb _tkinter) |
106 | echo "MODULE__GDBM_STATE=disabled" >> Makefile || die |
107 | echo "MODULE__DBM_STATE=disabled" >> Makefile || die |
108 | echo "MODULE__TKINTER_STATE=disabled" >> Makefile || die |
109 | |
110 | mmake || die |
111 | } |
112 | |
113 | src_install_python3() |
114 | { |
115 | cd ${SRCDIR} |
116 | |
117 | mmake -j1 DESTDIR=${BINDIR} altinstall || die |
118 | |
119 | minstalldir /usr/$(mlibdir)/python${PVER%.*}/config-${PVER%.*}-${ARCH/i*86/i386}-linux-gnu || die |
120 | minstallfile Makefile.pre.in /usr/$(mlibdir)/python${PVER%.*}/config-${PVER%.*}-${ARCH/i*86/i386}-linux-gnu || die |
121 | |
122 | # remove hardcoded CFLAGS from default Makefile |
123 | sed -i 's:^OPT=.*:OPT=-DNDEBUG:' ${BINDIR}/usr/$(mlibdir)/python${PVER%.*}/config-${PVER%.*}-${ARCH/i*86/i386}-linux-gnu/Makefile || die |
124 | |
125 | # link python3.x-config to python3-config |
126 | mlink python${PVER%.*}-config /usr/bin/python${PVER:0:1}-config || die |
127 | |
128 | # link python3.x binary with python3 |
129 | mlink python${PVER%.*} /usr/bin/python${PVER:0:1} || die |
130 | |
131 | # link pydoc3.x, 2to3-3.x and idle3.x too |
132 | mlink pydoc${PVER%.*} /usr/bin/pydoc${PVER:0:1} || die |
133 | mlink 2to3-${PVER%.*} /usr/bin/2to3-${PVER:0:1} || die |
134 | mlink idle${PVER%.*} /usr/bin/idle${PVER:0:1} || die |
135 | |
136 | minstalldocs LICENSE README || die |
137 | |
138 | # remove all regression test packages to save alot of space (>200MB) |
139 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/ctypes/test || die |
140 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/distutils/tests || die |
141 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/idlelib/idle_test || die |
142 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/lib2to3/tests || die |
143 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/tkinter/test || die |
144 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/unittest/test || die |
145 | # just keep support directory |
146 | zapmost ${BINDIR}/usr/$(mlibdir)/python${PVER%.*}/test support || die |
147 | } |
148 | |
149 | src_install_python3-tests() |
150 | { |
151 | cd ${SRCDIR} |
152 | |
153 | mmake -j1 DESTDIR=${BINDIR} libinstall || die |
154 | |
155 | # keep all tests |
156 | zapmost ${BINDIR} \ |
157 | usr/$(mlibdir)/python${PVER%.*}/test \ |
158 | usr/$(mlibdir)/python${PVER%.*}/ctypes/test \ |
159 | usr/$(mlibdir)/python${PVER%.*}/distutils/tests \ |
160 | usr/$(mlibdir)/python${PVER%.*}/idlelib/idle_test \ |
161 | usr/$(mlibdir)/python${PVER%.*}/lib2to3/tests \ |
162 | usr/$(mlibdir)/python${PVER%.*}/tkinter/test \ |
163 | usr/$(mlibdir)/python${PVER%.*}/unittest/test \ |
164 | || die |
165 | |
166 | # remove the test/support directory proved by python itself |
167 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/test/support || die |
168 | } |