Hello community,

here is the log from the commit of package graphite2 for openSUSE:Factory 
checked in at 2017-11-21 15:30:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/graphite2 (Old)
 and      /work/SRC/openSUSE:Factory/.graphite2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "graphite2"

Tue Nov 21 15:30:23 2017 rev:21 rq:543872 version:1.3.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/graphite2/graphite2.changes      2017-06-28 
10:33:51.000058344 +0200
+++ /work/SRC/openSUSE:Factory/.graphite2.new/graphite2.changes 2017-11-21 
15:30:34.221128059 +0100
@@ -1,0 +2,10 @@
+Mon Nov 20 12:16:37 UTC 2017 - mplus...@suse.com
+
+- Add patches to fix tests when using python3:
+  * graphite2-python3_tests.patch
+  * graphite2-python3_tests_cornercases.patch
+- Refresh all other patches
+- Use fancy name for downloaded tarball
+- Run spec-cleaner
+
+-------------------------------------------------------------------

Old:
----
  1.3.10.tar.gz

New:
----
  graphite2-1.3.10.tar.gz
  graphite2-python3_tests.patch
  graphite2-python3_tests_cornercases.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ graphite2.spec ++++++
--- /var/tmp/diff_new_pack.2UJ3tK/_old  2017-11-21 15:30:36.569042967 +0100
+++ /var/tmp/diff_new_pack.2UJ3tK/_new  2017-11-21 15:30:36.573042822 +0100
@@ -21,14 +21,16 @@
 Version:        1.3.10
 Release:        0
 Summary:        Font rendering capabilities for complex non-Roman writing 
systems
-License:        LGPL-2.1+ or MPL-2.0+
+License:        LGPL-2.1+ OR MPL-2.0+
 Group:          Productivity/Publishing/Word
-Url:            https://github.com/silnrsi/graphite
-Source0:        https://github.com/silnrsi/graphite/archive/%{version}.tar.gz
+Url:            http://graphite.sil.org/
+Source0:        
https://github.com/silnrsi/graphite/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:        baselibs.conf
 Patch0:         graphite2-1.2.0-cmakepath.patch
 Patch1:         graphite-nonvoid-return.patch
 Patch2:         link-gcc-shared.diff
+Patch3:         graphite2-python3_tests.patch
+Patch4:         graphite2-python3_tests_cornercases.patch
 BuildRequires:  asciidoc
 BuildRequires:  cmake
 BuildRequires:  fontconfig-devel
@@ -38,8 +40,7 @@
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
 BuildRequires:  pkgconfig
-BuildRequires:  python-base
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildRequires:  python3
 
 %description
 Graphite2 is a project within SIL's Non-Roman Script Initiative and Language
@@ -81,9 +82,14 @@
 %setup -q -n graphite-%{version}
 %patch0 -p1
 %patch1 -p1
-%patch2
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
 
 %build
+# Make sure to use python3 everywhere
+find tests -type f -exec sed -i "s|python|python3|g" {} +
+find . -name *.cmake -exec sed -i "s|python|python3|g" {} +
 %cmake \
        -DGRAPHITE2_COMPARE_RENDERER=OFF \
        -DGRAPHITE2_NTRACING=ON \
@@ -102,20 +108,16 @@
 %ctest
 
 %post -n %{libname} -p /sbin/ldconfig
-
 %postun -n %{libname} -p /sbin/ldconfig
 
 %files
-%defattr(-,root,root)
 %doc LICENSE COPYING
 %{_bindir}/gr2fonttest
 
 %files -n %{libname}
