commit cbd6e1833e40a836e96f72cb495c5f22da4353fa
Author: Jakub Bogusz <[email protected]>
Date:   Sun Mar 24 08:55:11 2013 +0100

    - updated to 1.3
    - added am,configure,link patches (misc build fixes)
    - added lipng patch (libpng 1.5.x support taken from Arch Linux)
    - added paths patch (fix TTF fonts path), use system freefont
    - use GTK+ 2.x by default

 cinepaint-am.patch        |  39 ++++
 cinepaint-configure.patch |  11 ++
 cinepaint-libpng.patch    | 455 ++++++++++++++++++++++++++++++++++++++++++++++
 cinepaint-link.patch      |  12 ++
 cinepaint-paths.patch     |  20 ++
 cinepaint.spec            | 155 +++++++++++-----
 6 files changed, 647 insertions(+), 45 deletions(-)
---
diff --git a/cinepaint.spec b/cinepaint.spec
index 411c4f0..2ad99e6 100644
--- a/cinepaint.spec
+++ b/cinepaint.spec
@@ -3,38 +3,57 @@
 #      - Correct building with --with print
 #
 # Conditional build:
-%bcond_with   print    # build with libgutenprintui
+%bcond_with    print   # build with libgutenprintui
+%bcond_with    gtk1    # GTK+ 1.x instead of 2.x
 
-%define                subrel  1
-%define                rel     2
-%define                ver     0.21
-%define                src     %{ver}-%{rel}
-%define                fsrc    %{ver}-%{rel}-%{subrel}
 Summary:       CinePaint - a motion picture editing tool
 Summary(pl.UTF-8):     CinePaint - narzędzie do obróbki filmów
 Name:          cinepaint
-Version:       %{ver}_%{rel}
+Version:       1.3
 Release:       0.1
-License:       GPL
+License:       GPL v2+ (with LGPL v2.1+ and MIT parts)
 Group:         X11/Applications/Graphics
-Source0:       http://dl.sourceforge.net/cinepaint/%{name}-%{src}.tar.gz
-# Source0-md5: 2cc81ac4ea0f32b4af823e94fa2c7380
-%{?with_print:Patch0:          %{name}-gutenprintui.patch}
+Source0:       
http://downloads.sourceforge.net/cinepaint/%{name}-%{version}.tgz
+# Source0-md5: f8ecd5671662e71a3356213de371fee4
+Patch0:                %{name}-am.patch
+Patch1:                %{name}-configure.patch
+Patch2:                %{name}-libpng.patch
+Patch3:                %{name}-link.patch
+Patch4:                %{name}-paths.patch
 URL:           http://www.cinepaint.org/
-BuildRequires: OpenEXR-devel
+BuildRequires: OpenEXR-devel >= 1.0.0
+BuildRequires: autoconf
 BuildRequires: automake
+BuildRequires: flex
 BuildRequires: fltk-devel
-BuildRequires: giflib-devel
-BuildRequires: gtk+-devel
-BuildRequires: lcms-devel
+BuildRequires: lcms-devel >= 1.16
 BuildRequires: libjpeg-devel
-BuildRequires: libpng-devel
+BuildRequires: libpng-devel >= 1.0.0
 BuildRequires: libtiff-devel
+BuildRequires: libtool
+#BuildRequires:        oyranos-devel
+BuildRequires: pkgconfig
+BuildRequires: python-devel
+BuildRequires: rpmbuild(macros) >= 1.219
+BuildRequires: xorg-lib-libICE-devel
+BuildRequires: xorg-lib-libSM-devel
+BuildRequires: xorg-lib-libXmu-devel
+BuildRequires: xorg-lib-libXt-devel
 BuildRequires: zlib-devel
-%{?with_print:BuildRequires:     libgutenprintui-devel}
+%{?with_print:BuildRequires:     libgutenprintui-devel >= 5.0.0}
+%if %{with gtk1}
+BuildRequires: glib-devel
+BuildRequires: gtk+-devel >= 1.2.8
+%else
+BuildRequires: gtk+2-devel >= 2.0.0
+%endif
+# FreeSans.ttf
+Requires:      fonts-TTF-freefont
 Obsoletes:     filmgimp
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                abiver  1.3.0
+
 %description
 CinePaint is a motion picture editing tool primarily used for painting
 and retouching of movies. CinePaint is the most successful open source
