From a843b89f87eed6c6956451de26096c7ababfb64d Mon Sep 17 00:00:00 2001 From: yopito Date: Wed, 3 Oct 2018 22:41:26 +0200 Subject: [PATCH] libsearpc: switch to python3, subpkg libsearpc-python3 --- srcpkgs/libsearpc-python3 | 1 + srcpkgs/libsearpc/patches/python3.patch | 81 +++++++++++++++++++++++++ srcpkgs/libsearpc/template | 19 ++++-- 3 files changed, 97 insertions(+), 4 deletions(-) create mode 120000 srcpkgs/libsearpc-python3 create mode 100644 srcpkgs/libsearpc/patches/python3.patch diff --git a/srcpkgs/libsearpc-python3 b/srcpkgs/libsearpc-python3 new file mode 120000 index 00000000000..6a59842498a --- /dev/null +++ b/srcpkgs/libsearpc-python3 @@ -0,0 +1 @@ +libsearpc \ No newline at end of file diff --git a/srcpkgs/libsearpc/patches/python3.patch b/srcpkgs/libsearpc/patches/python3.patch new file mode 100644 index 00000000000..892abf75134 --- /dev/null +++ b/srcpkgs/libsearpc/patches/python3.patch @@ -0,0 +1,81 @@ +--- pysearpc/client.py.orig 2018-08-21 03:42:02.000000000 +0200 ++++ pysearpc/client.py 2018-10-03 18:10:31.097876808 +0200 +@@ -1,5 +1,5 @@ + import json +-from common import SearpcError ++from .common import SearpcError + + def _fret_int(ret_str): + try: +@@ -7,10 +7,10 @@ + except: + raise SearpcError('Invalid response format') + +- if dicts.has_key('err_code'): ++ if 'err_code' in dicts: + raise SearpcError(dicts['err_msg']) + +- if dicts.has_key('ret'): ++ if 'ret' in dicts: + return dicts['ret'] + else: + raise SearpcError('Invalid response format') +@@ -21,10 +21,10 @@ + except: + raise SearpcError('Invalid response format') + +- if dicts.has_key('err_code'): ++ if 'err_code' in dicts: + raise SearpcError(dicts['err_msg']) + +- if dicts.has_key('ret'): ++ if 'ret' in dicts: + return dicts['ret'] + else: + raise SearpcError('Invalid response format') +@@ -61,7 +61,7 @@ + except: + raise SearpcError('Invalid response format') + +- if dicts.has_key('err_code'): ++ if 'err_code' in dicts: + raise SearpcError(dicts['err_msg']) + + if dicts['ret']: +@@ -75,7 +75,7 @@ + except: + raise SearpcError('Invalid response format') + +- if dicts.has_key('err_code'): ++ if 'err_code' in dicts: + raise SearpcError(dicts['err_msg']) + + l = [] +--- pysearpc/server.py.orig 2018-08-21 03:42:02.000000000 +0200 ++++ pysearpc/server.py 2018-10-03 18:10:31.097876808 +0200 +@@ -1,6 +1,6 @@ + import json + +-from common import SearpcError ++from .common import SearpcError + + class SearpcService(object): + def __init__(self, name): +@@ -25,7 +25,7 @@ + """input str -> output str""" + try: + argv = json.loads(fcallstr) +- except Exception, e: ++ except Exception as e: + raise SearpcError('bad call str: ' + str(e)) + + service = self.services[svcname] +@@ -41,7 +41,7 @@ + def call_function(self, svcname, fcallstr): + try: + retVal = self._call_function(svcname, fcallstr) +- except Exception, e: ++ except Exception as e: + ret = {'err_code': 555, 'err_msg': str(e)} + else: + ret = {'ret': retVal} diff --git a/srcpkgs/libsearpc/template b/srcpkgs/libsearpc/template index e16f1fd3a27..01d1d07fb9b 100644 --- a/srcpkgs/libsearpc/template +++ b/srcpkgs/libsearpc/template @@ -1,11 +1,11 @@ # Template file for 'libsearpc' pkgname=libsearpc version=3.1.0 -revision=1 +revision=2 build_style=gnu-configure pycompile_module="pysearpc" -configure_args="--disable-static --disable-compile-demo" -hostmakedepends="automake libtool pkg-config python" +configure_args="PYTHON=python3 --disable-static --disable-compile-demo" +hostmakedepends="automake libtool pkg-config python3 glib-devel" makedepends="libglib-devel jansson-devel" short_desc="Seafile RPC library" maintainer="yopito " @@ -35,7 +35,8 @@ libsearpc-devel_package() { libsearpc-codegen_package() { short_desc+=" - code generator" - depends="python" + depends="python3" + python_version=3 noarch=yes pkg_install() { vdoc AUTHORS @@ -43,3 +44,13 @@ libsearpc-codegen_package() { vmove usr/bin/searpc-codegen.py } } + +libsearpc-python3_package() { + short_desc+=" - Python3 bindings" + pycompile_module="pysearpc" + depends="python3" + noarch=yes + pkg_install() { + vmove usr/lib/python3* + } +}