Date: Monday, December 23, 2019 @ 18:00:09 Author: anatolik Revision: 372170
archrelease: copy trunk to extra-x86_64 Added: libieee1284/repos/extra-x86_64/PKGBUILD (from rev 372169, libieee1284/trunk/PKGBUILD) libieee1284/repos/extra-x86_64/python3.patch (from rev 372169, libieee1284/trunk/python3.patch) libieee1284/repos/extra-x86_64/upstream_python_fix1.patch (from rev 372169, libieee1284/trunk/upstream_python_fix1.patch) libieee1284/repos/extra-x86_64/upstream_python_fix2.patch (from rev 372169, libieee1284/trunk/upstream_python_fix2.patch) Deleted: libieee1284/repos/extra-x86_64/PKGBUILD ----------------------------+ PKGBUILD | 69 ++++++----- python3.patch | 266 +++++++++++++++++++++++++++++++++++++++++++ upstream_python_fix1.patch | 104 ++++++++++++++++ upstream_python_fix2.patch | 63 ++++++++++ 4 files changed, 476 insertions(+), 26 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2019-12-23 17:58:49 UTC (rev 372169) +++ PKGBUILD 2019-12-23 18:00:09 UTC (rev 372170) @@ -1,26 +0,0 @@ -# $Id$ -# Maintainer: Tobias Powalowski <tp...@archlinux.org> -# Contributor: Manolis Tzanidakis <mano...@archlinux.org> - -pkgname=libieee1284 -pkgver=0.2.11 -pkgrel=7 -pkgdesc="A library to query devices connected in parallel port" -arch=('x86_64') -license=('GPL2') -url="http://cyberelk.net/tim/libieee1284" -optdepends=('python2: for python module') -makedepends=('python2') -source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2") -md5sums=('b8fff9f3d121531bc17430e3f4ea6ed0') - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --mandir=/usr/share/man - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir"/ install -} Copied: libieee1284/repos/extra-x86_64/PKGBUILD (from rev 372169, libieee1284/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-12-23 18:00:09 UTC (rev 372170) @@ -0,0 +1,43 @@ +# Maintainer: Tobias Powalowski <tp...@archlinux.org> +# Contributor: Manolis Tzanidakis <mano...@archlinux.org> + +pkgname=libieee1284 +pkgver=0.2.11 +_tag=${pkgver//\./_} +pkgrel=8 +pkgdesc="A library to query devices connected in parallel port" +arch=('x86_64') +license=('GPL2') +url="https://github.com/twaugh/libieee1284" +optdepends=('python: for python module') +makedepends=('python' 'xmlto' 'docbook-xml' 'docbook-xsl') +source=(libieee1284-$pkgver.zip::https://github.com/twaugh/libieee1284/archive/V$_tag.zip + upstream_python_fix1.patch + upstream_python_fix2.patch + python3.patch) +sha1sums=('5e24fb4e69652e2460e24af0b7ef6ca960c78965' + '8492a99b3350d0201c8720acda8ef442c36c651d' + '01dc3aed6266db00e1d0b9c3f6c15aabfdcdcf14' + '55f92727e761afd3640edae01b6087eb4779ea0b') + +prepare() { + cd $pkgname-$_tag + + patch -p1 < ../upstream_python_fix1.patch # https://github.com/twaugh/libieee1284/commit/c48855528beee1397d883f9c8a5df7aed5c917a6 + patch -p1 < ../upstream_python_fix2.patch # https://github.com/twaugh/libieee1284/commit/b4d63327dfef8dbf12aabf4bba0f6818a3519995 + + patch -p1 < ../python3.patch # https://github.com/twaugh/libieee1284/issues/4 +} + +build() { + cd $pkgname-$_tag + + ./bootstrap + ./configure --prefix=/usr --mandir=/usr/share/man --with-python + make +} + +package() { + cd $pkgname-$_tag + make DESTDIR="$pkgdir"/ install +} Copied: libieee1284/repos/extra-x86_64/python3.patch (from rev 372169, libieee1284/trunk/python3.patch) =================================================================== --- python3.patch (rev 0) +++ python3.patch 2019-12-23 18:00:09 UTC (rev 372170) @@ -0,0 +1,266 @@ +diff --git a/src/ieee1284module.c b/src/ieee1284module.c +index 23c1f29..c6d6928 100644 +--- a/src/ieee1284module.c ++++ b/src/ieee1284module.c +@@ -52,33 +52,32 @@ Parport_dealloc (ParportObject *self) + { + if (self->port) + ieee1284_unref (self->port); +- +- self->ob_type->tp_free ((PyObject *) self); ++ Py_TYPE(self)->tp_free((PyObject *) self); + } + + static PyObject * + Parport_getname (ParportObject *self, void *closure) + { +- return PyString_FromString (self->port->name); ++ return PyBytes_FromString (self->port->name); + } + + static PyObject * + Parport_getbase_addr (ParportObject *self, void *closure) + { +- return PyInt_FromLong (self->port->base_addr); ++ return PyLong_FromLong (self->port->base_addr); + } + + static PyObject * + Parport_gethibase_addr (ParportObject *self, void *closure) + { +- return PyInt_FromLong (self->port->hibase_addr); ++ return PyLong_FromLong (self->port->hibase_addr); + } + + static PyObject * + Parport_getfilename (ParportObject *self, void *closure) + { + if (self->port->filename) +- return PyString_FromString (self->port->filename); ++ return PyBytes_FromString (self->port->filename); + + Py_INCREF (Py_None); + return Py_None; +@@ -168,7 +167,7 @@ Parport_get_deviceid (ParportObject *self, PyObject *args) + return NULL; + } + +- return PyString_FromStringAndSize (buffer, r); ++ return PyBytes_FromStringAndSize (buffer, r); + } + + static PyObject * +@@ -186,7 +185,7 @@ Parport_open (ParportObject *self, PyObject *args) + return NULL; + } + +- return PyInt_FromLong (capabilities); ++ return PyLong_FromLong (capabilities); + } + + static PyObject * +@@ -198,7 +197,7 @@ Parport_get_irq_fd (ParportObject *self) + return NULL; + } + +- return PyInt_FromLong (fd); ++ return PyLong_FromLong (fd); + } + + static PyObject * +@@ -213,7 +212,7 @@ Parport_clear_irq (ParportObject *self) + return NULL; + } + +- return PyInt_FromLong (portcount); ++ return PyLong_FromLong (portcount); + } + + static PyObject * +@@ -259,7 +258,7 @@ Parport_read_data (ParportObject *self) + return NULL; + } + +- return PyInt_FromLong (r); ++ return PyLong_FromLong (r); + } + + static PyObject * +@@ -301,7 +300,7 @@ Parport_read_status (ParportObject *self) + return NULL; + } + +- return PyInt_FromLong (r); ++ return PyLong_FromLong (r); + } + + static PyObject * +@@ -335,7 +334,7 @@ Parport_read_control (ParportObject *self) + return NULL; + } + +- return PyInt_FromLong (r); ++ return PyLong_FromLong (r); + } + + static PyObject * +@@ -452,7 +451,7 @@ Parport_##x (ParportObject *self, PyObject *args) \ + return NULL; \ + } \ + \ +- ret = PyString_FromStringAndSize (buffer, got); \ ++ ret = PyBytes_FromStringAndSize (buffer, got); \ + free (buffer); \ + return ret; \ + } +@@ -480,7 +479,7 @@ Parport_##x (ParportObject *self, PyObject *args) \ + return NULL; \ + } \ + \ +- return PyInt_FromLong (wrote); \ ++ return PyLong_FromLong (wrote); \ + } + + #define WRITE_METHOD(x) \ +@@ -581,44 +580,53 @@ WRITE_METHOD(ecp_write_addr) + + static PyTypeObject ParportType = { + PyObject_HEAD_INIT(NULL) +- 0, /* ob_size */ +- "ieee1284.Parport", /* tp_name */ +- sizeof (ParportObject), /* tp_basicsize */ +- 0, /* tp_itemsize */ +- (destructor)Parport_dealloc, /* tp_dealloc */ +- 0, /* tp_print */ +- 0, /* tp_getattr */ +- 0, /* tp_setattr */ +- 0, /* tp_compare */ +- 0, /* tp_repr */ +- 0, /* tp_as_number */ +- 0, /* tp_as_sequence */ +- 0, /* tp_as_mapping */ +- 0, /* tp_hash */ +- 0, /* tp_call */ +- 0, /* tp_str */ +- 0, /* tp_getattro */ +- 0, /* tp_setattro */ +- 0, /* tp_as_buffer */ +- Py_TPFLAGS_DEFAULT, /* tp_flags */ +- "parallel port object", /* tp_doc */ +- 0, /* tp_traverse */ +- 0, /* tp_clear */ +- 0, /* tp_richcompare */ +- 0, /* tp_weaklistoffset */ +- 0, /* tp_iter */ +- 0, /* tp_iternext */ +- Parport_methods, /* tp_methods */ +- 0, /* tp_members */ +- Parport_getseters, /* tp_getset */ +- 0, /* tp_base */ +- 0, /* tp_dict */ +- 0, /* tp_descr_get */ +- 0, /* tp_descr_set */ +- 0, /* tp_dictoffset */ +- (initproc)Parport_init, /* tp_init */ +- 0, /* tp_alloc */ +- Parport_new, /* tp_new */ ++ "ieee1284.Parport", /* const char *tp_name; */ ++ sizeof (ParportObject), /* Py_ssize_t tp_basicsize */ ++ 0, /* Py_ssize_t tp_itemsize; */ ++ (destructor)Parport_dealloc, /* destructor tp_dealloc; */ ++ 0, /* printfunc tp_print; */ ++ 0, /* getattrfunc tp_getattr; */ ++ 0, /* setattrfunc tp_setattr; */ ++ 0, /* PyAsyncMethods *tp_as_async; */ ++ 0, /* reprfunc tp_repr; */ ++ 0, /* PyNumberMethods *tp_as_number; */ ++ 0, /* PySequenceMethods *tp_as_sequence; */ ++ 0, /* PyMappingMethods *tp_as_mapping; */ ++ 0, /* hashfunc tp_hash; */ ++ 0, /* ternaryfunc tp_call; */ ++ 0, /* reprfunc tp_str; */ ++ 0, /* getattrofunc tp_getattro; */ ++ 0, /* setattrofunc tp_setattro; */ ++ 0, /* PyBufferProcs *tp_as_buffer; */ ++ Py_TPFLAGS_DEFAULT, /* unsigned long tp_flags; */ ++ "parallel port object", /* const char *tp_doc; */ ++ 0, /* traverseproc tp_traverse; */ ++ 0, /* inquiry tp_clear; */ ++ 0, /* richcmpfunc tp_richcompare; */ ++ 0, /* Py_ssize_t tp_weaklistoffset; */ ++ 0, /* getiterfunc tp_iter; */ ++ 0, /* iternextfunc tp_iternext; */ ++ Parport_methods, /* struct PyMethodDef *tp_methods; */ ++ 0, /* struct PyMemberDef *tp_members; */ ++ Parport_getseters, /* struct PyGetSetDef *tp_getset; */ ++ 0, /* struct _typeobject *tp_base; */ ++ 0, /* PyObject *tp_dict; */ ++ 0, /* descrgetfunc tp_descr_get; */ ++ 0, /* descrsetfunc tp_descr_set; */ ++ 0, /* Py_ssize_t tp_dictoffset; */ ++ (initproc)Parport_init, /* initproc tp_init; */ ++ 0, /* allocfunc tp_alloc; */ ++ Parport_new, /* newfunc tp_new; */ ++ 0, /* freefunc tp_free; */ ++ 0, /* inquiry tp_is_gc; */ ++ 0, /* PyObject *tp_bases; */ ++ 0, /* PyObject *tp_mro; */ ++ 0, /* PyObject *tp_cache; */ ++ 0, /* PyObject *tp_subclasses; */ ++ 0, /* PyObject *tp_weaklist; */ ++ 0, /* destructor tp_del; */ ++ 0, /* unsigned int tp_version_tag; */ ++ 0 /* destructor tp_finalize; */ + }; + + static PyObject * +@@ -672,18 +680,30 @@ static PyMethodDef Ieee1284Methods[] = { + {NULL, NULL, 0, NULL} + }; + ++static struct PyModuleDef Ieee1284Module = { ++ PyModuleDef_HEAD_INIT, ++ "ieee1284", ++ NULL, /* documentation */ ++ -1, ++ Ieee1284Methods, ++ NULL, ++ NULL, ++ NULL, ++ NULL ++}; ++ + #ifndef PyMODINIT_FUNC + #define PyMODINIT_FUNC void + #endif + PyMODINIT_FUNC +-initieee1284 (void) ++PyInit_ieee1284module (void) + { +- PyObject *m = Py_InitModule ("ieee1284", Ieee1284Methods); ++ PyObject *m = PyModule_Create (&Ieee1284Module); + PyObject *d = PyModule_GetDict (m); + PyObject *c; + + if (PyType_Ready (&ParportType) < 0) +- return; ++ return NULL; + + PyModule_AddObject (m, "Parport", (PyObject *) &ParportType); + +@@ -693,7 +713,7 @@ initieee1284 (void) + + #define CONSTANT(x) \ + do { \ +- c = PyInt_FromLong (x); \ ++ c = PyLong_FromLong (x); \ + PyDict_SetItemString (d, #x, c); \ + Py_DECREF (c); \ + } while (0) +@@ -740,4 +760,6 @@ initieee1284 (void) + CONSTANT (F1284_SWE); + CONSTANT (F1284_RLE); + CONSTANT (F1284_FASTEPP); ++ ++ return m; + } Copied: libieee1284/repos/extra-x86_64/upstream_python_fix1.patch (from rev 372169, libieee1284/trunk/upstream_python_fix1.patch) =================================================================== --- upstream_python_fix1.patch (rev 0) +++ upstream_python_fix1.patch 2019-12-23 18:00:09 UTC (rev 372170) @@ -0,0 +1,104 @@ +From c48855528beee1397d883f9c8a5df7aed5c917a6 Mon Sep 17 00:00:00 2001 +From: Tim Waugh <twa...@redhat.com> +Date: Wed, 23 Jun 2010 11:58:04 +0000 +Subject: [PATCH] 2010-06-23 Tim Waugh <twa...@redhat.com> + +* src/ieee1284module.c: Fixed warnings. +--- + ChangeLog | 1 + + src/ieee1284module.c | 37 ++++++++++++++++++++++++++++--------- + 2 files changed, 29 insertions(+), 9 deletions(-) + +diff --git a/src/ieee1284module.c b/src/ieee1284module.c +index 30972f8..0093d6f 100644 +--- a/src/ieee1284module.c ++++ b/src/ieee1284module.c +@@ -28,6 +28,17 @@ typedef struct { + struct parport *port; + } ParportObject; + ++static PyObject * ++Parport_new (PyTypeObject *type, PyObject *args, PyObject *kwds) ++{ ++ ParportObject *self; ++ self = (ParportObject *) type->tp_alloc (type, 0); ++ if (self != NULL) ++ self->port = NULL; ++ ++ return (PyObject *) self; ++} ++ + static int + Parport_init (ParportObject *self, PyObject *args, PyObject *kwds) + { +@@ -215,7 +226,6 @@ Parport_release (ParportObject *self) + static PyObject * + Parport_read_data (ParportObject *self) + { +- unsigned char b[2]; + int r = ieee1284_read_data (self->port); + if (r < 0) { + handle_error (r); +@@ -258,7 +268,6 @@ Parport_data_dir (ParportObject *self, PyObject *args) + static PyObject * + Parport_read_status (ParportObject *self) + { +- unsigned char b[2]; + int r = ieee1284_read_status (self->port); + if (r < 0) { + handle_error (r); +@@ -293,7 +302,6 @@ Parport_wait_status (ParportObject *self, PyObject *args) + static PyObject * + Parport_read_control (ParportObject *self) + { +- unsigned char b[2]; + int r = ieee1284_read_control (self->port); + if (r < 0) { + handle_error (r); +@@ -435,7 +443,6 @@ Parport_##x (ParportObject *self, PyObject *args) \ + int len; \ + char *buffer; \ + ssize_t wrote; \ +- PyObject *ret; \ + \ + if (!PyArg_ParseTuple (args, "s#|i", &buffer, &len, &flags)) \ + return NULL; \ +@@ -562,6 +569,23 @@ static PyTypeObject ParportType = { + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + "parallel port object", /* tp_doc */ ++ 0, /* tp_traverse */ ++ 0, /* tp_clear */ ++ 0, /* tp_richcompare */ ++ 0, /* tp_weaklistoffset */ ++ 0, /* tp_iter */ ++ 0, /* tp_iternext */ ++ Parport_methods, /* tp_methods */ ++ 0, /* tp_members */ ++ Parport_getseters, /* tp_getset */ ++ 0, /* tp_base */ ++ 0, /* tp_dict */ ++ 0, /* tp_descr_get */ ++ 0, /* tp_descr_set */ ++ 0, /* tp_dictoffset */ ++ (initproc)Parport_init, /* tp_init */ ++ 0, /* tp_alloc */ ++ Parport_new, /* tp_new */ + }; + + static PyObject * +@@ -625,14 +649,9 @@ initieee1284 (void) + PyObject *d = PyModule_GetDict (m); + PyObject *c; + +- ParportType.tp_new = PyType_GenericNew; +- ParportType.tp_init = (initproc) Parport_init; +- ParportType.tp_getset = Parport_getseters; +- ParportType.tp_methods = Parport_methods; + if (PyType_Ready (&ParportType) < 0) + return; + +- Py_INCREF (&ParportType); + PyModule_AddObject (m, "Parport", (PyObject *) &ParportType); + + pyieee1284_error = PyErr_NewException("ieee1284.error", NULL, NULL); Copied: libieee1284/repos/extra-x86_64/upstream_python_fix2.patch (from rev 372169, libieee1284/trunk/upstream_python_fix2.patch) =================================================================== --- upstream_python_fix2.patch (rev 0) +++ upstream_python_fix2.patch 2019-12-23 18:00:09 UTC (rev 372170) @@ -0,0 +1,63 @@ +From b4d63327dfef8dbf12aabf4bba0f6818a3519995 Mon Sep 17 00:00:00 2001 +From: Tim Waugh <twa...@redhat.com> +Date: Tue, 8 Mar 2011 15:07:04 +0000 +Subject: [PATCH] 2011-03-08 Tim Waugh <twa...@redhat.com> + +* src/ieee1284module.c: Added bindings for get_irq_fd and +clear_irq. Patch by Sergey Temerkhanov. +--- + ChangeLog | 5 +++++ + src/ieee1284module.c | 33 +++++++++++++++++++++++++++++++++ + 2 files changed, 38 insertions(+) + +diff --git a/src/ieee1284module.c b/src/ieee1284module.c +index 0093d6f..23c1f29 100644 +--- a/src/ieee1284module.c ++++ b/src/ieee1284module.c +@@ -189,6 +189,33 @@ Parport_open (ParportObject *self, PyObject *args) + return PyInt_FromLong (capabilities); + } + ++static PyObject * ++Parport_get_irq_fd (ParportObject *self) ++{ ++ int fd = ieee1284_get_irq_fd (self->port); ++ if (fd < 0) { ++ handle_error (fd); ++ return NULL; ++ } ++ ++ return PyInt_FromLong (fd); ++} ++ ++static PyObject * ++Parport_clear_irq (ParportObject *self) ++{ ++ int portcount = 0; ++ int r; ++ ++ int fd = ieee1284_clear_irq (self->port, &portcount); ++ if (r < 0) { ++ handle_error (r); ++ return NULL; ++ } ++ ++ return PyInt_FromLong (portcount); ++} ++ + static PyObject * + Parport_close (ParportObject *self) + { +@@ -484,6 +511,12 @@ PyMethodDef Parport_methods[] = { + { "close", (PyCFunction) Parport_close, METH_NOARGS, + "close() -> None\n" + "Closes a port." }, ++ { "get_irq_fd", (PyCFunction) Parport_get_irq_fd, METH_VARARGS, ++ "get_irq_fd() -> int\n" ++ "Returns a pollable IRQ file descriptor." }, ++ { "clear_irq", (PyCFunction) Parport_clear_irq, METH_NOARGS, ++ "clear_irq(portcount) -> int\n" ++ "Clears IRQ and returns number of IRQs raised." }, + { "claim", (PyCFunction) Parport_claim, METH_NOARGS, + "claim() -> None\n" + "Claims a port." },