Commit graph

75 commits

Author SHA1 Message Date
Hugh Davenport 8dc146f9f2 Ports: Add hotkey for Development system menu 2024-01-14 15:16:45 -07:00
Tim Schumacher 592c3a8cb4 Ports: Remove termcap
termcap has last been updated in 2002, and is relying on a lot of
deprecated C99 behavior. All two current users are fine without it,
so just remove it completely.
2023-12-14 16:43:37 +01:00
Linus Groh 499441c747 Ports: Update Python to 3.12.1
Released on 2023-12-08.
https://www.python.org/downloads/release/python-3121/
2023-12-09 01:44:43 +01:00
Romain Chardiny 71d4ab367a Ports/python3: Add support for TCP_NODELAY 2023-11-11 15:05:52 +01:00
Linus Groh 006bf1905b Ports: Update Python to 3.12.0
Released on 2023-10-02.
https://www.python.org/downloads/release/python-3120/

Note that the top-level setup.py script has disappeared completely,
hence the two dropped patches. AFAICT this doesn't regress building any
of the native modules, presumably because the configure script fully
takes care of this now:

```
The necessary bits to build these optional modules were not found:
_dbm                  _gdbm                 _posixshmem
_tkinter              nis                   ossaudiodev
To find the necessary bits, look in configure.ac and config.log.

Checked 111 modules (31 built-in, 73 shared, 1 n/a on serenityos-x86_64,
0 disabled, 6 missing, 0 failed on import)
```
2023-10-03 15:21:40 +02:00
Oskar Skog ebee480bcc Ports/python3: Update patch for configure
- Dropped modifications to `configure.ac`
- "Merged" `0007-Set-name-of-shared-libpython.patch` into
  `0002-Tweak-configure.patch`
- Use `CCSHARED=fPIC`
2023-09-29 09:55:48 +02:00
Tim Schumacher 456fd9f574 Ports: Switch to the new files syntax 2023-09-09 01:06:31 +02:00
Linus Groh ebb7079795 Ports: Update Python to 3.11.5
Released on 2023-08-24.
https://www.python.org/downloads/release/python-3115/
2023-08-30 09:34:43 +02:00
Tim Schumacher fb4db096cb Ports: Remove the filename entry from files 2023-08-08 19:57:43 +02:00
Tim Schumacher 2732545b4c Ports: Ensure that the download filename matches the URL basename
This is a preparation step for removing support for explicitly setting a
download filename entirely.
2023-08-08 19:57:43 +02:00
Tim Schumacher 284fee9e77 Ports: Make files a proper array 2023-08-08 19:57:43 +02:00
Tim Schumacher 89b0a61067 Ports: Remove support for auth_types other than sha256 2023-07-10 13:08:27 +02:00
Fabian Dellwing 16ef5e2631 Ports: Prefer host python3.xx over python3
Previously we relied on the presence of a `python3` binary in the
PATH that has the correct minor version to build the port.

We now first check for the presence of a `python3.minor` binary
in the PATH and use that if found.

This allows users that have multiple Python versions installed
simultaneously (like from a PPA) to build the port without having
to change their main version.
2023-04-22 12:56:36 +01:00
Linus Groh cb79c6bc2f Ports: Add xz to Python dependencies
This makes it build the `_lzma` module, and thus makes `lzma` work.

Thanks to hjalves for the suggestion!
2023-04-15 18:30:24 +02:00
Linus Groh 960b55dd7d Ports: Update Python to 3.11.3
Released on 2023-04-05.
https://www.python.org/downloads/release/python-3113/
2023-04-15 18:10:49 +02:00
Julian Offenhäuser b789debe07 Ports: Build python3 port with shared libraries 2023-02-11 10:41:59 +01:00
Linus Groh edf3aee4df Ports/python3: Update Python to 3.11.0
This now requires `--host` and `--with-build-python` to be passed to the
configure script when cross compiling; the former we simply do like in
many other package.sh scripts as well, the latter we point to `python3`,
which is expected to match the port's version anyway.
2022-10-25 13:11:42 +01:00
Linus Groh 35ec636b5d Ports/python3: Reformat package.sh according to our current guidelines 2022-10-25 13:11:42 +01:00
Humberto Alves fb5a39498a Ports/python3: Make pip work
Add two patches to allow Python's package manager to work on Serenity:

