Gentoo Archives: gentoo-commits

From: "Ali Polatel (hawking)" <hawking@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-lang/python: ChangeLog python-2.3.6-r4.ebuild
Date: Tue, 22 Jan 2008 23:30:44
Message-Id: E1JHSZl-0004fD-EB@stork.gentoo.org
1 hawking 08/01/22 23:30:41
2
3 Modified: ChangeLog
4 Added: python-2.3.6-r4.ebuild
5 Log:
6 Revision bump. New patchset for 2.3.6 including fixes for #198373 and #204343.
7 (Portage version: 2.1.4)
8
9 Revision Changes Path
10 1.293 dev-lang/python/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/python/ChangeLog?rev=1.293&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/python/ChangeLog?rev=1.293&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/python/ChangeLog?r1=1.292&r2=1.293
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v
19 retrieving revision 1.292
20 retrieving revision 1.293
21 diff -u -r1.292 -r1.293
22 --- ChangeLog 7 Jan 2008 17:40:51 -0000 1.292
23 +++ ChangeLog 22 Jan 2008 23:30:40 -0000 1.293
24 @@ -1,6 +1,12 @@
25 # ChangeLog for dev-lang/python
26 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.292 2008/01/07 17:40:51 hawking Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.293 2008/01/22 23:30:40 hawking Exp $
29 +
30 +*python-2.3.6-r4 (22 Jan 2008)
31 +
32 + 22 Jan 2008; Ali Polatel <hawking@g.o> +python-2.3.6-r4.ebuild:
33 + Revision bump. New patchset for 2.3.6 including fixes for #198373 and #204343.
34 + Changed berkdb DEPEND, quoting.
35
36 *python-2.5.1-r5 (07 Jan 2008)
37 *python-2.4.4-r8 (07 Jan 2008)
38
39
40
41 1.1 dev-lang/python/python-2.3.6-r4.ebuild
42
43 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/python/python-2.3.6-r4.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/python/python-2.3.6-r4.ebuild?rev=1.1&content-type=text/plain
45
46 Index: python-2.3.6-r4.ebuild
47 ===================================================================
48 # Copyright 1999-2008 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.3.6-r4.ebuild,v 1.1 2008/01/22 23:30:40 hawking Exp $
51
52 # NOTE about python-portage interactions :
53 # - Do not add a pkg_setup() check for a certain version of portage
54 # in dev-lang/python. It _WILL_ stop people installing from
55 # Gentoo 1.4 images.
56
57 inherit autotools eutils flag-o-matic python versionator
58
59 PYVER_MAJOR=$(get_major_version)
60 PYVER_MINOR=$(get_version_component_range 2)
61 PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"
62
63 S="${WORKDIR}/Python-${PV}"
64 DESCRIPTION="A really great language"
65 HOMEPAGE="http://www.python.org/"
66 SRC_URI="http://www.python.org/ftp/python/${PV%_*}/Python-${PV}.tar.bz2
67 mirror://gentoo/python-gentoo-patches-${PV}-r5.tar.bz2"
68
69 LICENSE="PSF-2.2"
70 SLOT="2.3"
71 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
72 IUSE="ncurses gdbm ssl readline tk berkdb bootstrap ipv6 build ucs2 doc nocxx nothreads examples elibc_uclibc"
73
74 # INFO: 2.3.5 docs are used for python-2.3.6 as upstream writes in their release
75 # notes.
76 DEPEND=">=sys-libs/zlib-1.1.3
77 !build? (
78 tk? ( >=dev-lang/tk-8.0 )
79 ncurses? ( >=sys-libs/ncurses-5.2 readline? ( >=sys-libs/readline-4.1 ) )
80 berkdb? ( =sys-libs/db-3* )
81 gdbm? ( sys-libs/gdbm )
82 ssl? ( dev-libs/openssl )
83 doc? ( =dev-python/python-docs-2.3.5* )
84 dev-libs/expat
85 )"
86
87 # NOTE: The dev-python/python-fchksum RDEPEND is needed so that this python
88 # provides the functionality expected from previous pythons.
89
90 # NOTE: python-fchksum is only a RDEPEND and not a DEPEND since we don't need
91 # it to compile python. We just need to ensure that when we install
92 # python, we definitely have fchksum support. - liquidx
93
94 # NOTE: changed RDEPEND to PDEPEND to resolve bug 88777. - kloeri
95
96 PDEPEND="${DEPEND} dev-python/python-fchksum app-admin/python-updater"
97
98 PROVIDE="virtual/python"
99
100 src_unpack() {
101 unpack ${A}
102 cd "${S}"
103
104 sed -ie 's/OpenBSD\/3.\[01234/OpenBSD\/3.\[012345/' configure || die "OpenBSD sed failed"
105
106 # fix os.utime() on hppa. utimes it not supported but unfortunately
107 # reported as working - gmsoft (22 May 04)
108 [ "${ARCH}" = "hppa" ] && sed -e 's/utimes //' -i "${S}"/configure
109
110 EPATCH_SUFFIX="patch" epatch "${WORKDIR}/${PV}"
111 sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
112 Lib/distutils/command/install.py \
113 Lib/distutils/sysconfig.py \
114 Lib/site.py \
115 Makefile.pre.in \
116 Modules/Setup.dist \
117 Modules/getpath.c \
118 setup.py || die
119
120 eautoreconf
121 }
122
123 src_configure() {
124 # disable extraneous modules with extra dependencies
125 if use build; then
126 export PYTHON_DISABLE_MODULES="readline pyexpat dbm gdbm bsddb _curses _curses_panel _tkinter"
127 export PYTHON_DISABLE_SSL=1
128 else
129 # dbm module can link to berkdb or gdbm -- defaults to gdbm when
130 # both are enabled, see #204343
131 use berkdb || use gdbm \
132 || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} dbm"
133 use gdbm \
134 || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} gdbm"
135 use berkdb \
136 || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} bsddb"
137 use readline \
138 || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} readline"
139 use tk \
140 || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _tkinter"
141 use ncurses \
142 || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _curses _curses_panel"
143 use ssl \
144 || export PYTHON_DISABLE_SSL=1
145 export PYTHON_DISABLE_MODULES
146 echo $PYTHON_DISABLE_MODULES
147 fi
148 }
149
150 src_compile() {
151 filter-flags -malign-double
152 filter-ldflags -Wl,--as-needed --as-needed
153
154 [ "${ARCH}" = "alpha" ] && append-flags -fPIC
155 [ "${ARCH}" = "amd64" ] && append-flags -fPIC
156
157 # http://bugs.gentoo.org/show_bug.cgi?id=50309
158 if is-flag -O3; then
159 is-flag -fstack-protector-all && replace-flags -O3 -O2
160 use hardened && replace-flags -O3 -O2
161 fi
162
163 export OPT="${CFLAGS}"
164
165 local myconf
166 #if we are creating a new build image, we remove the dependency on g++
167 if use build && ! use bootstrap || use nocxx ; then
168 myconf="--with-cxx=no"
169 fi
170
171 # super-secret switch. don't use this unless you know what you're
172 # doing. enabling UCS2 support will break your existing python
173 # modules
174 use ucs2 \
175 && myconf="${myconf} --enable-unicode=ucs2" \
176 || myconf="${myconf} --enable-unicode=ucs4"
177
178 use nothreads \
179 && myconf="${myconf} --without-threads" \
180 || myconf="${myconf} --with-threads"
181
182 src_configure
183
184 econf --with-fpectl \
185 --enable-shared \
186 `use_enable ipv6` \
187 --infodir='${prefix}'/share/info \
188 --mandir='${prefix}'/share/man \
189 --with-libc='' \
190 ${myconf} || die
191 emake || die "Parallel make failed"
192 }
193
194 src_install() {
195 dodir /usr
196 src_configure
197 make DESTDIR="${D}" altinstall || die
198
199 # install our own custom python-config
200 exeinto /usr/bin
201 newexe "${FILESDIR}"/python-config-${PYVER} python-config
202
203 # The stuff below this line extends from 2.1, and should be deprecated
204 # in 2.3, or possibly can wait till 2.4
205
206 # seems like the build do not install Makefile.pre.in anymore
207 # it probably shouldn't - use DistUtils, people!
208 insinto /usr/$(get_libdir)/python${PYVER}/config
209 doins "${S}"/Makefile.pre.in
210
211 # While we're working on the config stuff... Let's fix the OPT var
212 # so that it doesn't have any opts listed in it. Prevents the problem
213 # with compiling things with conflicting opts later.
214 dosed -e 's:^OPT=.*:OPT=-DNDEBUG:' /usr/$(get_libdir)/python${PYVER}/config/Makefile
215
216 if use build ; then
217 rm -rf "${D}"/usr/$(get_libdir)/python2.3/{test,encodings,email,lib-tk,bsddb/test}
218 else
219 use elibc_uclibc && rm -rf "${D}"/usr/$(get_libdir)/python2.3/{test,bsddb/test}
220 use berkdb || rm -rf "${D}"/usr/$(get_libdir)/python2.3/bsddb
221 use tk || rm -rf "${D}"/usr/$(get_libdir)/python2.3/lib-tk
222 fi
223
224 if use examples ; then
225 mkdir -p "${D}"/usr/share/doc/${P}/examples
226 cp -r "${S}"/Tools "${D}"/usr/share/doc/${P}/examples
227 fi
228 }
229
230 pkg_postrm() {
231 python_makesym
232 python_mod_cleanup /usr/$(get_libdir)/python2.3
233 }
234
235 pkg_postinst() {
236 local myroot
237 myroot=$(echo $ROOT | sed 's:/$::')
238
239 python_makesym
240 python_mod_optimize
241 python_mod_optimize -x site-packages -x test ${myroot}/usr/$(get_libdir)/python${PYVER}
242
243 # workaround possible python-upgrade-breaks-portage situation
244 if [ ! -f ${myroot}/usr/lib/portage/pym/portage.py ]; then
245 if [ -f ${myroot}/usr/lib/python2.2/site-packages/portage.py ]; then
246 einfo "Working around possible python-portage upgrade breakage"
247 mkdir -p ${myroot}/usr/lib/portage/pym
248 cp ${myroot}/usr/lib/python2.2/site-packages/{portage,xpak,output,cvstree,getbinpkg,emergehelp,dispatch_conf}.py ${myroot}/usr/lib/portage/pym
249 python_mod_optimize ${myroot}/usr/lib/portage/pym
250 fi
251 fi
252
253 echo
254 ewarn
255 ewarn "If you have just upgraded from an older version of python you"
256 ewarn "will need to run:"
257 ewarn
258 ewarn "/usr/sbin/python-updater"
259 ewarn
260 ewarn "This will automatically rebuild all the python dependent modules"
261 ewarn "to run with python-${PYVER}."
262 ewarn
263 ewarn "Your original Python is still installed and can be accessed via"
264 ewarn "/usr/bin/python2.x."
265 ewarn
266 ebeep 5
267 }
268
269 src_test() {
270 # PYTHON_DONTCOMPILE=1 breaks test_import
271 unset PYTHON_DONTCOMPILE
272
273 #skip all tests that fail during emerge but pass without emerge:
274 #(See bug# 67970)
275 local skip_tests="global mimetools mmap strptime subprocess tcl time urllib urllib2 zipimport"
276
277 for test in ${skip_tests} ; do
278 mv "${S}"/Lib/test/test_${test}.py "${T}"
279 done
280
281 make test || die "make test failed"
282
283 for test in ${skip_tests} ; do
284 mv "${T}"/test_${test}.py "${S}"/Lib/test/test_${test}.py
285 done
286
287 elog "Portage skipped the following tests which aren't able to run from emerge:"
288 for test in ${skip_tests} ; do
289 elog "test_${test}.py"
290 done
291
292 elog "If you'd like to run them, you may:"
293 elog "cd /usr/lib/python${PYVER}/test"
294 elog "and run the tests separately."
295 }
296
297
298
299 --
300 gentoo-commits@l.g.o mailing list