Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pypam/, profiles/, dev-python/pypam/files/
Date: Thu, 30 Jun 2022 22:25:15
Message-Id: 1656627658.fca437485e58a32d6d3ece361d8a528f00aa8d82.sam@gentoo
1 commit: fca437485e58a32d6d3ece361d8a528f00aa8d82
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 30 22:20:49 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 30 22:20:58 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fca43748
7
8 dev-python/pypam: treeclean
9
10 Bug: https://bugs.gentoo.org/802927
11 Bug: https://bugs.gentoo.org/833297
12 Signed-off-by: Sam James <sam <AT> gentoo.org>
13
14 dev-python/pypam/Manifest | 1 -
15 dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch | 17 --
16 .../pypam/files/PyPAM-0.5.0-memory-errors.patch | 128 -------------
17 dev-python/pypam/files/PyPAM-0.5.0-nofree.patch | 60 -------
18 .../pypam/files/PyPAM-0.5.0-return-value.patch | 57 ------
19 dev-python/pypam/files/PyPAM-python3-support.patch | 198 ---------------------
20 dev-python/pypam/files/pypam-0.5.0-stricter.patch | 15 --
21 dev-python/pypam/metadata.xml | 5 -
22 dev-python/pypam/pypam-0.5.0-r6.ebuild | 45 -----
23 dev-python/pypam/pypam-0.5.0-r7.ebuild | 45 -----
24 dev-python/pypam/pypam-0.5.0-r8.ebuild | 40 -----
25 profiles/package.mask | 6 -
26 12 files changed, 617 deletions(-)
27
28 diff --git a/dev-python/pypam/Manifest b/dev-python/pypam/Manifest
29 deleted file mode 100644
30 index 01642e48981b..000000000000
31 --- a/dev-python/pypam/Manifest
32 +++ /dev/null
33 @@ -1 +0,0 @@
34 -DIST PyPAM-0.5.0.tar.gz 105206 BLAKE2B 7778275cae11606ca8e522d2f99fb0558c55545cdaedb3ff7c55b4bb693ed3429e22566912f53c7795f73316bc45f1bfbdf5a53daec234dba87e1c141e2410f2 SHA512 9e0e919e34930d2283307cd6665c5287c664a76a5de56367bd975867ac26b376ae03d30cb3bc4a16390c977ca2690cfd2e90ac73dcc7886b8c999444da4a07e0
35
36 diff --git a/dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch b/dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch
37 deleted file mode 100644
38 index 596491c46bcd..000000000000
39 --- a/dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch
40 +++ /dev/null
41 @@ -1,17 +0,0 @@
42 -diff -up a/PAMmodule.c b/PAMmodule.c
43 ---- a/PAMmodule.c
44 -+++ b/PAMmodule.c
45 -@@ -538,10 +538,11 @@ static void PyPAM_dealloc(PyPAMObject *s
46 - free(self->service);
47 - free(self->user);
48 - free(self->conv);
49 -- pam_end(self->pamh, PAM_SUCCESS);
50 -+ if (self->pamh)
51 -+ pam_end(self->pamh, PAM_SUCCESS);
52 - dlclose(self->dlh2);
53 - dlclose(self->dlh1);
54 -- PyMem_DEL(self);
55 -+ PyObject_Del(self);
56 - }
57 -
58 - static PyObject * PyPAM_getattr(PyPAMObject *self, char *name)
59
60 diff --git a/dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch b/dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch
61 deleted file mode 100644
62 index 6da3dd6eb7d6..000000000000
63 --- a/dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch
64 +++ /dev/null
65 @@ -1,128 +0,0 @@
66 -diff -up a/PAMmodule.c b/PAMmodule.c
67 ---- a/PAMmodule.c
68 -+++ b/PAMmodule.c
69 -@@ -37,33 +37,48 @@ static void PyPAM_Err(PyPAMObject *self,
70 -
71 - err_msg = pam_strerror(self->pamh, result);
72 - error = Py_BuildValue("(si)", err_msg, result);
73 -- Py_INCREF(PyPAM_Error);
74 - PyErr_SetObject(PyPAM_Error, error);
75 -+ Py_XDECREF(error);
76 - }
77 -
78 - static int PyPAM_conv(int num_msg, const struct pam_message **msg,
79 - struct pam_response **resp, void *appdata_ptr)
80 - {
81 -- PyObject *args;
82 --
83 -+ PyObject *args, *msgList, *respList, *item;
84 -+ struct pam_response *response, *spr;
85 - PyPAMObject* self = (PyPAMObject *) appdata_ptr;
86 -+
87 - if (self->callback == NULL)
88 - return PAM_CONV_ERR;
89 -
90 - Py_INCREF(self);
91 -
92 -- PyObject* msgList = PyList_New(num_msg);
93 --
94 -+ msgList = PyList_New(num_msg);
95 -+ if (msgList == NULL) {
96 -+ Py_DECREF(self);
97 -+ return PAM_CONV_ERR;
98 -+ }
99 -+
100 - for (int i = 0; i < num_msg; i++) {
101 -- PyList_SetItem(msgList, i,
102 -- Py_BuildValue("(si)", msg[i]->msg, msg[i]->msg_style));
103 -+ item = Py_BuildValue("(si)", msg[i]->msg, msg[i]->msg_style);
104 -+ if (item == NULL) {
105 -+ Py_DECREF(msgList);
106 -+ Py_DECREF(self);
107 -+ return PAM_CONV_ERR;
108 -+ }
109 -+ PyList_SetItem(msgList, i, item);
110 - }
111 --
112 -+
113 - args = Py_BuildValue("(OO)", self, msgList);
114 -- PyObject* respList = PyEval_CallObject(self->callback, args);
115 -+ if (args == NULL) {
116 -+ Py_DECREF(self);
117 -+ Py_DECREF(msgList);
118 -+ return PAM_CONV_ERR;
119 -+ }
120 -+ respList = PyEval_CallObject(self->callback, args);
121 - Py_DECREF(args);
122 - Py_DECREF(self);
123 --
124 -+
125 - if (respList == NULL)
126 - return PAM_CONV_ERR;
127 -
128 -@@ -71,11 +86,15 @@ static int PyPAM_conv(int num_msg, const
129 - Py_DECREF(respList);
130 - return PAM_CONV_ERR;
131 - }
132 --
133 -- *resp = (struct pam_response *) malloc(
134 -+
135 -+ response = (struct pam_response *) malloc(
136 - PyList_Size(respList) * sizeof(struct pam_response));
137 -+ if (response == NULL) {
138 -+ Py_DECREF(respList);
139 -+ return PAM_CONV_ERR;
140 -+ }
141 -+ spr = response;
142 -
143 -- struct pam_response* spr = *resp;
144 - for (int i = 0; i < PyList_Size(respList); i++, spr++) {
145 - PyObject* respTuple = PyList_GetItem(respList, i);
146 - char* resp_text;
147 -@@ -85,7 +104,7 @@ static int PyPAM_conv(int num_msg, const
148 - free((--spr)->resp);
149 - --i;
150 - }
151 -- free(*resp);
152 -+ free(response);
153 - Py_DECREF(respList);
154 - return PAM_CONV_ERR;
155 - }
156 -@@ -95,7 +114,8 @@ static int PyPAM_conv(int num_msg, const
157 - }
158 -
159 - Py_DECREF(respList);
160 --
161 -+ *resp = response;
162 -+
163 - return PAM_SUCCESS;
164 - }
165 -
166 -@@ -122,7 +142,11 @@ static PyObject * PyPAM_pam(PyObject *se
167 - PyPAMObject_Type.ob_type = &PyType_Type;
168 - p = (PyPAMObject *) PyObject_NEW(PyPAMObject, &PyPAMObject_Type);
169 -
170 -+ if (p == NULL)
171 -+ return NULL;
172 -+
173 - if ((spc = (struct pam_conv *) malloc(sizeof(struct pam_conv))) == NULL) {
174 -+ Py_DECREF((PyObject *)p);
175 - PyErr_SetString(PyExc_MemoryError, "out of memory");
176 - return NULL;
177 - }
178 -@@ -455,9 +479,15 @@ static PyObject * PyPAM_getenvlist(PyObj
179 - }
180 -
181 - retval = PyList_New(0);
182 -+ if (retval == NULL)
183 -+ return NULL;
184 -
185 - while ((cp = *(result++)) != NULL) {
186 - entry = Py_BuildValue("s", cp);
187 -+ if (entry == NULL) {
188 -+ Py_DECREF(retval);
189 -+ return NULL;
190 -+ }
191 - PyList_Append(retval, entry);
192 - Py_DECREF(entry);
193 - }
194
195 diff --git a/dev-python/pypam/files/PyPAM-0.5.0-nofree.patch b/dev-python/pypam/files/PyPAM-0.5.0-nofree.patch
196 deleted file mode 100644
197 index f27e9d543d06..000000000000
198 --- a/dev-python/pypam/files/PyPAM-0.5.0-nofree.patch
199 +++ /dev/null
200 @@ -1,60 +0,0 @@
201 -diff --git a/PAMmodule.c b/PAMmodule.c
202 -index 03cb799..a7ff8a5 100644
203 ---- a/PAMmodule.c
204 -+++ b/PAMmodule.c
205 -@@ -24,8 +24,6 @@ typedef struct {
206 - char *service;
207 - char *user;
208 - PyObject *callback;
209 -- struct pam_response *response_data;
210 -- int response_len;
211 - PyObject *user_data;
212 - void *dlh1, *dlh2;
213 - } PyPAMObject;
214 -@@ -54,15 +52,6 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg,
215 -
216 - Py_INCREF(self);
217 -
218 -- if (NULL != self->response_data) {
219 -- for (int i = 0; i < self->response_len; i++) {
220 -- free(self->response_data[0].resp);
221 -- }
222 -- free(self->response_data);
223 -- self->response_data = NULL;
224 -- self->response_len = 0;
225 -- }
226 --
227 - PyObject* msgList = PyList_New(num_msg);
228 -
229 - for (int i = 0; i < num_msg; i++) {
230 -@@ -92,6 +81,10 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg,
231 - char* resp_text;
232 - int resp_retcode = 0;
233 - if (!PyArg_ParseTuple(respTuple, "si", &resp_text, &resp_retcode)) {
234 -+ while (i > 0) {
235 -+ free((--spr)->resp);
236 -+ --i;
237 -+ }
238 - free(*resp);
239 - Py_DECREF(respList);
240 - return PAM_CONV_ERR;
241 -@@ -100,10 +93,6 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg,
242 - spr->resp_retcode = resp_retcode;
243 - Py_DECREF(respTuple);
244 - }
245 --
246 -- // Save this so we can free it later.
247 -- self->response_data = *resp;
248 -- self->response_len = PyList_Size(respList);
249 -
250 - Py_DECREF(respList);
251 -
252 -@@ -144,8 +133,6 @@ static PyObject * PyPAM_pam(PyObject *self, PyObject *args)
253 - p->user = NULL;
254 - Py_INCREF(Py_None);
255 - p->callback = Py_None;
256 -- p->response_data = NULL;
257 -- p->response_len = 0;
258 - Py_INCREF(Py_None);
259 - p->user_data = Py_None;
260 -
261
262 diff --git a/dev-python/pypam/files/PyPAM-0.5.0-return-value.patch b/dev-python/pypam/files/PyPAM-0.5.0-return-value.patch
263 deleted file mode 100644
264 index 3773d6fafd20..000000000000
265 --- a/dev-python/pypam/files/PyPAM-0.5.0-return-value.patch
266 +++ /dev/null
267 @@ -1,57 +0,0 @@
268 -diff -up a/PAMmodule.c b/PAMmodule.c
269 ---- a/PAMmodule.c
270 -+++ b/PAMmodule.c
271 -@@ -248,7 +248,7 @@ static PyObject * PyPAM_setcred(PyObject
272 - result = pam_setcred(_self->pamh, flags);
273 -
274 - if (result != PAM_SUCCESS) {
275 -- PyErr_SetString(PyPAM_Error, "Not authenticated");
276 -+ PyPAM_Err(_self, result);
277 - return NULL;
278 - }
279 -
280 -@@ -270,7 +270,7 @@ static PyObject * PyPAM_acct_mgmt(PyObje
281 - result = pam_acct_mgmt(_self->pamh, flags);
282 -
283 - if (result != PAM_SUCCESS) {
284 -- PyErr_SetString(PyPAM_Error, "Not authenticated");
285 -+ PyPAM_Err(_self, result);
286 - return NULL;
287 - }
288 -
289 -@@ -292,7 +292,7 @@ static PyObject * PyPAM_chauthtok(PyObje
290 - result = pam_chauthtok(_self->pamh, flags);
291 -
292 - if (result != PAM_SUCCESS) {
293 -- PyErr_SetString(PyPAM_Error, "Not authenticated");
294 -+ PyPAM_Err(_self, result);
295 - return NULL;
296 - }
297 -
298 -@@ -314,7 +314,7 @@ static PyObject * PyPAM_open_session(PyO
299 - result = pam_open_session(_self->pamh, flags);
300 -
301 - if (result != PAM_SUCCESS) {
302 -- PyErr_SetString(PyPAM_Error, "Not authenticated");
303 -+ PyPAM_Err(_self, result);
304 - return NULL;
305 - }
306 -
307 -@@ -336,7 +336,7 @@ static PyObject * PyPAM_close_session(Py
308 - result = pam_close_session(_self->pamh, flags);
309 -
310 - if (result != PAM_SUCCESS) {
311 -- PyErr_SetString(PyPAM_Error, "Not authenticated");
312 -+ PyPAM_Err(_self, result);
313 - return NULL;
314 - }
315 -
316 -@@ -433,7 +433,7 @@ static PyObject * PyPAM_putenv(PyObject
317 - result = pam_putenv(_self->pamh, val);
318 -
319 - if (result != PAM_SUCCESS) {
320 -- PyErr_SetString(PyPAM_Error, "Not authenticated");
321 -+ PyPAM_Err(_self, result);
322 - return NULL;
323 - }
324 -
325
326 diff --git a/dev-python/pypam/files/PyPAM-python3-support.patch b/dev-python/pypam/files/PyPAM-python3-support.patch
327 deleted file mode 100644
328 index a4100953631f..000000000000
329 --- a/dev-python/pypam/files/PyPAM-python3-support.patch
330 +++ /dev/null
331 @@ -1,198 +0,0 @@
332 ---- a/PAMmodule.c
333 -+++ b(PAMmodule.c
334 -@@ -15,6 +15,14 @@
335 - #include <stdio.h>
336 - #include <dlfcn.h>
337 -
338 -+#if PY_MAJOR_VERSION >= 3
339 -+#define IS_PY3K
340 -+#else
341 -+// include bytesobject.h to map PyBytes_* to PyString_*
342 -+#include <bytesobject.h>
343 -+#endif
344 -+
345 -+
346 - static PyObject *PyPAM_Error;
347 -
348 - typedef struct {
349 -@@ -28,7 +36,11 @@
350 - void *dlh1, *dlh2;
351 - } PyPAMObject;
352 -
353 -+#ifdef IS_PY3K
354 -+static PyTypeObject PyPAMObject_Type;
355 -+#else
356 - staticforward PyTypeObject PyPAMObject_Type;
357 -+#endif
358 -
359 - static void PyPAM_Err(PyPAMObject *self, int result)
360 - {
361 -@@ -139,7 +151,6 @@
362 - return NULL;
363 - }
364 -
365 -- PyPAMObject_Type.ob_type = &PyType_Type;
366 - p = (PyPAMObject *) PyObject_NEW(PyPAMObject, &PyPAMObject_Type);
367 -
368 - if (p == NULL)
369 -@@ -562,35 +573,44 @@
370 - PyObject_Del(self);
371 - }
372 -
373 --static PyObject * PyPAM_getattr(PyPAMObject *self, char *name)
374 --{
375 -- return Py_FindMethod(PyPAMObject_Methods, (PyObject *) self, name);
376 --}
377 --
378 - static PyObject * PyPAM_repr(PyPAMObject *self)
379 - {
380 - char buf[1024];
381 -
382 - snprintf(buf, 1024, "<pam object, service=\"%s\", user=\"%s\", conv=%p, pamh=%p>",
383 - self->service, self->user, self->conv, self->pamh);
384 -- return PyString_FromString(buf);
385 -+ return PyBytes_FromString(buf);
386 - }
387 -
388 - static PyTypeObject PyPAMObject_Type = {
389 -- PyObject_HEAD_INIT(0) /* Must fill in type value later */
390 -- 0,
391 -- "pam",
392 -- sizeof(PyPAMObject),
393 -- 0,
394 -- (destructor)PyPAM_dealloc, /*tp_dealloc*/
395 -- 0, /*tp_print*/
396 -- (getattrfunc)PyPAM_getattr, /*tp_getattr*/
397 -- 0, /*tp_setattr*/
398 -- 0, /*tp_compare*/
399 -- (reprfunc)PyPAM_repr, /*tp_repr*/
400 -- 0, /*tp_as_number*/
401 -- 0, /*tp_as_sequence*/
402 -- 0, /*tp_as_mapping*/
403 -+ PyVarObject_HEAD_INIT(NULL, 0) /* Must fill in type value later */
404 -+ "pam", /* tp_name */
405 -+ sizeof(PyPAMObject), /* tp_basicsize */
406 -+ 0, /* tp_itemsize */
407 -+ (destructor)PyPAM_dealloc, /* tp_dealloc */
408 -+ 0, /* tp_print */
409 -+ 0, /* tp_getattr */
410 -+ 0, /* tp_setattr */
411 -+ 0, /* tp_compare */
412 -+ (reprfunc)PyPAM_repr, /* tp_repr */
413 -+ 0, /* tp_as_number */
414 -+ 0, /* tp_as_sequence */
415 -+ 0, /* tp_as_mapping */
416 -+ 0, /* tp_hash */
417 -+ 0, /* tp_call */
418 -+ 0, /* tp_str */
419 -+ PyObject_GenericGetAttr, /* tp_getattro */
420 -+ 0, /* tp_setattro */
421 -+ 0, /* tp_as_buffer */
422 -+ Py_TPFLAGS_DEFAULT, /* tp_flags */
423 -+ "PyPAM", /* tp_doc */
424 -+ 0, /* tp_traverse */
425 -+ 0, /* tp_clear */
426 -+ 0, /* tp_richcompare */
427 -+ 0, /* tp_weaklistoffset */
428 -+ 0, /* tp_iter */
429 -+ 0, /* tp_iternext */
430 -+ PyPAMObject_Methods, /* tp_methods */
431 - };
432 -
433 - static PyMethodDef PyPAM_Methods[] = {
434 -@@ -607,7 +627,12 @@
435 - */
436 - static void insint(PyObject *d, char *name, int value)
437 - {
438 -- PyObject* v = PyInt_FromLong((long) value);
439 -+ PyObject* v;
440 -+#ifdef IS_PY3K
441 -+ v = PyLong_FromLong((long) value);
442 -+#else
443 -+ v = PyInt_FromLong((long) value);
444 -+#endif
445 -
446 - if (!v || PyDict_SetItemString(d, name, v))
447 - PyErr_Clear();
448 -@@ -615,19 +640,42 @@
449 - Py_XDECREF(v);
450 - }
451 -
452 -+#ifdef IS_PY3K
453 -+static struct PyModuleDef pamdef = {
454 -+ PyModuleDef_HEAD_INIT,
455 -+ "PAM",
456 -+ NULL,
457 -+ -1,
458 -+ PyPAM_Methods,
459 -+ NULL,
460 -+ NULL,
461 -+ NULL,
462 -+ NULL
463 -+};
464 -+
465 -+#define INITERROR return NULL
466 -+PyObject *PyInit_PAM(void)
467 -+
468 -+#else
469 -+#define INITERROR return
470 - void initPAM(void)
471 -+#endif
472 - {
473 - PyObject *m, *d;
474 -
475 -+#ifdef IS_PY3K
476 -+ m = PyModule_Create(&pamdef);
477 -+#else
478 - m = Py_InitModule("PAM", PyPAM_Methods);
479 -+#endif
480 - d = PyModule_GetDict(m);
481 -
482 - PyPAM_Error = PyErr_NewException("PAM.error", NULL, NULL);
483 - if (PyPAM_Error == NULL)
484 -- return;
485 -+ INITERROR;
486 - PyDict_SetItemString(d, "error", PyPAM_Error);
487 -
488 -- PyPAMObject_Type.ob_type = &PyType_Type;
489 -+ Py_TYPE(&PyPAMObject_Type) = &PyType_Type;
490 - PyPAMObject_Type.tp_doc = PyPAMObject_doc;
491 - Py_INCREF(&PyPAMObject_Type);
492 -
493 -@@ -692,4 +740,7 @@
494 - insint(d, "PAM_BINARY_PROMPT", PAM_BINARY_PROMPT);
495 - #endif
496 -
497 -+#ifdef IS_PY3K
498 -+ return m;
499 -+#endif
500 - }
501 ---- a/setup.py
502 -+++ b/setup.py
503 -@@ -12,7 +12,7 @@
504 - license='LGPL',
505 - ext_modules=[
506 - Extension(
507 -- 'PAMmodule',
508 -+ 'PAM',
509 - ['PAMmodule.c'],
510 - libraries=['pam', 'pam_misc'],
511 - extra_compile_args = ['-std=c99'],
512 ---- a/tests/PamTest.py
513 -+++ b/tests/PamTest.py
514 -@@ -41,13 +41,13 @@
515 - def test_userdata_default(self):
516 - """The default value for userdata is None."""
517 -
518 -- self.failUnless(self.pam.get_userdata() is None)
519 -+ self.assertTrue(self.pam.get_userdata() is None)
520 -
521 - def test_userdata(self):
522 - """The userdata getter and setter will store and return any data."""
523 -
524 - self.pam.set_userdata(1)
525 -- self.failUnless(self.pam.get_userdata() == 1)
526 -+ self.assertTrue(self.pam.get_userdata() == 1)
527 -
528 - def test_start(self):
529 - """pam.start() works as expected."""
530
531 diff --git a/dev-python/pypam/files/pypam-0.5.0-stricter.patch b/dev-python/pypam/files/pypam-0.5.0-stricter.patch
532 deleted file mode 100644
533 index 2ebe2d0af953..000000000000
534 --- a/dev-python/pypam/files/pypam-0.5.0-stricter.patch
535 +++ /dev/null
536 @@ -1,15 +0,0 @@
537 -=== modified file 'PAMmodule.c'
538 ---- a/PAMmodule.c
539 -+++ b/PAMmodule.c
540 -@@ -9,8 +9,9 @@
541 -
542 -+#include <Python.h>
543 - #include <security/pam_appl.h>
544 - #include <security/pam_misc.h>
545 --#include <Python.h>
546 - #include <stdio.h>
547 -+#include <string.h>
548 - #include <dlfcn.h>
549 -
550 - static PyObject *PyPAM_Error;
551 -
552
553 diff --git a/dev-python/pypam/metadata.xml b/dev-python/pypam/metadata.xml
554 deleted file mode 100644
555 index dde3e0dc4ca9..000000000000
556 --- a/dev-python/pypam/metadata.xml
557 +++ /dev/null
558 @@ -1,5 +0,0 @@
559 -<?xml version="1.0" encoding="UTF-8"?>
560 -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
561 -<pkgmetadata>
562 - <!--maintainer-needed-->
563 -</pkgmetadata>
564
565 diff --git a/dev-python/pypam/pypam-0.5.0-r6.ebuild b/dev-python/pypam/pypam-0.5.0-r6.ebuild
566 deleted file mode 100644
567 index aebb5e349358..000000000000
568 --- a/dev-python/pypam/pypam-0.5.0-r6.ebuild
569 +++ /dev/null
570 @@ -1,45 +0,0 @@
571 -# Copyright 1999-2021 Gentoo Authors
572 -# Distributed under the terms of the GNU General Public License v2
573 -
574 -EAPI=7
575 -
576 -DISTUTILS_USE_SETUPTOOLS=no
577 -MY_P="PyPAM-${PV}"
578 -PYTHON_COMPAT=( python3_{7..9} )
579 -inherit distutils-r1 flag-o-matic
580 -
581 -DESCRIPTION="Python Bindings for PAM (Pluggable Authentication Modules)"
582 -HOMEPAGE="http://www.pangalactic.org/PyPAM"
583 -SRC_URI="http://www.pangalactic.org/PyPAM/${MY_P}.tar.gz
584 - https://distfiles.gentoo.org/distfiles/ad/PyPAM-0.5.0.tar.gz"
585 -S="${WORKDIR}/${MY_P}"
586 -
587 -LICENSE="LGPL-2.1"
588 -SLOT="0"
589 -KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
590 -IUSE=""
591 -
592 -DEPEND=">=sys-libs/pam-0.64"
593 -RDEPEND="${DEPEND}"
594 -
595 -DOCS=( AUTHORS examples/pamtest.py )
596 -
597 -PATCHES=(
598 - # Pull patches from fedora.
599 - "${FILESDIR}/PyPAM-${PV}-dealloc.patch"
600 - "${FILESDIR}/PyPAM-${PV}-nofree.patch"
601 - "${FILESDIR}/PyPAM-${PV}-memory-errors.patch"
602 - "${FILESDIR}/PyPAM-${PV}-return-value.patch"
603 - "${FILESDIR}/PyPAM-python3-support.patch"
604 - # Fix a missing include.
605 - "${FILESDIR}/${P}-stricter.patch"
606 -)
607 -
608 -src_compile() {
609 - append-cflags -fno-strict-aliasing
610 - distutils-r1_src_compile
611 -}
612 -
613 -python_test() {
614 - "${PYTHON}" tests/PamTest.py
615 -}
616
617 diff --git a/dev-python/pypam/pypam-0.5.0-r7.ebuild b/dev-python/pypam/pypam-0.5.0-r7.ebuild
618 deleted file mode 100644
619 index a7a3593a67d9..000000000000
620 --- a/dev-python/pypam/pypam-0.5.0-r7.ebuild
621 +++ /dev/null
622 @@ -1,45 +0,0 @@
623 -# Copyright 1999-2021 Gentoo Authors
624 -# Distributed under the terms of the GNU General Public License v2
625 -
626 -EAPI=8
627 -
628 -DISTUTILS_USE_SETUPTOOLS=no
629 -MY_P="PyPAM-${PV}"
630 -PYTHON_COMPAT=( python3_{7..10} )
631 -inherit distutils-r1 flag-o-matic
632 -
633 -DESCRIPTION="Python Bindings for PAM (Pluggable Authentication Modules)"
634 -HOMEPAGE="http://www.pangalactic.org/PyPAM"
635 -SRC_URI="http://www.pangalactic.org/PyPAM/${MY_P}.tar.gz
636 - https://distfiles.gentoo.org/distfiles/ad/PyPAM-0.5.0.tar.gz"
637 -S="${WORKDIR}/${MY_P}"
638 -
639 -LICENSE="LGPL-2.1"
640 -SLOT="0"
641 -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
642 -IUSE=""
643 -
644 -DEPEND=">=sys-libs/pam-0.64"
645 -RDEPEND="${DEPEND}"
646 -
647 -DOCS=( AUTHORS examples/pamtest.py )
648 -
649 -PATCHES=(
650 - # Pull patches from fedora.
651 - "${FILESDIR}/PyPAM-${PV}-dealloc.patch"
652 - "${FILESDIR}/PyPAM-${PV}-nofree.patch"
653 - "${FILESDIR}/PyPAM-${PV}-memory-errors.patch"
654 - "${FILESDIR}/PyPAM-${PV}-return-value.patch"
655 - "${FILESDIR}/PyPAM-python3-support.patch"
656 - # Fix a missing include.
657 - "${FILESDIR}/${P}-stricter.patch"
658 -)
659 -
660 -src_compile() {
661 - append-cflags -fno-strict-aliasing
662 - distutils-r1_src_compile
663 -}
664 -
665 -python_test() {
666 - "${PYTHON}" tests/PamTest.py || die
667 -}
668
669 diff --git a/dev-python/pypam/pypam-0.5.0-r8.ebuild b/dev-python/pypam/pypam-0.5.0-r8.ebuild
670 deleted file mode 100644
671 index 9d2b524b2b96..000000000000
672 --- a/dev-python/pypam/pypam-0.5.0-r8.ebuild
673 +++ /dev/null
674 @@ -1,40 +0,0 @@
675 -# Copyright 1999-2022 Gentoo Authors
676 -# Distributed under the terms of the GNU General Public License v2
677 -
678 -EAPI=8
679 -
680 -DISTUTILS_USE_PEP517=setuptools
681 -MY_P="PyPAM-${PV}"
682 -PYTHON_COMPAT=( python3_{8..10} )
683 -inherit distutils-r1
684 -
685 -DESCRIPTION="Python Bindings for PAM (Pluggable Authentication Modules)"
686 -HOMEPAGE="http://www.pangalactic.org/PyPAM"
687 -SRC_URI="http://www.pangalactic.org/PyPAM/${MY_P}.tar.gz
688 - https://distfiles.gentoo.org/distfiles/ad/PyPAM-0.5.0.tar.gz"
689 -S="${WORKDIR}/${MY_P}"
690 -
691 -LICENSE="LGPL-2.1"
692 -SLOT="0"
693 -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
694 -IUSE=""
695 -
696 -DEPEND=">=sys-libs/pam-0.64"
697 -RDEPEND="${DEPEND}"
698 -
699 -DOCS=( AUTHORS examples/pamtest.py )
700 -
701 -PATCHES=(
702 - # Pull patches from fedora.
703 - "${FILESDIR}/PyPAM-${PV}-dealloc.patch"
704 - "${FILESDIR}/PyPAM-${PV}-nofree.patch"
705 - "${FILESDIR}/PyPAM-${PV}-memory-errors.patch"
706 - "${FILESDIR}/PyPAM-${PV}-return-value.patch"
707 - "${FILESDIR}/PyPAM-python3-support.patch"
708 - # Fix a missing include.
709 - "${FILESDIR}/${P}-stricter.patch"
710 -)
711 -
712 -python_test() {
713 - "${EPYTHON}" tests/PamTest.py || die
714 -}
715
716 diff --git a/profiles/package.mask b/profiles/package.mask
717 index 4c5d63309305..2c7144a2824f 100644
718 --- a/profiles/package.mask
719 +++ b/profiles/package.mask
720 @@ -292,12 +292,6 @@ dev-ruby/regexp_parser:1
721 # The lowest supported version of GCC is GCC 10.
722 <sys-devel/gcc-10
723
724 -# Sam James <sam@g.o> (2022-05-28)
725 -# Masked for removal. Dead upstream, no releases in a long time, and superseded
726 -# by dev-python/python-pam. Fails tests in a few scary ways too. Removal
727 -# on 2022-06-28. Bugs #833297, #802927.
728 -dev-python/pypam
729 -
730 # Hans de Graaff <graaff@g.o> (2022-05-20)
731 # Unused slots of cucumber components that are no longer or were never
732 # used by current cucumber versions. Masked for removal in 30 days.