40 lines
1.2 KiB
Plaintext
40 lines
1.2 KiB
Plaintext
/*
|
|
* python — CPython 3.14.
|
|
*
|
|
* Needed by the build-tool layer: meson, ninja's configure.py, and most
|
|
* of modern tooling. Self-contained build (default configure): the
|
|
* interpreter links its own bundled libpython statically, so no runtime
|
|
* lib resolution is needed.
|
|
*
|
|
* NOTE: optional deps (libffi → ctypes) are auto-disabled when absent;
|
|
* the build works on a barebones system without them. setuptools is NOT
|
|
* bundled — packages that need it must ship it themselves.
|
|
*/
|
|
package "python" {
|
|
const version = "3.14.7"
|
|
const source = "https://www.python.org/ftp/python/${version}/Python-${version}.tgz"
|
|
sha256 = "62859805f6fdf25e2bcbf3fa3217801e1996887ca33e6a2af80674bdfa2dbe07"
|
|
license = "PSF-2.0"
|
|
|
|
provides = ["python3", "python3.14"]
|
|
|
|
depends = [
|
|
{ name = "make" },
|
|
]
|
|
|
|
prepare {
|
|
curl -L -O ${source}
|
|
echo "62859805f6fdf25e2bcbf3fa3217801e1996887ca33e6a2af80674bdfa2dbe07 Python-${version}.tgz" | sha256sum -c -
|
|
tar xf Python-${version}.tgz --strip-components=1
|
|
}
|
|
|
|
build {
|
|
./configure --prefix=${prefix}
|
|
make -j${jobs}
|
|
}
|
|
|
|
install {
|
|
make DESTDIR=${destdir} install
|
|
}
|
|
}
|