[arch-commits] Commit in sunpinyin/trunk (PKGBUILD sunpinyin-use-python3.patch)

Felix Yan felixonmars at archlinux.org
Thu Dec 17 20:42:10 UTC 2020


    Date: Thursday, December 17, 2020 @ 20:42:09
  Author: felixonmars
Revision: 778032

upgpkg: sunpinyin 3.0.0rc1-4: convert to use python3 (FS#62995)

Added:
  sunpinyin/trunk/sunpinyin-use-python3.patch
Modified:
  sunpinyin/trunk/PKGBUILD

-----------------------------+
 PKGBUILD                    |   13 +--
 sunpinyin-use-python3.patch |  171 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 179 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-12-17 20:42:01 UTC (rev 778031)
+++ PKGBUILD	2020-12-17 20:42:09 UTC (rev 778032)
@@ -4,7 +4,7 @@
 pkgname=sunpinyin
 pkgver=3.0.0rc1
 _tag=v3.0.0-rc1
-pkgrel=3
+pkgrel=4
 arch=('x86_64')
 pkgdesc="Statistical Language Model based pinyin IME by Sun"
 license=('LGPL')
@@ -11,16 +11,19 @@
 url="http://sunpinyin.googlecode.com"
 depends=('sqlite' 'make' 'gcc-libs')
 optdepends=('sunpinyin-data: Statistical language model data from open-gram project for sunpinyin')
-makedepends=('git' 'scons' 'intltool' 'python2')
-source=("git://github.com/sunpinyin/sunpinyin.git#tag=$_tag" scons-python3.patch)
+makedepends=('git' 'scons' 'intltool' 'python')
+source=("git://github.com/sunpinyin/sunpinyin.git#tag=$_tag"
+         scons-python3.patch
+         sunpinyin-use-python3.patch)
 md5sums=('SKIP'
-         '268a91412d5e5c8f3e7a092b0daa8220')
+         '268a91412d5e5c8f3e7a092b0daa8220'
+         'a652f3f3260968d18c876f6178d7fbf4')
 
 prepare() {
   cd "$srcdir/$pkgname"
-  sed -i -e "1s|python|python2|" python/*.py python/importer/*.py
 
   patch -p1 -i ../scons-python3.patch
+  patch -p1 -i ../sunpinyin-use-python3.patch
 }
 
 build() {

Added: sunpinyin-use-python3.patch
===================================================================
--- sunpinyin-use-python3.patch	                        (rev 0)
+++ sunpinyin-use-python3.patch	2020-12-17 20:42:09 UTC (rev 778032)
@@ -0,0 +1,171 @@
+commit d0693ba9f2686ffa46328da129ffef345258fa12
+Author: Peng Wu <alexepico at gmail.com>
+Date:   Thu Jul 26 15:08:41 2018 +0800
+
+    Use python3
+
+Index: sunpinyin-20190805/SConstruct
+===================================================================
+--- sunpinyin-20190805.orig/SConstruct
++++ sunpinyin-20190805/SConstruct
+@@ -299,11 +299,11 @@ def CheckPKG(context, name):
+ 
+ def CheckPython(context):
+     context.Message('Checking for Python library...')
+-    ret = context.TryAction('python-config --prefix')[0]
++    ret = context.TryAction('python3-config --prefix')[0]
+     context.Result(ret)
+     if ret:
+-        context.env.MergeFlags(['!python-config --includes',
+-                                '!python-config --libs'])
++        context.env.MergeFlags(['!python3-config --includes',
++                                '!python3-config --libs'])
+     return ret
+ 
+ 
+Index: sunpinyin-20190805/python/pinyin_info_gen.py
+===================================================================
+--- sunpinyin-20190805.orig/python/pinyin_info_gen.py
++++ sunpinyin-20190805/python/pinyin_info_gen.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python 
++#!/usr/bin/python3
+ 
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ # 
+@@ -38,60 +38,60 @@
+ from pinyin_data import *
+ 
+ def fmt_str_array (name, var) :
+-    print 'static const char *%s[] = { %s };' % (name, ', '.join ('"%s"' % s for s in var))
++    print('static const char *%s[] = { %s };' % (name, ', '.join ('"%s"' % s for s in var)))
+ 
+ def fmt_array_size (name):
+-    print 'static const unsigned num_%s = sizeof(%s) / sizeof(*%s);' % (name, name, name)
++    print('static const unsigned num_%s = sizeof(%s) / sizeof(*%s);' % (name, name, name))
+ 
+ def fmt_str_pair_array (name, var) :
+-    print 'static const char *%s[] = {' % name
++    print('static const char *%s[] = {' % name)
+     for s1, s2 in var:
+-        print '    %-7s %s' % ('"%s",' % s1, '"%s",' % s2)
+-    print '};'
++        print('    %-7s %s' % ('"%s",' % s1, '"%s",' % s2))
++    print('};')
+ 
+ def fmt_pair_array_size (name):
+-    print 'static const unsigned num_%s = sizeof(%s) / sizeof(*%s) / 2;' % (name, name, name)
++    print('static const unsigned num_%s = sizeof(%s) / sizeof(*%s) / 2;' % (name, name, name))
+ 
+ fmt_str_array ('initials', initials)
+ fmt_array_size ('initials')
+-print ''
++print('')
+ 
+ fmt_str_array('finals', finals)
+ fmt_array_size ('finals')
+-print ''
++print('')
+ 
+ fmt_str_array('fuzzy_finals', inner_fuzzy_finals)
+ fmt_array_size ('fuzzy_finals')
+-print ''
++print('')
+ 
+ fmt_str_pair_array ('fuzzy_pairs', fuzzy_pairs)
+ fmt_pair_array_size ('fuzzy_pairs')
+-print ''
++print('')
+ 
+ fmt_str_pair_array ('auto_correction_pairs', sorted(auto_correction_pairs.items()))
+ fmt_pair_array_size ('auto_correction_pairs')
+-print ''
++print('')
+ 
+-print 'static const unsigned fuzzy_finals_map [] = {'
++print('static const unsigned fuzzy_finals_map [] = {')
+ for s in inner_fuzzy_finals:
+-    print '    %-7s %-7s %-7s /* %-4s -> %-4s len %d */' % ('0x%02x,' % finals.index(s), '0x%02x,' % valid_syllables[s[1:]], '%d,' % (len(s)-1,),  s, s[1:], len(s)-1)
+-print '};\n'
++    print('    %-7s %-7s %-7s /* %-4s -> %-4s len %d */' % ('0x%02x,' % finals.index(s), '0x%02x,' % valid_syllables[s[1:]], '%d,' % (len(s)-1,),  s, s[1:], len(s)-1))
++print('};\n')
+ 
+-print 'static const TPyTabEntry pinyin_table[] = {'
++print('static const TPyTabEntry pinyin_table[] = {')
+ for syllable, hex_syllable in sorted(valid_syllables.items()):
+-    print '    { %-9s %s },' % ('"%s",' % syllable, '0x%05x' % hex_syllable)
+-print '};\n'
++    print('    { %-9s %s },' % ('"%s",' % syllable, '0x%05x' % hex_syllable))
++print('};\n')
+ 
+-print 'static const unsigned fuzzy_pre_syllables [] = {'
++print('static const unsigned fuzzy_pre_syllables [] = {')
+ for s in fuzzy_pre_syllables:
+-    print '    %-11s %-7s %-11s /* %s */' % ('0x%05x,' % valid_syllables[s[:-1]], "'%s'," % s[-1], '0x%05x,' % valid_syllables[s], s)
+-print '    0x0,'
+-print '};\n'
++    print('    %-11s %-7s %-11s /* %s */' % ('0x%05x,' % valid_syllables[s[:-1]], "'%s'," % s[-1], '0x%05x,' % valid_syllables[s], s))
++print('    0x0,')
++print('};\n')
+ 
+-print 'static const unsigned fuzzy_pro_syllables [] = {'
++print('static const unsigned fuzzy_pro_syllables [] = {')
+ for s in fuzzy_pro_syllables:
+-    print '    %-11s %-7s %-11s /* %s */' % ('0x%05x,' % valid_syllables[s], "'%s'," % s[0], '0x%05x,' % valid_syllables[s[1:]], s)
+-print '    0x0,'
+-print '};\n'
++    print('    %-11s %-7s %-11s /* %s */' % ('0x%05x,' % valid_syllables[s], "'%s'," % s[0], '0x%05x,' % valid_syllables[s[1:]], s))
++print('    0x0,')
++print('};\n')
+ 
+ # -*- indent-tabs-mode: nil -*- vim:et:ts=4
+Index: sunpinyin-20190805/python/quanpin_trie_gen.py
+===================================================================
+--- sunpinyin-20190805.orig/python/quanpin_trie_gen.py
++++ sunpinyin-20190805/python/quanpin_trie_gen.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python 
++#!/usr/bin/python3
+ 
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ # 
+@@ -42,7 +42,7 @@ import sys
+ orig_trie = trie.Trie ()
+ pytrie = trie.DATrie ()
+ 
+-for syllable, hex_syllable in pinyin_data.valid_syllables.items():
++for syllable, hex_syllable in list(pinyin_data.valid_syllables.items()):
+     orig_trie.add(syllable[::-1], hex_syllable)
+ 
+ pytrie.construct_from_trie (orig_trie)
+Index: sunpinyin-20190805/python/trie.py
+===================================================================
+--- sunpinyin-20190805.orig/python/trie.py
++++ sunpinyin-20190805/python/trie.py
+@@ -133,7 +133,7 @@ class DATrie (object):
+ 
+         trie = Trie()
+         for w in words:
+-            trie.add (w, itval.next() if itval else -1)
++            trie.add (w, next(itval) if itval else -1)
+ 
+         self.construct_from_trie (trie, values!=None)
+ 
+@@ -161,7 +161,7 @@ class DATrie (object):
+                 if progress_cb:
+                     progress_cb ()
+ 
+-        for i in xrange (self.chr_encoder (max(trie.root.trans))+1):
++        for i in range (self.chr_encoder (max(trie.root.trans))+1):
+             if self.check[i] == -1:
+                 self.check[i] = 0
+ 
+@@ -272,7 +272,7 @@ def test ():
+         v, l = match_longest (datrie, s+'b')
+         assert (len(s) == l and valid_syllables[s] == v)
+ 
+-    print 'test executed successfully'
++    print('test executed successfully')
+ 
+ if __name__ == "__main__":
+     test ()



More information about the arch-commits mailing list