~alpine/devel

6 4

Trying to package pypy...

Thomas Liske <thomas@fiasko-nw.net>
Details
Message ID
<e94fa11a9592291752f59dc2540e8bd90571d0e3.camel@fiasko-nw.net>
DKIM signature
missing
Download raw message
Hi,

I've tried to package pypy for alpine[1] but got stucked. Building pypy
has a dependency on python2 or pypy. Building using python2 takes some
time and therefore the docs recommend to use pre-build pypy[2]
binaries.

[1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20124
[2] https://doc.pypy.org/en/latest/build.html#building-pypy-from-source

Sadly I did not manage to run the pre-build binaries on Alpine. So I
switched to python2 which takes longer than using pypy to build pypy.
Now it fails[3] due to reaching the maximum execution time for CI jobs.

[3] https://gitlab.alpinelinux.org/liske/aports/-/jobs/364261

Any ideas how to proceed with packaging pypy?


Regards,
Thomas
Duncan Bellamy <a.16bit.sysop@me.com>
Details
Message ID
<E04E1E6B-B3C3-4942-B49D-0B45F15B9AFC@me.com>
In-Reply-To
<e94fa11a9592291752f59dc2540e8bd90571d0e3.camel@fiasko-nw.net> (view parent)
DKIM signature
missing
Download raw message
You can set the timeout in the ci cd settings of your aports project under general pipelines, once it’s built could you build new versions with previous version?

Seems odd how it still uses python2 which is no longer supported.

Duncan

> On 5 Apr 2021, at 08:55, Thomas Liske <thomas@fiasko-nw.net> wrote:
> 
> Hi,
> 
> I've tried to package pypy for alpine[1] but got stucked. Building pypy
> has a dependency on python2 or pypy. Building using python2 takes some
> time and therefore the docs recommend to use pre-build pypy[2]
> binaries.
> 
> [1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20124
> [2] https://doc.pypy.org/en/latest/build.html#building-pypy-from-source
> 
> Sadly I did not manage to run the pre-build binaries on Alpine. So I
> switched to python2 which takes longer than using pypy to build pypy.
> Now it fails[3] due to reaching the maximum execution time for CI jobs.
> 
> [3] https://gitlab.alpinelinux.org/liske/aports/-/jobs/364261
> 
> Any ideas how to proceed with packaging pypy?
> 
> 
> Regards,
> Thomas
> 
> 
Thomas Liske <thomas@fiasko-nw.net>
Details
Message ID
<0a0d25307c6b612a3283e7f51637a67ee2be5136.camel@fiasko-nw.net>
In-Reply-To
<E04E1E6B-B3C3-4942-B49D-0B45F15B9AFC@me.com> (view parent)
DKIM signature
missing
Download raw message
Hi,

On Mon, 2021-04-05 at 12:06 +0100, Duncan Bellamy wrote:
> You can set the timeout in the ci cd settings of your aports project
> under general pipelines, once it’s built could you build new versions
> with previous version?

thanks for the hint on the timeout settings - I was not aware that I
could change it by myself.


> Seems odd how it still uses python2 which is no longer supported.

I know and I feel bad about it. According to the pypy FAQ[1] they are
stucked to have a python2 compliant python interpreter available. If
pypy would be already available in alpine it would be possible to
rebuild pypy using pypy. Without python2 and pypy it seems to be not
possible to build pypy at all. The pypy guys wrote they will support
pypy forever :-O

[1] 
https://doc.pypy.org/en/latest/faq.html#how-long-will-pypy-support-python2

I wonder if it could be the way to go for alpine:

- get pypy in testing build with the still available python2
- rebuild pypy using pypy from testing
- add pypy3 build using pypy

(This is a little bit like build gcc using gcc, isn't it?)


Thomas


> Duncan
> 
> > On 5 Apr 2021, at 08:55, Thomas Liske <thomas@fiasko-nw.net> wrote:
> > 
> > Hi,
> > 
> > I've tried to package pypy for alpine[1] but got stucked. Building
> > pypy
> > has a dependency on python2 or pypy. Building using python2 takes
> > some
> > time and therefore the docs recommend to use pre-build pypy[2]
> > binaries.
> > 
> > [1] 
> > https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20124
> > [2] 
> > https://doc.pypy.org/en/latest/build.html#building-pypy-from-source
> > 
> > Sadly I did not manage to run the pre-build binaries on Alpine. So
> > I
> > switched to python2 which takes longer than using pypy to build
> > pypy.
> > Now it fails[3] due to reaching the maximum execution time for CI
> > jobs.
> > 
> > [3] https://gitlab.alpinelinux.org/liske/aports/-/jobs/364261
> > 
> > Any ideas how to proceed with packaging pypy?
> > 
> > 
> > Regards,
> > Thomas
> > 
> > 
Details
Message ID
<20210406010003.afi272qi7wnqwl2h@wolfsden.cz>
In-Reply-To
<0a0d25307c6b612a3283e7f51637a67ee2be5136.camel@fiasko-nw.net> (view parent)
DKIM signature
missing
Download raw message
On 2021-04-06 02:06:12 +0200, Thomas Liske wrote:
> - get pypy in testing build with the still available python2
> - rebuild pypy using pypy from testing
> - add pypy3 build using pypy
> 
> (This is a little bit like build gcc using gcc, isn't it?)

I do not know much about the work necessary for cutting new version of
alpine, but once python2 is gone, how will the bootstrapping of the new
alpine version look like? For example, assuming python2 is gone in 3.14,
would you be able to use pypy from 3.13 for the build? Or would you
basically need to support python2 (at least in testing) for as long as
pypy depends on it?

W.

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
Details
Message ID
<99c05f5f-569e-f3d8-d9b1-6fd53a88fb52@dereferenced.org>
In-Reply-To
<20210406010003.afi272qi7wnqwl2h@wolfsden.cz> (view parent)
DKIM signature
missing
Download raw message
Hello,

On Tue, 6 Apr 2021, Wolf wrote:

> On 2021-04-06 02:06:12 +0200, Thomas Liske wrote:
>> - get pypy in testing build with the still available python2
>> - rebuild pypy using pypy from testing
>> - add pypy3 build using pypy
>>
>> (This is a little bit like build gcc using gcc, isn't it?)
>
> I do not know much about the work necessary for cutting new version of
> alpine, but once python2 is gone, how will the bootstrapping of the new
> alpine version look like? For example, assuming python2 is gone in 3.14,
> would you be able to use pypy from 3.13 for the build? Or would you
> basically need to support python2 (at least in testing) for as long as
> pypy depends on it?

python2 won't be gone in 3.14.  We are probably at least a year away from 
dropping python2.

In this case, we would build pypy with the edge pypy, though.  Which means 
that once python2 is dropped, bringing pypy up on a new target would 
require a cross-compiled pypy.

Ariadne
Details
Message ID
<f0ecfac5-2682-c078-f62e-656dcf6bad2d@dereferenced.org>
In-Reply-To
<e94fa11a9592291752f59dc2540e8bd90571d0e3.camel@fiasko-nw.net> (view parent)
DKIM signature
missing
Download raw message
Hi,

On Mon, 5 Apr 2021, Thomas Liske wrote:

> Hi,
>
> I've tried to package pypy for alpine[1] but got stucked. Building pypy
> has a dependency on python2 or pypy. Building using python2 takes some
> time and therefore the docs recommend to use pre-build pypy[2]
> binaries.
>
> [1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20124
> [2] https://doc.pypy.org/en/latest/build.html#building-pypy-from-source
>
> Sadly I did not manage to run the pre-build binaries on Alpine.

This would be a policy violation, and such an APKBUILD would be rejected. 
The reason why is because we cannot trust the security of any prebuilt 
compilers.

> So I switched to python2 which takes longer than using pypy to build 
> pypy. Now it fails[3] due to reaching the maximum execution time for CI 
> jobs.

You can upgrade the CI limit on your repo.

Ariadne
Thomas Liske <thomas@fiasko-nw.net>
Details
Message ID
<3e5bfc40e43c39101d28576f45ed7063b7fb48c0.camel@fiasko-nw.net>
In-Reply-To
<20210406010003.afi272qi7wnqwl2h@wolfsden.cz> (view parent)
DKIM signature
missing
Download raw message
Hi,

On Tue, 2021-04-06 at 03:00 +0200, Wolf wrote:
> I do not know much about the work necessary for cutting new version
> of
> alpine, but once python2 is gone, how will the bootstrapping of the
> new
> alpine version look like? For example, assuming python2 is gone in
> 3.14,
> would you be able to use pypy from 3.13 for the build? Or would you
> basically need to support python2 (at least in testing) for as long
> as
> pypy depends on it?

as soon as pypy is available in etch it is possible to build further
releases of pypy using pypy. I'm going to drop the make_depend on
python2 ASAP. Using pypy to build pypy is also recommended upstream.

I've removed the WIP: from the MR[1] and I'm looking for feedback :-)

[1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20124

I've put the pypy + pypy-dev packages from CI into a docker container
running alpine:latest and did successfully run some custom tests
including building psycopg2cffi using pip.


Thomas
Reply to thread Export thread (mbox)