Contents of /smage/trunk/extras/python3/python3-3.11.9-r1.smage2
Parent Directory | Revision Log
Revision 18186 -
(show annotations)
(download)
Wed Apr 10 14:39:22 2024 UTC (7 weeks, 6 days ago) by niro
File size: 4769 byte(s)
Wed Apr 10 14:39:22 2024 UTC (7 weeks, 6 days ago) by niro
File size: 4769 byte(s)
-ver bump to 3.11.9-r1
1 | # $Id$ |
2 | |
3 | PNAME="python3" |
4 | PVER="3.11.9" |
5 | PBUILD="r1" |
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="https://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-3.11.4-remove-rpath.patch |
55 | ) |
56 | |
57 | # exclude alpha|beta|release candidates and use version -3 only |
58 | UP2DATE="updatecmd https://www.python.org/downloads/source/ | grep -- '-3\.' | grep -vE '[0-9](a|b|rc)[0-9]' | highesttarball xz" |
59 | |
60 | split_info_python3() |
61 | { |
62 | DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language." |
63 | } |
64 | |
65 | split_info_python3-tests() |
66 | { |
67 | DESCRIPTION="Python regression test packages." |
68 | DEPEND="== ${PCAT}/python3-${PVER}" |
69 | } |
70 | |
71 | src_prepare() |
72 | { |
73 | munpack ${SRCFILE} || die |
74 | cd ${SRCDIR} |
75 | |
76 | # remove rpath |
77 | mpatch python-3.11.4-remove-rpath.patch || die |
78 | |
79 | # ensure to use system-wide copies of expat, libmpdec and libffi |
80 | # rather than copies shipped in the tarball |
81 | rm -r Modules/expat || die |
82 | rm -r Modules/_ctypes/{darwin,libffi}* || die |
83 | #rm -r Modules/_decimal/libmpdec || die |
84 | } |
85 | |
86 | src_compile() |
87 | { |
88 | cd ${SRCDIR} |
89 | |
90 | mconfigure \ |
91 | --enable-shared \ |
92 | --enable-ipv6 \ |
93 | --infodir=/usr/share/info \ |
94 | --mandir=/usr/share/man \ |
95 | --with-threads \ |
96 | --with-computed-gotos \ |
97 | --with-system-expat \ |
98 | --with-system-ffi \ |
99 | --enable-optimizations \ |
100 | --with-platlibdir=$(mlibdir) \ |
101 | || die |
102 | |
103 | # disabled some modules (gdbm dbm bsddb _tkinter) |
104 | echo "MODULE__GDBM_STATE=disabled" >> Makefile || die |
105 | echo "MODULE__DBM_STATE=disabled" >> Makefile || die |
106 | echo "MODULE__TKINTER_STATE=disabled" >> Makefile || die |
107 | |
108 | mmake || die |
109 | } |
110 | |
111 | src_install_python3() |
112 | { |
113 | cd ${SRCDIR} |
114 | |
115 | mmake -j1 DESTDIR=${BINDIR} altinstall || die |
116 | |
117 | minstalldir /usr/$(mlibdir)/python${PVER%.*}/config-${PVER%.*}-${ARCH/i*86/i386}-linux-gnu || die |
118 | minstallfile Makefile.pre.in /usr/$(mlibdir)/python${PVER%.*}/config-${PVER%.*}-${ARCH/i*86/i386}-linux-gnu || die |
119 | |
120 | # remove hardcoded CFLAGS from default Makefile |
121 | sed -i 's:^OPT=.*:OPT=-DNDEBUG:' ${BINDIR}/usr/$(mlibdir)/python${PVER%.*}/config-${PVER%.*}-${ARCH/i*86/i386}-linux-gnu/Makefile || die |
122 | |
123 | # link python3.x-config to python3-config |
124 | mlink python${PVER%.*}-config /usr/bin/python${PVER:0:1}-config || die |
125 | |
126 | # link python3.x binary with python3 |
127 | mlink python${PVER%.*} /usr/bin/python${PVER:0:1} || die |
128 | |
129 | # link pydoc3.x, 2to3-3.x and idle3.x too |
130 | mlink pydoc${PVER%.*} /usr/bin/pydoc${PVER:0:1} || die |
131 | mlink 2to3-${PVER%.*} /usr/bin/2to3-${PVER:0:1} || die |
132 | mlink idle${PVER%.*} /usr/bin/idle${PVER:0:1} || die |
133 | |
134 | minstalldocs LICENSE README || die |
135 | |
136 | # remove all regression test packages to save alot of space (>200MB) |
137 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/ctypes/test || die |
138 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/distutils/tests || die |
139 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/idlelib/idle_test || die |
140 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/lib2to3/tests || die |
141 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/tkinter/test || die |
142 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/unittest/test || die |
143 | # just keep support directory |
144 | zapmost ${BINDIR}/usr/$(mlibdir)/python${PVER%.*}/test support || die |
145 | } |
146 | |
147 | src_install_python3-tests() |
148 | { |
149 | cd ${SRCDIR} |
150 | |
151 | mmake -j1 DESTDIR=${BINDIR} libinstall || die |
152 | |
153 | # keep all tests |
154 | zapmost ${BINDIR} \ |
155 | usr/$(mlibdir)/python${PVER%.*}/test \ |
156 | usr/$(mlibdir)/python${PVER%.*}/ctypes/test \ |
157 | usr/$(mlibdir)/python${PVER%.*}/distutils/tests \ |
158 | usr/$(mlibdir)/python${PVER%.*}/idlelib/idle_test \ |
159 | usr/$(mlibdir)/python${PVER%.*}/lib2to3/tests \ |
160 | usr/$(mlibdir)/python${PVER%.*}/tkinter/test \ |
161 | usr/$(mlibdir)/python${PVER%.*}/unittest/test \ |
162 | || die |
163 | |
164 | # remove the test/support directory proved by python itself |
165 | mdelete -r /usr/$(mlibdir)/python${PVER%.*}/test/support || die |
166 | } |