Accepting request 298119 from M17N

- repack source [bnc#926061]

- 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/request/show/298119
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/fontforge?expand=0&rev=39
This commit is contained in:
Stephan Kulow 2015-04-27 20:06:34 +00:00 committed by Git OBS Bridge
commit 747c36a220
12 changed files with 78 additions and 273 deletions

View File

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

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,29 @@
-------------------------------------------------------------------
Mon Apr 20 07:10:42 UTC 2015 - pgajdos@suse.com
- repack source [bnc#926061]
-------------------------------------------------------------------
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,33 @@
#
%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
# Source: https://github.com/fontforge/fontforge/releases/download/%{version}/fontforge-%{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
Source1: get-source.sh
# 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 +53,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 +93,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 +119,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

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

21
get-source.sh Normal file
View File

@ -0,0 +1,21 @@
#!/bin/sh
#
# repack source -- delete libX11-*.noarch.rpm from there; see bug #926061
#
VERSION=$1
if [ -z $VERSION ]; then
echo "usage: $0 date_version"
echo "example: $0 20150330"
exit 1
fi
wget "https://github.com/fontforge/fontforge/releases/download/$VERSION/fontforge-$VERSION.tar.gz"
tar xf fontforge-$VERSION.tar.gz
rm fontforge-*/win/gold/libX11-*.noarch.rpm
tar czf fontforge-$VERSION-repacked.tar.gz fontforge-$VERSION
rm -rf fontforge-$VERSION
rm fontforge-$VERSION.tar.gz