media-gfx/xv: drop 3.10a-r22, 5.2.0, 6.0.0

Signed-off-by: Ben Kohler <bkohler@gentoo.org>
This commit is contained in:
Ben Kohler
2024-10-15 10:29:35 -05:00
parent 51b90b142d
commit 8e649949b6
11 changed files with 0 additions and 904 deletions

View File

@@ -1,7 +1,3 @@
DIST xv-3.10a-jumbo-patches-20070520.tar.gz 1363802 BLAKE2B 1a9f77b950dfa817aa861d9b2b6898d6e378b4a61a57c746a8822793a8e11e54165faf859e073ef99c9fbea5aa0c4c8caa4608ef03f553003b779a4bf59c3ab6 SHA512 e2ac5a3b4d743bf142c162b00815dd9d8dcaf345d0649016b2c6441fe2329879471b19453808e677c1a0b8eeb3468295dba160b1f30eacb2a7a9d8524ce03e75
DIST xv-3.10a.png.bz2 3082 BLAKE2B 05f56053fc0a77bba155db306ae181f5404bced3b2c22a33b3a0a0750b84461ffec98934d3dbabd764fbb6ec95ce2851f4cf3959682a315fe6e6653cbaaa5ae4 SHA512 41e81c34e74a034292c2a8f525d1452614a2b42e980a1a2c93e3fcf990db528853d633496815e5fb2c897a780a2da171af590f436e2c7ef181eea00eb6922e9b
DIST xv-3.10a.tar.gz 2259124 BLAKE2B 42cea578a879c819be8f42ffb1d247643904d8b462a4d6faa208185e49566798605c89006cbc190725fa6356b87da3375cf04d2ba86b559419cf8f7471c867e5 SHA512 5b8c5890503e2796638921cabae8967e458c73e332acea8561b1025ed13c771bc44c0e309b4592852e33726eeaa9784f933d1312073b0ba2e0b8c0cedabcaa3f
DIST xv-5.2.0.tar.gz 4785784 BLAKE2B 46dc637cbbeabfe1c034c34e73040de6efebbf5f423fe429028ebfeefd2fce5af0fdaff1c52db4807b8eb88de89dae6b7f0e2c8a3522a3d9b103d5777783a52d SHA512 0af7ff6db152be849c27be9fba116513595deeca9e3eb42ec6fd74a4756d0c525b55a40de49aa37dd5d2ea4a29e6d644c8c4c709f0e1ec0a98cbc0ae7221b110
DIST xv-6.0.0.tar.gz 5051786 BLAKE2B 42c6e06848c5cc7a3f7da1d5c5b10a7d665601f41eb79bda4b3e904c103e88592da416559adc9565c820c6402c9b03271521f515b8f7c873cc959dfd3b5652e8 SHA512 600fde882e1279b5c7147089790006bcbd4e31ba6220309a272aca43242c56062d4c85b181fb1f2d4b0497f1546347206d7827204c2ebbbabaaf3de40c50191a
DIST xv-6.0.1.tar.gz 5051856 BLAKE2B 7b7a76e211175776862312b48b1f5f91d1a901fffba2225390715c9e392a380add42eaee0429e0598dce677bbb4311e9bc1a506105b9a63595ab70e6253e6ae7 SHA512 7098a2600dc21f94ef1db3e1b23e79b0cdc989b93d792f891d7a29811037636a5887df88f1ad6df27b12be4b4b348f0cca34fe2ad0a58ed9b1228683f6b0b910
DIST xv-6.0.2.tar.gz 5052705 BLAKE2B e25a9d5881ce2b9039e4e9f561df7392faf2149730d072085486ebe930934b7c92e7c333bc930eae8b27dea9eea5b2bcc9da2bd28c84ae6483406f66e47ca5df SHA512 81de0a4811b7bb4662e8b731e148f7f172275f0380c0bc2c2569c3a041002374a3a44a1c1b8ec2a74f1e0aaf45e8217ce0cd4e4393eb0d3f29f1e494c9a75c03

View File

