- updated to 20150330:

* fixes a few crashes, enhances round-tripping of information in 
    certain file formats, and fixes some bad logic
  * adds support for fine point adjustment
  * etc. see https://github.com/fontforge/fontforge/releases
    for details
- remove %requires_ge libpng16-16 as it seems fontforge is not so 
  picky anymore
- doc is generated
- remove pfaedit compat
- removed patches (upstreamed or not needed):
  - fontforge-fixgiflib.patch
  - fontforge-arraysubscript.patch
  - fontforge-fdleak.patch
  - fontforge-libpng.diff
  - fontforge-docdir.patch
  - fontforge-python-module-name.diff

OBS-URL: https://build.opensuse.org/package/show/M17N/fontforge?expand=0&rev=44
This commit is contained in:
Petr Gajdos 2015-03-31 10:09:37 +00:00 committed by Git OBS Bridge
parent 7217dad7b1
commit 369414dd88
13 changed files with 195 additions and 273 deletions

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:11ae1f3839a6197d9a1b480c43d5e68f2e34ff7fb929613bfc66615f8cb42429
size 122963902

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:387b885cf01572feb2f9e2a199d6b4ccd7246a2e7abaa468e3b3db8d790cf9da
size 123526672

View File

@ -1,13 +0,0 @@
Index: fontforge-20120731-b/fontforge/contextchain.c
===================================================================
--- fontforge-20120731-b.orig/fontforge/contextchain.c
+++ fontforge-20120731-b/fontforge/contextchain.c
@@ -928,7 +928,7 @@ return;
uc_strcpy(ubuf,buf);
} else {
ubuf[0]=' ';
- utf82u_strncpy(ubuf-1,classes[cols*r+0].u.md_str,sizeof(ubuf)/sizeof(ubuf[0])-2 );
+ utf82u_strncpy(ubuf+1,classes[cols*r+0].u.md_str,sizeof(ubuf)/sizeof(ubuf[0])-2 );
ubuf[sizeof(ubuf)/sizeof(ubuf[0])-2] = '\0';
uc_strcat(ubuf," ");
}

View File

@ -1,12 +0,0 @@
Index: fontforge-20110222/fontforge/uiutil.c
===================================================================
--- fontforge-20110222.orig/fontforge/uiutil.c
+++ fontforge-20110222/fontforge/uiutil.c
@@ -315,6 +315,7 @@ return;
fullspec[0] = 0;
if ( ! GFileIsAbsolute(file) ) {
if ( helpdir==NULL || *helpdir=='\0' ) {
+#define DOCDIR "/usr/share/doc/packages/fontforge/docs"
#ifdef DOCDIR
strcpy(fullspec,DOCDIR "/");
#elif defined(SHAREDIR)

View File

@ -1,12 +0,0 @@
Index: fontforge/sfd.c
===================================================================
--- fontforge/sfd.c.orig 2009-05-13 00:23:57.000000000 +0200
+++ fontforge/sfd.c 2009-10-03 13:58:14.893617000 +0200
@@ -4983,6 +4983,7 @@ return( 0 );
}
}
}
+ closedir(dir);
}
SFDFixupBitmapRefs( bdf );
return( 1 );

View File