- The first one enables zlib module, which is needed for `ensurepip`
  command;
- The second patch fixes pip downloads, so it's possible to install
  packages from the PyPI repository.
2022-09-02 14:03:24 +01:00
Andrew Kaster dcc0f299be Toolchain+Ports: Install host python into Local/python, not Local/$ARCH
Following the pattern for qemu, mold, and clang, we should install the
host python required to build the python port into its own install tree
rather than forcing it into the GNU compiler's bindir.
2022-06-30 12:29:18 +01:00
Tim Schumacher d426c5a4b2 Ports: Format patches without numbering, commit hash or version number 2022-06-08 17:58:36 +01:00
EWouters 218ade0b8b Ports/python3: Update python3 to version 3.10.4 2022-04-11 19:43:56 -07:00
Linus Groh 6b8358b1f1 Ports: Update Python to 3.10.3
Released on 2022-03-16.
https://www.python.org/downloads/release/python-3103/
2022-03-25 22:27:14 +00:00
Linus Groh ab976667c4 Ports: Update Python to 3.10.2
Released on 2022-01-14.
https://www.python.org/downloads/release/python-3102/
2022-01-30 17:40:39 +00:00
Linus Groh fc02370dc7 Ports: Regenerate patches for python3 2022-01-16 10:32:50 +03:30
Ali Mohammad Pur cdd6d68b2a Ports: Remove some config.sub patches and download a fresh one if needed
All of these patches did the same thing, which is already in upstream
config.sub.
With this change, we need only add `use_fresh_config_sub=true` to
the package.sh file.
Note that this is not done automatically in case the port has a modified
config.sub file.
2022-01-16 10:32:50 +03:30
Andrew Kaster 3ff7b76502 Ports: Don't try to enable PGO for python3 when cross-compiling
The --enable-optimizations flag attempts to enable PGO. Profile-guided
optimization is great in general, but will not work at all when doing a
cross-compile. If there's a more fine-grained flag for generic
optimization levels that doesn't try to do PGO, we should enable that
instead. The flag also enables `-fno-semantic-interposition`, but our
GCC patches enable that by default for -fPIC anyway, so that's not
necessary.
2022-01-08 18:56:29 +01:00
Idan Horowitz ba9a525ba6 Ports: Remove obsolete siginfo_t::si_error Python3 patch 2021-12-22 22:53:56 +02:00
Tim Schumacher 48dc28996d Ports: Update Python patches for the recent signal changes
The old patch to define `HAVE_SIGSET_T` is no longer needed, as we now
have implementations for `sigwaitinfo` and `sigtimedwait`.