@@ -74,13 +93,23 @@ Static CinePaint libraries.
 Statyczne biblioteki CinePainta.
 
 %prep
-%setup -q -n %{name}-%{src}
-%{?with_print:%patch0 -p1}
+%setup -q -n %{name}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+# dead symlinks
+%{__rm} config.guess config.sub py-compile
 
 %build
-cp -f /usr/share/automake/config.sub .
+%{__libtoolize}
+%{__aclocal} -I aclocal
+%{__autoconf}
+%{__automake}
 %configure \
-          %{!?with_print:--disable-print}
+       %{!?with_print:--disable-print}
 
 %{__make}
 
@@ -91,6 +120,13 @@ rm -rf $RPM_BUILD_ROOT
        DESTDIR=$RPM_BUILD_ROOT \
        m4datadir=%{_aclocaldir}
 
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/gimpmodule.{la,a}
+# provided by fonts-TTF-freefont
+%{__rm} $RPM_BUILD_ROOT%{_fontsdir}/FreeSans.ttf
+
+%py_postclean
+
+# cinepaint,cinepaint-script-fu,cinepaint-std-plugins domains
 %find_lang cinepaint --all-name
 
 %clean
@@ -101,40 +137,69 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-#%doc AUTHORS ChangeLog NEWS README
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+# COPYING contains only license notes
+%doc AUTHORS BUGS COPYING ChangeLog NEWS README TODO
+%attr(755,root,root) %{_bindir}/cinepaint
+%attr(755,root,root) %{_bindir}/cinepaint-remote
+%attr(755,root,root) %{_libdir}/libcinepaint.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcinepaint.so.1
+%attr(755,root,root) %{_libdir}/libcinepaintHalf.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcinepaintHalf.so.1
+%attr(755,root,root) %{_libdir}/libcinepaint_fl_i18n.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcinepaint_fl_i18n.so.1
 %dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/%{src}