-%defattr(-,root,root)
 %{_libdir}/*.so.3*
 
 %files devel
-%defattr(-,root,root)
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/%{name}*.pc
 %{_includedir}/%{name}*

++++++ graphite-nonvoid-return.patch ++++++
--- /var/tmp/diff_new_pack.2UJ3tK/_old  2017-11-21 15:30:36.605041663 +0100
+++ /var/tmp/diff_new_pack.2UJ3tK/_new  2017-11-21 15:30:36.609041518 +0100
@@ -1,7 +1,7 @@
-Index: graphite2-1.3.0/tests/bittwiddling/bits.cpp
+Index: graphite-1.3.10/tests/bittwiddling/bits.cpp
 ===================================================================
---- graphite2-1.3.0.orig/tests/bittwiddling/bits.cpp
-+++ graphite2-1.3.0/tests/bittwiddling/bits.cpp
+--- graphite-1.3.10.orig/tests/bittwiddling/bits.cpp
++++ graphite-1.3.10/tests/bittwiddling/bits.cpp
 @@ -81,6 +81,7 @@ namespace
      {
          if (!std::numeric_limits<T>::is_signed) o.put('u');

++++++ graphite2-1.2.0-cmakepath.patch ++++++
--- /var/tmp/diff_new_pack.2UJ3tK/_old  2017-11-21 15:30:36.617041228 +0100
+++ /var/tmp/diff_new_pack.2UJ3tK/_new  2017-11-21 15:30:36.621041083 +0100
@@ -1,7 +1,8 @@
-diff -urN graphite2-1.2.0.orig/src/CMakeLists.txt 
graphite2-1.2.0/src/CMakeLists.txt
---- graphite2-1.2.0.orig/src/CMakeLists.txt    2013-01-29 15:47:32.465841769 
+0530
-+++ graphite2-1.2.0/src/CMakeLists.txt 2013-01-29 15:48:24.056843352 +0530
-@@ -136,4 +136,4 @@
+Index: graphite-1.3.10/src/CMakeLists.txt
+===================================================================
+--- graphite-1.3.10.orig/src/CMakeLists.txt
++++ graphite-1.3.10/src/CMakeLists.txt
+@@ -155,4 +155,4 @@ endif (${CMAKE_SYSTEM_NAME} STREQUAL "Wi
  
  
  install(TARGETS graphite2 EXPORT graphite2 LIBRARY DESTINATION 
lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX} PUBLIC_HEADER DESTINATION 
include/graphite2 RUNTIME DESTINATION bin)

++++++ graphite2-python3_tests.patch ++++++
>From d96d572627cde920af9044e0b6386e2edf56e767 Mon Sep 17 00:00:00 2001
From: Tim Eves <tim_e...@sil.org>
Date: Wed, 2 Aug 2017 12:18:11 +0700
Subject: [PATCH] Make python test programs python2 & 3 compatible

---
 tests/fnttxtrender | 11 ++++++++---
 tests/graphite.py  | 13 +++++++++----
 2 files changed, 17 insertions(+), 7 deletions(-)

Index: graphite-1.3.10/tests/fnttxtrender
===================================================================
--- graphite-1.3.10.orig/tests/fnttxtrender
+++ graphite-1.3.10/tests/fnttxtrender
@@ -1,5 +1,11 @@
 #!/usr/bin/python
 
+from __future__ import print_function, unicode_literals
+try:
+    import itertools.imap as map
+except ImportError:
+    pass
+
 import codecs
 from optparse import OptionParser
 from difflib import SequenceMatcher
@@ -202,7 +208,7 @@ rounding = 0.1 ** opts.dp
 #  if --graphite_library is used.
 import graphite as gr
 
-outfile = codecs.getwriter("utf_8")(open(opts.output, mode="wt") if 
opts.output else sys.stdout)
+outfile = codecs.getwriter("utf_8")(open(opts.output, mode="wb") if 
opts.output else sys.stdout)
 
 if opts.compare :
     with open(opts.compare) as f :
@@ -237,7 +243,7 @@ for label, words in reader :
     wcount = 0
     for s in words :
         wcount += 1
-        gls = [map(lambda x: name(tt, x, rounding), font.glyphs(s, 
includewidth = True))]
+        gls = [list(map(lambda x: name(tt, x, rounding), font.glyphs(s, 
includewidth = True)))]
         if gls[-1][-1][0] is None : gls[-1] = ('_adv_', gls[-1][-1][1], 
gls[-1][-1][2])
         l = makelabel(label, count, wcount)
         if cjson is not None and cmpgls(gls[0], cjson[l][0], opts.epsilon) :
@@ -251,4 +257,3 @@ for label, words in reader :
 if log is not None : log.logend()
 outfile.close()
 sys.exit(errors)
-
Index: graphite-1.3.10/tests/graphite.py
===================================================================
--- graphite-1.3.10.orig/tests/graphite.py
+++ graphite-1.3.10/tests/graphite.py
@@ -17,7 +17,11 @@
 #    suite 500, Boston, MA 02110-1335, USA or visit their web page on the 
 #    internet at http://www.fsf.org/licenses/lgpl.html.
 
-
+from __future__ import print_function, unicode_literals, division, 
absolute_import
+try:
+    unicode
+except NameError:
+    unicode = str
 from ctypes import *
 import ctypes.util
 import sys, os, platform
@@ -181,6 +185,7 @@ class FeatureRef(object) :
 
 class Face(object) :
     def __init__(self, data, options = 0, fn=None, segcache=0) :
+        data = data.encode('utf8')
         if fn :
             if segcache :
                 self.face = gr2.gr_make_face_with_seg_cache(data, fn, 
segcache, options)
@@ -202,12 +207,12 @@ class Face(object) :
         return gr2.fr_face_n_glyphs(self.face)
 
     def get_featureval(self, lang) :
-        if isinstance(lang, basestring) :
+        if isinstance(lang, bytes) :
             lang = gr_str_to_tag(lang)
         return FeatureVal(gr2.gr_face_featureval_for_lang(self.face, lang))
 
     def get_featureref(self, featid) :
-        if isinstance(featid, basestring) :
+        if isinstance(featid, bytes) :
             featid = gr_str_to_tag(featid)
         return FeatureRef(gr2.gr_face_find_fref(self.face, featid))
 
@@ -320,7 +325,7 @@ class Segment(object) :
     def __init__(self, font, face, scriptid, string, rtl, length = None, feats 
= None) :
         if not length :
             length = len(string)
-        if isinstance(scriptid, basestring) :
+        if isinstance(scriptid, bytes) :
             scriptid = gr2.gr_str_to_tag(scriptid)
         self.seg = gr2.gr_make_seg(font.font if font is not None else 0, 
face.face, scriptid, (feats.fval if feats else 0), 1, string.encode('utf_8'), 
length, rtl)
 
++++++ graphite2-python3_tests_cornercases.patch ++++++
>From 3ab48d1e2ba14c3369f7b8649a49fec601382bc4 Mon Sep 17 00:00:00 2001
From: Tim Eves <tim_e...@sil.org>
Date: Wed, 18 Oct 2017 16:09:52 +0700
Subject: [PATCH] Fix a few python2 & 3 corner cases

---
 tests/fnttxtrender |  2 +-
 tests/jsoncmp      | 11 +++--------
 2 files changed, 4 insertions(+), 9 deletions(-)

Index: graphite-1.3.10/tests/fnttxtrender
===================================================================
--- graphite-1.3.10.orig/tests/fnttxtrender
+++ graphite-1.3.10/tests/fnttxtrender
@@ -248,7 +248,7 @@ for label, words in reader :
         l = makelabel(label, count, wcount)
         if cjson is not None and cmpgls(gls[0], cjson[l][0], opts.epsilon) :
             errors += 1
-            print l + " Failed"
+            print(l + " Failed")
         if opts.quiet : continue
         if log is None :
             log = JsonLog(outfile, fpaths, opts, args)
Index: graphite-1.3.10/tests/jsoncmp
===================================================================
--- graphite-1.3.10.orig/tests/jsoncmp
+++ graphite-1.3.10/tests/jsoncmp
@@ -1,11 +1,10 @@
 #!/usr/bin/python
 from __future__ import print_function, unicode_literals
-from itertools import imap
 import sys, json, operator, re
 
 def walktree(tree, path="", parent=None) :
-    if isinstance(tree, (list,dict)):   
-        ixs = sorted(tree.iteritems(), key=operator.itemgetter(0)) if 
isinstance(tree, dict) else enumerate(tree)
+    if isinstance(tree, (list,dict)):
+        ixs = sorted(tree.items(), key=operator.itemgetter(0)) if 
isinstance(tree, dict) else enumerate(tree)
         for k,v in ixs :
             for y in walktree(v, "{0}/{1!s}".format(path, k), tree) :
                 yield y
@@ -67,7 +66,7 @@ def _compare(t1, t2):
 def compare(j1, j2) :
     trimtelemetry(j1)
     trimtelemetry(j2)
-    return all(imap(_compare, walktree(j1), walktree(j2)))
+    return all(map(_compare, walktree(j1), walktree(j2)))
 
 try:
     r1 = canonids(readjson(sys.argv[1]))
@@ -85,7 +84,3 @@ res = compare(r1, r2)
 if res :
     sys.exit(0)
 sys.exit(1)
-
-
-        
-            
++++++ link-gcc-shared.diff ++++++
--- /var/tmp/diff_new_pack.2UJ3tK/_old  2017-11-21 15:30:36.645040213 +0100
+++ /var/tmp/diff_new_pack.2UJ3tK/_new  2017-11-21 15:30:36.649040068 +0100
@@ -1,6 +1,8 @@
---- src/CMakeLists.txt
-+++ src/CMakeLists.txt
-@@ -121,7 +121,7 @@
+Index: graphite-1.3.10/src/CMakeLists.txt
+===================================================================
+--- graphite-1.3.10.orig/src/CMakeLists.txt
++++ graphite-1.3.10/src/CMakeLists.txt
+@@ -127,7 +127,7 @@ if  (${CMAKE_SYSTEM_NAME} STREQUAL "Linu
          if (GRAPHITE2_ASAN)
              target_link_libraries(graphite2 c gcc_s)
          else (GRAPHITE2_ASAN)


Reply via email to