@@ -1,27 +0,0 @@
--- xv-3.10a/Makefile.orig 2008-06-16 08:32:39.000000000 -0600
+++ xv-3.10a/Makefile 2008-06-16 08:49:19.000000000 -0600
@@ -369,19 +369,19 @@
#xv: $(OBJS) $(JPEGLIB) $(TIFFLIB)
xv: $(OBJS)
- $(CC) -o xv $(CFLAGS) $(OBJS) $(LIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o xv $(OBJS) $(LIBS)
bggen: bggen.c
- $(CC) $(CFLAGS) -o bggen bggen.c $(LIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bggen bggen.c $(LIBS)
vdcomp: vdcomp.c
- $(CC) $(CFLAGS) -o vdcomp vdcomp.c
+ $(CC) $(CFLAGS) $(LDFLAGS) -o vdcomp vdcomp.c
xcmap: xcmap.c
- $(CC) $(CFLAGS) -o xcmap xcmap.c $(LIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o xcmap xcmap.c $(LIBS)
xvpictoppm: xvpictoppm.c
- $(CC) $(CFLAGS) -o xvpictoppm xvpictoppm.c
+ $(CC) $(CFLAGS) $(LDFLAGS) -o xvpictoppm xvpictoppm.c

View File

@@ -1,23 +0,0 @@
--- xv-3.10a/Makefile~ 2007-06-24 15:41:58 -0600
+++ xv-3.10a/Makefile 2007-06-24 15:42:43 -0600
@@ -176,16 +176,16 @@
### if, for whatever reason, you're unable to get the JasPer JPEG-2000 library
### to compile on your machine, *COMMENT OUT* the following lines
###
-JP2K = -DDOJP2K
+#JP2K = -DDOJP2K
###
#JP2KDIR = ../../jasper
-JP2KDIR = /usr/local/lib
+#JP2KDIR = /usr/local/lib
###
#JP2KINC = -I$(JP2KDIR)
-JP2KINC = -I/usr/local/include
+#JP2KINC = -I/usr/local/include
###
#JP2KLIB = -L$(JP2KDIR) -ljasper
-JP2KLIB = $(JP2KDIR)/libjasper.a
+#JP2KLIB = $(JP2KDIR)/libjasper.a
###

View File

@@ -1,40 +0,0 @@
diff -Nur xv-3.10a_old/xvevent.c xv-3.10a/xvevent.c
--- xv-3.10a_old/xvevent.c 2008-05-06 12:44:41.000000000 -0600
+++ xv-3.10a/xvevent.c 2008-05-06 15:55:59.000000000 -0600
@@ -82,7 +82,7 @@
int retval,done,waiting;
#ifdef USE_TICKS
clock_t waitsec_ticks=0L, orgtime_ticks=0L, curtime_ticks;
- clock_t elapsed_ticks=0L, remaining_interval;
+ clock_t elapsed_ticks=0L, remaining_interval, clock_ticks_per_sec;
#else
time_t orgtime=0L, curtime;
#endif
@@ -126,7 +126,8 @@
all pending events (ie, drawing the image the first time)
have been dealt with: START WAITING */
#ifdef USE_TICKS
- waitsec_ticks = (clock_t)(waitsec * CLK_TCK);
+ clock_ticks_per_sec = sysconf(_SC_CLK_TCK);
+ waitsec_ticks = (clock_t)(waitsec * clock_ticks_per_sec);
orgtime_ticks = times(NULL); /* unclear if NULL valid, but OK on Linux */
#else
orgtime = time(NULL);
@@ -168,11 +169,14 @@
} else
elapsed_ticks = curtime_ticks - orgtime_ticks;
remaining_interval = waitsec_ticks - elapsed_ticks;
- if (remaining_interval >= (clock_t)(1 * CLK_TCK))
+ if (remaining_interval > clock_ticks_per_sec)
sleep(1);
else {
- /* less than one second remaining: do delay in msec, then return */
- Timer((remaining_interval * 1000L) / CLK_TCK); /* can't overflow */
+ if (remaining_interval > 0) {
+ /* less than one second remaining: do delay in msec, then return */
+ Timer((remaining_interval * 1000L) / clock_ticks_per_sec); /* can't overflow */
+ }
+
return waitloop? NEXTLOOP : NEXTQUIT;
}
#else

View File

@@ -1,520 +0,0 @@
--- xv-3.10a/xvinfo.c
+++ xv-3.10a/xvinfo.c
@@ -26,7 +26,7 @@
#define INFOHIGH 270
/* max length of an Info String */
-#define ISTRLEN 80
+#define ISTRLEN 256
/* baseline of top line of text */
#define TOPBASE (36 + penn_height/2 + 4 + 8 + ASCENT)
--- xv-3.10a/xvpng.c
+++ xv-3.10a/xvpng.c
@@ -31,6 +31,7 @@
#ifdef HAVE_PNG
+#include "zlib.h"
#include "png.h"
/*** Stuff for PNG Dialog box ***/
@@ -41,7 +42,9 @@
#define COMPRESSION 6 /* default zlib compression level, not max
(Z_BEST_COMPRESSION) */
-#define HAVE_tRNS (info_ptr->valid & PNG_INFO_tRNS)
+/* old
+#define HAVE_tRNS (info_ptr->valid & PNG_INFO_tRNS) */
+#define HAVE_tRNS png_get_valid(png_ptr,info_ptr,PNG_INFO_tRNS)
#define DWIDE 86
#define DHIGH 104
@@ -444,6 +447,10 @@
byte *p, *png_line;
char software[256];
char *savecmnt;
+ /* for storing values until all are accumulated, so that the image header can be set in full */
+ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type;
+ png_uint_32 _width,_height;
+ png_time _mod_time;
if ((png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL,
png_xv_error, png_xv_warning)) == NULL) {
@@ -458,7 +465,7 @@
FatalError(software);
}
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
@@ -489,8 +496,8 @@
png_set_filter(png_ptr, 0, filter);
}
- info_ptr->width = w;
- info_ptr->height = h;
+ _width = w;
+ _height = h;
if (w <= 0 || h <= 0) {
SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)",
fbasename, w, h);
@@ -498,7 +505,7 @@
return -1;
}
- info_ptr->interlace_type = interCB.val ? 1 : 0;
+ _interlace_type = interCB.val ? PNG_INTERLACE_ADAM7 : PNG_INTERLACE_NONE;
linesize = 0; /* quiet a compiler warning */
@@ -542,40 +549,44 @@
png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
- info_ptr->color_type = PNG_COLOR_TYPE_RGB;
- info_ptr->bit_depth = 8;
+ _color_type = PNG_COLOR_TYPE_RGB;
+ _bit_depth = 8;
} else /* ptype == PIC8 */ {
linesize = w;
- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
+ _color_type = PNG_COLOR_TYPE_PALETTE;
if (numuniqcols <= 2)
- info_ptr->bit_depth = 1;
+ _bit_depth = 1;
else
if (numuniqcols <= 4)
- info_ptr->bit_depth = 2;
+ _bit_depth = 2;
else
if (numuniqcols <= 16)
- info_ptr->bit_depth = 4;
+ _bit_depth = 4;
else
- info_ptr->bit_depth = 8;
+ _bit_depth = 8;
for (i = 0; i < numuniqcols; i++) {
palette[i].red = r1[i];
palette[i].green = g1[i];
palette[i].blue = b1[i];
}
- info_ptr->num_palette = numuniqcols;
- info_ptr->palette = palette;
+/* cannot find a setter for this, unsure if it is necessary anymore...
info_ptr->valid |= PNG_INFO_PLTE;
+*/
+ /* set the header just in case it's needed */
+ png_set_IHDR(png_ptr,info_ptr,_width,_height,_bit_depth,_color_type,
+ _interlace_type,PNG_COMPRESSION_TYPE_DEFAULT,PNG_FILTER_TYPE_DEFAULT);
+ png_set_PLTE(png_ptr,info_ptr,palette,numuniqcols);
}
}
else if (colorType == F_GREYSCALE || colorType == F_BWDITHER) {
- info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
+ _color_type = PNG_COLOR_TYPE_GRAY;
if (colorType == F_BWDITHER) {
/* shouldn't happen */
if (ptype == PIC24) FatalError("PIC24 and B/W Stipple in WritePNG()");
- info_ptr->bit_depth = 1;
+ _bit_depth = 1;
if (MONO(r1[0], g1[0], b1[0]) > MONO(r1[1], g1[1], b1[1])) {
remap[0] = 1;
remap[1] = 0;
@@ -595,7 +606,7 @@
png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
- info_ptr->bit_depth = 8;
+ _bit_depth = 8;
}
else /* ptype == PIC8 */ {
int low_precision;
@@ -617,7 +628,7 @@
for (; i < 256; i++)
remap[i]=0; /* shouldn't be necessary, but... */
- info_ptr->bit_depth = 8;
+ _bit_depth = 8;
/* Note that this fails most of the time because of gamma */
/* (and that would be a bug: GRR FIXME) */
@@ -636,7 +647,7 @@
for (i = 0; i < numuniqcols; i++) {
remap[i] &= 0xf;
}
- info_ptr->bit_depth = 4;
+ _bit_depth = 4;
/* try to adjust to 2-bit precision grayscale */
@@ -652,7 +663,7 @@
for (i = 0; i < numuniqcols; i++) {
remap[i] &= 3;
}
- info_ptr->bit_depth = 2;
+ _bit_depth = 2;
/* try to adjust to 1-bit precision grayscale */
@@ -668,7 +679,7 @@
for (i = 0; i < numuniqcols; i++) {
remap[i] &= 1;
}
- info_ptr->bit_depth = 1;
+ _bit_depth = 1;
}
}
}
@@ -677,6 +688,9 @@
else
png_error(png_ptr, "Unknown colorstyle in WritePNG");
+ png_set_IHDR(png_ptr,info_ptr,_width,_height,_bit_depth,_color_type,
+ _interlace_type,PNG_COMPRESSION_TYPE_DEFAULT,PNG_FILTER_TYPE_DEFAULT);
+
if ((text = (png_textp)malloc(sizeof(png_text)))) {
sprintf(software, "XV %s", REVDATE);
@@ -685,20 +699,22 @@
text->text = software;
text->text_length = strlen(text->text);
- info_ptr->max_text = 1;
- info_ptr->num_text = 1;
- info_ptr->text = text;
+/* max_text seems to be internal only now, do not set
+ info_ptr->max_text = 1; */
+ png_set_text(png_ptr,info_ptr,text,1);
}
Display_Gamma = gDial.val; /* Save the current gamma for loading */
// GRR FIXME: add .Xdefaults option to omit writing gamma (size, cumulative errors when editing)--alternatively, modify save box to include "omit" checkbox
- info_ptr->gamma = 1.0/gDial.val;
- info_ptr->valid |= PNG_INFO_gAMA;
+ png_set_gAMA(png_ptr,info_ptr,1.0/gDial.val);
+/* doesn't seem to be a way to set valid directly anymore, unnecessary maybe..
+ info_ptr->valid |= PNG_INFO_gAMA; */
+/* might need to be png_write_info_before_PLTE() ... */
png_write_info(png_ptr, info_ptr);
- if (info_ptr->bit_depth < 8)
+ if (_bit_depth < 8)
png_set_packing(png_ptr);
pass=png_set_interlace_handling(png_ptr);
@@ -711,13 +727,13 @@
int j;
p = pic;
for (j = 0; j < h; ++j) {
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY) {
+ if (_color_type == PNG_COLOR_TYPE_GRAY) {
int k;
for (k = 0; k < w; ++k)
png_line[k] = ptype==PIC24 ? MONO(p[k*3], p[k*3+1], p[k*3+2]) :
remap[pc2nc[p[k]]];
png_write_row(png_ptr, png_line);
- } else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
+ } else if (_color_type == PNG_COLOR_TYPE_PALETTE) {
int k;
for (k = 0; k < w; ++k)
png_line[k] = pc2nc[p[k]];
@@ -739,28 +755,31 @@
(savecmnt = (char *)malloc((strlen(picComments) + 1)*sizeof(char)))) {
png_textp tp;
char *comment, *key;
+ int nt;
+ int mt;
strcpy(savecmnt, picComments);
key = savecmnt;
+ png_get_text(png_ptr,info_ptr,&tp,&mt); /* to get 'max_text' */
tp = text;
- info_ptr->num_text = 0;
+ nt = 0;
comment = strchr(key, ':');
do {
/* Allocate a larger structure for comments if necessary */
- if (info_ptr->num_text >= info_ptr->max_text)
+ if (nt >= mt)
{
if ((tp =
- realloc(text, (info_ptr->num_text + 2)*sizeof(png_text))) == NULL)
+ realloc(text, (nt + 2)*sizeof(png_text))) == NULL)
{
break;
}
else
{
text = tp;
- tp = &text[info_ptr->num_text];
- info_ptr->max_text += 2;
+ tp = &text[nt];
+ mt += 2;
}
}
@@ -810,7 +829,7 @@
}
tp->compression = tp->text_length > 640 ? 0 : -1;
- info_ptr->num_text++;
+ nt++;
tp++;
}
}
@@ -834,27 +853,29 @@
tp->text = key;
tp->text_length = q - key;
tp->compression = tp->text_length > 750 ? 0 : -1;
- info_ptr->num_text++;
+ nt++;
key = NULL;
}
} while (key && *key);
+ png_set_text(png_ptr,info_ptr,text,nt);
}
else {
- info_ptr->num_text = 0;
+ png_set_text(png_ptr,info_ptr,text,0);
}
}
- info_ptr->text = text;
- png_convert_from_time_t(&(info_ptr->mod_time), time(NULL));
- info_ptr->valid |= PNG_INFO_tIME;
+ png_convert_from_time_t(&_mod_time, time(NULL));
+ png_set_tIME(png_ptr,info_ptr,&_mod_time);
+/* dunno how to set validity
+ info_ptr->valid |= PNG_INFO_tIME; */
png_write_end(png_ptr, info_ptr);
fflush(fp); /* just in case we core-dump before finishing... */
if (text) {
free(text);
- /* must do this or png_destroy_write_struct() 0.97+ will free text again: */
- info_ptr->text = (png_textp)NULL;
+ /* must do this or png_destroy_write_struct() 0.97+ will free text again:
+ info_ptr->text = (png_textp)NULL; */
if (savecmnt)
{
free(savecmnt);
@@ -886,6 +907,14 @@
int pass;
int gray_to_rgb;
size_t commentsize;
+ /* temp storage vars for libpng15 migration */
+ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type,_num_text,_num_palette;
+ png_uint_32 _width,_height;
+ png_timep _mod_time;
+ double _gamma;
+ png_textp _text;
+ png_colorp _palette;
+ png_color_16p _background;
fbasename = BaseName(fname);
@@ -921,7 +950,7 @@
FatalError("malloc failure in LoadPNG");
}
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
fclose(fp);
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
if (!read_anything) {
@@ -945,8 +974,10 @@
#endif
png_read_info(png_ptr, info_ptr);
- pinfo->w = pinfo->normw = info_ptr->width;
- pinfo->h = pinfo->normh = info_ptr->height;
+ png_get_IHDR(png_ptr,info_ptr,&_width,&_height,&_bit_depth,&_color_type,&_interlace_type,NULL,NULL);
+
+ pinfo->w = pinfo->normw = _width;
+ pinfo->h = pinfo->normh = _height;
if (pinfo->w <= 0 || pinfo->h <= 0) {
SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)",
fbasename, pinfo->w, pinfo->h);
@@ -957,9 +988,9 @@
pinfo->frmType = F_PNG;
sprintf(pinfo->fullInfo, "PNG, %d bit ",
- info_ptr->bit_depth * info_ptr->channels);
+ _bit_depth * png_get_channels(png_ptr,info_ptr));
- switch(info_ptr->color_type) {
+ switch(_color_type) {
case PNG_COLOR_TYPE_PALETTE:
strcat(pinfo->fullInfo, "palette color");
break;
@@ -983,15 +1014,17 @@
sprintf(pinfo->fullInfo + strlen(pinfo->fullInfo),
", %sinterlaced. (%d bytes)",
- info_ptr->interlace_type ? "" : "non-", filesize);
+ _interlace_type ? "" : "non-", filesize);
- sprintf(pinfo->shrtInfo, "%lux%lu PNG", info_ptr->width, info_ptr->height);
+ sprintf(pinfo->shrtInfo, "%lux%lu PNG", _width, _height);
- if (info_ptr->bit_depth < 8)
+ if (_bit_depth < 8)
png_set_packing(png_ptr);
- if (info_ptr->valid & PNG_INFO_gAMA)
- png_set_gamma(png_ptr, Display_Gamma, info_ptr->gamma);
+ if (png_get_valid(png_ptr,info_ptr,PNG_INFO_gAMA)) {
+ png_get_gAMA(png_ptr,info_ptr,&_gamma);
+ png_set_gamma(png_ptr, Display_Gamma, _gamma);
+ }
/*
*else
* png_set_gamma(png_ptr, Display_Gamma, 0.45);
@@ -1000,7 +1033,7 @@
gray_to_rgb = 0; /* quiet a compiler warning */
if (have_imagebg) {
- if (info_ptr->bit_depth == 16) {
+ if (_bit_depth == 16) {
my_background.red = imagebgR;
my_background.green = imagebgG;
my_background.blue = imagebgB;
@@ -1013,8 +1046,8 @@
}
png_set_background(png_ptr, &my_background, PNG_BACKGROUND_GAMMA_SCREEN,
0, Display_Gamma);
- if ((info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA ||
- (info_ptr->color_type == PNG_COLOR_TYPE_GRAY && HAVE_tRNS)) &&
+ if ((_color_type == PNG_COLOR_TYPE_GRAY_ALPHA ||
+ (_color_type == PNG_COLOR_TYPE_GRAY && HAVE_tRNS)) &&
(imagebgR != imagebgG || imagebgR != imagebgB)) /* i.e., colored bg */
{
png_set_gray_to_rgb(png_ptr);
@@ -1022,8 +1055,9 @@
gray_to_rgb = 1;
}
} else {
- if (info_ptr->valid & PNG_INFO_bKGD) {
- png_set_background(png_ptr, &info_ptr->background,
+ if (png_get_valid(png_ptr,info_ptr,PNG_INFO_bKGD)) {
+ png_get_bKGD(png_ptr,info_ptr,&_background);
+ png_set_background(png_ptr, _background,
PNG_BACKGROUND_GAMMA_FILE, 1, 1.0);
} else {
my_background.red = my_background.green = my_background.blue =
@@ -1033,13 +1067,13 @@
}
}
- if (info_ptr->bit_depth == 16)
+ if (_bit_depth == 16)
png_set_strip_16(png_ptr);
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ if (_color_type == PNG_COLOR_TYPE_GRAY ||
+ _color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
{
- if (info_ptr->bit_depth == 1)
+ if (_bit_depth == 1)
pinfo->colType = F_BWDITHER;
else
pinfo->colType = F_GREYSCALE;
@@ -1049,9 +1083,11 @@
pass=png_set_interlace_handling(png_ptr);
png_read_update_info(png_ptr, info_ptr);
+ /* get HIDR again just in case the info_ptr changed */
+ png_get_IHDR(png_ptr,info_ptr,&_width,&_height,&_bit_depth,&_color_type,&_interlace_type,NULL,NULL);
- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || gray_to_rgb)
+ if (_color_type == PNG_COLOR_TYPE_RGB ||
+ _color_type == PNG_COLOR_TYPE_RGB_ALPHA || gray_to_rgb)
{
linesize = 3 * pinfo->w;
if (linesize/3 < pinfo->w) { /* know pinfo->w > 0 (see above) */
@@ -1065,16 +1101,17 @@
} else {
linesize = pinfo->w;
pinfo->type = PIC8;
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
+ if (_color_type == PNG_COLOR_TYPE_GRAY ||
+ _color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
for (i = 0; i < 256; i++)
pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i;
} else {
pinfo->colType = F_FULLCOLOR;
- for (i = 0; i < info_ptr->num_palette; i++) {
- pinfo->r[i] = info_ptr->palette[i].red;
- pinfo->g[i] = info_ptr->palette[i].green;
- pinfo->b[i] = info_ptr->palette[i].blue;
+ png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette);
+ for (i = 0; i < _num_palette; i++) {
+ pinfo->r[i] = _palette[i].red;
+ pinfo->g[i] = _palette[i].green;
+ pinfo->b[i] = _palette[i].blue;
}
}
}
@@ -1092,7 +1129,7 @@
png_error(png_ptr, "can't allocate space for PNG image");
}
- png_start_read_image(png_ptr);
+ /*png_start_read_image(png_ptr); -- causes a warning and seems to be unnecessary */
for (i = 0; i < pass; i++) {
byte *p = pinfo->pic;
@@ -1106,22 +1143,23 @@
png_read_end(png_ptr, info_ptr);
- if (info_ptr->num_text > 0) {
+ png_get_text(png_ptr,info_ptr,&_text,&_num_text);
+ if (_num_text > 0) {
commentsize = 1;
- for (i = 0; i < info_ptr->num_text; i++)
- commentsize += strlen(info_ptr->text[i].key) + 1 +
- info_ptr->text[i].text_length + 2;
+ for (i = 0; i < _num_text; i++)
+ commentsize += strlen(_text[i].key) + 1 +
+ _text[i].text_length + 2;
if ((pinfo->comment = malloc(commentsize)) == NULL) {
png_warning(png_ptr,"can't allocate comment string");
}
else {
pinfo->comment[0] = '\0';
- for (i = 0; i < info_ptr->num_text; i++) {
- strcat(pinfo->comment, info_ptr->text[i].key);
+ for (i = 0; i < _num_text; i++) {
+ strcat(pinfo->comment, _text[i].key);
strcat(pinfo->comment, "::");
- strcat(pinfo->comment, info_ptr->text[i].text);
+ strncat(pinfo->comment, _text[i].text, _text[i].text_length);
strcat(pinfo->comment, "\n");
}
}
@@ -1143,7 +1181,7 @@
{
SetISTR(ISTR_WARNING,"%s: libpng error: %s", fbasename, message);
- longjmp(png_ptr->jmpbuf, 1);
+ longjmp(png_jmpbuf(png_ptr), 1);
}

View File

@@ -1,38 +0,0 @@
--- xv-3.10a/xv.h~ 2007-06-24 14:30:42 -0600
+++ xv-3.10a/xv.h 2007-06-24 14:42:04 -0600
@@ -158,7 +158,7 @@
#ifndef VMS
# include <errno.h>
-# ifndef __NetBSD__
+# if !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__APPLE__)
# if !(defined __GLIBC__ && __GLIBC__ >= 2)
extern int errno; /* SHOULD be in errno.h, but often isn't */
extern char *sys_errlist[]; /* this too... */
@@ -171,7 +171,7 @@
#ifdef VMS
# define ERRSTR(x) strerror(x, vaxc$errno)
#else
-# if defined(__BEOS__) || defined(__linux__) /* or all modern/glibc systems? */
+# if defined(__BEOS__) || defined(__linux__) || defined(__APPLE__) /* or all modern/glibc systems? */
# define ERRSTR(x) strerror(x)
# else
# define ERRSTR(x) sys_errlist[x]
@@ -206,6 +206,8 @@
#ifdef NEED_MALLOC_H
# if defined(hp300) || defined(hp800) || defined(NeXT)
# include <sys/malloc.h> /* it's in "sys" on HPs and NeXT */
+# elif defined(__APPLE__)
+# include <malloc/malloc.h>
# else
# include <malloc.h>
# endif
@@ -369,7 +371,7 @@
* them later. */
#ifndef VMS /* VMS hates multi-line definitions */
# if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || \
- defined(__bsdi__)
+ defined(__FreeBSD__) || defined(__bsdi__) || defined(__APPLE__)
# ifndef USE_MKSTEMP
# define USE_MKSTEMP /* use 'mkstemp()' instead of 'mktemp()' */
# endif /* >> SECURITY ISSUE << */

View File

@@ -1,11 +0,0 @@
--- xv-3.10a/vdcomp.c~ 2007-06-24 14:30:42 -0600
+++ xv-3.10a/vdcomp.c 2007-06-24 14:48:12 -0600
@@ -123,6 +123,8 @@
# if defined(hp300) || defined(hp800) || defined(NeXT)
# include <sys/malloc.h> /* it's in "sys" on HPs and NeXT */
+# elif defined(__APPLE__)
+# include <malloc/malloc.h>
# else
# include <malloc.h> /* FIXME: should explicitly list systems that NEED this, not everyone that doesn't */
# endif

View File

@@ -1,19 +0,0 @@
Fix errors caused by -Wformat -Werror=format-security
https://bugs.gentoo.org/show_bug.cgi?id=542134
* xvpbm.c:888:4: error: format not a string literal and no format arguments [-Werror=format-security]
* if (*pix) fprintf(fp,str1);
--- xv-3.10a/xvpbm.c
+++ xv-3.10a/xvpbm.c
@@ -885,8 +885,8 @@
}
}
else {
- if (*pix) fprintf(fp,str1);
- else fprintf(fp,str0);
+ if (*pix) fprintf(fp,"%s",str1);
+ else fprintf(fp,"%s",str0);
len+=2;
if (len>68) { fprintf(fp,"\n"); len=0; }
}

View File

@@ -1,98 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop flag-o-matic toolchain-funcs
JUMBOV=20070520
DESCRIPTION="Interactive image manipulation program supporting a wide variety of formats"
HOMEPAGE="http://www.trilon.com/xv/index.html http://www.sonic.net/~roelofs/greg_xv.html"
SRC_URI="https://downloads.sourceforge.net/png-mng/${P}-jumbo-patches-${JUMBOV}.tar.gz
ftp://ftp.cis.upenn.edu/pub/xv/${P}.tar.gz
mirror://gentoo/${P}.png.bz2"
LICENSE="xv"
SLOT="0"
KEYWORDS="~alpha amd64 ~hppa ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="jpeg tiff png"
DEPEND="
x11-libs/libXt
jpeg? ( media-libs/libjpeg-turbo:= )
tiff? ( media-libs/tiff:= )
png? (
>=media-libs/libpng-1.2:=
sys-libs/zlib
)
"
RDEPEND="${DEPEND}"
PATCHES=(
"${WORKDIR}/${P}-jumbo-fix-enh-patch-${JUMBOV}.txt"
"${FILESDIR}/${P}-osx-bsd-${JUMBOV}.patch"
"${FILESDIR}/${P}-vdcomp-osx-${JUMBOV}.patch"
"${FILESDIR}/${P}-disable-jp2k-${JUMBOV}.patch"
"${FILESDIR}/${P}-fix-wait-${JUMBOV}.patch"
"${FILESDIR}/${P}-add-ldflags-${JUMBOV}.patch"
"${FILESDIR}/${P}-libpng15-r1.patch"
"${FILESDIR}/${P}-wformat-security.patch"
)
src_prepare() {
default
append-cppflags -DUSE_GETCWD -DLINUX -DUSLEEP
use jpeg && append-cppflags -DDOJPEG
use png && append-cppflags -DDOPNG
use tiff && append-cppflags -DDOTIFF -DUSE_TILED_TIFF_BOTLEFT_FIX
# Link with various image libraries depending on use flags
IMAGE_LIBS=""
use jpeg && IMAGE_LIBS="${IMAGE_LIBS} -ljpeg"
use png && IMAGE_LIBS="${IMAGE_LIBS} -lz -lpng"
use tiff && IMAGE_LIBS="${IMAGE_LIBS} -ltiff"
sed -i \
-e 's/\(^JPEG.*\)/#\1/g' \
-e 's/\(^PNG.*\)/#\1/g' \
-e 's/\(^TIFF.*\)/#\1/g' \
-e "s/\(^LIBS = .*\)/\1${IMAGE_LIBS}/g" Makefile || die
# 731022
sed -i -e "s#lib -lz#$(get_libdir) -lz#" Makefile || die
# /usr/bin/gzip => /bin/gzip
sed -i -e 's#/usr\(/bin/gzip\)#'"${EPREFIX}"'\1#g' config.h || die
# Fix installation of ps docs
sed -i -e 's#$(DESTDIR)$(LIBDIR)#$(LIBDIR)#g' Makefile || die
}
src_compile() {
# -Werror=lto-type-mismatch
# https://bugs.gentoo.org/859823
# https://github.com/jasper-software/xv/issues/25
filter-lto
emake \
CC="$(tc-getCC)" CCOPTS="${CPPFLAGS} ${CFLAGS}" LDFLAGS="${LDFLAGS}" \
PREFIX="${EPREFIX}"/usr \
DOCDIR="${EPREFIX}/usr/share/doc/${PF}" \
LIBDIR="${T}"
}
src_install() {
dodir /usr/bin
dodir /usr/share/man/man1
emake \
DESTDIR="${D}" \
PREFIX="${EPREFIX}"/usr \
DOCDIR="${EPREFIX}/usr/share/doc/${PF}" \
LIBDIR="${T}" install
dodoc CHANGELOG BUGS IDEAS
newicon "${WORKDIR}"/${P}.png ${PN}.png
make_desktop_entry xv "" "" "Graphics;Viewer"
}

View File

@@ -1,58 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop flag-o-matic
JUMBOV=20070520
DESCRIPTION="Interactive image manipulation program supporting a wide variety of formats"
HOMEPAGE="https://github.com/jasper-software/xv/"
SRC_URI="https://github.com/jasper-software/xv/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
mirror://gentoo/xv-3.10a.png.bz2"
LICENSE="xv"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="jpeg tiff png webp"
DEPEND="
x11-libs/libXt
jpeg? ( media-libs/libjpeg-turbo:= )
tiff? ( media-libs/tiff:= )
png? (
>=media-libs/libpng-1.2:=
sys-libs/zlib
)
webp? ( media-libs/libwebp:= )
"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/xv-5.2.0-osx-bsd.patch"
)
src_configure() {
# -Werror=lto-type-mismatch
# https://bugs.gentoo.org/859823
# https://github.com/jasper-software/xv/issues/25
filter-lto
local mycmakeargs=(
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-DXV_ENABLE_JPEG=$(usex jpeg)
-DXV_ENABLE_JP2K=OFF
-DXV_ENABLE_PNG=$(usex png)
-DXV_ENABLE_TIFF=$(usex tiff)
-DXV_ENABLE_WEBP=$(usex webp)
)
cmake_src_configure
}
src_install() {
cmake_src_install
newicon "${WORKDIR}"/xv-3.10a.png ${PN}.png
make_desktop_entry xv "" "" "Graphics;Viewer"
}

View File

@@ -1,66 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop flag-o-matic xdg-utils
JUMBOV=20070520
DESCRIPTION="Interactive image manipulation program supporting a wide variety of formats"
HOMEPAGE="https://github.com/jasper-software/xv/"
SRC_URI="https://github.com/jasper-software/xv/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
mirror://gentoo/xv-3.10a.png.bz2"
LICENSE="xv"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="jpeg tiff png webp"
DEPEND="
x11-libs/libXt
jpeg? ( media-libs/libjpeg-turbo:= )
tiff? ( media-libs/tiff:= )
png? (
>=media-libs/libpng-1.2:=
sys-libs/zlib
)
webp? ( media-libs/libwebp:= )
"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/xv-5.2.0-osx-bsd.patch"
)
src_configure() {
# -Werror=lto-type-mismatch
# https://bugs.gentoo.org/859823
# https://github.com/jasper-software/xv/issues/25
filter-lto
local mycmakeargs=(
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-DXV_ENABLE_JPEG=$(usex jpeg)
-DXV_ENABLE_JP2K=OFF
-DXV_ENABLE_PNG=$(usex png)
-DXV_ENABLE_TIFF=$(usex tiff)
-DXV_ENABLE_WEBP=$(usex webp)
)
cmake_src_configure
}
src_install() {
cmake_src_install
newicon "${WORKDIR}"/xv-3.10a.png ${PN}.png
make_desktop_entry xv "" "" "Graphics;Viewer"
}
pkg_postinst() {
xdg_desktop_database_update
}
pkg_postrm() {
xdg_desktop_database_update
}