Package Details: python37 3.7.17-1

Git Clone URL: https://aur.archlinux.org/python37.git (read-only, click to copy)
Package Base: python37
Description: Major release 3.7 of the Python high-level programming language
Upstream URL: https://www.python.org/
Keywords: python python3
Licenses: custom
Provides: python
Submitter: 5long
Maintainer: greut (jrd)
Last Packager: greut
Votes: 33
Popularity: 0.013176
First Submitted: 2019-11-14 21:23 (UTC)
Last Updated: 2023-06-14 07:53 (UTC)

Dependencies (16)

Required by (13306)

Sources (6)

Latest Comments

« First ‹ Previous 1 .. 3 4 5 6 7 8 9 10 Next › Last »

5long commented on 2019-12-11 13:57 (UTC)

@yurikoles

Running tests in check() is to check for correctness. Running tests with ./configure --enable-optimizations is for, literally, optimizations. They are different things. It's impossible to move ./configure --enable-optimizations into check() without breaking the build.

yurikoles commented on 2019-12-10 20:04 (UTC)

@5long

why don't you use PKGBUILD check function for test? It's straightforward to then --nocheck

5long commented on 2019-12-10 18:44 (UTC)

@yurikoles: I just pushed 3.7.5-3 to AUR. Now the test suite to run is a lot smaller (from 400+ tests to 40) and the building time is cut down to roughly 1/4. Incidently, the potentially hanging test test_socket is now skipped by default.

If you really want to skip the tests, you can remove the --enable-optimizations option from ./configure. But beware that this will build a less performant Python. See https://stackoverflow.com/q/41405728 for an explaination.

yurikoles commented on 2019-12-10 18:03 (UTC)

How to disable tests during build?

5long commented on 2019-12-08 15:53 (UTC)

@PeteAnderson: I'm not quite sure what are you trying to achieve. Your sed command added in prepare() will fail, since Makefile isn't generated yet before running ./configure

Suppose the sed command will succeed (say, added in build() right before running make), it'll append a dangling -x in the test command missing a required test module name and make the test command fail instantly, effectively skipping the whole test suite.

Besides, the whole point of PGO build is to run the test suite first, watch how the code behaves and optimize accordingly. If we're trying to skip running the tests, it'll no longer be a PGO build and we might as well just remove --enable-optimizations altogether.

PeteAnderson commented on 2019-12-06 22:15 (UTC)

I found this in the makefile:

# The task to run while instrumented when building the profile-opt target.
# We exclude unittests with -x that take a rediculious amount of time to
# run in the instrumented training build or do not provide much value.
PROFILE_TASK=-m test.regrtest --pgo

But whoever wrote the comment must have forgotten to actually add -x to the command. So I added this to PKGBUILD in prepare():

  sed -i -Ee 's|(PROFILE_TASK=-m test.regrtest --pgo)|\1 -x|' Makefile

This avoids running the tests while still building an optimized build, and gave me a functional 3.7 build in about 10 minutes.

yurikoles commented on 2019-11-27 11:29 (UTC)

sorry for false-flag

5long commented on 2019-11-25 12:10 (UTC)

@Fuzzy: Yes, building with --enable-optimizations does run tests due to PGO optimization. Maybe I'll just remove this ./configure option in the next version of PKGBUILD (but I haven't decided yet).

About the missing _ctypes module: you can try building the package in a clean chroot, which is explained in the wiki: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_clean_chroot This isn't trivial to setup and it will take up a fair bit of disk space. But it should solve most problems of "package builds differently on different machines".

Fuzzy commented on 2019-11-25 04:49 (UTC)

Hi! First, thanks for this package. I also ran into troubles with last arch upgrade... But: I don't see check() section in my PKGBUILD but somehow tests are ran. There are several failed tests but worse - 'test_socket' gets stuck. I had removed --enable-optimizations and yay built and installed it successfully. At first look it works but now I have another error: No module named '_ctypes' (pacman shows that I have libffi installed...)