Magellan Linux

Contents of /smage/trunk/extras/python3/python3-3.11.9-r1.smage2

Parent Directory Parent Directory | Revision Log 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)
-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 }