-%dir %{_libdir}/%{name}/%{src}/plug-ins
-%attr(755,root,root) %{_libdir}/%{name}/%{src}/plug-ins/*
+%dir %{_libdir}/%{name}/%{abiver}
+%dir %{_libdir}/%{name}/%{abiver}/extra
+%attr(755,root,root) %{_libdir}/%{name}/%{abiver}/extra/dcraw
+%attr(755,root,root) %{_libdir}/%{name}/%{abiver}/extra/jhead
+%dir %{_libdir}/%{name}/%{abiver}/plug-ins
+%attr(755,root,root) %{_libdir}/%{name}/%{abiver}/plug-ins/*
 # resource directories
 %dir %{_datadir}/%{name}
-%dir %{_datadir}/%{name}/%{src}
-%{_datadir}/%{name}/%{src}/brushes
-%{_datadir}/%{name}/%{src}/gradients
-%{_datadir}/%{name}/%{src}/palettes
-%{_datadir}/%{name}/%{src}/patterns
-%{_datadir}/%{name}/%{src}/curves
+%dir %{_datadir}/%{name}/%{abiver}
+%{_datadir}/%{name}/%{abiver}/brushes
+%{_datadir}/%{name}/%{abiver}/curves
+%{_datadir}/%{name}/%{abiver}/gradients
+%{_datadir}/%{name}/%{abiver}/iol
+%{_datadir}/%{name}/%{abiver}/palettes
+%{_datadir}/%{name}/%{abiver}/patterns
+%{_datadir}/%{name}/%{abiver}/scripts
 # default rc(?)
-%{_datadir}/%{name}/%{src}/gimprc*
-%{_datadir}/%{name}/%{src}/gtkrc*
-%{_datadir}/%{name}/%{src}/ps-menurc
-%attr(755,root,root) %{_datadir}/%{name}/%{src}/user_install
-# other
-%{_mandir}/man1/*.1*
+%{_datadir}/%{name}/%{abiver}/gimprc
+%{_datadir}/%{name}/%{abiver}/gimprc_user
+%{_datadir}/%{name}/%{abiver}/gtkrc
+%{_datadir}/%{name}/%{abiver}/gtkrc.forest2
+%{_datadir}/%{name}/%{abiver}/printrc_user
+%{_datadir}/%{name}/%{abiver}/ps-menurc
+%{_datadir}/%{name}/%{abiver}/spot.splash.ppm
+%{_datadir}/%{name}/%{abiver}/tips.txt
+%attr(755,root,root) %{_datadir}/%{name}/%{abiver}/user_install
+%attr(755,root,root) %{py_sitedir}/gimpmodule.so
+%{py_sitescriptdir}/gimpenums.py[co]
+%{py_sitescriptdir}/gimpfu.py[co]
+%{py_sitescriptdir}/gimpplugin.py[co]
+%{py_sitescriptdir}/gimpshelf.py[co]
+%{py_sitescriptdir}/gimpui.py[co]
+%{_mandir}/man1/cinepaint.1*
 %{_desktopdir}/cinepaint.desktop
 %{_pixmapsdir}/cinepaint.png
-%{_datadir}/%{name}/%{src}/*.ppm
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
-%{_includedir}/cinepaint/*
-%{_aclocaldir}/*.m4
+%attr(755,root,root) %{_bindir}/cinepainttool
+%attr(755,root,root) %{_libdir}/libcinepaint.so
+%attr(755,root,root) %{_libdir}/libcinepaintHalf.so
+%attr(755,root,root) %{_libdir}/libcinepaint_fl_i18n.so
+%{_libdir}/libcinepaint.la
+%{_libdir}/libcinepaintHalf.la
+%{_libdir}/libcinepaint_fl_i18n.la
+%{_includedir}/cinepaint
 %{_pkgconfigdir}/cinepaint-gtk.pc
+%{_aclocaldir}/cinepaint.m4
+%{_mandir}/man1/cinepainttool.1*
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libcinepaint.a
+%{_libdir}/libcinepaintHalf.a
+%{_libdir}/libcinepaint_fl_i18n.a
diff --git a/cinepaint-am.patch b/cinepaint-am.patch
new file mode 100644
index 0000000..a770674
--- /dev/null
+++ b/cinepaint-am.patch
@@ -0,0 +1,39 @@
+--- cinepaint/configure.in.orig        2012-04-07 03:39:53.000000000 +0200
++++ cinepaint/configure.in     2013-03-22 22:29:57.734913770 +0100
+@@ -3,7 +3,7 @@
+ prefix=/usr/bin
+ 
+ AC_INIT(gimprc.in)
+-AM_CONFIG_HEADER(lib/config.h)
++AC_CONFIG_HEADERS(lib/config.h)
+ 
+ dnl Initialize automake stuff
+ dnl $Format: "MAJOR_VERSION=$ReleaseMajorVersion$" $
+@@ -22,7 +22,6 @@
+ AM_SANITY_CHECK
+ 
+ AC_PROG_CC
+-AM_PROG_CC_STDC
+ AC_PROG_CXX
+ AC_PROG_CPP
+ AC_PROG_INSTALL
+--- cinepaint/acinclude.m4.orig        2008-03-02 07:33:59.000000000 +0100
++++ cinepaint/acinclude.m4     2013-03-22 22:34:51.258234783 +0100
+@@ -5,7 +5,7 @@
+ 
+ dnl AM_PROG_LEX
+ dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
+-AC_DEFUN(AM_PROG_LEX,
++AC_DEFUN([AM_PROG_LEX],
+ [missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
+ AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex")
+ AC_PROG_LEX
+@@ -26,7 +26,7 @@
+ dnl OpenEXR
+ dnl
+ 
+-AC_DEFUN(AM_PATH_OPENEXR,
++AC_DEFUN([AM_PATH_OPENEXR],
+ [dnl 
+ dnl Get the cflags and libraries
+ dnl
diff --git a/cinepaint-configure.patch b/cinepaint-configure.patch
new file mode 100644
index 0000000..7726395
--- /dev/null
+++ b/cinepaint-configure.patch
@@ -0,0 +1,11 @@
+--- cinepaint/configure.in.orig        2013-03-22 22:35:07.518234103 +0100
++++ cinepaint/configure.in     2013-03-22 22:56:46.378179589 +0100
+@@ -514,7 +514,7 @@
+     fi
+     if test "x$FLTK_CONFIG" != "xno"; then
+       FLTK_CONFIG="$FLTK_CONFIG"
+-        FLTK_LDFLAGS="`$FLTK_CONFIG --use-images --ldflags | sed 
\"$STRIPOPT\"`"
++        FLTK_LDFLAGS="`$FLTK_CONFIG --use-images --ldflags`"
+         FLTK_LIBS_PURE="`echo $FLTK_LDFLAGS | sed  's/-O.// ; s/-isysroot 
/-L/ ; s/-arch ppc// ; s/-arch i386//'`"
+         FLTK_LIBS="\$(top_builddir)/lib/fl_i18n/libcinepaint_fl_i18n.la 
$FLTK_LIBS_PURE"
+         FLTK_CFLAGS=`$FLTK_CONFIG --cxxflags | sed  's/-O.// ; s/-isysroot 
/-L/ ; s/-arch ppc// ; s/-arch i386//'`
diff --git a/cinepaint-libpng.patch b/cinepaint-libpng.patch
new file mode 100644
index 0000000..0bdcf6d
--- /dev/null
+++ b/cinepaint-libpng.patch
@@ -0,0 +1,455 @@
+diff -Naur cinepaint1/plug-ins/png/png.c cinepaint/plug-ins/png/png.c
+--- cinepaint1/plug-ins/png/png.c      2006-11-24 21:52:55.000000000 +0100
++++ cinepaint/plug-ins/png/png.c       2012-02-04 01:51:10.141016081 +0100
+@@ -390,7 +390,16 @@
+   gchar               *progress;      /* Title for progress display... */
+   guchar      alpha[256],     /* Index -> Alpha */
+               *alpha_ptr;     /* Temporary pointer */
+-
++  png_byte     color_type;
++  png_byte     bit_depth;
++  png_colorp palette;
++  int num_palette;
++  png_charpp iccp_name;
++  int compression_type;
++  png_bytepp iccp_profile;
++  png_uint_32 iccp_proflen;
++  png_uint_32 width, height;
++  png_byte channels;
+  /*
+   * PNG 0.89 and newer have a sane, forwards compatible constructor.
+   * Some SGI IRIX users will not have a new enough version though
+@@ -405,7 +414,7 @@
+   info = (png_infop)calloc(sizeof(png_info), 1);
+ #endif /* PNG_LIBPNG_VER > 88 */
+ 
+-  if (setjmp (pp->jmpbuf))
++  if (setjmp (png_jmpbuf(pp)))
+   {
+     g_message ("%s\nPNG error. File corrupted?", filename);
+     return image;
+@@ -442,21 +451,23 @@
+   */
+ 
+   png_read_info(pp, info);
+-
++  color_type = png_get_color_type(pp, info);
++  width=png_get_image_width(pp, info);
++  height=png_get_image_height(pp, info);
+  /*
+   * Latest attempt, this should be my best yet :)
+   */
+-
++  bit_depth = png_get_bit_depth(pp, info);
+ #ifndef WORDS_BIGENDIAN
+-  if(info->bit_depth == 16)
+-        png_set_swap(pp);
++  if(bit_depth == 16)
++    png_set_swap(pp);
+ #endif
+ 
+-  if (info->color_type == PNG_COLOR_TYPE_GRAY && info->bit_depth < 8) {
++  if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
+     png_set_expand(pp);
+   }
+ 
+-  if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8) {
++  if (color_type == PNG_COLOR_TYPE_PALETTE && bit_depth < 8) {
+     png_set_packing(pp);
+   }
+ 
+@@ -464,8 +475,8 @@
+   * Expand G+tRNS to GA, RGB+tRNS to RGBA
+   */
+ 
+-  if (info->color_type != PNG_COLOR_TYPE_PALETTE &&
+-                       (info->valid & PNG_INFO_tRNS)) {
++  if (color_type != PNG_COLOR_TYPE_PALETTE &&
++      (png_get_valid(pp, info, PNG_INFO_tRNS))) {
+     png_set_expand(pp);
+   }
+ 
+@@ -482,7 +493,7 @@
+ 
+ #if PNG_LIBPNG_VER > 99
+   if (png_get_valid(pp, info, PNG_INFO_tRNS) &&
+-      info->color_type == PNG_COLOR_TYPE_PALETTE)
++      color_type == PNG_COLOR_TYPE_PALETTE)
+   {
+     png_get_tRNS(pp, info, &alpha_ptr, &num, NULL);
+     /* Copy the existing alpha values from the tRNS chunk */
+@@ -505,12 +516,12 @@
+ 
+   png_read_update_info(pp, info);
+   
+-  if(info->bit_depth==16)
++  if(bit_depth==16)
+   {
+-        switch (info->color_type)
++        switch (color_type)
+         {
+                 case PNG_COLOR_TYPE_RGB :             /* RGB */
+-                        bpp        = 6;
++                          bpp        = 6;
+                         image_type = U16_RGB;
+                         layer_type = U16_RGB_IMAGE;
+                         break;
+@@ -545,10 +556,10 @@
+   }
+   else
+   {
+-        switch (info->color_type)
++        switch (color_type)
+         {
+                 case PNG_COLOR_TYPE_RGB :             /* RGB */
+-                        bpp        = 3;
++                          bpp        = 3;
+                         image_type = RGB;
+                         layer_type = RGB_IMAGE;
+                         break;
+@@ -582,7 +593,7 @@
+         };
+   }
+ 
+-  image = gimp_image_new(info->width, info->height, image_type);
++  image = gimp_image_new(width, height, image_type);
+   if (image == -1)
+   {
+     g_message("Can&#x27;t allocate new image\n%s", filename);
+@@ -595,7 +606,7 @@
+   * Create the "background" layer to hold the image...
+   */
+ 
+-  layer = gimp_layer_new(image, _("Background"), info->width, info->height,
++  layer = gimp_layer_new(image, _("Background"), width, height,
+                          layer_type, 100, NORMAL_MODE);
+   gimp_image_add_layer(image, layer, 0);
+ 
+@@ -627,20 +638,21 @@
+ 
+   empty= 0; /* by default assume no full transparent palette entries */
+ 
+-  if (info->color_type & PNG_COLOR_MASK_PALETTE) {
++  if (color_type & PNG_COLOR_MASK_PALETTE) {
+ 
+ #if PNG_LIBPNG_VER > 99
++    png_get_PLTE(pp, info, &palette, &num_palette);
+     if (png_get_valid(pp, info, PNG_INFO_tRNS)) {
+       for (empty= 0; empty < 256 && alpha[empty] == 0; ++empty);
+         /* Calculates number of fully transparent "empty" entries */
+ 
+-      gimp_image_set_cmap(image, (guchar *) (info->palette + empty),
+-                          info->num_palette - empty);
++      gimp_image_set_cmap(image, (guchar *) (palette + empty),
++                          num_palette - empty);
+     } else {
+-      gimp_image_set_cmap(image, (guchar *)info->palette, info->num_palette);
++      gimp_image_set_cmap(image, (guchar *)palette, num_palette);
+     }
+ #else
+-    gimp_image_set_cmap(image, (guchar *)info->palette, info->num_palette);
++    gimp_image_set_cmap(image, (guchar *)palette, num_palette);
+ #endif /* PNG_LIBPNG_VER > 99 */
+ 
+   }
+@@ -659,18 +671,19 @@
+   */
+ 
+   tile_height = gimp_tile_height ();
+-  pixel       = g_new(guchar, tile_height * info->width * bpp);
++  pixel       = g_new(guchar, tile_height * width * bpp);
+   pixels      = g_new(guchar *, tile_height);
++  channels=png_get_channels(pp, info);
+ 
+-  if(info->bit_depth==16)
++  if(bit_depth==16)
+   {
+         for (i = 0; i < tile_height; i ++)
+-                pixels[i] = pixel + info->width * info->channels * i * 2;
++                pixels[i] = pixel + width * channels * i * 2;
+   }
+   else
+   {
+         for (i = 0; i < tile_height; i ++)
+-                pixels[i] = pixel + info->width * info->channels * i;
++                pixels[i] = pixel + width * channels * i;
+   }
+ 
+   for (pass = 0; pass < num_passes; pass ++)
+@@ -680,11 +693,11 @@
+          */
+ 
+         for (begin = 0, end = tile_height;
+-                        begin < info->height;
++                        begin < height;
+                         begin += tile_height, end += tile_height)
+         {
+-                if (end > info->height)
+-                        end = info->height;
++                if (end > height)
++                        end = height;
+ 
+                 num = end - begin;
+ 
+@@ -697,20 +710,21 @@
+                 gimp_pixel_rgn_set_rect(&pixel_rgn, pixel, 0, begin,
+                                 drawable->width, num);
+ 
+-                gimp_progress_update(((double)pass + (double)end / 
(double)info->height) /
++                gimp_progress_update(((double)pass + (double)end / 
(double)height) /
+                                 (double)num_passes);
+         };
+   };
+ 
+ #if defined(PNG_iCCP_SUPPORTED)
+   /* set icc profile */
+-  if (info->iccp_proflen > 0) {
+-    gimp_image_set_icc_profile_by_mem (image, info->iccp_proflen,
+-                                              info->iccp_profile,
+-                                              ICC_IMAGE_PROFILE);
++  png_get_iCCP(pp, info,  (png_charpp)iccp_name, &compression_type, 
iccp_profile, &iccp_proflen);
++  if (iccp_proflen > 0) {
++    gimp_image_set_icc_profile_by_mem (image, iccp_proflen,
++                                     (gchar *)iccp_profile,
++                                     ICC_IMAGE_PROFILE);
+     printf ("%s:%d %s() set embedded profile \"%s\"\n",
+              __FILE__,__LINE__,__func__,
+-                                              info->iccp_name);
++          (char *)iccp_name);
+   }
+ #endif
+ 
+@@ -809,6 +823,15 @@
+   time_t      cutime;         /* Time since epoch */
+   struct tm   *gmt;           /* GMT broken down */
+ 
++  png_byte     color_type;
++  png_byte     bit_depth;
++  int filter_method=0;
++  png_colorp palette;
++  int num_palette;
++  png_charpp iccp_name;
++  png_uint_32 height;
++  int compression_type;
++
+  /*
+   * PNG 0.89 and newer have a sane, forwards compatible constructor.
+   * Some SGI IRIX users will not have a new enough version though
+@@ -824,7 +847,7 @@
+   info = (png_infop)calloc(sizeof(png_info), 1);
+ #endif /* PNG_LIBPNG_VER > 88 */
+ 
+-  if (setjmp (pp->jmpbuf))
++  if (setjmp (png_jmpbuf(pp)))
+   {
+     g_message ("%s\nPNG error. Couldn&#x27;t save image", filename);
+     return 0;
+@@ -858,87 +881,75 @@
+   type     = gimp_drawable_type (drawable_ID);
+ 
+  /*
+-  * Set the image dimensions, bit depth, interlacing and compression
+-  */
+-
+-  png_set_compression_level (pp, pngvals.compression_level);
+-
+-  info->width          = drawable->width;
+-  info->height         = drawable->height;
+-  info->interlace_type = pngvals.interlaced;
+-
+- /*
+   * Set color type and remember bytes per pixel count 
+   */
+ 
+   switch (type)
+   {
+     case RGB_IMAGE :
+-        info->color_type = PNG_COLOR_TYPE_RGB;
+-      info->bit_depth      = 8;
++        color_type = PNG_COLOR_TYPE_RGB;
++      bit_depth      = 8;
+         bpp              = 3;
+         break;
+     case RGBA_IMAGE :
+-        info->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+-      info->bit_depth      = 8;
++        color_type = PNG_COLOR_TYPE_RGB_ALPHA;
++      bit_depth      = 8;
+         bpp              = 4;
+         break;
+     case GRAY_IMAGE :
+-        info->color_type = PNG_COLOR_TYPE_GRAY;
+-      info->bit_depth      = 8;
++        color_type = PNG_COLOR_TYPE_GRAY;
++      bit_depth      = 8;
+         bpp              = 1;
+         break;
+     case GRAYA_IMAGE :
+-        info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
+-      info->bit_depth      = 8;
++        color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
++      bit_depth      = 8;
+         bpp              = 2;
+         break;
+     case INDEXED_IMAGE :
+       bpp              = 1;
+-      info->bit_depth      = 8;
+-        info->color_type = PNG_COLOR_TYPE_PALETTE;
+-      info->valid      |= PNG_INFO_PLTE;
+-        info->palette= (png_colorp) gimp_image_get_cmap(image_ID, 
&num_colors);
+-        info->num_palette= num_colors;
++      bit_depth      = 8;
++        color_type = PNG_COLOR_TYPE_PALETTE;
++      png_get_valid(pp, info, PNG_INFO_PLTE);
++      png_set_PLTE(pp, info, (png_colorp) gimp_image_get_cmap(image_ID, 
&num_colors), num_colors);
+         break;
+     case INDEXEDA_IMAGE :
+       bpp              = 2;
+-      info->bit_depth      = 8;
+-      info->color_type = PNG_COLOR_TYPE_PALETTE;
++      bit_depth      = 8;
++      color_type = PNG_COLOR_TYPE_PALETTE;
+       respin_cmap (pp, info, image_ID); /* fix up transparency */
+       break;
+     case U16_RGB_IMAGE :
+-        info->color_type = PNG_COLOR_TYPE_RGB;
+-      info->bit_depth      = 16;
++        color_type = PNG_COLOR_TYPE_RGB;
++      bit_depth      = 16;
+         bpp              = 6;
+         break;
+     case U16_RGBA_IMAGE :
+-        info->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+-      info->bit_depth      = 16;
++        color_type = PNG_COLOR_TYPE_RGB_ALPHA;
++      bit_depth      = 16;
+         bpp              = 8;
+         break;
+     case U16_GRAY_IMAGE :
+-        info->color_type = PNG_COLOR_TYPE_GRAY;
+-      info->bit_depth      = 16;
++        color_type = PNG_COLOR_TYPE_GRAY;
++      bit_depth      = 16;
+         bpp              = 2;
+         break;
+     case U16_GRAYA_IMAGE :
+-        info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
+-      info->bit_depth      = 16;
++        color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
++      bit_depth      = 16;
+         bpp              = 4;
+         break;
+     case U16_INDEXED_IMAGE :
+       bpp              = 2;
+-      info->bit_depth      = 16;
+-        info->color_type = PNG_COLOR_TYPE_PALETTE;
+-      info->valid      |= PNG_INFO_PLTE;
+-        info->palette= (png_colorp) gimp_image_get_cmap(image_ID, 
&num_colors);
+-        info->num_palette= num_colors;
++      bit_depth      = 16;
++        color_type = PNG_COLOR_TYPE_PALETTE;
++      png_get_valid(pp, info, PNG_INFO_PLTE);
++      png_set_PLTE(pp, info, (png_colorp) gimp_image_get_cmap(image_ID, 
&num_colors), num_colors);
+         break;
+     case U16_INDEXEDA_IMAGE :
+       bpp              = 4;
+-      info->bit_depth      = 16;
+-      info->color_type = PNG_COLOR_TYPE_PALETTE;
++      bit_depth      = 16;
++      color_type = PNG_COLOR_TYPE_PALETTE;
+       respin_cmap (pp, info, image_ID); /* fix up transparency */
+       break;
+     default:
+@@ -950,16 +961,21 @@
+   * Fix bit depths for (possibly) smaller colormap images
+   */
+   
+-  if (info->valid & PNG_INFO_PLTE) {
+-    if (info->num_palette <= 2)
+-      info->bit_depth= 1;
+-    else if (info->num_palette <= 4)
+-      info->bit_depth= 2;
+-    else if (info->num_palette <= 16)
+-      info->bit_depth= 4;
++  if (png_get_valid(pp, info, PNG_INFO_PLTE)) {
++    png_get_PLTE(pp, info, &palette, &num_palette);
++    if (num_palette <= 2)
++      bit_depth= 1;
++    else if (num_palette <= 4)
++      bit_depth= 2;
++    else if (num_palette <= 16)
++      bit_depth= 4;
+     /* otherwise the default is fine */
+   }
+ 
++ png_set_compression_level (pp, pngvals.compression_level);
++ png_set_IHDR(pp, info, drawable->width, drawable->height,
++            bit_depth, color_type, pngvals.interlaced, compression_type, 
filter_method);
++
+   // write icc profile
+ #if defined(PNG_iCCP_SUPPORTED)
+   if (gimp_image_has_icc_profile (image_ID, ICC_IMAGE_PROFILE)) {
+@@ -970,10 +986,10 @@
+                                                 ICC_IMAGE_PROFILE);
+     png_set_iCCP (pp, info,
+            gimp_image_get_icc_profile_description (image_ID, 
ICC_IMAGE_PROFILE),
+-                  0, buffer, size);
++                  0, (png_const_bytep)buffer, size);
+     printf ("%s:%d %s() embedd icc profile \"%s\"\n",
+              __FILE__,__LINE__,__func__,
+-                                              info->iccp_name);
++          (char *)iccp_name);
+   }
+ #endif
+ 
+@@ -1039,13 +1055,13 @@
+   * Convert unpacked pixels to packed if necessary
+   */
+ 
+-  if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8)
++  if (color_type == PNG_COLOR_TYPE_PALETTE && bit_depth < 8)
+     png_set_packing(pp);
+ 
+   /* Set swapping for 16 bit per sample images */
+   
+ #ifndef WORDS_BIGENDIAN
+-  if (info->bit_depth == 16)
++  if (bit_depth == 16)
+         png_set_swap(pp);
+ #endif
+   
+@@ -1063,6 +1079,7 @@
+ 
+   gimp_pixel_rgn_init(&pixel_rgn, drawable, 0, 0, drawable->width,
+                       drawable->height, FALSE, FALSE);
++  height=png_get_image_height(pp, info);
+ 
+   for (pass = 0; pass < num_passes; pass ++)
+   {
+@@ -1077,7 +1094,7 @@
+       num = end - begin;
+       
+       gimp_pixel_rgn_get_rect (&pixel_rgn, pixel, 0, begin, drawable->width, 
num);
+-        if (info->valid & PNG_INFO_tRNS) {
++        if (png_get_valid(pp, info, PNG_INFO_tRNS)) {
+           for (i = 0; i < num; ++i) {
+           fixed= pixels[i];
+             for (k = 0; k < drawable->width; ++k) {
+@@ -1085,7 +1102,7 @@
+             }
+           }
+        /* Forgot this case before, what if there are too many colors? */
+-        } else if (info->valid & PNG_INFO_PLTE && bpp == 2) {
++        } else if (png_get_valid(pp, info, PNG_INFO_PLTE) && bpp == 2) {
+           for (i = 0; i < num; ++i) {
+           fixed= pixels[i];
+             for (k = 0; k < drawable->width; ++k) {
+@@ -1097,7 +1114,7 @@
+       png_write_rows (pp, pixels, num);
+       
+       gimp_progress_update (((double)pass + (double)end /
+-                    (double)info->height) / (double)num_passes);
++                    (double)height) / (double)num_passes);
+       };
+   };
+ 
diff --git a/cinepaint-link.patch b/cinepaint-link.patch
new file mode 100644
index 0000000..c8daeb6
--- /dev/null
+++ b/cinepaint-link.patch
@@ -0,0 +1,12 @@
+--- cinepaint/lib/Makefile.am.orig     2007-10-25 12:17:36.000000000 +0200
++++ cinepaint/lib/Makefile.am  2013-03-23 21:27:13.098112559 +0100
+@@ -18,7 +18,8 @@
+ 
+ libcinepaint_la_LIBADD = \
+       ./wire/libwire.la \
+-      $(top_builddir)/libhalf/libcinepaintHalf.la
++      $(top_builddir)/libhalf/libcinepaintHalf.la \
++      $(GTK_LIBS) -lm
+ 
+ libcinepaint_la_SOURCES = \
+       chain.xpm \
diff --git a/cinepaint-paths.patch b/cinepaint-paths.patch
new file mode 100644
index 0000000..4c599b8
--- /dev/null
+++ b/cinepaint-paths.patch
@@ -0,0 +1,20 @@
+--- cinepaint/plug-ins/icc_examin/icc_examin/icc_gl.cpp.orig   2008-08-22 
20:11:18.000000000 +0200
++++ cinepaint/plug-ins/icc_examin/icc_examin/icc_gl.cpp        2013-03-24 
07:44:09.889892447 +0100
+@@ -697,7 +697,7 @@
+   if(font) delete font;
+   if(ortho_font) delete ortho_font;
+ 
+-  const char* font_name = "/usr/X11R6/lib/X11/fonts/truetype/FreeSans.ttf";
++  const char* font_name = "/usr/share/fonts/TTF/FreeSans.ttf";
+ # if APPLE
+   std::string f_n;
+   if(getenv("RESOURCESPATH"))
+@@ -714,7 +714,7 @@
+ # endif
+   if(!holeDateiModifikationsZeit(font_name)) {
+     DBG_S( _("Could not open font in:") << font_name )
+-    font_name = "/usr/X11R6/lib/X11/fonts/truetype/arial.ttf";
++    font_name = "/usr/share/fonts/TTF/arial.ttf";
+     if(!holeDateiModifikationsZeit(font_name)) {
+       DBG_S( _("Could not open font in:") << font_name )
+ #ifdef  WIN32
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/cinepaint.git/commitdiff/cbd6e1833e40a836e96f72cb495c5f22da4353fa

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to