From 7f7dc74acef0a5abb8c0df7af17b9ca53925a05d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Sun, 4 Dec 2022 00:58:10 +0700 Subject: [PATCH] saldl: fix build with Python 3.11 --- srcpkgs/saldl/patches/python-3.11.patch | 35 +++++++++++++++++++++++++ srcpkgs/saldl/template | 11 ++++++++ 2 files changed, 46 insertions(+) create mode 100644 srcpkgs/saldl/patches/python-3.11.patch diff --git a/srcpkgs/saldl/patches/python-3.11.patch b/srcpkgs/saldl/patches/python-3.11.patch new file mode 100644 index 00000000000..119ae7239ae --- /dev/null +++ b/srcpkgs/saldl/patches/python-3.11.patch @@ -0,0 +1,35 @@ +Index: saldl-40/.waf3/waflib/ConfigSet.py +=================================================================== +--- saldl-40.orig/.waf3/waflib/ConfigSet.py ++++ saldl-40/.waf3/waflib/ConfigSet.py +@@ -146,7 +146,7 @@ class ConfigSet(object): + Utils.writef(filename,''.join(buf)) + def load(self,filename): + tbl=self.table +- code=Utils.readf(filename,m='rU') ++ code=Utils.readf(filename,m='r') + for m in re_imp.finditer(code): + g=m.group + tbl[g(2)]=eval(g(3)) +Index: saldl-40/.waf3/waflib/Context.py +=================================================================== +--- saldl-40.orig/.waf3/waflib/Context.py ++++ saldl-40/.waf3/waflib/Context.py +@@ -106,7 +106,7 @@ class Context(ctx): + cache[node]=True + self.pre_recurse(node) + try: +- function_code=node.read('rU',encoding) ++ function_code=node.read('r',encoding) + exec(compile(function_code,node.abspath(),'exec'),self.exec_dict) + finally: + self.post_recurse(node) +@@ -346,7 +346,7 @@ def load_module(path,encoding=None): + pass + module=imp.new_module(WSCRIPT_FILE) + try: +- code=Utils.readf(path,m='rU',encoding=encoding) ++ code=Utils.readf(path,m='r',encoding=encoding) + except EnvironmentError: + raise Errors.WafError('Could not read the file %r'%path) + module_dir=os.path.dirname(path) diff --git a/srcpkgs/saldl/template b/srcpkgs/saldl/template index 9a741bb21b8..ababf3205ca 100644 --- a/srcpkgs/saldl/template +++ b/srcpkgs/saldl/template @@ -15,6 +15,17 @@ checksum=1cb7950848517fb82ec39561bf36c8cbc0a0caf8fa85355a5b76cac0281346ce CFLAGS="-fcommon" +post_extract() { + # waf file is self extracting archive written in python + # it self extracts in top level, then runs extracted module in __main__ + # importing allows to patch contents of archive + cp waf waf.py + sed -i '/__name__.*__main__/i sys.exit(0)' waf.py + python3 waf.py + ln -s .waf3-* .waf3 + rm waf.py +} + post_install() { vlicense LICENSE }