---- fontforge-20100501/configure.in.orig 2009-12-27 00:18:48.000000000 +0100
-+++ fontforge-20100501/configure.in 2010-10-07 09:20:42.775738529 +0200
-@@ -21,6 +21,8 @@
- AC_SUBST(LINK_WITH_GDRAW)
- X_11LIB=-lX11
- GDRAW_LIB=libgdraw
-+dnl this is abused later: originally contains -lSM -lICE, which are not needed
-+X_PRE_LIBS=
- exeOBJECTS=fontforge_UIOBJECTS
- LINK_WITH_GDRAW=../libgdraw.la
- if test "$no_x" = "yes"; then
-@@ -61,7 +63,6 @@
- oldCPPFLAGS="$CPPFLAGS"
- gww_extraincludes=""
- oldLDFLAGS="$LDFLAGS"
--LDFLAGS="$LDFLAGS -L/usr/local/lib"
+--- fontforge-2.0.20170731/configure.ac.orig 2017-07-31 10:30:25.294015000 +0200
++++ fontforge-2.0.20170731/configure.ac 2018-06-21 21:57:04.087315481 +0200
+@@ -622,7 +622,7 @@
+ test x"${i_do_have_cairo}" = xyes && my_libs="${my_libs} ${CAIRO_LIBS}"
+ test x"${i_do_have_cairo}" = xyes && my_libs="${my_libs} ${PANGOCAIRO_LIBS}"
+ test x"${i_do_have_gui}" = xyes && my_libs="${my_libs} ${PANGO_LIBS}"
+-test x"${i_do_have_x}" = xyes && my_libs="${my_libs} ${X_PRE_LIBS} ${X_LIBS} ${X_EXTRA_LIBS}"
++test x"${i_do_have_x}" = xyes && my_libs="${my_libs} ${X_LIBS} ${X_EXTRA_LIBS}"
+ test x"${i_do_have_libreadline}" = xyes && my_libs="${my_libs} ${LIBREADLINE_LIBS}"
+ test x"${i_do_have_libspiro}" = xyes && my_libs="${my_libs} ${LIBSPIRO_LIBS}"
+ my_libs="${my_libs} ${LIBSPIRO_LIBS}"
+--- fontforge-2.0.20170731/Makefile.am.orig 2017-07-22 07:00:38.802074006 +0200
++++ fontforge-2.0.20170731/Makefile.am 2018-06-21 22:20:54.687299149 +0200
+@@ -66,6 +66,7 @@
+ SUBDIRS += collab
+ endif
- case "$host" in
- *-apple-darwin*)
-@@ -285,12 +286,17 @@
- fi
- PyLib=`$python_prog -c "import distutils.sysconfig ; print(distutils.sysconfig.get_config_var('LIBPL') + '/' + distutils.sysconfig.get_config_var('LDLIBRARY'))"`
- if test "$py_lib" != "" ; then
-- LIBS="$LIBS $py_lib"
-+ LIBPYTHON="$py_lib"
- elif test "$PyLib" != "" -a -e "$PyLib" ; then
-- LIBS="$LIBS $PyLib"
-+ LIBPYTHON="$PyLib"
- else
-+ save_LIBS="$LIBS"
-+ LIBS=
- AC_SEARCH_LIBS(Py_Main, $PyName python, : , python="no")
-+ LIBPYTHON="$LIBS"
-+ LIBS="$save_LIBS"
- fi
-+ AC_SUBST([LIBPYTHON])
- fi
- else
- python="no"
---- fontforge-20100501/fontforge/Makefile.dynamic.in.orig 2010-10-07 09:25:42.675742720 +0200
-+++ fontforge-20100501/fontforge/Makefile.dynamic.in 2010-10-07 20:30:48.611745234 +0200
-@@ -20,6 +20,7 @@
- X_EXTRA_LIBS = @X_EXTRA_LIBS@
- X_PRE_LIBS = @X_PRE_LIBS@
- STATIC_LIBS = @STATIC_LIBS@
-+LIBPYTHON = @LIBPYTHON@
++SUBDIRS += plugins
+ SUBDIRS += fontforge
- FF_VERSION=1
- FF_REVISION=0
-@@ -71,7 +72,7 @@
- ../libgunicode.la \
- $(X_PRE_LIBS) $(X_11LIB) $(X_EXTRA_LIBS) @LIBS@ $(STATIC_LIBS) -lm
- LIBLIBS = -rpath $(libdir) ../libgutils.la ../libgunicode.la \
-- @LIBS@ $(STATIC_LIBS) -lm
-+ @LIBS@ $(STATIC_LIBS) $(LIBPYTHON) -lm
- DLIBS = -rpath $(libdir) ../libfontforge.la ../libgutils.la ../libgunicode.la @LIBS@ $(STATIC_LIBS) -lm
-
- all: @FINAL_TARGET@ @MACAPP@ sfddiff fontimage fontlint
---- fontforge-20110222/configure.in~ 2012-02-11 18:18:03.000000000 +0100
-+++ fontforge-20110222/configure.in 2012-02-11 18:25:25.604323722 +0100
-@@ -721,6 +721,9 @@
- if test "$ac_cv_lib_png14_png_create_read_struct" = "yes"; then
- STATIC_LIBS="$STATIC_LIBS -lpng14 -lz"
- fi
-+ if test "$ac_cv_lib_png15_png_create_read_struct" = "yes"; then
-+ STATIC_LIBS="$STATIC_LIBS -lpng15 -lz"
-+ fi
- if test "$ac_cv_lib_tiff_TIFFOpen" = "yes"; then
- STATIC_LIBS="$STATIC_LIBS -ltiff"
- fi
---- fontforge-20120731-b/configure.in.orig 2012-10-07 17:41:49.342851423 +0200
-+++ fontforge-20120731-b/configure.in 2012-10-07 18:59:16.455989734 +0200
-@@ -38,7 +38,7 @@
- dnl /usr/share/doc/XFree86-doc-4.2.0/Xi/lib.PS
-
- AC_CHECK_LIB(Xi, XOpenDevice, X_11LIB="-lXi -lX11" ,AC_DEFINE(_NO_XINPUT), $X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS -lX11 )
-- AC_CHECK_LIB(xkbui, XkbQueryExtension, X_11LIB="$X_11LIB -lxkbui" ,AC_DEFINE(_NO_XKB), $X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS -lX11 -lm )
-+ AC_CHECK_LIB(X11, XkbQueryExtension, X_11LIB="$X_11LIB -lX11" ,AC_DEFINE(_NO_XKB), $X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS -lX11 -lm )
- fi
-
- gww_define_caps_for_alt="dontknow"
+ if GRAPHICAL_USER_INTERFACE
+@@ -90,7 +91,6 @@
+ contrib \
+ doc \
+ nodejs \
+- plugins \
+ po \
+ pycontrib \
+ share \
+#
+# Conditional build:
+%bcond_with python # Python scripting
+%bcond_without static_libs # static libraries
+
Summary: An outline font editor
Summary(pl.UTF-8): Edytor fontów rysowanych
Name: fontforge
-Version: 20120731
-Release: 6
-License: BSD
+Version: 20170731
+Release: 1
+License: GPL v3+ with BSD parts
Group: X11/Applications/Publishing
-Source0: http://downloads.sourceforge.net/fontforge/%{name}_full-%{version}-b.tar.bz2
-# Source0-md5: a8a90473a97da87e45f66d11007b6e7c
+#Source0Download: https://github.com/fontforge/fontforge/releases
+Source0: https://github.com/fontforge/fontforge/releases/download/%{version}/%{name}-dist-%{version}.tar.xz
+# Source0-md5: 8a717035915ab4cd78b89b0942dfa1fc
Patch0: %{name}-link.patch
-Patch1: %{name}-20090224-pythondl.patch
-Patch2: giflib5.patch
-URL: http://fontforge.sourceforge.net/
-BuildRequires: autoconf
+Patch1: %{name}-libexecdir.patch
+URL: http://fontforge.github.io/
+BuildRequires: autoconf >= 2.68
BuildRequires: automake
-BuildRequires: cairo-devel >= 1.2
+BuildRequires: cairo-devel >= 1.6
+BuildRequires: czmq-devel >= 2.2.0
+BuildRequires: czmq-devel < 4
BuildRequires: fontconfig-devel
-BuildRequires: freetype-devel >= 2.0.0
+BuildRequires: freetype-devel >= 1:2.3.7
BuildRequires: gettext-tools
BuildRequires: giflib-devel
+BuildRequires: glib2-devel >= 1:2.6
+BuildRequires: gtk+2-devel >= 1:2.0
+%{?with_python:BuildRequires: python-ipython}
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
-BuildRequires: libspiro-devel
-BuildRequires: libtiff-devel
-BuildRequires: libtool
-BuildRequires: libuninameslist-devel
-BuildRequires: libxml2-devel
-BuildRequires: pango-devel
-BuildRequires: pkgconfig
+# TODO: 1:0.6 when released
+BuildRequires: libspiro-devel >= 1:0.2
+BuildRequires: libtiff-devel >= 4
+BuildRequires: libltdl-devel >= 2:2
+BuildRequires: libtool >= 2:2
+# 0.3
+BuildRequires: libuninameslist-devel >= 20130501
+BuildRequires: libxml2-devel >= 2.0
+BuildRequires: pango-devel >= 1:1.10
+BuildRequires: pkgconfig >= 1:0.25
BuildRequires: python-devel >= 2.3
BuildRequires: python-modules >= 2.3
+BuildRequires: readline-devel
+BuildRequires: tar >= 1:1.22
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXi-devel
+BuildRequires: xz
+BuildRequires: zeromq-devel >= 4.0.4
BuildRequires: zlib-devel
-Requires: cairo >= 1.2
+Requires: cairo >= 1.6
+Requires: czmq >= 2.2.0
+Requires: glib2 >= 1:2.6
Requires: iconv
+Requires: libuninameslist >= 20130501
+Requires: pango >= 1:1.10
Obsoletes: pfaedit
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek FontForge
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: cairo-devel >= 1.2
+Requires: cairo-devel >= 1.6
Requires: fontconfig-devel
-Requires: freetype-devel >= 2.0.0
+Requires: freetype-devel >= 1:2.3.7
Requires: giflib-devel
Requires: libjpeg-devel
Requires: libpng-devel
-Requires: libspiro-devel
-Requires: libtiff-devel
-Requires: libuninameslist-devel
-Requires: libxml2-devel
-Requires: pango-devel
+Requires: libspiro-devel >= 1:0.2
+Requires: libtiff-devel >= 4
+Requires: libuninameslist-devel >= 20130501
+Requires: libxml2-devel >= 2.0
+Requires: pango-devel >= 1:1.10
Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXi-devel
Requires: zlib-devel
%description devel -l pl.UTF-8
Pliki nagłówkowe bibliotek FontForge.
+%package static
+Summary: Static FontForge libraries
+Summary(pl.UTF-8): Statyczne biblioteki FontForge
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Static FontForge libraries.
+
+%description static -l pl.UTF-8
+Statyczne biblioteki FontForge.
+
+%package doc
+Summary: FontForge documentation
+Summary(pl.UTF-8): Dokumentacja do FontForge
+Group: Documentation
+
+%description doc
+FontForge documentation.
+
+%description doc -l pl.UTF-8
+Dokumentacja do FontForge.
+
+%package -n python-fontforge
+Summary: Python bindings for FontForge libraries
+Summary(pl.UTF-8): Wiązania Pythona do bibliotek FontForge
+Group: Libraries/Python
+Requires: %{name} = %{version}-%{release}
+
+%description -n python-fontforge
+Python bindings for FontForge libraries.
+
+%description -n python-fontforge -l pl.UTF-8
+Wiązania Pythona do bibliotek FontForge.
+
%prep
-%setup -q -n %{name}-%{version}-b
+%setup -q -n %{name}-2.0.%{version}
%patch0 -p1
%patch1 -p1
-%patch2 -p1
%build
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
+%{__autoheader}
+%{__automake}
%configure \
- --enable-type3 \
- --enable-multilayer \
+ PO_TRACE=/usr/bin/potrace \
+ UPDATE_MIME_DATABASE=/usr/bin/update-mime-database \
+ UPDATE_DESKTOP_DATABASE=/usr/bin/update-desktop-database \
+ --enable-debug-raw-points \
--enable-devicetables \
- --enable-longdouble \
--enable-gb12345 \
+ --enable-gtk2-use \
+ --enable-longdouble \
+ --enable-multilayer \
--enable-pasteafter \
- --enable-tilepath \
--enable-pyextension \
+ --enable-python-even \
+ --disable-silent-rules \
+ --enable-tile-path \
+ --enable-type3 \
+ --enable-write-pfm \
+ --with-cairo \
--with-freetype-bytecode \
- --with-regular-link \
--without-freetype-src \
--with-pango \
- --with-cairo \
+ --with-regular-link \
--with-x
%{__make}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libfontforge.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/fontforge/plugins/*.la
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
+%if %{with static_libs}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/fontforge/plugins/*.a
+%endif
%find_lang FontForge
%files -f FontForge.lang
%defattr(644,root,root,755)
-%doc AUTHORS LICENSE README-Unix.html
+%doc AUTHORS LICENSE doc/{README-unix,README-Unix.html}
%attr(755,root,root) %{_bindir}/fontforge
%attr(755,root,root) %{_bindir}/fontimage
%attr(755,root,root) %{_bindir}/fontlint
%attr(755,root,root) %{_bindir}/sfddiff
%attr(755,root,root) %{_libdir}/libfontforge.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libfontforge.so.1
+%attr(755,root,root) %ghost %{_libdir}/libfontforge.so.2
+%attr(755,root,root) %{_libdir}/libfontforgeexe.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfontforgeexe.so.2
%attr(755,root,root) %{_libdir}/libgdraw.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgdraw.so.4
+%attr(755,root,root) %ghost %{_libdir}/libgdraw.so.5
%attr(755,root,root) %{_libdir}/libgioftp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgioftp.so.1
+%attr(755,root,root) %ghost %{_libdir}/libgioftp.so.2
%attr(755,root,root) %{_libdir}/libgunicode.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgunicode.so.3
+%attr(755,root,root) %ghost %{_libdir}/libgunicode.so.4
%attr(755,root,root) %{_libdir}/libgutils.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgutils.so.1
+%attr(755,root,root) %ghost %{_libdir}/libgutils.so.2
+%attr(755,root,root) %{_libdir}/libzmqcollab.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libzmqcollab.so.2
+%dir %{_libdir}/fontforge
+%dir %{_libdir}/fontforge/plugins
+%attr(755,root,root) %{_libdir}/fontforge/plugins/gb12345.so
+%dir %{_libexecdir}/FontForgeInternal
+%attr(755,root,root) %{_libexecdir}/FontForgeInternal/fontforge-internal-collab-server
%{_datadir}/fontforge
+%{_datadir}/mime/packages/fontforge.xml
+%{_desktopdir}/fontforge.desktop
+%{_iconsdir}/hicolor/*x*/apps/fontforge.png
+%{_iconsdir}/hicolor/scalable/apps/fontforge.svg
%{_mandir}/man1/fontforge.1*
%{_mandir}/man1/fontimage.1*
%{_mandir}/man1/fontlint.1*
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libfontforge.so
+%attr(755,root,root) %{_libdir}/libfontforgeexe.so
%attr(755,root,root) %{_libdir}/libgdraw.so
%attr(755,root,root) %{_libdir}/libgioftp.so
%attr(755,root,root) %{_libdir}/libgunicode.so
%attr(755,root,root) %{_libdir}/libgutils.so
-%{_libdir}/libgdraw.la
-%{_libdir}/libgioftp.la
-%{_libdir}/libgunicode.la
-%{_libdir}/libgutils.la
+%attr(755,root,root) %{_libdir}/libzmqcollab.so
%{_includedir}/fontforge
-%{_pkgconfigdir}/fontforge.pc
+%{_pkgconfigdir}/libfontforge.pc
+%{_pkgconfigdir}/libfontforgeexe.pc
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libfontforge.a
+%{_libdir}/libfontforgeexe.a
+%{_libdir}/libgdraw.a
+%{_libdir}/libgioftp.a
+%{_libdir}/libgunicode.a
+%{_libdir}/libgutils.a
+%{_libdir}/libzmqcollab.a
+%endif
+
+%files doc
+%defattr(644,root,root,755)
+%{_docdir}/fontforge
+
+%files -n python-fontforge
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/fontforge.so
+%attr(755,root,root) %{py_sitedir}/psMat.so
+++ /dev/null
---- fontforge-20120731-b/gutils/gimagereadgif.c~ 2012-08-02 17:09:09.000000000 +0200
-+++ fontforge-20120731-b/gutils/gimagereadgif.c 2015-05-10 14:11:16.818633712 +0200
-@@ -42,9 +42,14 @@
- #include <gif_lib.h>
-
- static DL_CONST void *libgif=NULL;
-+#if GIFLIB_MAJOR >= 5
-+static GifFileType *(*_DGifOpenFileName)(char *, int *);
-+static int (*_DGifCloseFile)(GifFileType *, int *);
-+#else
- static GifFileType *(*_DGifOpenFileName)(char *);
--static int (*_DGifSlurp)(GifFileType *);
- static int (*_DGifCloseFile)(GifFileType *);
-+#endif
-+static int (*_DGifSlurp)(GifFileType *);
-
- static int loadgif() {
- char *err;
-@@ -56,9 +61,14 @@
- fprintf(stderr,"%s\n", dlerror());
- return( 0 );
- }
-+#if GIFLIB_MAJOR >= 5
-+ _DGifOpenFileName = (GifFileType *(*)(char *, int *)) dlsym(libgif,"DGifOpenFileName");
-+ _DGifCloseFile = (int (*)(GifFileType *, int *)) dlsym(libgif,"DGifCloseFile");
-+#else
- _DGifOpenFileName = (GifFileType *(*)(char *)) dlsym(libgif,"DGifOpenFileName");
-- _DGifSlurp = (int (*)(GifFileType *)) dlsym(libgif,"DGifSlurp");
- _DGifCloseFile = (int (*)(GifFileType *)) dlsym(libgif,"DGifCloseFile");
-+#endif
-+ _DGifSlurp = (int (*)(GifFileType *)) dlsym(libgif,"DGifSlurp");
- if ( _DGifOpenFileName && _DGifSlurp && _DGifCloseFile )
- return( 1 );
- dlclose(libgif);
-@@ -132,13 +142,21 @@
- if ( !loadgif())
- return( NULL );
-
-+#if GIFLIB_MAJOR >= 5
-+ if ((gif = _DGifOpenFileName(filename, NULL)) == NULL) {
-+#else
- if ((gif = _DGifOpenFileName(filename)) == NULL) {
-+#endif
- fprintf( stderr, "can't open %s\n", filename);
- return( NULL );
- }
-
- if ( _DGifSlurp(gif)==GIF_ERROR ) {
-+#if GIFLIB_MAJOR >= 5
-+ _DGifCloseFile(gif, NULL);
-+#else
- _DGifCloseFile(gif);
-+#endif
- fprintf( stderr, "Bad gif file %s\n", filename );
- return( NULL );
- }
-@@ -150,7 +168,11 @@
- ret = images[0];
- else
- ret = GImageCreateAnimation(images,gif->ImageCount);
-+#if GIFLIB_MAJOR >= 5
-+ _DGifCloseFile(gif, NULL);
-+#else
- _DGifCloseFile(gif);
-+#endif
- free(images);
- return( ret );
- }
-@@ -220,13 +242,21 @@
- GifFileType *gif;
- int i;
-
-+#if GIFLIB_MAJOR >= 5
-+ if ((gif = DGifOpenFileName(filename, NULL)) == NULL) {
-+#else
- if ((gif = DGifOpenFileName(filename)) == NULL) {
-+#endif
- fprintf( stderr, "can't open %s\n", filename);
- return( NULL );
- }
-
- if ( DGifSlurp(gif)==GIF_ERROR ) {
-+#if GIFLIB_MAJOR >= 5
-+ DGifCloseFile(gif, NULL);
-+#else
- DGifCloseFile(gif);
-+#endif
- fprintf(stderr,"Bad gif file %s\n", filename );
- return( NULL );
- }
-@@ -238,7 +268,11 @@
- ret = images[0];
- else
- ret = GImageCreateAnimation(images,gif->ImageCount);
-+#if GIFLIB_MAJOR >= 5
-+ DGifCloseFile(gif, NULL);
-+#else
- DGifCloseFile(gif);
-+#endif
- free(images);
- return( ret );
- }