From 1fce6f6de84aaeccfcb6f87bc95b44165180f4e8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Wed, 29 Aug 2012 19:39:55 +0200 Subject: [PATCH] - up to 20120731 --- ...-1.5-by-only-using-accessor-functions.diff | 187 ------------------ 024_def_background.diff | 16 -- 027_catch_ctrl-c_signal.diff | 52 ----- 902_fix_optipng_reads.diff | 22 --- fontforge-20100501-select-points-crash.patch | 11 -- fontforge-20110222-multilib.patch | 11 -- fontforge-link.patch | 12 ++ fontforge.spec | 22 +-- 8 files changed, 17 insertions(+), 316 deletions(-) delete mode 100644 001_Support-libpng-1.5-by-only-using-accessor-functions.diff delete mode 100644 024_def_background.diff delete mode 100644 027_catch_ctrl-c_signal.diff delete mode 100644 902_fix_optipng_reads.diff delete mode 100644 fontforge-20100501-select-points-crash.patch delete mode 100644 fontforge-20110222-multilib.patch diff --git a/001_Support-libpng-1.5-by-only-using-accessor-functions.diff b/001_Support-libpng-1.5-by-only-using-accessor-functions.diff deleted file mode 100644 index 8dcade6..0000000 --- a/001_Support-libpng-1.5-by-only-using-accessor-functions.diff +++ /dev/null @@ -1,187 +0,0 @@ -From 5b7ac4f5eb2b80802cfbd975cd37abcd6895fd16 Mon Sep 17 00:00:00 2001 -From: Paul Flo Williams -Date: Wed, 7 Dec 2011 09:36:51 +0000 -Subject: [PATCH] Support libpng 1.5 by only using accessor functions to png - structures - ---- - gutils/gimagewritepng.c | 100 +++++++++++++++++++++++----------------------- - 1 files changed, 50 insertions(+), 50 deletions(-) - -diff --git a/gutils/gimagewritepng.c b/gutils/gimagewritepng.c -index 43fa097..6ed4b04 100644 ---- a/gutils/gimagewritepng.c -+++ b/gutils/gimagewritepng.c -@@ -236,6 +236,7 @@ return(false); - } - } else { - if ( base->trans!=-1 ) { -+ trans_color = galloc(sizeof(png_color16)); - trans_color->red = COLOR_RED(base->trans); - trans_color->green = COLOR_GREEN(base->trans); - trans_color->blue = COLOR_BLUE(base->trans); -@@ -258,6 +259,7 @@ return(false); - _png_write_end(png_ptr, info_ptr); - - if ( trans_alpha!=NULL ) gfree(trans_alpha); -+ if ( trans_color!=NULL ) gfree(trans_color); - if ( palette!=NULL ) gfree(palette); - _png_destroy_write_struct(&png_ptr, &info_ptr); - gfree(rows); -@@ -296,7 +298,7 @@ static void user_error_fn(png_structp png_ptr, png_const_charp error_msg) { - #if (PNG_LIBPNG_VER < 10500) - longjmp(png_ptr->jmpbuf,1); - #else -- _png_longjmp (png_ptr, 1); -+ png_longjmp (png_ptr, 1); - #endif - } - -@@ -310,6 +312,12 @@ int GImageWrite_Png(GImage *gi, FILE *fp, int progressive) { - png_infop info_ptr; - png_byte **rows; - int i; -+ int bit_depth; -+ int color_type; -+ int num_palette; -+ png_bytep trans_alpha = NULL; -+ png_color_16p trans_color = NULL; -+ png_colorp palette = NULL; - - png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, - (void *)NULL, user_error_fn, user_warning_fn); -@@ -336,65 +344,60 @@ return(false); - - png_init_io(png_ptr, fp); - -- info_ptr->width = base->width; -- info_ptr->height = base->height; -- info_ptr->bit_depth = 8; -- info_ptr->valid = 0; -- info_ptr->interlace_type = progressive; -- if ( base->trans!=-1 ) { -- info_ptr->num_trans = 1; -- info_ptr->valid |= PNG_INFO_tRNS; -+ bit_depth = 8; -+ num_palette = base->clut==NULL?2:base->clut->clut_len; -+ if ( base->image_type==it_index || base->image_type==it_bitmap ) { -+ color_type = PNG_COLOR_TYPE_PALETTE; -+ if ( num_palette<=2 ) -+ bit_depth=1; -+ else if ( num_palette<=4 ) -+ bit_depth=2; -+ else if ( num_palette<=16 ) -+ bit_depth=4; -+ } else { -+ color_type = PNG_COLOR_TYPE_RGB; -+ if ( base->image_type == it_rgba ) -+ color_type = PNG_COLOR_TYPE_RGB_ALPHA; - } -+ -+ png_set_IHDR(png_ptr, info_ptr, base->width, base->height, -+ bit_depth, color_type, progressive, -+ PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); - if ( base->image_type==it_index || base->image_type==it_bitmap ) { -- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; -- info_ptr->valid |= PNG_INFO_PLTE; -- info_ptr->num_palette = base->clut==NULL?2:base->clut->clut_len; -- info_ptr->palette = (png_color *) galloc(info_ptr->num_palette*sizeof(png_color)); -+ palette = (png_color *) galloc(num_palette*sizeof(png_color)); - if ( base->clut==NULL ) { -- info_ptr->palette[0].red = info_ptr->palette[0].green = info_ptr->palette[0].blue = 0; -- info_ptr->palette[1].red = info_ptr->palette[1].green = info_ptr->palette[1].blue = 0xff; -+ palette[0].red = palette[0].green = palette[0].blue = 0; -+ palette[1].red = palette[1].green = palette[1].blue = 0xff; - } else { -- for ( i=0; inum_palette; ++i ) { -+ for ( i=0; iclut->clut[i]; -- info_ptr->palette[i].red = COLOR_RED(col); -- info_ptr->palette[i].green = COLOR_GREEN(col); -- info_ptr->palette[i].blue = COLOR_BLUE(col); -+ palette[i].red = COLOR_RED(col); -+ palette[i].green = COLOR_GREEN(col); -+ palette[i].blue = COLOR_BLUE(col); - } - } -- if ( info_ptr->num_palette<=2 ) -- info_ptr->bit_depth=1; -- else if ( info_ptr->num_palette<=4 ) -- info_ptr->bit_depth=2; -- else if ( info_ptr->num_palette<=16 ) -- info_ptr->bit_depth=4; -- if ( info_ptr->num_palette<=16 ) -+ png_set_PLTE(png_ptr, info_ptr, palette, num_palette); -+ if ( num_palette<=16 ) - png_set_packing(png_ptr); -+ - if ( base->trans!=-1 ) { --#if ( PNG_LIBPNG_VER_MAJOR > 1 || PNG_LIBPNG_VER_MINOR > 2 ) -- info_ptr->trans_alpha = galloc(1); -- info_ptr->trans_alpha[0] = base->trans; --#else -- info_ptr->trans = galloc(1); -- info_ptr->trans[0] = base->trans; --#endif -+ trans_alpha = galloc(1); -+ trans_alpha[0] = base->trans; - } - } else { -- info_ptr->color_type = PNG_COLOR_TYPE_RGB; - if ( base->trans!=-1 ) { --#if ( PNG_LIBPNG_VER_MAJOR > 1 || PNG_LIBPNG_VER_MINOR > 2 ) -- info_ptr->trans_color.red = COLOR_RED(base->trans); -- info_ptr->trans_color.green = COLOR_GREEN(base->trans); -- info_ptr->trans_color.blue = COLOR_BLUE(base->trans); --#else -- info_ptr->trans_values.red = COLOR_RED(base->trans); -- info_ptr->trans_values.green = COLOR_GREEN(base->trans); -- info_ptr->trans_values.blue = COLOR_BLUE(base->trans); --#endif -+ trans_color = galloc(sizeof(png_color_16)); -+ trans_color->red = COLOR_RED(base->trans); -+ trans_color->green = COLOR_GREEN(base->trans); -+ trans_color->blue = COLOR_BLUE(base->trans); - } - } -+ if ( base->trans!=-1 ) { -+ png_set_tRNS(png_ptr, info_ptr, trans_alpha, 1, trans_color); -+ } - png_write_info(png_ptr, info_ptr); - -- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB) -+ if (color_type == PNG_COLOR_TYPE_RGB) - png_set_filler(png_ptr, '\0', PNG_FILLER_BEFORE); - - rows = galloc(base->height*sizeof(png_byte *)); -@@ -405,12 +408,9 @@ return(false); - - png_write_end(png_ptr, info_ptr); - --#if ( PNG_LIBPNG_VER_MAJOR > 1 || PNG_LIBPNG_VER_MINOR > 2 ) -- if ( info_ptr->trans_alpha!=NULL ) gfree(info_ptr->trans_alpha); --#else -- if ( info_ptr->trans!=NULL ) gfree(info_ptr->trans); --#endif -- if ( info_ptr->palette!=NULL ) gfree(info_ptr->palette); -+ if ( trans_alpha!=NULL ) gfree(trans_alpha); -+ if ( trans_color!=NULL ) gfree(trans_color); -+ if ( palette!=NULL ) gfree(palette); - png_destroy_write_struct(&png_ptr, &info_ptr); - gfree(rows); - return( 1 ); --- -1.7.7.3 - ---- 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 diff --git a/024_def_background.diff b/024_def_background.diff deleted file mode 100644 index e8333d3..0000000 --- a/024_def_background.diff +++ /dev/null @@ -1,16 +0,0 @@ -Sets the default gray background color. - -This patch by Theppitak Karoonboonyanan . -This patch will not be submitted upstream. - ---- a/gdraw/gxdraw.c -+++ b/gdraw/gxdraw.c -@@ -5003,7 +5003,7 @@ - GXResourceInit(gdisp,programname); - - gdisp->bs.double_time = GResourceFindInt( "DoubleClickTime", gdisp->bs.double_time ); -- gdisp->def_background = GResourceFindColor( "Background", COLOR_CREATE(0xf5,0xff,0xfa)); -+ gdisp->def_background = GResourceFindColor( "Background", COLOR_CREATE(0xf5,0xf5,0xf5)); - gdisp->def_foreground = GResourceFindColor( "Foreground", COLOR_CREATE(0x00,0x00,0x00)); - if ( GResourceFindBool("Synchronize", false )) - XSynchronize(gdisp->display,true); diff --git a/027_catch_ctrl-c_signal.diff b/027_catch_ctrl-c_signal.diff deleted file mode 100644 index d64ced2..0000000 --- a/027_catch_ctrl-c_signal.diff +++ /dev/null @@ -1,52 +0,0 @@ -Description: Catches the ctrl-c(SIGINT) signal and asks the user whether - he really wants to exit. - -Author: Kęstutis Biliūnas ---- -Bug-Debian: http://bugs.debian.org/578122 -Last-Update: 2010-07-29 - ---- a/fontforge/start.c -+++ b/fontforge/start.c -@@ -34,6 +34,8 @@ - #ifdef __Mac - # include /* getenv,setenv */ - #endif -+#include -+#include - - int32 unicode_from_adobestd[256]; - struct lconv localeinfo; -@@ -129,6 +131,23 @@ static void initlibrarysearchpath(void) - #endif - } - -+void sigfun(int sig) -+{ -+ int c; -+ -+ /* re-set the signal handler again to sigfun, for next time */ -+ signal(SIGINT, sigfun); -+ printf("\nYou have pressed Ctrl-C\n" -+ "Do you really want to quit? [y/n] "); -+ -+ c = getchar(); -+ if (c == 'y' || c == 'Y') { -+ exit(0); -+ } else { -+ while(getchar()!='\n'); -+ } -+} -+ - void InitSimpleStuff(void) { - initlibrarysearchpath(); - initrand(); -@@ -143,6 +162,8 @@ void InitSimpleStuff(void) { - if ( getenv("FF_SCRIPT_IN_LATIN1") ) use_utf8_in_script=false; - - SetDefaults(); -+ -+ signal(SIGINT, sigfun); - } - - void doinitFontForgeMain(void) { diff --git a/902_fix_optipng_reads.diff b/902_fix_optipng_reads.diff deleted file mode 100644 index e0f0006..0000000 --- a/902_fix_optipng_reads.diff +++ /dev/null @@ -1,22 +0,0 @@ -Description: If trans_alpha is NULL (likely due to optimized png), don't crash -Author: Michael Terry -Forwarded: yes -Bug-Ubuntu: https://launchpad.net/bugs/805752 -Bug: http://bugs.debian.org/646619 - -Index: fontforge-0.0.20110222/gutils/gimagereadpng.c -=================================================================== ---- fontforge-0.0.20110222.orig/gutils/gimagereadpng.c 2011-10-25 14:17:10.856004364 -0400 -+++ fontforge-0.0.20110222/gutils/gimagereadpng.c 2011-10-25 14:17:14.640004404 -0400 -@@ -282,9 +282,9 @@ - (trans_color->green>>8), - (trans_color->blue>>8)); - else if ( base->image_type == it_mono ) -- base->trans = trans_alpha[0]; -+ base->trans = trans_alpha ? trans_alpha[0] : 0; - else -- base->clut->trans_index = base->trans = trans_alpha[0]; -+ base->clut->trans_index = base->trans = trans_alpha ? trans_alpha[0] : 0; - } - - row_pointers = galloc(_png_get_image_height(png_ptr,info_ptr)*sizeof(png_bytep)); diff --git a/fontforge-20100501-select-points-crash.patch b/fontforge-20100501-select-points-crash.patch deleted file mode 100644 index 90c9bde..0000000 --- a/fontforge-20100501-select-points-crash.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- fontforge-20100501.orig/fontforge/charview.c 2010-04-15 03:26:28.000000000 +0100 -+++ fontforge-20100501/fontforge/charview.c 2011-03-01 15:09:22.821753002 +0000 -@@ -8597,7 +8597,7 @@ - static int CVNumForePointsSelected(CharView *cv, BasePoint **bp) { - SplineSet *spl; - SplinePoint *test, *first; -- BasePoint *bps[4]; -+ BasePoint *bps[5]; - int i, cnt; - - if ( cv->b.drawmode!=dm_fore ) diff --git a/fontforge-20110222-multilib.patch b/fontforge-20110222-multilib.patch deleted file mode 100644 index 79e5bc1..0000000 --- a/fontforge-20110222-multilib.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- configure.bak 2011-02-19 00:55:16.000000000 +0530 -+++ configure 2011-04-07 10:43:26.442012820 +0530 -@@ -4676,7 +4676,7 @@ - LIBS="-Wl,/System/Library/Frameworks/CoreServices.framework/CoreServices $LIBS" - - ;; --powerpc-*-*linux*) -+powerpc*-*-*linux*) - $as_echo "#define _Keyboard 3" >>confdefs.h - - ;; diff --git a/fontforge-link.patch b/fontforge-link.patch index 1682096..e6f89dc 100644 --- a/fontforge-link.patch +++ b/fontforge-link.patch @@ -56,3 +56,15 @@ 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 diff --git a/fontforge.spec b/fontforge.spec index 8c5ce80..653408a 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -1,20 +1,14 @@ Summary: An outline font editor Summary(pl.UTF-8): Edytor fontów rysowanych Name: fontforge -Version: 20110222 -Release: 7 +Version: 20120731 +Release: 1 License: BSD Group: X11/Applications/Publishing -Source0: http://downloads.sourceforge.net/fontforge/%{name}_full-%{version}.tar.bz2 -# Source0-md5: 5be4dda345b5d73a27cc399df96e463a +Source0: http://downloads.sourceforge.net/fontforge/%{name}_full-%{version}-b.tar.bz2 +# Source0-md5: a8a90473a97da87e45f66d11007b6e7c Patch0: %{name}-link.patch Patch1: %{name}-20090224-pythondl.patch -Patch2: %{name}-20100501-select-points-crash.patch -Patch3: %{name}-20110222-multilib.patch -Patch4: 001_Support-libpng-1.5-by-only-using-accessor-functions.diff -Patch5: 024_def_background.diff -Patch6: 027_catch_ctrl-c_signal.diff -Patch7: 902_fix_optipng_reads.diff URL: http://fontforge.sourceforge.net/ BuildRequires: autoconf BuildRequires: automake @@ -69,15 +63,9 @@ Header files for FontForge libraries. Pliki nagłówkowe bibliotek FontForge. %prep -%setup -q +%setup -q -n %{name}-%{version}-b %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p0 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 %build %{__libtoolize} -- 2.44.0