Instead, for the same reason, we now have to remove a reference to
`si_errno`, which we haven't implemented yet but is just assumed to be
there.
2021-12-22 11:28:20 +01:00
Linus Groh db610d0cd6 Ports: Restore Python's setup.py patch
It appears that the patch still applied partially, which led to me
believing our changes were fully upstreamed. Only the _uuid module
specific changes didn't apply and are no longer needed, so simply
restore the other ones that I removed.
2021-12-12 00:23:04 +00:00
Linus Groh 6d9a1d3c93 Ports: Update Python to 3.10.1 :^)
This was released a couple of days ago, on 2021-12-06 and contains
various changes that we previously needed custom patches for, so we are
now able to remove those and compile more unchanged upstream sources.
Thanks to Rodrigo for making that effort! :^)
2021-12-11 19:02:00 +00:00
Rodrigo Tobar c3a6d96988 Ports: Patch Python to deal with Serenity's strftime
The xmlrpc.client module has some trial-and-error logic at module import
time to figure out how to properly format years using strftime. There
have already been problems in the past with this code in Python (see
https://bugs.python.org/issue13305, which is still open), and Serenity
only adds to that.

This problem has been reported at https://bugs.python.org/issue45386, so
hopefully in time we won't need this patch anymore.
2021-10-06 13:57:52 +01:00
Rodrigo Tobar c38c93bff1 Ports: Patch Python's http.client due to unimplemented socket option
This problem has been reported on https://bugs.python.org/issue45328 and
a fix has been provided, potential review and merge are pending.
2021-10-06 13:57:52 +01:00
Rodrigo Tobar 3c192f492a Ports: Compile Python against OpenSSL to gain ssl module
Compiling against an OpenSSL thread-enabled shared library (see #10207)
lets Python compile its _ssl module, which yields an importable ssl
module.

The ssl module suffers from the same problem described in #10014 though,
namely that python crashes when importing different modules results in
multiple libcrypto.so loads, and its functions are later invoked by one
of the modules. Once #10277 is merged though the module becomes quite
usable.
2021-10-05 15:45:08 +01:00
Tim Schumacher c07f91474d Ports: Make array-like settings actual arrays
We may need entries with spaces in makeopts, installopts, and
configopts, and at that point we should also convert depends and
auth_opts to avoid confusion.
2021-10-05 02:13:08 +02:00
Linus Groh fb98e12f86 Ports: Update Python to 3.10.0
Released on 2021-10-04.
https://www.python.org/downloads/release/python-3100/
2021-10-04 21:46:25 +01:00
Linus Groh 5426901521 Ports: Update Python to 3.10.0rc2
Released on 2021-09-07.
https://www.python.org/downloads/release/python-3100rc2/
2021-09-18 21:20:18 +02:00
Linus Groh 6595db9ecf Ports: Build Python with --enable-optimizations
This no longer results in linker errors as the FIXME states, so let's
get some perf for free :^)
2021-09-11 00:28:39 +02:00
Linus Groh 6b15faed30 Ports: Build Python with libuuid
This makes the _uuid module work :^)
2021-09-11 00:28:39 +02:00
Rodrigo Tobar 430e5d27aa Ports: Fix compilation of python3 socket module 2021-09-09 17:51:15 +01:00
Linus Groh 81784afbe1 Ports: Fix Python's expected SHA256 sum
Fixes #9265.
2021-08-07 15:10:50 +01:00
Linus Groh 18f507520e Ports: Update Python to 3.10.0rc1
Released on 2021-08-02.
https://www.python.org/downloads/release/python-3100rc1/

This contains the first upstreamed change for SerenityOS, making the
webbrowser module work with Browser out of the box :^)
2021-08-03 21:01:07 +01:00
Linus Groh 5a0a426c18 Ports: Make Python version check work with suffixed versions
E.g. a1, b1, rc1. Simply don't parse anything beyond major and minor.
2021-08-03 21:01:07 +01:00
Linus Groh a613e00caa Ports: Change Python's auth_type to sha256 2021-08-03 21:01:07 +01:00
Linus Groh 84efed502a Ports: Add a launcher for Python
We're even downloading an additional older icon from the git repo
instead of using their current ones for accurate look and feel :^)
2021-07-20 00:58:26 +01:00
Linus Groh c77215fc61 Ports: Build Python with ncurses and termcap
Neither the _curses nor the termios module builds to completion
currently due to some missing functions, but we can let it try
nonetheless - it'll likely get fixed at some point :^)
2021-07-10 11:13:02 +01:00
Linus Groh b2d68913d3 Ports: Build Python with sqlite
This makes the _sqlite3 module work :^)
2021-07-10 11:13:02 +01:00
Linus Groh 3b863561d7 Ports: Build Python with bzip2
This makes the _bz2 module work :^)
2021-07-10 11:13:02 +01:00
Linus Groh 5e3af8b7db Ports: Build Python with readline
This provides a *much* improved REPL experience :^)
2021-07-10 11:13:02 +01:00
Linus Groh 123c2f2f7f Ports: Add a patch for Python's setup.py to consider /usr/local
This makes it find more includes and libraries than by default when
crosscompiling.
2021-07-10 11:13:02 +01:00