Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-freetype-py for openSUSE:Factory checked in at 2023-12-08 22:31:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-freetype-py (Old) and /work/SRC/openSUSE:Factory/.python-freetype-py.new.25432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-freetype-py" Fri Dec 8 22:31:47 2023 rev:7 rq:1131690 version:2.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-freetype-py/python-freetype-py.changes 2022-09-29 18:14:11.043352193 +0200 +++ /work/SRC/openSUSE:Factory/.python-freetype-py.new.25432/python-freetype-py.changes 2023-12-08 22:31:56.271744741 +0100 @@ -1,0 +2,12 @@ +Thu Dec 7 20:40:20 UTC 2023 - Dirk Müller <[email protected]> + +- update to 2.4.0: + * Update bundled dependencies (HarfBuzz 7.2.0 and FreeType + 2.13.0) + * Use leftside bearings to layout bitmaps by @HinTak to fix + #161 + * Correct copyright and description in examples/hello-vf.py + * Fix `FT_Glyph_Get_CBox()`/`FT_Outline_Get_CBox()` return type + treatment by @HinTak to fix #160 + +------------------------------------------------------------------- Old: ---- freetype-py-2.3.0.zip New: ---- freetype-py-2.4.0.zip ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-freetype-py.spec ++++++ --- /var/tmp/diff_new_pack.Rf3Wu3/_old 2023-12-08 22:31:58.083811415 +0100 +++ /var/tmp/diff_new_pack.Rf3Wu3/_new 2023-12-08 22:31:58.083811415 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-freetype-py # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-freetype-py -Version: 2.3.0 +Version: 2.4.0 Release: 0 Summary: Freetype python bindings License: BSD-3-Clause ++++++ freetype-py-2.3.0.zip -> freetype-py-2.4.0.zip ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/.github/workflows/ci.yml new/freetype-py-2.4.0/.github/workflows/ci.yml --- old/freetype-py-2.3.0/.github/workflows/ci.yml 2022-04-25 12:02:40.000000000 +0200 +++ new/freetype-py-2.4.0/.github/workflows/ci.yml 2023-05-04 11:28:06.000000000 +0200 @@ -45,18 +45,18 @@ name: '(musllinux aarch64)' qemu: true steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 # unshallow fetch for setuptools-scm - name: Set up QEMU if: matrix.qemu - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2 with: platforms: all - name: Build wheels - uses: pypa/[email protected] + uses: pypa/[email protected] env: CIBW_BUILD: ${{ matrix.cibw_build }} CIBW_ARCHS: "auto64" @@ -71,7 +71,7 @@ output-dir: dist - name: Upload distributions - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: path: dist name: dist @@ -82,15 +82,15 @@ needs: [build] if: success() && github.event_name == 'push' && startsWith(github.ref, 'refs/tags') steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 # unshallow fetch for setuptools-scm - name: Set up Python 3.9 - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: '3.9' - name: Download assets - uses: actions/[email protected] + uses: actions/download-artifact@v3 with: name: dist - name: Build sdist @@ -103,3 +103,18 @@ env: TWINE_USERNAME: ${{ secrets.pypi_username }} TWINE_PASSWORD: ${{ secrets.pypi_password }} + + test-pyinstaller: + name: Test pyinstaller hook + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: '3.9' + - name: Test pyinstaller hook + run: | + pip install pytest psutil pyinstaller>=4 + FREETYPEPY_BUNDLE_FT=yes PYTHON_ARCH=64 pip install -e . + pytest -v freetype/__pyinstaller diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/PKG-INFO new/freetype-py-2.4.0/PKG-INFO --- old/freetype-py-2.3.0/PKG-INFO 2022-04-25 12:02:50.000000000 +0200 +++ new/freetype-py-2.4.0/PKG-INFO 2023-05-04 11:28:12.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: freetype-py -Version: 2.3.0 +Version: 2.4.0 Summary: Freetype python bindings Home-page: https://github.com/rougier/freetype-py Author: Nicolas P. Rougier @@ -159,4 +159,11 @@ .. image:: https://raw.githubusercontent.com/rougier/freetype-py/master/doc/_static/agg-trick.png +Freezing apps +============= + +Freetype implements a hook for PyInstaller to help simplify the freezing process +(it e.g. ensures that the freetype DLL is included). This hook requires +PyInstaller version 4+. + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/README.rst new/freetype-py-2.4.0/README.rst --- old/freetype-py-2.3.0/README.rst 2022-04-25 12:02:40.000000000 +0200 +++ new/freetype-py-2.4.0/README.rst 2023-05-04 11:28:06.000000000 +0200 @@ -134,3 +134,10 @@ .. image:: https://raw.githubusercontent.com/rougier/freetype-py/master/doc/_static/agg-trick.png + +Freezing apps +============= + +Freetype implements a hook for PyInstaller to help simplify the freezing process +(it e.g. ensures that the freetype DLL is included). This hook requires +PyInstaller version 4+. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/examples/hello-vf.py new/freetype-py-2.4.0/examples/hello-vf.py --- old/freetype-py-2.3.0/examples/hello-vf.py 2022-04-25 12:02:40.000000000 +0200 +++ new/freetype-py-2.4.0/examples/hello-vf.py 2023-05-04 11:28:06.000000000 +0200 @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # ----------------------------------------------------------------------------- # -# FreeType high-level python API - Copyright 2011-2015 Nicolas P. Rougier +# Variable Font example - Copyright 2020 Josh Hadley, based on hello-world.py # Distributed under the terms of the new BSD license. # # ----------------------------------------------------------------------------- @@ -50,7 +50,7 @@ y = (height - baseline - top) - (i * 48) kerning = face.get_kerning(previous, c) x += (kerning.x >> 6) - Z[y:y+h,x:x+w] += numpy.array(bitmap.buffer, dtype='ubyte').reshape(h,w) + Z[y:y+h,x+left:x+left+w] += numpy.array(bitmap.buffer, dtype='ubyte').reshape(h,w) x += (slot.advance.x >> 6) previous = c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/examples/hello-world-cairo.py new/freetype-py-2.4.0/examples/hello-world-cairo.py --- old/freetype-py-2.3.0/examples/hello-world-cairo.py 2022-04-25 12:02:40.000000000 +0200 +++ new/freetype-py-2.4.0/examples/hello-world-cairo.py 2023-05-04 11:28:06.000000000 +0200 @@ -52,7 +52,7 @@ # cairo does not like zero-width bitmap from the space character! if (bitmap.width > 0): glyph_surface = make_image_surface(face.glyph.bitmap) - ctx.set_source_surface(glyph_surface, x, y) + ctx.set_source_surface(glyph_surface, x+left, y) ctx.paint() x += (slot.advance.x >> 6) previous = c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/examples/hello-world.py new/freetype-py-2.4.0/examples/hello-world.py --- old/freetype-py-2.3.0/examples/hello-world.py 2022-04-25 12:02:40.000000000 +0200 +++ new/freetype-py-2.4.0/examples/hello-world.py 2023-05-04 11:28:06.000000000 +0200 @@ -44,7 +44,7 @@ y = height-baseline-top kerning = face.get_kerning(previous, c) x += (kerning.x >> 6) - Z[y:y+h,x:x+w] += numpy.array(bitmap.buffer, dtype='ubyte').reshape(h,w) + Z[y:y+h,x+left:x+left+w] += numpy.array(bitmap.buffer, dtype='ubyte').reshape(h,w) x += (slot.advance.x >> 6) previous = c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/freetype/__init__.py new/freetype-py-2.4.0/freetype/__init__.py --- old/freetype-py-2.3.0/freetype/__init__.py 2022-04-25 12:02:40.000000000 +0200 +++ new/freetype-py-2.4.0/freetype/__init__.py 2023-05-04 11:28:06.000000000 +0200 @@ -899,8 +899,7 @@ FT_GLYPH_BBOX_PIXELS. ''' bbox = FT_BBox() - error = FT_Glyph_Get_CBox(byref(self._FT_Glyph.contents), bbox_mode, byref(bbox)) - if error: raise FT_Exception(error) + FT_Glyph_Get_CBox(byref(self._FT_Glyph.contents), bbox_mode, byref(bbox)) return BBox(bbox) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/freetype/__pyinstaller/__init__.py new/freetype-py-2.4.0/freetype/__pyinstaller/__init__.py --- old/freetype-py-2.3.0/freetype/__pyinstaller/__init__.py 1970-01-01 01:00:00.000000000 +0100 +++ new/freetype-py-2.4.0/freetype/__pyinstaller/__init__.py 2023-05-04 11:28:06.000000000 +0200 @@ -0,0 +1,12 @@ +from os.path import dirname + + +HERE = dirname(__file__) + + +def get_hook_dirs(): + return [HERE] + + +def get_test_dirs(): + return [HERE] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/freetype/__pyinstaller/conftest.py new/freetype-py-2.4.0/freetype/__pyinstaller/conftest.py --- old/freetype-py-2.3.0/freetype/__pyinstaller/conftest.py 1970-01-01 01:00:00.000000000 +0100 +++ new/freetype-py-2.4.0/freetype/__pyinstaller/conftest.py 2023-05-04 11:28:06.000000000 +0200 @@ -0,0 +1 @@ +from PyInstaller.utils.conftest import * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/freetype/__pyinstaller/hook-freetype.py new/freetype-py-2.4.0/freetype/__pyinstaller/hook-freetype.py --- old/freetype-py-2.3.0/freetype/__pyinstaller/hook-freetype.py 1970-01-01 01:00:00.000000000 +0100 +++ new/freetype-py-2.4.0/freetype/__pyinstaller/hook-freetype.py 2023-05-04 11:28:06.000000000 +0200 @@ -0,0 +1,4 @@ +from PyInstaller.utils.hooks import collect_dynamic_libs + + +binaries = collect_dynamic_libs("freetype") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/freetype/__pyinstaller/test_freetype.py new/freetype-py-2.4.0/freetype/__pyinstaller/test_freetype.py --- old/freetype-py-2.3.0/freetype/__pyinstaller/test_freetype.py 1970-01-01 01:00:00.000000000 +0100 +++ new/freetype-py-2.4.0/freetype/__pyinstaller/test_freetype.py 2023-05-04 11:28:06.000000000 +0200 @@ -0,0 +1,6 @@ +def test_pyi_freetype(pyi_builder): + pyi_builder.test_source( + """ + import freetype + """ + ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/freetype_py.egg-info/PKG-INFO new/freetype-py-2.4.0/freetype_py.egg-info/PKG-INFO --- old/freetype-py-2.3.0/freetype_py.egg-info/PKG-INFO 2022-04-25 12:02:50.000000000 +0200 +++ new/freetype-py-2.4.0/freetype_py.egg-info/PKG-INFO 2023-05-04 11:28:12.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: freetype-py -Version: 2.3.0 +Version: 2.4.0 Summary: Freetype python bindings Home-page: https://github.com/rougier/freetype-py Author: Nicolas P. Rougier @@ -159,4 +159,11 @@ .. image:: https://raw.githubusercontent.com/rougier/freetype-py/master/doc/_static/agg-trick.png +Freezing apps +============= + +Freetype implements a hook for PyInstaller to help simplify the freezing process +(it e.g. ensures that the freetype DLL is included). This hook requires +PyInstaller version 4+. + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/freetype_py.egg-info/SOURCES.txt new/freetype-py-2.4.0/freetype_py.egg-info/SOURCES.txt --- old/freetype-py-2.3.0/freetype_py.egg-info/SOURCES.txt 2022-04-25 12:02:50.000000000 +0200 +++ new/freetype-py-2.4.0/freetype_py.egg-info/SOURCES.txt 2023-05-04 11:28:12.000000000 +0200 @@ -115,6 +115,10 @@ freetype/ft_structs.py freetype/ft_types.py freetype/raw.py +freetype/__pyinstaller/__init__.py +freetype/__pyinstaller/conftest.py +freetype/__pyinstaller/hook-freetype.py +freetype/__pyinstaller/test_freetype.py freetype/ft_enums/__init__.py freetype/ft_enums/ft_curve_tags.py freetype/ft_enums/ft_encodings.py @@ -145,6 +149,7 @@ freetype_py.egg-info/PKG-INFO freetype_py.egg-info/SOURCES.txt freetype_py.egg-info/dependency_links.txt +freetype_py.egg-info/entry_points.txt freetype_py.egg-info/top_level.txt freetype_py.egg-info/zip-safe tests/smoke_test.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/freetype_py.egg-info/entry_points.txt new/freetype-py-2.4.0/freetype_py.egg-info/entry_points.txt --- old/freetype-py-2.3.0/freetype_py.egg-info/entry_points.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/freetype-py-2.4.0/freetype_py.egg-info/entry_points.txt 2023-05-04 11:28:12.000000000 +0200 @@ -0,0 +1,4 @@ +[pyinstaller40] +hook-dirs = freetype.__pyinstaller:get_hook_dirs +tests = freetype.__pyinstaller:get_test_dirs + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/setup-build-freetype.py new/freetype-py-2.4.0/setup-build-freetype.py --- old/freetype-py-2.3.0/setup-build-freetype.py 2022-04-25 12:02:40.000000000 +0200 +++ new/freetype-py-2.4.0/setup-build-freetype.py 2023-05-04 11:28:06.000000000 +0200 @@ -25,14 +25,14 @@ # Needed for the GitHub Actions macOS CI runner, which appears to come without CAs. import certifi -FREETYPE_HOST = "https://download.savannah.gnu.org/releases/freetype/" -FREETYPE_TARBALL = "freetype-2.12.0.tar.xz" +FREETYPE_HOST = "https://mirrors.sarata.com/non-gnu/freetype/" +FREETYPE_TARBALL = "freetype-2.13.0.tar.xz" FREETYPE_URL = FREETYPE_HOST + FREETYPE_TARBALL -FREETYPE_SHA256 = "ef5c336aacc1a079ff9262d6308d6c2a066dd4d2a905301c4adda9b354399033" -HARFBUZZ_HOST = "https://github.com/harfbuzz/harfbuzz/releases/download/4.2.1/" -HARFBUZZ_TARBALL = "harfbuzz-4.2.1.tar.xz" +FREETYPE_SHA256 = "5ee23abd047636c24b2d43c6625dcafc66661d1aca64dec9e0d05df29592624c" +HARFBUZZ_HOST = "https://github.com/harfbuzz/harfbuzz/releases/download/7.2.0/" +HARFBUZZ_TARBALL = "harfbuzz-7.2.0.tar.xz" HARFBUZZ_URL = HARFBUZZ_HOST + HARFBUZZ_TARBALL -HARFBUZZ_SHA256 = "bd17916513829aeff961359a5ccebba6de2f4bf37a91faee3ac29c120e3d7ee1" +HARFBUZZ_SHA256 = "fc5560c807eae0efd5f95b5aa4c65800c7a8eed6642008a6b1e7e3ffff7873cc" root_dir = "." build_dir = path.join(root_dir, "build") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-py-2.3.0/setup.py new/freetype-py-2.4.0/setup.py --- old/freetype-py-2.3.0/setup.py 2022-04-25 12:02:40.000000000 +0200 +++ new/freetype-py-2.4.0/setup.py 2023-05-04 11:28:06.000000000 +0200 @@ -128,4 +128,10 @@ ], keywords=['freetype', 'font'], setup_requires=['setuptools_scm'], + entry_points={ + "pyinstaller40": [ + "hook-dirs = freetype.__pyinstaller:get_hook_dirs", + "tests = freetype.__pyinstaller:get_test_dirs", + ], + }, )
