Hello community, here is the log from the commit of package fontforge for openSUSE:Leap:15.2 checked in at 2020-06-10 16:49:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/fontforge (Old) and /work/SRC/openSUSE:Leap:15.2/.fontforge.new.3606 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fontforge" Wed Jun 10 16:49:33 2020 rev:19 rq:796680 version:20200314 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/fontforge/fontforge.changes 2020-01-23 09:20:37.726691708 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.fontforge.new.3606/fontforge.changes 2020-06-10 16:49:39.820317130 +0200 @@ -2 +2 @@ -Tue Jan 14 09:54:40 UTC 2020 - Cliff Zhao <[email protected]> +Wed Apr 15 18:30:12 UTC 2020 - Antonio Larrosa <[email protected]> @@ -4,3 +4,54 @@ -- Add fontforge-CVE-2020-5395-5496.patch: Use-after-free (heap) in -the SFD_GetFontMetaData() function and fix NULL pointer dereference -in the SFDGetSpiros() and SFD_AssignLookups() function(bnc#1160220, +- Update to version 20200314: + * FontForge now has much improved stroke expansion functionality. + The main change is that it actually works most of the time. New + features include support for arbitrary convex nibs and the + miter-clip and arc join styles from SVG 2. All functionality is + accessible from the Python and native APIs. + * Remove overlap handles certain important edge cases better. + * The Python API now has a function called genericGlyphChange + that matches the "Change Glyph" command in the GUI. See #4133 + for more details. + * The Python API now has functions for getting Unicode script and + for interrogating glyph boundaries. + * One can now use text flags (rather than just numerical flags) + when opening a font file via the Python API. + * UFO import now outputs the note field properly. + * SVG import is much more robust. + * We have dropped most gnulib and autotools logic in favor of + CMake, which dramatically simplifies the build system and just + as dramatically improves build time. + * As part of the switch to CMake, per the deprecation of + Python 2, and per the lack of objections to the proposal on + the mailing list, we have dropped support for building + FontForge with Python 2 support. The non-build-system Python 2 + code remains, but it is neither tested nor maintained nor + supported and is likely to follow a trajectory of decay and + then removal. + * Documentation is now rendered in Sphinx, which makes + maintenance and improvement easier. + * Translations now happen on crowdin, which makes contributions + easier. + * We got such a contribution for Croatian. + * Character view point coloring is more consistent, and preview + fills support transparency. + * The user can now move and close tabs in the character view. + * The metrics view now allows for entry of negative kerning + values and runs a bit more smoothly. + * There is now a warning when a user is about to discard an + unsaved script. + * We fixed bugs all over, as always, with particular attention + given to the metrics view, Python, Spiro, and high-resolution + displays. + * Notes on build system changes: + + libgutils and libgunicode have been combined into + libfontforge + + libgdraw and libfontforgeexe have been combined into the + fontforge executable itself + + No development files are installed (headers, or pkg-config). + This is because we do not provide a stable API or ABI to work + against, nor are the headers actually well configured to be + used externally. We are also not aware of any maintained + product that compiles against FontForge itself. + * Fixes use-after-free (heap) in the SFD_GetFontMetaData() + function and fix NULL pointer dereference in the + SFDGetSpiros() and SFD_AssignLookups() function(bnc#1160220, @@ -7,0 +59,44 @@ + +- Drop patch that isn't needed anymore: + * python38_config.patch + +- Add patches to fix build: + * fix-return-statement.patch + * fix-sphinx-doc.patch (only for Leap 15.2) + +------------------------------------------------------------------- +Wed Oct 30 13:28:56 UTC 2019 - Ondřej Súkup <[email protected]> + +- add python38_config.patch to build with python-3.8 +- spec-cleaned + +------------------------------------------------------------------- +Wed Aug 21 12:36:23 UTC 2019 - [email protected] + +- version update to 20190801 [bsc#1145185] + * Bugfixes + * Added Croatian translation + * Added user decompositions + * New graphic for the splash/about screen + * Images embedded in SFDs are now serialised as PNGs + * Both the Windows and Mac builds are now built with Python 3 instead of Python 2. + * The minimum supported version for the Mac build is now MacOS Sierra (10.12) + * FontForge no longer uses gnulib + * collab support has been removed + * Complete GDK support, enabled by default on Windows and Macintosh, from @jtanx. + * Enhanced UFO 3 support, with separate import/export paths for UFO 2 and UFO 3, + from @frank-trampe. See the technical bulletin here for more information. + * Improved feature file support, from @skef and @khaledhosny. + * WOFF2 support, from @jtanx. + * Unicode 12.1.0 support, from @JoesCat. + * Extended Python interfaces, from @skef. +- modified patches + % fontforge-version.patch (refreshed) +- deleted patches + - reproducible.patch (upstreamed) + +------------------------------------------------------------------- +Wed Aug 1 03:37:01 UTC 2018 - [email protected] + +- Add reproducible.patch to override font build dates (boo#1047218) +- repack sources to .xz since we have to repack already Old: ---- fontforge-20170731-repacked.tar.gz fontforge-CVE-2020-5395-5496.patch New: ---- fix-return-statement.patch fix-sphinx-doc.patch fontforge-20200314-repacked.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fontforge.spec ++++++ --- /var/tmp/diff_new_pack.eLwmrT/_old 2020-06-10 16:49:41.496321993 +0200 +++ /var/tmp/diff_new_pack.eLwmrT/_new 2020-06-10 16:49:41.500322004 +0200 @@ -1,7 +1,7 @@ # # spec file for package fontforge # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,35 +12,35 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: fontforge -Version: 20170731 +Version: 20200314 Release: 0 Summary: A Font Editor -License: GPL-3.0+ -Group: Productivity/Graphics/Vector Editors -Url: http://fontforge.org/ -# Source: https://github.com/fontforge/fontforge/archive/%{version}.tar.gz -# see bug 926061, fontforge-*-repacked.tar.gz does not contain fontforge-*/win/gold/libX11-*.noarch.rpm -Source0: fontforge-%{version}-repacked.tar.gz +License: GPL-3.0-or-later +URL: http://fontforge.org/ +# Source: https://github.com/fontforge/fontforge/archive/%%{version}.tar.gz +# see bug 926061, fontforge-*-repacked.tar.xz does not contain fontforge-*/win/gold/libX11-*.noarch.rpm +Source0: fontforge-%{version}-repacked.tar.xz Source1: get-source.sh # workardound for bug 930076, imho upstream should fix this # https://github.com/fontforge/fontforge/issues/2270 Patch0: fontforge-version.patch -# PATCH-FIX-UPSTREAM fontforge-CVE-2020-5395-5496.patch bnc#1160220 bnc#1160236 CVE-2020-5395 CVE-2020-5496 [email protected] -- Fix for NULL pointer dereference in the SFDGetSpiros() and SFD_AssignLookups(). -Patch1: fontforge-CVE-2020-5395-5496.patch -BuildRequires: autoconf -BuildRequires: automake +Patch1: fix-return-statement.patch +Patch2: fix-sphinx-doc.patch BuildRequires: cairo-devel +BuildRequires: cmake BuildRequires: fdupes BuildRequires: fontconfig-devel BuildRequires: freetype2-devel +BuildRequires: gcc-c++ BuildRequires: gettext-tools BuildRequires: giflib-devel BuildRequires: git +BuildRequires: gtk3-devel BuildRequires: hicolor-icon-theme BuildRequires: libjpeg-devel BuildRequires: libpng-devel @@ -50,13 +50,15 @@ BuildRequires: libxml2-devel BuildRequires: pango-devel BuildRequires: pkgconfig +BuildRequires: python3-Sphinx BuildRequires: python3-devel +BuildRequires: readline-devel BuildRequires: update-desktop-files +BuildRequires: woff2-devel BuildRequires: zlib-devel BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xft) BuildRequires: pkgconfig(xi) -BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} > 1210 BuildRequires: libspiro-devel %endif @@ -69,7 +71,6 @@ %package doc Summary: Documentation for FontForge -Group: Documentation/HTML %if 0%{?suse_version} >= 1230 BuildArch: noarch %endif @@ -83,7 +84,6 @@ %package devel Summary: Include Files and Libraries mandatory for Development -Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: freetype2-devel @@ -97,47 +97,41 @@ %prep %setup -q -%patch0 +%patch0 -p1 %patch1 -p1 -sed -i 's/\r$//' doc/html/{Big5.txt,corpchar.txt} -# workaround for bug 930076; we just need the _version_of_the_release_! (see also fontforge-version.patch) --- -grep 'doversion(FONTFORGE_MODTIME_STR)' fontforgeexe/startnoui.c && \ -sed -i 's:FONTFORGE_MODTIME_STR:"%{version}":' fontforgeexe/startnoui.c -grep 'doversion(FONTFORGE_MODTIME_STR)' fontforgeexe/startui.c && \ -sed -i 's:FONTFORGE_MODTIME_STR:"%{version}":' fontforgeexe/startui.c -# --- +%if %{?suse_version} < 1550 +%patch2 -p1 +%endif %build -./bootstrap --force -%configure \ - --disable-static \ - --enable-pyextension \ - --with-regular-link \ - --docdir=%{_docdir}/%{name}/html -make %{?_smp_mflags} +%cmake \ + -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name}/html %install -make DESTDIR=%{buildroot} install %{?_smp_mflags} -%suse_update_desktop_file -i %{name} VectorGraphics +%cmake_install +%suse_update_desktop_file -i org.fontforge.FontForge VectorGraphics %find_lang FontForge find %{buildroot} -type f -name "*.la" -delete -print +rm %{buildroot}%{_docdir}/%{name}/html/.buildinfo +rm %{buildroot}%{_docdir}/%{name}/html/.nojekyll %fdupes -s %{buildroot}%{_datadir}/%{name} %post -p /sbin/ldconfig - %postun -p /sbin/ldconfig %files -f FontForge.lang %license LICENSE COPYING.gplv3 %exclude %{_docdir}/%{name}/html -%{_mandir}/man1/*.1* +%{_mandir}/man1/*.1%{?ext_man} %{_bindir}/* %{_libdir}/lib*.so.* %{_datadir}/fontforge/ %{python3_sitearch}/* -%{_datadir}/applications/%{name}.desktop -%{_datadir}/icons/hicolor/*/apps/%{name}.png -%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +%{_datadir}/applications/org.fontforge.FontForge.desktop +%{_datadir}/icons/hicolor/*/apps/org.fontforge.FontForge.png +%{_datadir}/icons/hicolor/scalable/apps/org.fontforge.FontForge.svg +%{_datadir}/metainfo/org.fontforge.FontForge.*.xml +%{_datadir}/pixmaps/org.fontforge.FontForge.* %{_datadir}/mime/packages/%{name}.xml %dir %{_docdir}/fontforge @@ -148,8 +142,6 @@ %files devel %doc CONTRIBUTING.md -%{_includedir}/fontforge/ -%{_libdir}/pkgconfig/*.pc %{_libdir}/lib*.so %changelog ++++++ fix-return-statement.patch ++++++ Index: fontforge-20200314/gdraw/ggdkdraw.c =================================================================== --- fontforge-20200314.orig/gdraw/ggdkdraw.c +++ fontforge-20200314/gdraw/ggdkdraw.c @@ -2333,6 +2333,7 @@ static void GGDKDrawSyncThread(GDisplay static GWindow GGDKDrawPrinterStartJob(GDisplay *UNUSED(gdisp), void *UNUSED(user_data), GPrinterAttrs *UNUSED(attrs)) { Log(LOGERR, " "); assert(false); + return (GWindow)0L; } static void GGDKDrawPrinterNextPage(GWindow UNUSED(w)) { @@ -2343,6 +2344,7 @@ static void GGDKDrawPrinterNextPage(GWin static int GGDKDrawPrinterEndJob(GWindow UNUSED(w), int UNUSED(cancel)) { Log(LOGERR, " "); assert(false); + return 0; } Index: fontforge-20200314/fontforgeexe/cvimportdlg.c =================================================================== --- fontforge-20200314.orig/fontforgeexe/cvimportdlg.c +++ fontforge-20200314/fontforgeexe/cvimportdlg.c @@ -710,6 +710,7 @@ static int GFD_Options(GGadget *g, GEven _ImportParamsDlg(ImportParamsState()); d->opts_shown = true; } + return 0; } static int e_h(GWindow gw, GEvent *event) { ++++++ fix-sphinx-doc.patch ++++++ Index: fontforge-20200314/doc/sphinx/techref/splinefont.rst =================================================================== --- fontforge-20200314.orig/doc/sphinx/techref/splinefont.rst +++ fontforge-20200314/doc/sphinx/techref/splinefont.rst @@ -195,7 +195,7 @@ The bounding box of a :ref:`Spline <spli :ref:`SplineChar <splinefont.SplineChar>`, :ref:`RefChar <splinefont.RefChar>`, :ref:`Image <splinefont.ImageList>`, or whatever else needs a bounding box. -.. code-block:: +.. code-block:: cpp :name: splinefont.BDFFloat typedef struct bdffloat { @@ -206,7 +206,7 @@ The bounding box of a :ref:`Spline <spli The floating selection in a :ref:`BDFChar <splinefont.BDFChar>`. -.. code-block:: +.. code-block:: cpp :name: splinefont.Undoes typedef struct undoes { @@ -277,7 +277,7 @@ both the splines and the bitmaps of a ch ut_mult is used when doing a copy from the FontView where you are copying more than one character. -.. code-block:: +.. code-block:: cpp :name: splinefont.BDFChar typedef struct bdfchar { @@ -318,7 +318,7 @@ represented by a byte rather than a bit. The last thing in the BDFChar is a (/an optional) floating selection. Only present if the user has made a selection or done a paste or something like that. -.. code-block:: +.. code-block:: cpp :name: splinefont.BDFFont typedef struct bdffont { @@ -345,7 +345,7 @@ contains a count of the number of entrie itself. Currently the number of entries here is always 16, but that could change. -.. code-block:: +.. code-block:: cpp :name: splinefont.SplinePoint enum pointtype { pt_curve, pt_corner, pt_tangent }; @@ -405,7 +405,7 @@ drawing it. They are cached so they don' There's a different set of lines for every scale (as there is a different amount of visible detail). They get freed and regenerated if the Spline changes. -.. code-block:: +.. code-block:: cpp :name: splinefont.Spline typedef struct spline1d { @@ -439,7 +439,7 @@ some are used in other places too. The Spline1D structures give the equations for the x and y coordinates respectively (splines[0] is for x, splines[1] is for y). -.. code-block:: +.. code-block:: cpp :name: splinefont.SplinePointList typedef struct splinepointlist { @@ -463,7 +463,7 @@ to). A SplinePointList is a connected pa Generally a series of paths will make up a character, and they are linked together on the next field. -.. code-block:: +.. code-block:: cpp :name: splinefont.RefChar typedef struct refchar { @@ -498,7 +498,7 @@ themselves). The selected field indicate field provides a transformed bounding box. And the sc field points to the SplineChar we are referring to. -.. code-block:: +.. code-block:: cpp :name: splinefont.KernPair typedef struct kernpair { @@ -514,7 +514,7 @@ offset between them (or rather the diffe and right bearings would lead you to believe it should be). Next points to the next kernpair. -.. code-block:: +.. code-block:: cpp :name: splinefont.Hints typedef struct hints { @@ -532,7 +532,7 @@ y space) of where the stem starts, and w negative (in which case base is where the stem ends). Next points to the next hint for the character. -.. code-block:: +.. code-block:: cpp :name: splinefont.ImageList typedef struct imagelist { @@ -551,7 +551,7 @@ not support any other transformations on transformations have been applied. The next field points to the next image, and selected indicates whether this one is selected or not. -.. code-block:: +.. code-block:: cpp :name: splinefont.SplineChar typedef struct splinechar { @@ -623,7 +623,7 @@ follow this one. For instance the combin SplineChar representing "V" would have a pointer to a :ref:`KernPair <splinefont.KernPair>` with data on "A". -.. code-block:: +.. code-block:: cpp :name: splinefont.SplineFont typedef struct splinefont { Index: fontforge-20200314/doc/sphinx/ui/misc/fontforge-themes.rst =================================================================== --- fontforge-20200314.orig/doc/sphinx/ui/misc/fontforge-themes.rst +++ fontforge-20200314/doc/sphinx/ui/misc/fontforge-themes.rst @@ -4,7 +4,7 @@ FontForge color schemes The following are some suggestions for color schemes. You simply copy these into your ~/.Xdefaults file and then run -.. code-block:: +.. code-block:: bash :name: fontforge-themes.shell $ xrdb ~/.Xdefaults Index: fontforge-20200314/doc/sphinx/conf.py =================================================================== --- fontforge-20200314.orig/doc/sphinx/conf.py +++ fontforge-20200314/doc/sphinx/conf.py @@ -43,6 +43,7 @@ templates_path = ['_templates'] # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +master_doc = 'index' # -- Options for HTML output ------------------------------------------------- ++++++ fontforge-version.patch ++++++ --- /var/tmp/diff_new_pack.eLwmrT/_old 2020-06-10 16:49:41.536322109 +0200 +++ /var/tmp/diff_new_pack.eLwmrT/_new 2020-06-10 16:49:41.536322109 +0200 @@ -1,31 +1,26 @@ -Index: fontforge/start.c +Index: fontforge-20190801/fontforge/start.c =================================================================== ---- fontforge/start.c.orig 2015-04-30 22:29:11.000000000 +0200 -+++ fontforge/start.c 2015-05-11 12:45:19.923253423 +0200 -@@ -133,9 +133,14 @@ - } +--- fontforge-20190801.orig/fontforge/start.c 2019-08-21 13:44:15.537289287 +0200 ++++ fontforge-20190801/fontforge/start.c 2019-08-21 13:44:39.253433054 +0200 +@@ -108,8 +108,6 @@ return; void doversion(const char *source_version_str) { -+ /* not to be upstreamed ! */ if ( source_version_str!=NULL ) -+ { - printf( "fontforge %s\n", source_version_str ); -+ printf( "libfontforge %s\n", source_version_str ); -+ } else { - printf( "libfontforge %d\n", - FONTFORGE_VERSIONDATE_RAW ); -+ } +- printf( "fontforge %s\n", source_version_str ); +- printf( "build date: %s\n", +- FONTFORGE_MODTIME_STR ); ++ printf( "libfontforge %s\n", source_version_str ); exit(0); } -Index: fontforgeexe/startnoui.c +Index: fontforge-20190801/fontforgeexe/startnoui.c =================================================================== ---- fontforgeexe/startnoui.c.orig 2015-04-30 22:29:11.000000000 +0200 -+++ fontforgeexe/startnoui.c 2015-05-11 11:54:33.442771227 +0200 -@@ -116,7 +116,7 @@ +--- fontforge-20190801.orig/fontforgeexe/startnoui.c 2019-08-21 13:44:15.541289311 +0200 ++++ fontforge-20190801/fontforgeexe/startnoui.c 2019-08-21 13:45:22.769696849 +0200 +@@ -128,7 +128,7 @@ int fontforge_main( int argc, char **arg else if ( strcmp(pt,"-help")==0 ) doscripthelp(); else if ( strcmp(pt,"-version")==0 || strcmp(pt,"-v")==0 || strcmp(pt,"-V")==0 ) -- doversion(FONTFORGE_MODTIME_STR); +- doversion(FONTFORGE_VERSION); + doversion(source_version_str); } # if defined(_NO_PYTHON) ++++++ get-source.sh ++++++ --- /var/tmp/diff_new_pack.eLwmrT/_old 2020-06-10 16:49:41.560322178 +0200 +++ /var/tmp/diff_new_pack.eLwmrT/_new 2020-06-10 16:49:41.560322178 +0200 @@ -17,11 +17,11 @@ pushd fontforge-$VERSION # do not depend on git git clone https://github.com/troydhanson/uthash +git clone --depth 1 https://github.com/coreutils/gnulib.git gnulib # remove not shippable files (bug 926061) -rm win/gold/libX11-*.noarch.rpm -./bootstrap --copy --force +# rm win/gold/libX11-*.noarch.rpm popd -tar czf fontforge-$VERSION-repacked.tar.gz fontforge-$VERSION +tar cJf fontforge-$VERSION-repacked.tar.xz fontforge-$VERSION rm -rf fontforge-$VERSION rm $VERSION.tar.gz