@ -1,94 +0,0 @@
---
gutils/gimagereadgif.c | 32 ++++++++++++++++++++++++++------
1 file changed, 26 insertions(+), 6 deletions(-)
Index: fontforge-20120731-b/gutils/gimagereadgif.c
===================================================================
--- fontforge-20120731-b.orig/gutils/gimagereadgif.c
+++ fontforge-20120731-b/gutils/gimagereadgif.c
@@ -44,7 +44,11 @@ static int a_file_must_define_something=
static DL_CONST void *libgif=NULL;
static GifFileType *(*_DGifOpenFileName)(char *);
static int (*_DGifSlurp)(GifFileType *);
+#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
+static int (*_DGifCloseFile)(GifFileType *, int *);
+#else
static int (*_DGifCloseFile)(GifFileType *);
+#endif
static int loadgif() {
char *err;
@@ -58,7 +62,7 @@ return( 0 );
}
_DGifOpenFileName = (GifFileType *(*)(char *)) dlsym(libgif,"DGifOpenFileName");
_DGifSlurp = (int (*)(GifFileType *)) dlsym(libgif,"DGifSlurp");
- _DGifCloseFile = (int (*)(GifFileType *)) dlsym(libgif,"DGifCloseFile");
+ _DGifCloseFile = (void *)dlsym(libgif,"DGifCloseFile");
if ( _DGifOpenFileName && _DGifSlurp && _DGifCloseFile )
return( 1 );
dlclose(libgif);
@@ -132,13 +136,17 @@ GImage *GImageReadGif(char *filename) {
if ( !loadgif())
return( NULL );
- if ((gif = _DGifOpenFileName(filename)) == NULL) {
+ if ((gif = _DGifOpenFileName(filename, NULL)) == NULL) {
fprintf( stderr, "can't open %s\n", filename);
return( NULL );
}
if ( _DGifSlurp(gif)==GIF_ERROR ) {
+#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
+ _DGifCloseFile(gif, NULL);
+#else
_DGifCloseFile(gif);
+#endif
fprintf( stderr, "Bad gif file %s\n", filename );
return( NULL );
}
@@ -150,7 +158,11 @@ return( NULL );
ret = images[0];
else
ret = GImageCreateAnimation(images,gif->ImageCount);
- _DGifCloseFile(gif);
+#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
+ _DGifCloseFile(gif, NULL);
+#else
+ _DGifCloseFile(gif);
+#endif
free(images);
return( ret );
}
@@ -220,13 +232,17 @@ GImage *GImageReadGif(char *filename) {
GifFileType *gif;
int i;
- if ((gif = DGifOpenFileName(filename)) == NULL) {
+ if ((gif = DGifOpenFileName(filename, NULL)) == NULL) {
fprintf( stderr, "can't open %s\n", filename);
return( NULL );
}
if ( DGifSlurp(gif)==GIF_ERROR ) {
- DGifCloseFile(gif);
+#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
+ DGifCloseFile(gif, NULL);
+#else
+ DGifCloseFile(gif);
+#endif
fprintf(stderr,"Bad gif file %s\n", filename );
return( NULL );
}
@@ -238,7 +254,11 @@ return( NULL );
ret = images[0];
else
ret = GImageCreateAnimation(images,gif->ImageCount);
- DGifCloseFile(gif);
+#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
+ DGifCloseFile(gif, NULL);
+#else
+ DGifCloseFile(gif);
+#endif
free(images);
return( ret );
}

View File

@ -1,34 +0,0 @@
Index: configure
===================================================================
--- configure.orig 2012-08-02 17:09:08.000000000 +0200
+++ configure 2014-03-14 14:27:30.539876212 +0100
@@ -14074,6 +14074,12 @@
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_png16_png_create_read_struct" = "yes"; then
+ STATIC_LIBS="$STATIC_LIBS -lpng16 -lz"
+ fi
if test "$ac_cv_lib_tiff_TIFFOpen" = "yes"; then
STATIC_LIBS="$STATIC_LIBS -ltiff"
fi
@@ -14178,6 +14184,16 @@
$as_echo "#define _STATIC_LIBPNG 1" >>confdefs.h
fi
+ if test "$ac_cv_lib_png15_png_create_read_struct" = "yes"; then
+ STATIC_LIBS="$STATIC_LIBS -lpng15 -lz"
+ $as_echo "#define _STATIC_LIBPNG 1" >>confdefs.h
+
+ fi
+ if test "$ac_cv_lib_png16_png_create_read_struct" = "yes"; then
+ STATIC_LIBS="$STATIC_LIBS -lpng16 -lz"
+ $as_echo "#define _STATIC_LIBPNG 1" >>confdefs.h
+
+ fi
if test "$ac_cv_lib_tiff_TIFFOpen" = "yes"; then
STATIC_LIBS="$STATIC_LIBS -ltiff"
$as_echo "#define _STATIC_LIBTIFF 1" >>confdefs.h

View File

@ -1,34 +0,0 @@
--- pyhook/setup.py.in 2011-10-03 09:42:46.000000000 +0200
+++ pyhook/setup.py.in 2011-10-03 09:43:39.000000000 +0200
@@ -4,16 +4,16 @@ from distutils.sysconfig import get_conf
if float(get_config_var('VERSION')) < 3:
- setup(name='fontforge',
+ setup(name='python-fontforge',
version='1.0',
description='font manipulation module',
author='George Williams',
url='http://fontforge.sf.net/',
- ext_modules=[Extension('fontforge',['fontforgepyhook.c'],
+ ext_modules=[Extension('python-fontforge',['fontforgepyhook.c'],
include_dirs=[@PYINCLUDE@],
define_macros=[@PYDEFINES@],
libraries=[@PYLIBS@]),
- Extension('psMat',['psMatpyhook.c'],
+ Extension('python-psMat',['psMatpyhook.c'],
include_dirs=[@PYINCLUDE@],
define_macros=[@PYDEFINES@],
libraries=[@PYLIBS@])]
@@ -28,8 +28,8 @@ else:
so_ext = get_config_var('SO')
py_libdir = get_python_lib(prefix = '@PYPREFIX@')
libfontforge_so = join('@libdir@', 'libfontforge' + so_ext)
- fontforge_so = join(py_libdir, 'fontforge' + so_ext)
- psMat_so = join(py_libdir, 'psMat' + so_ext)
+ fontforge_so = join(py_libdir, 'python-fontforge' + so_ext)
+ psMat_so = join(py_libdir, 'python-psMat' + so_ext)
if hasattr(os, 'symlink'):
link = 'sym'

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Tue Mar 31 09:55:24 UTC 2015 - pgajdos@suse.com
- updated to 20150330:
* fixes a few crashes, enhances round-tripping of information in
certain file formats, and fixes some bad logic
* adds support for fine point adjustment
* etc. see https://github.com/fontforge/fontforge/releases
for details
- remove %requires_ge libpng16-16 as it seems fontforge is not so
picky anymore
- doc is generated
- remove pfaedit compat
- removed patches (upstreamed or not needed):
- fontforge-fixgiflib.patch
- fontforge-arraysubscript.patch
- fontforge-fdleak.patch
- fontforge-libpng.diff
- fontforge-docdir.patch
- fontforge-python-module-name.diff
-------------------------------------------------------------------
Thu Feb 5 08:45:26 UTC 2015 - coolo@suse.com

View File

@ -16,37 +16,30 @@
#
%define src_version %{version}-b
Name: fontforge
Version: 20120731
Version: 20150330
Release: 0
Summary: A Font Editor
License: BSD-3-Clause
License: GPL-3.0+
Group: Productivity/Graphics/Vector Editors
Url: http://fontforge.org/
Source0: http://downloads.sourceforge.net/%{name}/%{name}_full-%{src_version}.tar.bz2
Source1: http://downloads.sourceforge.net/%{name}/%{name}_htdocs-%{src_version}.tar.bz2
# PATCH-FIX-OPENSUSE -- set path to documentation
Patch0: fontforge-docdir.patch
Patch1: fontforge-fdleak.patch
# workaround, this should be resolved upstream (use pkg-config) bnc#867041
Patch2: fontforge-libpng.diff
# PATCH-FIX-OPENSUSE fontforge-python-module-name.diff -- change python module name according to naming policy
Patch3: fontforge-python-module-name.diff
Patch4: fontforge-fixgiflib.patch
# PATCH-FIX-UPSTREAM http://sourceforge.net/p/fontforge/git/ci/9ae25e0
Patch5: fontforge-arraysubscript.patch
Source0: https://github.com/fontforge/fontforge/releases/download/%{version}/fontforge-%{version}.tar.gz
# suse specific
Patch6: propagate-creation-and-modification-times-to-ttf.patch
Patch0: propagate-creation-and-modification-times-to-ttf.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cairo-devel
BuildRequires: fdupes
BuildRequires: fontconfig-devel
BuildRequires: freetype2-devel
BuildRequires: gettext-tools
BuildRequires: giflib-devel
BuildRequires: git
BuildRequires: hicolor-icon-theme
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: libtool
BuildRequires: libuninameslist-devel
BuildRequires: libxml2-devel
BuildRequires: pango-devel
@ -57,11 +50,6 @@ BuildRequires: zlib-devel
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(xi)
# following to avoid warning
# 'Application built with libpng-1.5.14 but running with 1.6.1'
%requires_eq libpng16-16
Obsoletes: PfaEdit < 20110222
Provides: PfaEdit = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1210
BuildRequires: libspiro-devel
@ -102,60 +90,24 @@ This subpackage contains all necessary include files and libraries needed
to develop applications that use FontForge libraries.
%prep
%setup -q -T -n fontforge-%{src_version} -b 0
%patch0 -p 1 -b .docdir
%patch1
%patch2
%patch3
%if 0%{?suse_version} > 1230
%patch4 -p1
%endif
%patch5 -p1
%patch6 -p1
mkdir docs
tar -jxvf %{SOURCE1} -C docs
chmod 644 docs/quadraticspline.gif
chmod 644 docs/FontForgeSplash.png
chmod 644 docs/*.html
# tar zxvf docs/cidmaps.tgz
find . -name CVS -type d | xargs rm -rf
# fix wrong-file-end-of-line-encoding
sed -i 's/\r$//' docs/{Big5.txt,corpchar.txt}
%setup -q
%patch0 -p1
sed -i 's/\r$//' doc/html/{Big5.txt,corpchar.txt}
%build
# workaround, this should be resolved upstream (use pkg-config) bnc#867041
pkg-config --exists 'libpng >= 1.7.0' && echo 'Libpng was updated to 1.7, fontforge-libpng.patch will probably need to be adapted.' && exit 1
export CFLAGS="%{optflags} -fno-strict-aliasing"
./bootstrap
%configure \
--disable-static \
--enable-pyextension \
--with-regular-link
--with-regular-link \
--docdir=%{_docdir}/%{name}/html
make %{?_smp_mflags}
pushd pyhook
python setup.py build
popd
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
# symlink for old FontForge name - PfaEdit
pushd %{buildroot}%{_bindir}
ln -s fontforge pfaedit
popd
# install CMaps to be able to edit CID-keyed fonts:
# install -m 644 Adobe* %{buildroot}%{_datadir}/fontforge
# desktop file and icon
install -Dm 644 Packaging/%{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
install -Dm 644 Packaging/icons/48x48/apps/%{name}.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
%suse_update_desktop_file -i %{name} VectorGraphics
%find_lang FontForge
find %{buildroot} -type f -name "*.la" -delete -print
pushd pyhook
python setup.py install \
--root=%{buildroot} \
--prefix=%{_prefix} \
--record-rpm=%{name}-python.files
popd
%fdupes -s %{buildroot}%{_datadir}/%{name}
%post -p /sbin/ldconfig
@ -164,21 +116,26 @@ popd
%files -f FontForge.lang
%defattr(-,root,root)
%doc LICENSE
%doc LICENSE COPYING.gplv3
%exclude %{_docdir}/%{name}/html
%{_mandir}/man1/*.1*
%{_bindir}/*
%{_libdir}/lib*.so.*
%{_datadir}/fontforge/
%{_mandir}/man1/*.1*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%{py_sitedir}/*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/mime/packages/%{name}.xml
%files doc
%defattr(-,root,root)
%doc AUTHORS VERSION LICENSE README-unix docs/
%doc AUTHORS LICENSE README.md
%doc %{_docdir}/%{name}/html
%files devel
%defattr(-, root, root)
%doc CONTRIBUTING.md
%{_includedir}/fontforge/
%{_libdir}/pkgconfig/*.pc
%{_libdir}/lib*.so

143
fontforge.spec.new Normal file
View File

@ -0,0 +1,143 @@
#
# spec file for package fontforge
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# 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/
#
Name: fontforge
Version: 20150330
Release: 0
Summary: A Font Editor
License: GPL-3.0+
Group: Productivity/Graphics/Vector Editors
Url: http://fontforge.org/
Source0: https://github.com/fontforge/fontforge/releases/download/%{version}/fontforge-%{version}.tar.gz
# suse specific
Patch0: propagate-creation-and-modification-times-to-ttf.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cairo-devel
BuildRequires: fdupes
BuildRequires: fontconfig-devel
BuildRequires: freetype2-devel
BuildRequires: gettext-tools
BuildRequires: giflib-devel
BuildRequires: git
BuildRequires: hicolor-icon-theme
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: libtool
BuildRequires: libuninameslist-devel
BuildRequires: libxml2-devel
BuildRequires: pango-devel
BuildRequires: pkgconfig
BuildRequires: python-devel
BuildRequires: update-desktop-files
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
%description
FontForge allows editing of outline and bitmap fonts. With it, you can
create new fonts or modify old ones. It also converts font formats and
can convert among PostScript (ASCII & binary Type 1, some Type 3s, and
some Type 0s), TrueType, OpenType (Type2), and CID-keyed fonts.
%package doc
Summary: Documentation for FontForge
Group: Documentation/HTML
%if 0%{?suse_version} >= 1230
BuildArch: noarch
%endif
%description doc
FontForge allows editing of outline and bitmap fonts. With it, you can
create new fonts or modify old ones. It also converts font formats and
can convert among PostScript, TrueType, OpenType, and CID-keyed fonts.
This subpackage contains the documentation to FontForge.
%package devel
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Requires: freetype2-devel
%description devel
FontForge allows editing of outline and bitmap fonts. With it, you can
create new fonts or modify old ones. It also converts font formats and
can convert among PostScript, TrueType, OpenType, and CID-keyed fonts.
This subpackage contains all necessary include files and libraries needed
to develop applications that use FontForge libraries.
%prep
%setup -q
%patch0 -p1
sed -i 's/\r$//' doc/html/{Big5.txt,corpchar.txt}
%build
./bootstrap
%configure \
--disable-static \
--enable-pyextension \
--with-regular-link \
--docdir=%{_docdir}/%{name}/html
make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
%suse_update_desktop_file -i %{name} VectorGraphics
%find_lang FontForge
find %{buildroot} -type f -name "*.la" -delete -print
%fdupes -s %{buildroot}%{_datadir}/%{name}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f FontForge.lang
%defattr(-,root,root)
%doc LICENSE COPYING.gplv3
%exclude %{_docdir}/%{name}/html
%{_mandir}/man1/*.1*
%{_bindir}/*
%{_libdir}/lib*.so.*
%{_datadir}/fontforge/
%{py_sitedir}/*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/mime/packages/%{name}.xml
%files doc
%defattr(-,root,root)
%doc AUTHORS LICENSE README.md
%doc %{_docdir}/%{name}/html
%files devel
%defattr(-, root, root)
%doc CONTRIBUTING.md
%{_includedir}/fontforge/
%{_libdir}/pkgconfig/*.pc
%{_libdir}/lib*.so
%changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b6184caff211e315783a029256f56cf05f1d4fd3cbcb41820d21c7745040fb6
size 5541994

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6c3f178484d21814762c52859ffead25564a93e88cd5fe7cc9877e4b7e85105d
size 3506833