fix: noconfirm auto-selects first AUR match

This commit is contained in:
2026-05-08 11:01:02 +01:00
parent d39cdc3fd9
commit 153cca6132
8056 changed files with 1983098 additions and 779 deletions
@@ -0,0 +1,19 @@
#include <Python.h>
#ifndef Py_LIMITED_API
#error Py_LIMITED_API must be defined.
#elif Py_LIMITED_API != 0x03070000
#error Wrong value for Py_LIMITED_API
#endif
static struct PyModuleDef limited_module = {
PyModuleDef_HEAD_INIT,
"limited_api_test",
NULL,
-1,
NULL
};
PyMODINIT_FUNC PyInit_limited(void) {
return PyModule_Create(&limited_module);
}
@@ -0,0 +1,16 @@
project('Python limited api', 'c',
default_options : ['buildtype=release', 'werror=true'])
py_mod = import('python')
py = py_mod.find_installation()
ext_mod_limited = py.extension_module('limited',
'limited.c',
limited_api: '3.7',
install: true,
)
ext_mod = py.extension_module('not_limited',
'not_limited.c',
install: true,
)
@@ -0,0 +1,59 @@
#include <Python.h>
#include <stdio.h>
#ifdef Py_LIMITED_API
#error Py_LIMITED_API must not be defined.
#endif
/* This function explicitly calls functions whose declaration is elided when
* Py_LIMITED_API is defined. This is to test that the linker is actually
* linking to the right version of the library on Windows. */
static PyObject *meth_not_limited(PyObject *self, PyObject *args)
{
PyObject *list;
Py_ssize_t size;
if (!PyArg_ParseTuple(args, "o", & list))
return NULL;
if (!PyList_Check(list)) {
PyErr_Format(PyExc_TypeError, "expected 'list'");
return NULL;
}
/* PyList_GET_SIZE and PyList_GET_ITEM are only available if Py_LIMITED_API
* is not defined. It seems likely that they will remain excluded from the
* limited API as their checked counterparts (PyList_GetSize and
* PyList_GetItem) are made available in that mode instead. */
size = PyList_GET_SIZE(list);
for(Py_ssize_t i = 0; i < size; ++i) {
PyObject *element = PyList_GET_ITEM(list, i);
if (element == NULL) {
return NULL;
}
if(PyObject_Print(element, stdout, Py_PRINT_RAW) == -1) {
return NULL;
}
}
Py_RETURN_NONE;
}
static struct PyMethodDef not_limited_methods[] = {
{ "not_limited", meth_not_limited, METH_VARARGS,
"Calls functions whose declaration is elided by Py_LIMITED_API" },
{ NULL, NULL, 0, NULL }
};
static struct PyModuleDef not_limited_module = {
PyModuleDef_HEAD_INIT,
"not_limited_api_test",
NULL,
-1,
not_limited_methods
};
PyMODINIT_FUNC PyInit_not_limited(void) {
return PyModule_Create(&not_limited_module);
}
@@ -0,0 +1,8 @@
{
"installed": [
{"type": "python_limited_lib", "file": "usr/@PYTHON_PLATLIB@/limited"},
{"type": "py_limited_implib", "file": "usr/@PYTHON_PLATLIB@/limited"},
{"type": "python_lib", "file": "usr/@PYTHON_PLATLIB@/not_limited"},
{"type": "py_implib", "file": "usr/@PYTHON_PLATLIB@/not_limited"}
]
}