summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/zgv/files')
-rw-r--r--media-gfx/zgv/files/zgv-5.9-Makefile-QA.patch56
-rw-r--r--media-gfx/zgv/files/zgv-5.9-cmyk-yccl-fix.diff64
-rw-r--r--media-gfx/zgv/files/zgv-5.9-libpng15.patch22
3 files changed, 142 insertions, 0 deletions
diff --git a/media-gfx/zgv/files/zgv-5.9-Makefile-QA.patch b/media-gfx/zgv/files/zgv-5.9-Makefile-QA.patch
new file mode 100644
index 000000000000..e4569547d175
--- /dev/null
+++ b/media-gfx/zgv/files/zgv-5.9-Makefile-QA.patch
@@ -0,0 +1,56 @@
+diff -NrU5 zgv-5.9.original/src/Makefile zgv-5.9/src/Makefile
+--- zgv-5.9.original/src/Makefile 2009-09-28 15:31:29.000000000 -0600
++++ zgv-5.9/src/Makefile 2009-09-28 15:56:26.000000000 -0600
+@@ -45,11 +45,11 @@
+ readbmp.o readtga.o readpng.o readpcx.o \
+ readxvpic.o readmrf.o readxbm.o readxpm.o \
+ modesel.o readpcd.o readtiff.o readprf.o zgv_io.o
+
+ zgv: $(ZGV_OBJS)
+- $(CC) $(CFLAGS) -o zgv $(ZGV_OBJS) $(ZGV_LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o zgv $(ZGV_OBJS) $(ZGV_LIBS)
+
+ bdf2h: bdf2h.o
+ $(CC) $(CFLAGS) -o bdf2h bdf2h.o
+
+ install-info: install-info.c
+@@ -59,28 +59,28 @@
+ # installation. Not nice to put this in the install target,
+ # but it's likely to cause problems if I don't.
+ #
+ install: all
+ @if [ "$(BACKEND)" = SVGALIB ]; then \
+- echo $(RM) /usr/bin/zgv; \
+- $(RM) /usr/bin/zgv; \
+- echo install -m 4755 -o root -g root -s zgv $(BINDIR); \
+- install -m 4755 -o root -g root -s zgv $(BINDIR); \
++ echo echo /usr/bin/zgv; \
++ echo /usr/bin/zgv; \
++ echo install -m 0755 -o root -g root zgv $(BINDIR); \
++ install -m 0755 -o root -g root zgv $(BINDIR); \
+ fi
+ @if [ "$(BACKEND)" = SDL ]; then \
+- echo $(RM) /usr/bin/zgv-sdl; \
+- $(RM) /usr/bin/zgv-sdl; \
+- echo install -m 755 -s zgv $(BINDIR)/zgv-sdl; \
+- install -m 755 -s zgv $(BINDIR)/zgv-sdl; \
++ echo echo /usr/bin/zgv-sdl; \
++ echo /usr/bin/zgv-sdl; \
++ echo install -m 755 zgv $(BINDIR)/zgv-sdl; \
++ install -m 755 zgv $(BINDIR)/zgv-sdl; \
+ fi
+
+ uninstall:
+- $(RM) $(BINDIR)/zgv $(BINDIR)/zgv-sdl
++ echo $(BINDIR)/zgv $(BINDIR)/zgv-sdl
+
+ clean:
+- $(RM) *.o *~ zgv bdf2h fontbmps.h install-info
+- $(RM) rcfile_opt.h rcfile_var.h rcfile_short.h
++ echo *.o *~ zgv bdf2h fontbmps.h install-info
++ echo rcfile_opt.h rcfile_var.h rcfile_short.h
+
+ # Dependancies
+ 3deffects.o: 3deffects.c 3deffects.h font.h readnbkey.h zgv.h \
+ rc_config.h rcfile.h mousecur.h rbmenu.h
+ bdf2h.o: bdf2h.c
diff --git a/media-gfx/zgv/files/zgv-5.9-cmyk-yccl-fix.diff b/media-gfx/zgv/files/zgv-5.9-cmyk-yccl-fix.diff
new file mode 100644
index 000000000000..e510a4ba9ec2
--- /dev/null
+++ b/media-gfx/zgv/files/zgv-5.9-cmyk-yccl-fix.diff
@@ -0,0 +1,64 @@
+--- zgv-5.9/src/readjpeg.c Sun Oct 31 14:54:26 2004
++++ zgv/src/readjpeg.c Wed Sep 21 21:03:22 2005
+@@ -92,11 +92,13 @@
+ int *real_width,int *real_height)
+ {
+ static FILE *in;
++static int cmyk;
+ struct my_error_mgr jerr;
+ int row_stride; /* physical row width in output buffer */
+ int tmp,f;
+-unsigned char *ptr;
++unsigned char *ptr,*ptr2;
+
++cmyk=0;
+ use_errmsg=0;
+ theimage=NULL;
+ howfar=howfarfunc;
+@@ -161,6 +163,15 @@
+ pal[f]=pal[256+f]=pal[512+f]=f;
+ }
+
++if(cinfo.jpeg_color_space==JCS_CMYK)
++ cmyk=1;
++
++if(cinfo.jpeg_color_space==JCS_YCCK)
++ {
++ cmyk=1;
++ cinfo.out_color_space=JCS_CMYK;
++ }
++
+ width=cinfo.image_width;
+ height=cinfo.image_height;
+
+@@ -191,7 +202,7 @@
+ }
+
+ if(WH_BAD(width,height) ||
+- (theimage=(byte *)malloc(pixelsize*width*height))==NULL)
++ (theimage=(byte *)malloc(pixelsize*width*(height+cmyk)))==NULL)
+ {
+ jpegerr("Out of memory"); /* XXX misleading if width/height are bad */
+ longjmp(jerr.setjmp_buffer,1);
+@@ -222,7 +233,20 @@
+ while(cinfo.output_scanline<height)
+ {
+ jpeg_read_scanlines(&cinfo,&ptr,1);
+- for(f=0;f<width;f++) { tmp=*ptr; *ptr=ptr[2]; ptr[2]=tmp; ptr+=3; }
++ if(!cmyk)
++ for(f=0;f<width;f++) { tmp=*ptr; *ptr=ptr[2]; ptr[2]=tmp; ptr+=3; }
++ else
++ {
++ ptr2=ptr;
++ for(f=0;f<width;f++,ptr+=3,ptr2+=4)
++ {
++ tmp=ptr2[3];
++ ptr[0]=(tmp*ptr2[2])/255;
++ ptr[1]=(tmp*ptr2[1])/255;
++ ptr[2]=(tmp*ptr2[0])/255;
++ }
++ }
++
+ if(howfar!=NULL) howfar(cinfo.output_scanline,height);
+ }
+
diff --git a/media-gfx/zgv/files/zgv-5.9-libpng15.patch b/media-gfx/zgv/files/zgv-5.9-libpng15.patch
new file mode 100644
index 000000000000..2f12532831de
--- /dev/null
+++ b/media-gfx/zgv/files/zgv-5.9-libpng15.patch
@@ -0,0 +1,22 @@
+http://bugs.gentoo.org/389591
+
+--- src/readpng.c
++++ src/readpng.c
+@@ -63,7 +63,7 @@
+ use_errmsg=1;
+
+ /* cleanup is done after jump back, so just do that now... */
+-longjmp(png_ptr->jmpbuf,1);
++longjmp(png_jmpbuf(png_ptr), 1);
+ }
+
+
+@@ -132,7 +132,7 @@
+ return(_PICERR_NOMEM);
+ }
+
+-if(setjmp(png_ptr->jmpbuf))
++if(setjmp(png_jmpbuf(png_ptr)))
+ {
+ /* if we get here, there was an error. */
+ /* don't use local variables here, they may have been blasted */