From 47dea93159876b38f2f0b710da3275d2d24b6a8be25c9f62c12fcacda20a1e05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 4 Dec 2017 09:34:31 +0000 Subject: [PATCH] Accepting request 547564 from home:dimstar:Factory - Migrate orca plugin to python3: orca has been a python3 application since version 3.7, released in 2013: + Add python3-base BuildRequires. + Add sbl-orca-python3.patch: convert brlapi.py and python/Makefile to python3. (removed python3-tools BR of my previous SR; was from an earlier experiment) OBS-URL: https://build.opensuse.org/request/show/547564 OBS-URL: https://build.opensuse.org/package/show/hardware/sbl?expand=0&rev=29 --- sbl-orca-python3.patch | 138 +++++++++++++++++++++++++++++++++++++++++ sbl.changes | 9 +++ sbl.spec | 10 +-- 3 files changed, 153 insertions(+), 4 deletions(-) create mode 100644 sbl-orca-python3.patch diff --git a/sbl-orca-python3.patch b/sbl-orca-python3.patch new file mode 100644 index 0000000..87185b4 --- /dev/null +++ b/sbl-orca-python3.patch @@ -0,0 +1,138 @@ +Index: sbl-3.5.0.20130317.git7a75bc29/python/Makefile +=================================================================== +--- sbl-3.5.0.20130317.git7a75bc29.orig/python/Makefile ++++ sbl-3.5.0.20130317.git7a75bc29/python/Makefile +@@ -2,12 +2,11 @@ + ### Author: Marco Skambraks + include ../make.config + +-PYVER=$(shell python --version 2>&1|cut -c 8-|cut -c 1-3) +-ORCA_DIR=$(DESTDIR)$(LIBDIR)/python$(PYVER)/site-packages/orca ++ORCA_DIR=$(DESTDIR)$(shell python3 -c "import site; print(site.getsitepackages()[0])")/orca + + all: brlapi.py + @echo -n Generating byte code... +- @python -c 'import brlapi' && echo ok || @echo failed ++ @python3 -c 'import brlapi' && echo ok || @echo failed + + clean: + rm -f *~ xyz jj.jj *.pyc +@@ -15,7 +14,7 @@ clean: + install: all + @if [ -d $(ORCA_DIR) ] || [ ! -z "$(DESTDIR)" ]; then \ + install --directory $(ORCA_DIR) ; \ +- install -m 644 brlapi.py brlapi.pyc $(ORCA_DIR) ; \ ++ install -m 644 brlapi.py* $(ORCA_DIR) ; \ + else \ + echo please make sure that orca is installed in: ; \ + echo $(ORCA_DIR) ; \ +Index: sbl-3.5.0.20130317.git7a75bc29/python/brlapi.py +=================================================================== +--- sbl-3.5.0.20130317.git7a75bc29.orig/python/brlapi.py ++++ sbl-3.5.0.20130317.git7a75bc29/python/brlapi.py +@@ -42,7 +42,7 @@ class getconf: + try: + conffile = open("/etc/sbl.conf",'r') + except: +- print "cannot open /etc/sbl.conf" ++ print("cannot open /etc/sbl.conf") + return None + + for i in conffile.readlines(): +@@ -99,7 +99,7 @@ class getconf: + try: + kmfile = open("/etc/sbl/keymap/" + brlname + ".map", 'r') + except: +- print "no keymap found for ", brlname ++ print("no keymap found for ", brlname) + return False + + for i in kmfile.readlines(): +@@ -167,32 +167,32 @@ class Connection: + if self.brld == None: + self.brld = CDLL("libbrld.so.1") + except: +- print "cannot open libbrld.so.1" ++ print("cannot open libbrld.so.1") + return None + + self.conf = getconf() + self.fileDescriptor = self.brld.brld_open("localhost", self.conf.brldport()) + + if self.fileDescriptor < 0: +- print "brld: connection failed" ++ print("brld: connection failed") + raise IoError + + tmpstr = create_string_buffer('\000' * 128) + tmpstr.value = self.conf.brldauth() + if self.brld.brld_reg(2, tmpstr.value) < 0: +- print "brld: reg failed" ++ print("brld: reg failed") + else: + if self.brld.brld_seteventmode() <0: +- print "brld: eventmode setfailed" ++ print("brld: eventmode setfailed") + return None + + if self.brld.brld_getxy(byref(self.x),byref(self.y)) <0: +- print "brld: error getting Displaysize" ++ print("brld: error getting Displaysize") + return None + + self.displaySize = (self.x.value, self.y.value) + if self.brld.brld_getalias(byref(tmpstr)) <0: +- print "brld: error getting brlname" ++ print("brld: error getting brlname") + return None + self.brlname = tmpstr.value + self.conf.loadkeymap(self.brlname) +@@ -208,7 +208,7 @@ class Connection: + s.value = text.decode("UTF-8").encode("iso8859-1") + + if self.brld.brld_write(cursor, s, "") <0: +- print "brld: writeText error" ++ print("brld: writeText error") + return False + + return True +@@ -220,7 +220,7 @@ class Connection: + + len_diff = 0 + add_spaces = "" +- s.value = writestruct.text.replace(u"\u2022", "*").encode("iso8859-1") ++ s.value = writestruct.text.replace("\u2022", "*").encode("iso8859-1") + if len(writestruct.attrOr) < len(writestruct.text): + len_diff = len(writestruct.text) - len(writestruct.attrOr) + add_spaces = ' ' * len_diff +@@ -228,8 +228,8 @@ class Connection: + a.value = writestruct.attrOr.replace('\x00',' ') + add_spaces + + if self.brld.brld_write(writestruct.cursor-1, s.value, a.value) <0: +- print "brld: write err" +- print "brlline= ", writestruct.text ++ print("brld: write err") ++ print("brlline= ", writestruct.text) + return False + + return True +@@ -239,7 +239,7 @@ class Connection: + pressed = c_int() + key = self.brld.brld_getkey(byref(pressed)) + if key == -4: +- print "brld: getkey no connection" ++ print("brld: getkey no connection") + raise IoError + + if key <= 0: +@@ -319,8 +319,8 @@ class Connection: + return True + + def enterTtyMode(self, tty=7, driver=None): +- print "brld: enterTtyMode" +- print tty, driver ++ print("brld: enterTtyMode") ++ print(tty, driver) + + + def leaveTtyMode(self): diff --git a/sbl.changes b/sbl.changes index 0fceaa5..aef3635 100644 --- a/sbl.changes +++ b/sbl.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Sat Dec 2 10:41:38 UTC 2017 - dimstar@opensuse.org + +- Migrate orca plugin to python3: orca has been a python3 + application since version 3.7, released in 2013: + + Add python3-base BuildRequires. + + Add sbl-orca-python3.patch: convert brlapi.py and + python/Makefile to python3. + ------------------------------------------------------------------- Fri Dec 9 13:22:43 UTC 2016 - fbui@suse.com diff --git a/sbl.spec b/sbl.spec index 1112b7f..561e2e1 100644 --- a/sbl.spec +++ b/sbl.spec @@ -1,7 +1,7 @@ # # spec file for package sbl # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -31,10 +31,12 @@ Patch3: sbl-install_perms.patch Patch4: sbl-libdir.patch Patch5: sbl-init-scripts.patch Patch6: sbl-sppkdev.patch +Patch7: sbl-orca-python3.patch BuildRequires: bluez-devel BuildRequires: gcc-c++ BuildRequires: libusb-devel BuildRequires: orca +BuildRequires: python3-base BuildRequires: speechd-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} > 1310 @@ -57,7 +59,6 @@ Summary: brld-orca brlapi License: GPL-2.0 and GPL-2.0+ Group: Productivity/Multimedia/Sound/Utilities Requires: orca -%py_requires %description orca this python module enables orca to use brld for braille output @@ -72,6 +73,7 @@ this python module enables orca to use brld for braille output %endif %patch5 -p1 %patch6 -p1 +%patch7 -p1 %build make %{?_smp_mflags} CFLAGS="%{optflags} -D_POSIX_C_SOURCE=2 -D_BSD_SOURCE" LIB_CFLAGS="%{optflags} -D_POSIX_C_SOURCE=2 -D_BSD_SOURCE -fPIC -I%{_includedir}/speech-dispatcher" @@ -147,7 +149,7 @@ ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcbrld %files orca %defattr (-,root,root,755) -%dir %{python_sitearch}/orca -%{python_sitearch}/orca/brlapi.py* +%dir %{python3_sitearch}/orca +%{python3_sitearch}/orca/brlapi.py* %changelog