aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/python/package.az
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-19 02:06:17 +0900
committerOphestra <cat@gensokyo.uk>2026-05-19 02:06:17 +0900
commit1ed027846de4b8b29944ee5412fc364d2574112b (patch)
tree63c3a0f9f5b8d26845eab644b99889ee7c5248e2 /internal/rosa/package/python/package.az
parent2f376d4813e473525849ab690f7b8001d52b92b6 (diff)
internal/rosa/package: migrate python interpreter
Packages will take quite some work. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/package/python/package.az')
-rw-r--r--internal/rosa/package/python/package.az70
1 files changed, 70 insertions, 0 deletions
diff --git a/internal/rosa/package/python/package.az b/internal/rosa/package/python/package.az
new file mode 100644
index 00000000..70699250
--- /dev/null
+++ b/internal/rosa/package/python/package.az
@@ -0,0 +1,70 @@
+package python {
+ description = "the Python programming language interpreter";
+ website = "https://www.python.org";
+ anitya = 13254;
+
+ version* = "3.14.5";
+ source = remoteTar {
+ url = "https://www.python.org/ftp/python/"+version+
+ "/Python-"+version+".tgz";
+ checksum = "zYIpDlk2ftZ-UVGCQS1rthle2OHoyXV653ztWiopKV1NhmIJf1K2hHbkwM4DozQ9";
+ compress = gzip;
+ };
+ patches = [ "zipfile-no-default-strict_timestamps.patch" ];
+
+ // test_synopsis_sourceless assumes this is writable and checks __pycache__
+ writable = true;
+ chmod = true;
+
+ env = [
+ "EXTRATESTOPTS=-j0 -x " + join {
+ elems = [
+ // requires internet access (http://www.pythontest.net/)
+ "test_asyncio",
+ "test_socket",
+ "test_urllib2",
+ "test_urllibnet",
+ "test_urllib2net",
+
+ // makes assumptions about uid_map/gid_map
+ "test_os",
+ "test_subprocess",
+
+ // patched out insane strict_timestamps default
+ "test_zipfile",
+
+ // requires gcc
+ "test_ctypes",
+
+ // breaks on llvm
+ "test_dbm_gnu",
+ ];
+ sep = " -x ";
+ },
+
+ // _ctypes appears to infer something from the linker name
+ "LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
+ "ld-musl-" + linuxArch + ".so.1",
+ ];
+
+ exec = make {
+ check = [ "test" ];
+ };
+
+ inputs = [
+ zlib,
+ bzip2,
+ libffi,
+ openssl,
+
+ pkg-config,
+ xz,
+ ];
+
+ runtime = [
+ zlib,
+ bzip2,
+ libffi,
+ openssl,
+ ];
+}