From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pypy/
Date: Wed, 8 Mar 2017 11:32:49 +0000 (UTC) [thread overview]
Message-ID: <1488972763.80dfd9952e4b140aa5b797b765f4d95fb65a7c98.mgorny@gentoo> (raw)
commit: 80dfd9952e4b140aa5b797b765f4d95fb65a7c98
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 8 09:04:47 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 8 11:32:43 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80dfd995
dev-python/pypy: Split translation and compile phases
Use the --source option to disable automatic compiling of generating C
sources, and build them manually afterwards. Most importantly, this
significantly reduces memory use because pypy failed to free memory that
was used for the translation, and that is no longer needed when
the compilation is started. Furthermore, it makes resuming compilation
possible.
dev-python/pypy/pypy-5.6.0.ebuild | 25 ++++++++++++++++++-------
dev-python/pypy/pypy-9999.ebuild | 25 ++++++++++++++++++-------
2 files changed, 36 insertions(+), 14 deletions(-)
diff --git a/dev-python/pypy/pypy-5.6.0.ebuild b/dev-python/pypy/pypy-5.6.0.ebuild
index ce1b1a3f764..34c1826c856 100644
--- a/dev-python/pypy/pypy-5.6.0.ebuild
+++ b/dev-python/pypy/pypy-5.6.0.ebuild
@@ -105,7 +105,7 @@ src_prepare() {
epatch_user
}
-src_compile() {
+src_configure() {
tc-export CC
local jit_backend
@@ -162,12 +162,22 @@ src_compile() {
"${PYTHON}" --jit loop_longevity=300 )
fi
- set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
+ # translate into the C sources
+ # we're going to make them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
echo -e "\033[1m${@}\033[0m"
- "${@}" || die "compile error"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-current/testing_1
- use doc && emake -C pypy/doc/ html
+ # copy back to make sys.prefix happy
+ cp -p "${T}"/usession*-current/testing_1/{pypy-c,libpypy-c.so} . || die
pax-mark m pypy-c libpypy-c.so
+
+ use doc && emake -C pypy/doc html
}
src_test() {
@@ -180,10 +190,11 @@ src_test() {
src_install() {
local dest=/usr/$(get_libdir)/pypy
einfo "Installing PyPy ..."
- insinto "${dest}"
- doins -r include lib_pypy lib-python pypy-c libpypy-c.so
- fperms a+x ${dest}/pypy-c ${dest}/libpypy-c.so
+ exeinto "${dest}"
+ doexe pypy-c libpypy-c.so
pax-mark m "${ED%/}${dest}/pypy-c" "${ED%/}${dest}/libpypy-c.so"
+ insinto "${dest}"
+ doins -r include lib_pypy lib-python
dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
dodoc README.rst
diff --git a/dev-python/pypy/pypy-9999.ebuild b/dev-python/pypy/pypy-9999.ebuild
index de88fb98a5f..de566f88e80 100644
--- a/dev-python/pypy/pypy-9999.ebuild
+++ b/dev-python/pypy/pypy-9999.ebuild
@@ -111,7 +111,7 @@ src_prepare() {
epatch_user
}
-src_compile() {
+src_configure() {
tc-export CC
local jit_backend
@@ -168,12 +168,22 @@ src_compile() {
"${PYTHON}" --jit loop_longevity=300 )
fi
- set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
+ # translate into the C sources
+ # we're going to make them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
echo -e "\033[1m${@}\033[0m"
- "${@}" || die "compile error"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-current/testing_1
- use doc && emake -C pypy/doc/ html
+ # copy back to make sys.prefix happy
+ cp -p "${T}"/usession*-current/testing_1/{pypy-c,libpypy-c.so} . || die
pax-mark m pypy-c libpypy-c.so
+
+ use doc && emake -C pypy/doc html
}
src_test() {
@@ -186,10 +196,11 @@ src_test() {
src_install() {
local dest=/usr/$(get_libdir)/pypy
einfo "Installing PyPy ..."
- insinto "${dest}"
- doins -r include lib_pypy lib-python pypy-c libpypy-c.so
- fperms a+x ${dest}/pypy-c ${dest}/libpypy-c.so
+ exeinto "${dest}"
+ doexe pypy-c libpypy-c.so
pax-mark m "${ED%/}${dest}/pypy-c" "${ED%/}${dest}/libpypy-c.so"
+ insinto "${dest}"
+ doins -r include lib_pypy lib-python
dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
dodoc README.rst
next reply other threads:[~2017-03-08 11:32 UTC|newest]
Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-08 11:32 Michał Górny [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-10-12 9:47 [gentoo-commits] repo/gentoo:master commit in: dev-python/pypy/ Michał Górny
2024-09-15 15:04 Michał Górny
2024-09-15 15:04 Michał Górny
2024-08-29 16:29 Michał Górny
2024-04-25 3:39 Michał Górny
2024-04-24 17:59 Arthur Zamarin
2024-04-24 17:16 Sam James
2024-04-24 15:08 Michał Górny
2024-02-04 4:01 Michał Górny
2024-02-03 21:34 Sam James
2024-02-03 19:09 Sam James
2024-02-02 17:23 Michał Górny
2024-02-02 17:17 Michał Górny
2024-02-02 16:39 Michał Górny
2024-02-02 16:27 Arthur Zamarin
2024-02-02 14:21 Michał Górny
2024-02-02 14:17 Arthur Zamarin
2024-01-15 21:24 Michał Górny
2023-12-25 20:26 Michał Górny
2023-12-21 4:16 Michał Górny
2023-11-02 12:58 Michał Górny
2023-09-30 8:27 Michał Górny
2023-07-24 15:05 Michał Górny
2023-07-24 14:43 Arthur Zamarin
2023-07-24 14:25 Arthur Zamarin
2023-06-19 5:14 Michał Górny
2023-06-16 17:03 Michał Górny
2023-05-31 9:19 Michał Górny
2023-05-14 19:29 Michał Górny
2023-02-03 15:22 Michał Górny
2023-02-03 15:17 Michał Górny
2023-02-03 13:46 Arthur Zamarin
2023-02-03 13:46 Arthur Zamarin
2022-12-30 14:32 Michał Górny
2022-12-11 15:46 Michał Górny
2022-12-07 15:59 Michał Górny
2022-12-07 15:42 Sam James
2022-12-07 15:42 Sam James
2022-12-07 13:04 Michał Górny
2022-11-24 16:47 Michał Górny
2022-09-01 6:22 Michał Górny
2022-08-31 20:39 Agostino Sarubbo
2022-08-30 10:15 Michał Górny
2022-08-25 15:30 Michał Górny
2022-08-10 20:31 Michał Górny
2022-05-04 17:56 Michał Górny
2022-05-04 15:11 Jakov Smolić
2022-05-01 12:20 Jakov Smolić
2022-03-30 15:13 Michał Górny
2022-03-22 10:00 Michał Górny
2022-03-22 9:27 Jakov Smolić
2022-03-22 9:27 Jakov Smolić
2022-02-20 14:19 Michał Górny
2022-02-20 14:19 Michał Górny
2022-02-20 14:19 Michał Górny
2022-02-20 14:19 Michał Górny
2022-02-20 12:28 Michał Górny
2022-02-11 12:16 Michał Górny
2021-11-10 8:00 Michał Górny
2021-11-10 7:05 Agostino Sarubbo
2021-11-10 7:04 Agostino Sarubbo
2021-10-25 20:16 Michał Górny
2021-10-17 21:15 Michał Górny
2021-10-06 18:17 Michał Górny
2021-09-14 8:59 Michał Górny
2021-09-13 20:55 Michał Górny
2021-09-03 6:57 Michał Górny
2021-09-03 6:40 Agostino Sarubbo
2021-09-03 6:34 Agostino Sarubbo
2021-08-31 9:05 Michał Górny
2021-08-31 8:43 Michał Górny
2021-08-29 22:22 Michał Górny
2021-07-30 18:14 Michał Górny
2021-07-17 14:04 Mikle Kolyada
2021-07-17 14:03 Mikle Kolyada
2021-06-19 19:18 Michał Górny
2021-06-19 19:18 Michał Górny
2021-05-24 10:22 Michał Górny
2021-05-23 23:05 Agostino Sarubbo
2021-05-19 20:06 Agostino Sarubbo
2021-05-19 18:21 Michał Górny
2021-05-14 22:00 Michał Górny
2021-05-11 10:03 Agostino Sarubbo
2021-05-02 9:21 Mikle Kolyada
2021-05-01 18:19 Agostino Sarubbo
2021-04-12 13:49 Michał Górny
2021-04-09 11:46 Michał Górny
2021-03-05 20:49 Agostino Sarubbo
2021-03-05 20:48 Agostino Sarubbo
2021-03-04 15:04 Michał Górny
2021-03-04 14:56 Michał Górny
2021-03-04 8:57 Michał Górny
2021-03-03 23:11 Michał Górny
2021-01-09 2:14 Sam James
2020-12-31 23:08 Sam James
2020-11-22 11:51 Michał Górny
2020-09-30 2:25 Sam James
2020-09-25 12:13 Michał Górny
2020-09-25 12:13 Michał Górny
2020-09-17 16:56 Michał Górny
2020-09-16 22:30 Michał Górny
2020-09-16 22:30 Michał Górny
2020-09-11 21:05 Michał Górny
2020-09-09 7:18 Michał Górny
2020-08-29 17:57 Thomas Deutschmann
2020-08-27 5:44 Michał Górny
2020-04-12 17:47 Michał Górny
2020-03-25 20:31 Michał Górny
2020-02-08 13:37 Mikle Kolyada
2020-01-27 15:44 Thomas Deutschmann
2020-01-17 18:35 Michał Górny
2020-01-04 23:53 Georgy Yakovlev
2019-12-30 12:12 Michał Górny
2019-12-30 11:59 Michał Górny
2019-12-30 11:59 Michał Górny
2019-12-25 18:38 Michał Górny
2019-12-14 11:58 Michał Górny
2019-11-20 12:27 Michał Górny
2019-11-01 8:07 Michał Górny
2019-10-18 16:24 Michał Górny
2019-04-21 6:29 Michał Górny
2019-03-28 14:22 Michał Górny
2019-02-14 22:07 Michał Górny
2019-02-14 22:07 Michał Górny
2019-01-05 13:39 Michał Górny
2018-08-01 13:34 Michał Górny
2018-08-01 12:24 Michał Górny
2018-04-29 6:33 Michał Górny
2018-04-27 6:34 Michał Górny
2018-01-08 19:41 Michał Górny
2017-12-27 18:20 Michał Górny
2017-11-16 12:33 Michał Górny
2017-11-11 15:07 Michał Górny
2017-11-05 12:20 Michał Górny
2017-11-05 12:20 Michał Górny
2017-11-05 12:20 Michał Górny
2017-10-15 10:09 Michał Górny
2017-10-15 7:30 Michał Górny
2017-10-15 7:14 Michał Górny
2017-06-09 23:10 Michał Górny
2017-04-25 21:49 Michał Górny
2017-04-25 21:49 Michał Górny
2017-04-25 21:49 Michał Górny
2017-04-25 21:49 Michał Górny
2017-04-08 5:42 Michał Górny
2017-03-08 11:32 Michał Górny
2016-09-07 17:11 Michał Górny
2016-09-07 17:11 Michał Górny
2016-09-03 17:35 Michał Górny
2016-07-29 15:09 Michał Górny
2016-07-03 8:19 Michał Górny
2016-06-09 16:10 Michał Górny
2016-06-09 16:10 Michał Górny
2016-06-06 19:17 Michał Górny
2016-06-03 12:57 Anthony G. Basile
2016-05-14 9:07 Michał Górny
2016-05-14 9:07 Michał Górny
2016-03-12 13:41 Michał Górny
2016-03-03 10:47 Michał Górny
2015-12-20 21:13 Michał Górny
2015-11-27 19:49 Michał Górny
2015-08-15 7:12 Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1488972763.80dfd9952e4b140aa5b797b765f4d95fb65a7c98.mgorny@gentoo \
--to=mgorny@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox