Created attachment 564028 [details, diff] 7.0.0_all_distutils_cxx.patch Version 7.0.0 got released today! Quick background why I am opening a one(ish) day version bump bug (I come in peace and with gifts so please don't scold me too much :-)). I have been looking into pypy3 for a few weeks now to see how it works with pygobject and pycairo. It works well with a patch to meson for system pypy. A big change in version 7.0.0 is that pypy now uses sane install schemas and there is no need to patch it for Gentoo. * Removed the gentoo patches to workaround install schema * drop sed on disutils install command, from what I can see they are not needed. * Redo c++ patch as they moved things around (patch attached) * Use pypy3.5 instead of pypy3 to install libs/site-packages/etc * Drop versionator as its unused * Bump eapi to 7 * Verified that the cffi modules are in sync, they are. * Update slot as per comment to 0.71 Below patch is for pypy3 as I have no interest in pypy right now. But I suspect it will need very similar changes. --- pypy3-6.0.0.ebuild 2019-02-06 19:29:01.319948535 +0100 +++ pypy3-7.0.0.ebuild 2019-02-07 00:50:09.689378068 +0100 @@ -1,13 +1,13 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 # pypy3 needs to be built using python 2 PYTHON_COMPAT=( python2_7 pypy ) -inherit check-reqs pax-utils python-any-r1 toolchain-funcs versionator +inherit check-reqs pax-utils python-any-r1 toolchain-funcs -MY_P=pypy3-v${PV} +MY_P=pypy3.5-v${PV} DESCRIPTION="A fast, compliant alternative implementation of the Python (3.5) language" HOMEPAGE="http://pypy.org/" @@ -15,7 +15,7 @@ LICENSE="MIT" # pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))' -SLOT="0/60" +SLOT="0/71" KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" IUSE="bzip2 gdbm +jit libressl low-memory ncurses sandbox sqlite tk" @@ -84,17 +84,12 @@ } src_prepare() { - #eapply "${FILESDIR}/4.0.0-gentoo-path.patch" eapply "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002 - sed -e "s^@EPREFIX@^${EPREFIX}^" \ - -e "s^@libdir@^$(get_libdir)^" \ - -i lib-python/3/distutils/command/install.py || die - - # apply CPython stdlib patches + # apply CPython stdlib patches + eapply "${FILESDIR}"/7.0.0_all_distutils_cxx.patch pushd lib-python/3 > /dev/null || die - eapply "${FILESDIR}"/5.8.0_all_distutils_cxx.patch eapply "${FILESDIR}"/python-3.5-distutils-OO-build.patch popd > /dev/null || die @@ -201,7 +196,7 @@ } src_install() { - local dest=/usr/$(get_libdir)/pypy3 + local dest=/usr/$(get_libdir)/pypy3.5 einfo "Installing PyPy ..." exeinto "${dest}" doexe pypy3-c libpypy3-c.so @@ -210,7 +205,7 @@ # preserve mtimes to avoid obsoleting caches insopts -p doins -r include lib_pypy lib-python - dosym ../$(get_libdir)/pypy3/pypy3-c /usr/bin/pypy3 + dosym ../$(get_libdir)/pypy3.5/pypy3-c /usr/bin/pypy3 dodoc README.rst if ! use gdbm; then @@ -232,7 +227,7 @@ local -x PYTHON=${ED%/}${dest}/pypy3-c # we can't use eclass function since PyPy is dumb and always gives # paths relative to the interpreter - local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy3/site-packages + local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy3.5/site-packages python_export pypy3 EPYTHON echo "EPYTHON='${EPYTHON}'" > epython.py || die
Please attach the diff since bz malforms comments. Do I guess correctly that pypy3.5 directory is now forced upstream?
(In reply to Michał Górny from comment #1) > Please attach the diff since bz malforms comments. Will do. > Do I guess correctly that pypy3.5 directory is now forced upstream? They changed sysconfig to use pypy3.5, see commit https://bitbucket.org/pypy/pypy/commits/5ca68e43950be83. After rebuilding all pypy enabled packages against pypy3-7.0.0 there was nothing left in the old directories.
Created attachment 564128 [details, diff] pypy3 6.0.0 to 7.0.0 ebuild patch
Hmm, has it been officially released? I don't see it on neither on homepage [1], nor on status blog [2]. [1]:https://www.pypy.org/download.html [2]:https://morepypy.blogspot.com/
The pygobject maintainer mentioned to me pypy team tagged the release so I started preparing the ebuild and opened this bug.. See http://doc.pypy.org/en/latest/release-v7.0.0.html and https://bitbucket.org/pypy/pypy/downloads/ has packages for download. I did find a post on their ml about it, not sure what to make of that.. Its a release candidate but the version and release notes don't make it look like it is. https://mail.python.org/pipermail/pypy-dev/2019-February/015691.html
Created attachment 564320 [details, diff] pypy 6.0.0 to 7.0.0 ebuild patch Other than that patches apply cleanly the changed are the same as with pypy3.
They posted it on the download page [1] and announced it on the blog [2]. [1] https://pypy.org/download.html [2] https://morepypy.blogspot.com/2019/02/pypy-v700-triple-release-of-27-35-and.html I looked at he -bin versions but they are on a binhost so not much I can do from here. If you need anything else from me just let me know.
Yeah, I've noticed. Please give me some time to test this and build the binpackages. Thanks for the patches; I can't use them since you haven't signed off on them but I think I've got all the changes.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c6ad58918e983f531e19772f51bbb39e1e04537 commit 8c6ad58918e983f531e19772f51bbb39e1e04537 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2019-02-14 10:27:46 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2019-02-14 22:07:10 +0000 dev-python/pypy3: Bump to 7.0.0 Bump to the 7.0.0 release. Upstream has apparently changed install location to be /usr/lib/pypy3.5 independently of prefix, so we remove the Gentoo patch and adjust our paths accordingly. Also distutils C++ patch needed rebasing. Thanks to Sander Sweers for early reporting and research. Bug: https://bugs.gentoo.org/677398 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-python/pypy3/Manifest | 1 + .../pypy3/files/7.0.0_all_distutils_cxx.patch | 347 +++++++++++++++++++++ dev-python/pypy3/pypy3-7.0.0.ebuild | 240 ++++++++++++++ 3 files changed, 588 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63eb3421cece1d55055e4f4e6f89b0fd5e86b4e4 commit 63eb3421cece1d55055e4f4e6f89b0fd5e86b4e4 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2019-02-14 08:05:18 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2019-02-14 22:06:52 +0000 dev-python/pypy: Bump to 7.0.0 Bump to the new 7.0.0 release, and update CPython patchset. Upstream has apparently started using /usr/lib/pypy2.7 as package location independently of prefix, so our patches stopped being necessary (but we need subslot bump to move everything). Thanks to Sander Sweers for the early notification and research on the new release. Bug: https://bugs.gentoo.org/677398 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-python/pypy/Manifest | 2 + dev-python/pypy/pypy-7.0.0.ebuild | 282 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 284 insertions(+)
FTR, binary package builds are still in progress and I'm going to commit them tomorrow. I'll probably also keep the whole thing masked until I rebuild my systems with the new directories and see if it breaks anything.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67c5e0a33d91d170991f57ab7bd672b30e0b2703 commit 67c5e0a33d91d170991f57ab7bd672b30e0b2703 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2019-02-15 05:08:41 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2019-02-15 05:10:02 +0000 dev-python/pypy3-bin: Bump to 7.0.0 Closes: https://bugs.gentoo.org/677398 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-python/pypy3-bin/Manifest | 6 + .../pypy3-bin/files/7.0.0_all_distutils_cxx.patch | 347 +++++++++++++++++++++ dev-python/pypy3-bin/pypy3-bin-7.0.0.ebuild | 178 +++++++++++ 3 files changed, 531 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd20425484ded4388b351570d7a276c59e3c3c94 commit dd20425484ded4388b351570d7a276c59e3c3c94 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2019-02-15 04:59:58 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2019-02-15 05:08:15 +0000 dev-python/pypy-bin: Bump to 7.0.0 Closes: https://bugs.gentoo.org/677398 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-python/pypy-bin/Manifest | 12 ++ dev-python/pypy-bin/pypy-bin-7.0.0.ebuild | 204 ++++++++++++++++++++++++++++++ 2 files changed, 216 insertions(+)
So I've just verified this and all that fixed path schema is bullshit. After removing the Gentoo patches, PyPy is back to installing everything into /usr/lib/pypy*. And the only reason everything didn't blow up is because the arbitrary install path change (which is probably entirely meaningless waste of users' time) silenced distutils-r1 check for this.
For me the /usr/lib/pypy/ is absent and nothing installs there. ls -ld /usr/lib/py* drwxr-xr-x 6 root root 4096 feb 15 14:31 /usr/lib/pypy2.7 drwxr-xr-x 6 root root 4096 feb 15 17:40 /usr/lib/pypy3.5 drwxr-xr-x 27 root root 20480 jan 18 17:37 /usr/lib/python2.7 drwxr-xr-x 3 root root 4096 jan 18 17:50 /usr/lib/python3.4 drwxr-xr-x 36 root root 4096 jan 18 18:40 /usr/lib/python3.5 drwxr-xr-x 35 root root 12288 jan 18 17:39 /usr/lib/python3.6 drwxr-xr-x 35 root root 12288 jan 18 17:41 /usr/lib/python3.7 drwxr-xr-x 8 root root 4096 feb 15 17:51 /usr/lib/python-exec $ equery l pypy pypy3 * Searching for pypy ... [IP-] [ ] dev-python/pypy-7.0.0:0/41-py27 * Searching for pypy3 ... [IP-] [ ] dev-python/pypy3-7.0.0:0/71 Which packages are causing you problems?
Portage, for example, installs into /usr/lib/pypy3.5/share/...
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f5607664886fe43336cdde1cead50d2ffb8b8a0 commit 9f5607664886fe43336cdde1cead50d2ffb8b8a0 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2019-02-16 14:58:16 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2019-02-16 15:08:26 +0000 package.mask: Unmask pypy{,3}-7.0.0 Now that Gentoo path patch has been restored, there's nothing special about the 7.0.0 release, so we can unmask it as well. Not that the mask still applied once I revbumped them. Closes: https://bugs.gentoo.org/677398 Signed-off-by: Michał Górny <mgorny@gentoo.org> profiles/package.mask | 10 ---------- 1 file changed, 10 deletions(-)