Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 286539 Details for
Bug 378169
media-gfx/pngtools fails to build with libpng-1.5
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Build fix for libpng15
pngtools-0.4-libpng15.patch (text/plain), 6.35 KB, created by
Samuli Suominen (RETIRED)
on 2011-09-15 11:34:39 UTC
(
hide
)
Description:
Build fix for libpng15
Filename:
MIME Type:
Creator:
Samuli Suominen (RETIRED)
Created:
2011-09-15 11:34:39 UTC
Size:
6.35 KB
patch
obsolete
>diff -ur pngtools-0.4.orig/pnginfo.c pngtools-0.4/pnginfo.c >--- pngtools-0.4.orig/pnginfo.c 2008-11-27 01:14:17.000000000 +0200 >+++ pngtools-0.4/pnginfo.c 2011-09-15 14:30:36.000000000 +0300 >@@ -187,18 +187,21 @@ > printf (" Image Width: %d Image Length: %d\n", width, height); > if(tiffnames == pnginfo_true){ > printf (" Bits/Sample: %d\n", bitdepth); >- printf (" Samples/Pixel: %d\n", info->channels); >- printf (" Pixel Depth: %d\n", info->pixel_depth); // Does this add value? >+ printf (" Samples/Pixel: %d\n", png_get_channels(png, info)); >+// printf (" Pixel Depth: %d\n", info->pixel_depth); // Does this add value? > } > else{ > printf (" Bitdepth (Bits/Sample): %d\n", bitdepth); >- printf (" Channels (Samples/Pixel): %d\n", info->channels); >- printf (" Pixel depth (Pixel Depth): %d\n", info->pixel_depth); // Does this add value? >+ printf (" Channels (Samples/Pixel): %d\n", png_get_channels(png, info)); >+// printf (" Pixel depth (Pixel Depth): %d\n", info->pixel_depth); // Does this add value? > } > > // Photometric interp packs a lot of information > printf (" Colour Type (Photometric Interpretation): "); > >+ int num_palette; >+ int num_trans; >+ > switch (colourtype) > { > case PNG_COLOR_TYPE_GRAY: >@@ -207,10 +210,10 @@ > > case PNG_COLOR_TYPE_PALETTE: > printf ("PALETTED COLOUR "); >- if (info->num_trans > 0) >+ if (num_trans > 0) > printf ("with alpha "); > printf ("(%d colours, %d transparent) ", >- info->num_palette, info->num_trans); >+ num_palette, num_trans); > break; > > case PNG_COLOR_TYPE_RGB: >@@ -232,7 +235,7 @@ > printf ("\n"); > > printf (" Image filter: "); >- switch (info->filter_type) >+ switch (png_get_filter_type(png, info)) > { > case PNG_FILTER_TYPE_BASE: > printf ("Single row per byte filter "); >@@ -249,7 +252,7 @@ > printf ("\n"); > > printf (" Interlacing: "); >- switch (info->interlace_type) >+ switch (png_get_interlace_type(png, info)) > { > case PNG_INTERLACE_NONE: > printf ("No interlacing "); >@@ -266,7 +269,7 @@ > printf ("\n"); > > printf (" Compression Scheme: "); >- switch (info->compression_type) >+ switch (png_get_compression_type(png, info)) > { > case PNG_COMPRESSION_TYPE_BASE: > printf ("Deflate method 8, 32k window"); >@@ -278,9 +281,13 @@ > } > printf ("\n"); > >+ png_uint_32 x_pixels_per_unit, y_pixels_per_unit; >+ int phys_unit_type; >+ png_get_pHYs (png, info, &x_pixels_per_unit, &y_pixels_per_unit, &phys_unit_type); >+ > printf (" Resolution: %d, %d ", >- info->x_pixels_per_unit, info->y_pixels_per_unit); >- switch (info->phys_unit_type) >+ x_pixels_per_unit, y_pixels_per_unit); >+ switch (phys_unit_type) > { > case PNG_RESOLUTION_UNKNOWN: > printf ("(unit unknown)"); >@@ -299,15 +306,18 @@ > // FillOrder is always msb-to-lsb, big endian > printf (" FillOrder: msb-to-lsb\n Byte Order: Network (Big Endian)\n"); > >+ png_textp text; >+ int num_text, max_text; >+ > // Text comments > printf (" Number of text strings: %d of %d\n", >- info->num_text, info->max_text); >+ num_text, max_text); > >- for (i = 0; i < info->num_text; i++) >+ for (i = 0; i < num_text; i++) > { >- printf (" %s ", info->text[i].key); >+ printf (" %s ", text[i].key); > >- switch (info->text[1].compression) >+ switch (text[1].compression) > { > case -1: > printf ("(tEXt uncompressed)"); >@@ -332,12 +342,12 @@ > > printf (": "); > j = 0; >- while (info->text[i].text[j] != '\0') >+ while (text[i].text[j] != '\0') > { >- if (info->text[i].text[j] == '\n') >+ if (text[i].text[j] == '\n') > printf ("\\n"); > else >- fputc (info->text[i].text[j], stdout); >+ fputc (text[i].text[j], stdout); > > j++; > } >@@ -385,14 +395,14 @@ > > printf ("Dumping the bitmap for this image:\n"); > printf ("(Expanded samples result in %d bytes per pixel, %d channels with %d bytes per channel)\n\n", >- info->channels * bytespersample, info->channels, bytespersample); >+ png_get_channels(png, info) * bytespersample, png_get_channels(png, info), bytespersample); > > // runlen is used to stop us displaying repeated byte patterns over and over -- > // I display them once, and then tell you how many times it occured in the file. > // This currently only applies to runs on zeros -- I should one day add an > // option to extend this to runs of other values as well > runlen = 0; >- for (i = 0; i < rowbytes * height / info->channels; i += info->channels * bytespersample) >+ for (i = 0; i < rowbytes * height / png_get_channels(png, info); i += png_get_channels(png, info) * bytespersample) > { > int scount, bcount, pixel; > >@@ -408,16 +418,16 @@ > > // Determine if this is a pixel whose entire value is zero > pixel = 0; >- for(scount = 0; scount < info->channels; scount++) >+ for(scount = 0; scount < png_get_channels(png, info); scount++) > for(bcount = 0; bcount < bytespersample; bcount++) > pixel += bitmap[i + scount * bytespersample + bcount]; > > if ((runlen == 0) && !pixel) > { > printf ("["); >- for(scount = 0; scount < info->channels; scount++){ >+ for(scount = 0; scount < png_get_channels(png, info); scount++){ > for(bcount = 0; bcount < bytespersample; bcount++) printf("00"); >- if(scount != info->channels - 1) printf(" "); >+ if(scount != png_get_channels(png, info) - 1) printf(" "); > } > printf ("] "); > runlen++; >@@ -425,10 +435,10 @@ > > if (runlen == 0){ > printf ("["); >- for(scount = 0; scount < info->channels; scount++){ >+ for(scount = 0; scount < png_get_channels(png, info); scount++){ > for(bcount = 0; bcount < bytespersample; bcount++) > printf("%02x", (unsigned char) bitmap[i + scount * bytespersample + bcount]); >- if(scount != info->channels - 1) printf(" "); >+ if(scount != png_get_channels(png, info) - 1) printf(" "); > } > printf("] "); > } >diff -ur pngtools-0.4.orig/pngread.c pngtools-0.4/pngread.c >--- pngtools-0.4.orig/pngread.c 2008-11-27 01:14:17.000000000 +0200 >+++ pngtools-0.4/pngread.c 2011-09-15 14:27:37.000000000 +0300 >@@ -68,7 +68,7 @@ > // palette is correctly reported... > //png_set_strip_alpha (png); > png_read_update_info (png, info); >- *channels = info->channels; >+ *channels = png_get_channels(png, info); > > rowbytes = png_get_rowbytes (png, info); > if((row_pointers = malloc (*height * sizeof (png_bytep))) == NULL){
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 378169
:
282505
| 286539